Commit Graph

1066272 Commits

Author SHA1 Message Date
Tao Huang
08fecbccac ARM: rv1106-evb.config: Update by diffconfig
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Idd786ea7e44bf422fcb7196cb57d9635fa71e5c4
2022-05-27 18:06:21 +08:00
Cai YiWei
f86a199257 media: rockchip: isp: params buf alloc remove to first buf queue
rkisp_params_first_cfg maybe run at irq for multi sensor,
buf alloc remove to user queue buf.

Change-Id: I19278152c0e142c9825816afed8448091d2c68d6
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-05-27 15:39:18 +08:00
Zefa Chen
1c39c4d819 media: rockchip: vicap remove get_crop/set_crop function
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I4bd1bce50e5a567f44cd82bd99ef04841c98f3f3
2022-05-27 15:35:33 +08:00
Jon Lin
69c9b262d0 drivers: rkflash: Config erase operation as SFC write direction
Change-Id: Ia55f347458ea6de4f95fb85f5391885fbbb1b677
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-05-27 10:54:42 +08:00
Lian Xu
5bff5f834e media: rockchip: isp: delete the buf_done log for isp32
Change-Id: I79273c3907da275d27a49c83eb650246d364af6b
Signed-off-by: Lian Xu <xu.lian@rock-chips.com>
2022-05-27 10:08:46 +08:00
Zefa Chen
5156b56959 media: rockchip: vicap fix error for Y10/Y12
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I5eb6d10906551ab38c9179b17321d21ff547d3b6
2022-05-27 09:26:42 +08:00
Lin Jianhua
16aec11e0d ARM: dts: rockchip: enable 2 micbias properties for rk3308 voice module board
Change-Id: Icb17b81c9809079355fac440467d6e9781649a30
Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
2022-05-26 17:59:53 +08:00
Lin Jianhua
e8f4f29cb0 ARM: dts: rockchip: rk3308-dot-rk816: enable uboot charge mode
Change-Id: Ia2262a1855f5f97f224f22a0125adeee28568e09
Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
2022-05-26 17:58:59 +08:00
Lin Jianhua
2bc8e82238 ARM: dts: rockchip: support rk3308bs evb v11 board
Change-Id: I4eb60b72df53cc4a036194aa0e0ac2b80f31f9ce
Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
2022-05-26 16:49:31 +08:00
Joseph Chen
d53f9129a6 dt-bindings: suspend: rk3308: add pwm regulator voltage configure for rk3308bs
The voltage on 0.895v for RK3308BS chip.

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: If7a755ab930ac359809bdd240c2ae142d51029f8
2022-05-26 16:37:18 +08:00
Jianqun Xu
50422d1c9c ARM: dts: rockchip: rk3308 boards: move rtc_32k to wireless pinctrl
The 32k from RK3308 is divider from 24MHz, and it's used by wifi module.

When the board use an wifi module with internal 32k, the rtc_32k never
been needed, and maybe used as other function.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I3b27b5a0a1a97eae477bfa5b297c8997653ae42d
2022-05-26 16:34:37 +08:00
Jianqun Xu
92ee001b27 arm64: dts: rockchip: rk3308-roc-cc remove pinctrl-0 from pinctrl node
Add a pinctrl-0 and pinctrl-name for pinctrl node will make the pinctrl
driver depends on itself, that break the driver probe. This patch remove
them from pinctrl node.

Also the rtc_32k iomux only be required by wireless which input the 32k
clock as source clock, board without wireless support should not do the
iomux.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I356a2399124d6eaf6772361e67f43eb70dfab90f
2022-05-26 16:33:27 +08:00
Jianqun Xu
7246344353 arm64: dts: rockchip: rk3308-evb remove pinctrl-0 from pinctrl node
Add a pinctrl-0 and pinctrl-name for pinctrl node will make the pinctrl
driver depends on itself, that break the driver probe. This patch remove
them from pinctrl node.

