Commit Graph

1066290 Commits

Author SHA1 Message Date
Lin Jinhan
4481fb8b8a ARM: dts: rockchip: Add rv1106-smd-cam.dtsi
Move camera node from rv1106g-smart-door-lock-rmsl-v10.dts
 to rv1106-smd-cam.dtsi.

Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
Change-Id: Id5ba57db302c5a20af1796cf147f186a6df34467
2022-05-30 15:42:02 +08:00
Wyon Bi
437e0a901b drm/bridge: analogix_dp: Support split mode for bridge chain
Fixes: c1754005a3 ("drm/bridge: analogix_dp: Support split mode for bridge chain")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Iceb575560b1e6a9257f31e8370c8139afaae20b0
2022-05-30 10:32:49 +08:00
Guochun Huang
d79cdc989f drm/bridge: MAX96752F: add support attach bridge or panel
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: If2a9c7beb73a63af9af252fa007e6628e73e702b
2022-05-30 09:36:30 +08:00
Guochun Huang
81e27b972c mfd: MAX96745: disable remote control-channel link on this link
there can be multiple SerDes applications on the same I2C BUS.
the serializer can attach multiple deiserializers which have
the same I2C slave device address, to avoid I2C communication
conflicts, driver should disable remote control-channel link
after accessing.

Change-Id: I099caf597835cc34f34231231fbaddf2c5d03288
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2022-05-30 09:36:30 +08:00
Guochun Huang
4f64073a92 mfd: MAX96752F: add stream id for each link
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I7e512351db58050c8550100c7a79c046dda5ea4e
2022-05-30 09:36:30 +08:00
Guochun Huang
2fa624200c drm/bridge: Add support for Maxim MAX96755F
The MAX96755F convert MIPI DSI 4-lane input port
data to GMSL2 high-speed serial link protocol.

Display route example

DSI --> MAX96755F ---> MAX96752F --> LVDS

                      ---> MAX96752F --> LVDS
                     /
DSI --> MAX96755F -->
                     \
                      ---> MAX96752F --> LVDS

Change-Id: Ic465c12d163cc0ab4de0cbcaeebcfd462b2560b0
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
2022-05-30 09:34:37 +08:00
Guochun Huang
b564d3921a mfd: Add support for Maxim MAX96755F
The MAX96755F convert MIPI DSI 4-lane input port
data to GMSL2 high-speed serial link protocol.
They also send and receive control channel and
peripheral control data, enabling bidirectional
transmission of video and data over cables in
excess of 15 meters in length.

Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: I540bd4ca61ae6b6e77cb9635567690fe3367a281
2022-05-30 09:34:37 +08:00
Guochun Huang
6a4a40a39d pinctrl: Add support for Maxim MAX96755f pin controller
Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
Change-Id: Idddb8c689bc40d852402deb0a97509484c67b5d1
2022-05-30 09:34:37 +08:00
Shaoxing Chen
45a0941261 ARM: dts: rockchip: rv1106g-smart-door-lock-rmsl: add sdio node for wireless
Signed-off-by: Shaoxing Chen <csx@rock-chips.com>
Change-Id: I2f51f4ba0a0d20debf7cd2eef076cc650183d513
2022-05-30 09:27:08 +08:00
Elaine Zhang
5d818839f7 clk: rockchip: rk3588: optimized Pll automatic calculation
support more special frequency setting.

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ied62bb6460fd4bc2d3f03ee14f3faf6a0ec8f908
2022-05-30 09:19:08 +08:00
Jon Lin
7e91bfc9fc PCI: rockchip: dw: Disabeld ASPM L1SS when supports_clkreq not config
PCIe ASPM L1SS feature should be enabled with supports_clkreq configured.

Change-Id: I5ec112f55994503a445d9f1346bf436dadbc11c6
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-05-30 09:16:27 +08:00
Wang Xiaobin
a114d946f2 ARM: configs: rv1106-smart-door: enable JFFS2_FS
Signed-off-by: Wang Xiaobin <xb.wang@rock-chips.com>
Change-Id: I960582c03c8d8612e174ca7f622093069a7a98c2
2022-05-27 20:05:12 +08:00
Wang Xiaobin
45092931e7 ARM: configs: rv1106-smart-door: enable SPI and MTD_SPI_NOR
Signed-off-by: Wang Xiaobin <xb.wang@rock-chips.com>
Change-Id: I3d91b111d381989831da7cbc70a6427f6de48e93
2022-05-27 20:05:04 +08:00
Chen Yifu
3c5411b673 ARM: configs: rockchip: add rv1106-smart-door.config
Enable USB function as module.

Generated by:

	make ARCH=arm rv1106_defconfig rv1106-tb.config
	cp .config tmp.config
	make ARCH=arm menuconfig
	bala...
	./scripts/diffconfig -m tmp.config .config > arch/arm/configs/rv1106-smart-door.config

Update by:

	make ARCH=arm rv1106_defconfig rv1106-tb.config
	cp .config tmp.config
	make ARCH=arm rv1106_defconfig rv1106-tb.config rv1106-smart-door.config
	make ARCH=arm menuconfig
	bala...
	./scripts/diffconfig -m tmp.config .config > arch/arm/configs/rv1106-smart-door.config

Signed-off-by: Chen Yifu <chenyf@rock-chips.com>
Signed-off-by: Elon Zhang <zhangzj@rock-chips.com>
Change-Id: I20d4d75dbf33de1c2b392bbcdfe9dbec63bf5384
2022-05-27 19:48:11 +08:00
Ziyuan Xu
8e307b1774 ARM: configs: rockchip: Add rv1106-battery-ipc.config
Updated by:
make ARCH=arm rv1106_defconfig rv1106-tb.config
cp .config rv1106.config
make ARCH=arm menuconfig
./scripts/diffconfig -m rv1106.config .config > arch/arm/configs/rv1106-battery-ipc.config

Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: I6dabcffd1724bbe25ca95f7cd9b61502ce6b4662
2022-05-27 19:42:35 +08:00
Ziyuan Xu
e93d35cd23 ARM: rv1106-tb.config: CONFIG_ROCKCHIP_MULTI_RGA=y
-CONFIG_VIDEO_SC3336=y

Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: If882886c88bb8e2e08556404f9cfe22a7af8fc7f
2022-05-27 19:42:25 +08:00
Jianqun Xu
713d5a769d soc: rockchip: io-domain: fix module compile error
Fix compile error when build to module:
ERROR: modpost: "of_find_regulator_by_node" [drivers/soc/rockchip/io-domain.ko] undefined!

Fixes: bc2ba01c88 ("soc: rockchip: io-domain: dump power supply-map when probe")

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: I38490ed4129b500c3b3828c4f689a93c7ba93a67
2022-05-27 19:01:51 +08:00
Finley Xiao
f7995f721a PM / devfreq: rockchip_dmc: Fix cpufreq_cpu_acquire/release undefined
Fix build error when build as module.

Fixes: a2328c4f99 ("PM / devfreq: rockchip_dmc: Get policy when need to increase cpu frequency")
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I61ce3457355c10f91ce43ae6d1fb5b6dab0d424d
2022-05-27 18:55:03 +08:00
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