Also the rtc_32k iomux only be required by wireless which input the 32k
clock as source clock, board without wireless support should not do the
iomux.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I8956104f5ffcbeacaaa19e27a568b55de0c3f53e
2022-05-26 16:33:27 +08:00
Cai YiWei
4bd2aaeb8a media: rockchip: isp: sync params state
The configured parameter buf, module_cfg_update will
set to 0 for user.
ISP2X_MODULE_FORCE BIT(64) for parameter buf to use.

Change-Id: I54f867b4ca50ae1ebfbee884b44bbf1a5cfc53b9
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
2022-05-26 16:32:24 +08:00
Zefa Chen
d75c75fba7 media: rockchip: vicap fixed size err when get input format
rkcif-mipi-lvds: ERROR: csi size err,intstat:0x2000000, lastline:0!!
rkcif-mipi-lvds: ERROR: csi size err,intstat:0x2000000, lastline:0!!
rkcif-mipi-lvds: ERROR: csi size err,intstat:0x2000000, lastline:0!!

Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: I85f63687b178bf2ecaddc13f49f3191e8edab46d
2022-05-26 16:18:47 +08:00
Lian Xu
7c289a877d media: rockchip: isp: add the config dvbm_init in wrap for isp32
Change-Id: I26cd2cf7227da418d49eea79663d4f01eb7eb0e2
Signed-off-by: Lian Xu <xu.lian@rock-chips.com>
2022-05-26 16:17:53 +08:00
Lian Xu
d793414266 media: rockchip: isp: add the max size dummybuf and shd stop for isp32
Change-Id: I2927ac22ccf79aab8bad8c168a18bcb3398d954c
Signed-off-by: Lian Xu <xu.lian@rock-chips.com>
2022-05-26 16:17:53 +08:00
Yandong Lin
0aa7cf0bb2 video: rockchip: dvbm: fix bug the first frame uv address error
fix bug the first frame uv address error
when venc from 2560 * 1440 change to 1920 * 1080
uv address will be change in frame end, but ready
event from frame start. venc will make regs when
receive ready event at once.

Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: Ib0cfd85b8455e2b68e86c39532a935c0bd2dfe27
2022-05-26 16:14:32 +08:00
Huibin Hong
75684834ed serial: 8250_dw: fix bug for uart irq wake up
Skipping suspend and resume for uart keeping work

Fixes: 62d96185bd (serial: 8250_dw: uart wake up)
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
Change-Id: I3d650774dba7a785b2db167c2afd037db8efcaaa
2022-05-26 11:31:05 +08:00
Jianqun Xu
c7148cb4f3 arm64: dts: rockchip: operating-points-v2 add reference to rk3308bs
This is a workaround to fix for uboot, which needs the phandle from
rk3308bs_cpu0_opp_table and rk3308bs_dmc_opp_table nodes to do fix.

If uboot never rely on the phandle, this patch can be reverted.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I116d578f343feeb790e7265c13b0442354164d97
2022-05-26 11:17:39 +08:00
Jianqun Xu
418303ac50 arm64: dts: rockchip: rk3308b-evb-v10: move vccio regulator ahead
Now a fixed regulator is supplied by another fixed regulator, the parent
should probe first to avoid a defer-probe error.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I270bab86ba8fa8c4389134972ee7f5bbb1bf1037
2022-05-26 11:15:12 +08:00
Jianqun Xu
de478bf13d thermal: rockchip: Support the rk3308bs SoC in thermal driver
There is one Temperature Sensor for CPU on rk3308bs.

Change-Id: I297f58d476c6dd037dd203ea06b571d061e48686
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2022-05-26 10:45:55 +08:00
Jianqun Xu
31ccb31608 thermal: rockchip: add tsadc support for rk3308
Cherry-picked from v4.19 also fix rk_tsadcv4_initialize
to rk_tsadcv2_initialize, which committed by Finley Xiao:

commit: 875a83545151 ("thermal: rockchip: Fix initialize for rk3308")

The rk_tsadcv4_initialize is used to fix channal invertion issue for
px30, but there isn't the issue on rk3308.

Change-Id: Ibf1782ca471c8ad4b14d6fd64eeb123181903adc
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2022-05-26 10:43:55 +08:00
Finley Xiao
bc7c0c8e19 thermal: rockchip: Support the px30s SoC in thermal driver
There are two Temperature Sensor on px30s, channel 0 is for CPU,
channel 1 is for GPU.

set trim for px30s.

Change-Id: I25e16c8d398634d83a3611fa829ee2e9dd974538
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2022-05-26 10:10:23 +08:00
Liang Chen
4ee45c385f soc: rockchip: rockchip_performance: optimize tasks schedule policy
When level==0(low-performance mode):
1. prefer prev_cpu for rt tasks if prev cpu is fit.
2. make sure that it saves at least 6% of the energy when
migrate tasks from little cpu to big cpu.

When level==2(high-performance mode):
1. do not use EAS path.
2. select big cpu first when system is not overutilized.
3. do not trigger load_balance() when system is not overutilized.
4. prefer prev_cpu for rt tasks if prev cpu is fit.

Test performance improvement for level==2:

1. CONFIG_ROCKCHIP_PERFORMANCE=n
EMMC Random Write(4KB) 25.44MB/s
Antutu:
Total 581266
CPU   133023
GPU   234106
MEM   103602
UX    110535

2. CONFIG_ROCKCHIP_PERFORMANCE=y and level==2
EMMC Random Write(4KB) 44.19MB/s (73.7% improvement)
Antutu:
Total 600483 (3.3% improvement)
CPU   134481 (1.1% improvement)
GPU   234678
MEM   116551 (12.5% improvement)
UX    114773 (3.8% improvement)

Change-Id: I949ac229864eb12159b886b7769e0b489345bef4
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-05-26 09:57:09 +08:00
Jianqun Xu
de8a4a7958 soc: rockchip: Call rockchip_iodomain_driver_init() early
The iodomain driver has been moved into soc/rockchip and it needs to be
called early before devices, set fs_initcall to it.

Change-Id: I68756377411299e3a4bacbae462ae18b8c31c072
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2022-05-25 19:25:34 +08:00
Jianqun Xu
bc2ba01c88 soc: rockchip: io-domain: dump power supply-map when probe
Tested on RK3568-evb2 with io-domain node as following:
    pmuio2-supply = <&vcc3v3_pmu>;
    vccio1-supply = <&vccio_acodec>;
    vccio3-supply = <&vccio_sd>;
    vccio4-supply = <&vcc_3v3>;
    vccio5-supply = <&vcc_3v3>;
    vccio6-supply = <&vcc_3v3>;
    vccio7-supply = <&vcc_3v3>;

With this patch, the system bootup log shows:
[    0.773089] rockchip-iodomain fdc20000.syscon:io-domains: pmuio2(3300000 uV) supplied by vcc3v3_pmu
[    0.773247] rockchip-iodomain fdc20000.syscon:io-domains: vccio1(3300000 uV) supplied by vccio_acodec
[    0.773426] rockchip-iodomain fdc20000.syscon:io-domains: vccio3(3300000 uV) supplied by vccio_sd
[    0.773603] rockchip-iodomain fdc20000.syscon:io-domains: vccio4(3300000 uV) supplied by vcc_3v3
[    0.773721] rockchip-iodomain fdc20000.syscon:io-domains: vccio5(3300000 uV) supplied by vcc_3v3
[    0.773839] rockchip-iodomain fdc20000.syscon:io-domains: vccio6(3300000 uV) supplied by vcc_3v3
[    0.773989] rockchip-iodomain fdc20000.syscon:io-domains: vccio7(3300000 uV) supplied by vcc_3v3

Change-Id: Ib4bcb78bf932b07beb03b3b39a0224ecb6699a54
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2022-05-25 19:25:20 +08:00
Jianqun Xu
853772ade4 soc: rockchip: io-domain: build depends on CPU config
Before:
   text	   data	    bss	    dec	    hex	filename
   9217	    240	      0	   9457	   24f1	drivers/power/avs/rockchip-io-domain.o

After:
   text	   data	    bss	    dec	    hex	filename
   2739	    144	      0	   2883	    b43	drivers/power/avs/rockchip-io-domain.o

Change-Id: Ibdaeb4f9e73b4c653fe854c101d181f28d52b481
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2022-05-25 19:24:56 +08:00
Jianqun Xu
8c65c19483 soc: rockchip: io-domain: rv1126 use separated notify
RV1126 set 3.3V before regulator disable.

Do a fix to rockchip io-domain, follow this orders:

* system running state
  -> io-domain vsel to 3.3V (actually is done by event-disable)
    -> regulator_enable
      -> vsel change according to regulator voltage

* system running state
  -> regulator_disable
    -> io-domain vsel to 3.3V

The bug only instance on RV1126, and tested on RV1126 EVB DDR3 V10.

Change-Id: Ic9d6b05d07b050c392e415786cf6390cc1c5aa9e
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2022-05-25 19:24:48 +08:00
David Wu
40d4b2db5f soc: rockchip: io-domain: add io selectors and supplies for rk3308
This adds the necessary data for handling io voltage domains on the rk3308.
As interesting tidbit, the rk3308 contains one iodomain area at grf,

Change-Id: Ife72a284a8926d02ef5df7a422d41924494d0300
Signed-off-by: David Wu <david.wu@rock-chips.com>
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
2022-05-25 19:24:38 +08:00
Jianqun Xu
da52f054c9 clk: rockchip: remove depend on ARM64 for rockchip SoCs
A clock driver for a arm SoC should depend on ARM, but for a arm64 SoC,
the driver should not depend on ARM64 since SoC could used as 32bit,
such as the RK3308 aarch32 platform.

Fixes: 5f3de16bb2 ("clk: rockchip: depends on CPU config")
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I9bc2c22b8c20dc6aedecbc288f551de1c0f02216
2022-05-25 18:40:46 +08:00
Tao Huang
baa784a2af ARM: rockchip: Locate kernel add 0x00058000 if CPU_RK3308
128+64KB at the beginning of RAM reserved for ATF.
128KB for pstore.

Change-Id: I1306daec44c65258ff6668f6760be4981d7ca932
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2022-05-25 18:40:46 +08:00
Tao Huang
5a8c565bcc ARM: decompressor: fix start of RAM alignment
256KB alignment is not work for (textofs & 0xf0000) > 0x40000.
Change to 1MB.

Change-Id: I9803b22d7d64a244842dcc811e47e214d247fc0c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2022-05-25 17:35:52 +08:00
Lin Jianhua
4f2a451d97 arm64: dts: rockchip: support rk3308bs evb v11 board.
Change-Id: Ie5b2f63a32b01b72ad4e854e779ac345787fa0d7
Signed-off-by: Lin Jianhua <linjh@rock-chips.com>
2022-05-25 16:06:30 +08:00
Jianqun Xu
c106a565f6 pinctrl: rockchip: fix drive strength set for rk3308bs/px30s/rk3326s
Sync driver with v4.4 and v4.19, support rk3308bs/px30s/rk3326s whose io
type is new called as smic type.

The smic type io configure drive strength with 3 bit, the highest bit is
from slew rate bit for the origin io type, that also means the smic io
not support slew rate setting.

The drive strength setting difference:

regval  RK3308B  RK3308BS
0       2mA      0mA
1       4mA      2mA
2       8mA      4mA
3      12mA      6mA
4                6mA
5                8mA
6               10mA
7               12mA

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ibcbdc06eefa819dae114a4b9adc32cdff42d32f2
2022-05-25 16:03:24 +08:00
Jianqun Xu
61a32e157e dma-buf: dma-heap: heap ops supports get_phys
This patch makes the dma-heap device support to get physical address by
DMA_HEAP_IOCTL_GET_PHYS. The sub heaps can add a support to this ops.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I1daf65f742ce48db5548aa3fb860bb3fb4e2291d
2022-05-25 15:13:52 +08:00
Jianqun Xu
dcbfe3bd8c dma-buf: cma_heap: support dmabuf partial sync
Add partital sync support for begain/end of cpu access.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I36cc7d2fffd1e22d796d429c76a990542acb8dd2
2022-05-25 15:10:38 +08:00
Jianqun Xu
33b98bf612 dma-buf: system_heap: do force sync only if attachment list empty
When the dmabuf attachment list is empty, do force sync with the heap
device, it is useful for partial access for cpu.

Fixes: 21f2fd663e ("dma-buf: system_heap: support cpu access partial dma-buf")
Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ie266767aeb03a361e1541ba9e84f3dd027350a75
2022-05-25 10:50:57 +08:00
Wyon Bi
22e04a3fa8 Revert "drm/bridge: Add support for Lontium LT8912"
This reverts commit 230f7f0610.

Remove unused driver.

Change-Id: Id4ae232cbc6a76af85aaedbf80749de18f16b5bb
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2022-05-24 17:55:04 +08:00
Wyon Bi
f2ff5c1ed3 Revert "dt-bindings: display: bridge: Document Chipone ICN6211 MIPI-DSI to RGB bridge bindings"
This reverts commit 4d076eca04.

Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I243d6a7daec50744d5133f685369444b727aaea2
2022-05-24 17:55:04 +08:00
Wyon Bi
2a026e7a11 Revert "drm/bridge: Add support for Chipone ICN6211"
This reverts commit 7b2a7b73e4.

Remove unused driver.

Change-Id: I9628d07910b5705773fb5c5cf72e34ec28e53601
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2022-05-24 17:48:58 +08:00
Jon Lin
030a8a1290 rkflash: Add clang compile version
Change-Id: I04cadb7734604cb63460af465462f192bb67d5b5
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-05-24 17:43:30 +08:00
David Wu
c6e9fc1900 net: phy: rk630phy: Read txlevel from efuse
Add the function of reading efuse txlevel, if it cannot be read,
use the default value.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I1d92f139312e0ea67f96017cac2370fe00a7de31
2022-05-24 17:30:40 +08:00
David Wu
afac3d7850 ethernet: stmmac: dwmac-rk: Read bgs value from efuse for rv1106
Add the function of reading efuse bgs, if it cannot be read,
use the default value.

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I6895766d342407a0a0b6011f0ea121770008e291
2022-05-24 17:30:40 +08:00
David Wu
ab214f610d ARM: dts: rockchip: rv1106: Add efuse otp property for ethernet
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I74a44c65a070e9da57168e8a01549ea2ab67b714
2022-05-24 17:24:35 +08:00
Li Huang
54e7d90e84 video: rockchip: rve: fixup memory leak
Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I4d98bd853120e1ff35317595c739a942eae2c1f3
2022-05-24 16:13:30 +08:00
Li Huang
1bf753648b video: rockchip: rve: update to 1.0.4
The internal context is automatically canceled after calling commit
by default.

Signed-off-by: Li Huang <putin.li@rock-chips.com>
Change-Id: I40f14fa0bddb95475a5cc76911a30df2ea1e122c
2022-05-24 16:13:30 +08:00
Steven Liu
f43f47a4cb soc: rockchip: amp: support Power Domain protection.
For some rockchip SOCs, Power Domain protection is supported
in AMP system.

Signed-off-by: Steven Liu <steven.liu@rock-chips.com>
Change-Id: I1e0cbde37df44dba466fc580b7f67d0053d09e3d
2022-05-24 14:34:25 +08:00
Ziyuan Xu
4f34bb9c60 ARM: dts: rockchip: rv1106g-evb2: add cmdline partitions layout
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: I7919dafe1943e5bdd63a8c52363c2eebdab72e87
2022-05-24 09:24:59 +08:00
Frank Wang
12b2ec6090 mailbox: rockchip: add irq wake up support
Parse and enable irq wakeup if the "wakeup-source" property was present.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I21b974d65dc02c1f3bd5f0e52a1372367b77a6e4
2022-05-24 09:21:20 +08:00