Commit Graph

1065134 Commits

Author SHA1 Message Date
Jon Lin
737532e4a0 ARM: configs: rv1106: Support SquashFS
Change-Id: I2e36e67ce4df5e4114e7546f2ac2d8ef2a3d9ef7
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-03-02 17:42:09 +08:00
Jon Lin
f57eb51603 ARM: configs: rv1106: Enable CONFIG_CMDLINE_PARTITION
Switch to use CMDLINE partition instead of GPT partition.
This patch also disable MDOS partition which apply for FAT.

- CONFIG_MSDOS_PARTITION
- CONFIG_EFI_PARTITION
+ CONFIG_CMDLINE_PARTITION

Change-Id: Ic298b8fbe7f8d393ba722991717ae11f881d394c
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
2022-03-02 17:33:18 +08:00
Jon Lin
93cd21ccce ARM: configs: rv1106: Remove eMMC/sdcard support
Change-Id: Ifa983962d7fd0ad797404240577600a739888be2
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-03-02 17:31:12 +08:00
Jianqun Xu
277f66a0b4 arm64: dts: rockchip: rk3588 fix sdio pins to pull up
The sdio requires the cmd and data pins to pull up by soc.

Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
Change-Id: Ieef7128a280a9f39b226879f5b16559025dabe3b
2022-03-02 17:17:36 +08:00
Algea Cao
398ca12148 phy: rockchip-samsung-hdptx-hdmi: Implement phy clk enable/disable callback function
If set dclk to the same frequency as before, the set_rate callback
won't be called. Hdmi phy is not configured correctly. So hdmi phy
must be configured in the clk enable callback.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ie780a5969b342595fa94c60dd58889b9bf2bb78b
2022-03-02 16:16:15 +08:00
Zhang Yubing
b05aaecf58 drm/rockchip: vop2: support only 1 hdmi phy pll
In some condition, only 1 hdmi phy is enabled. The strategy
need judge which hdmi phy pll can be used.

Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: Ia36d3f3cf010a0322e4d51a85f980012b5ee2231
2022-03-02 16:11:27 +08:00
Weiwen Chen
2b13dc239b arm64: rockchip_linux_defconfig: enable CONFIG_CMDLINE_PARTITION
For ipc product not use GPT, kernel get the partition from cmdline.

Signed-off-by: Weiwen Chen <cww@rock-chips.com>
Change-Id: I3d4126edb1af89e9eb7d70a975fd1dfc4222262e
2022-03-02 15:49:51 +08:00
Damon Ding
48c78936e0 ARM: dts: rockchip: add venc_grf node for rv1106
In addition, move rgb node from peri_grf to venc_grf.

Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Ib4586cf83e4418ce51381bc0adf989e6f3e742a6
2022-03-01 20:11:57 +08:00
Zhen Chen
643f7908a0 MALI: rockchip: upgrade bifrost DDK to g11p0-01eac0, from g10p0-01eac0
Change-Id: I0642ec37f151711b8b19c3206488d3301422971d
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
2022-03-01 19:53:20 +08:00
Damon Ding
451a9752b5 ARM: dts: rockchip: add pwm nodes for rv1106
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I2a97aa4c58bcaf44f02c8e2aced1a01423a19a02
2022-03-01 18:53:23 +08:00
Zhang Yubing
59a5bd8a18 phy: rockchip: usbdp: add resume/suspend support
The vogrf register is cleared when system suspend. It need
config the hpd status when system resume.

Change-Id: I50419b8496ba389193238cae08e3710172f6c5be
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
2022-03-01 18:19:39 +08:00
Wyon Bi
88a725f4b3 drm/rockchip: dw-dp: Move resume handling to NOIRQ phase
Fixes: b31df11baa ("drm/rockchip: dw-dp: force runtime PM suspend on system suspend")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: Iaf5ceb65584cbe613c0e5c37c9586bfc235259e8
2022-03-01 18:19:25 +08:00
Wyon Bi
877e7716c5 drm/rockchip: analogix_dp: Move resume handling to NOIRQ phase
Fixes: 1a4c9d772a ("drm/bridge: analogix_dp: Rework irq handling")
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I8709ef94503a80e4c217f28b6d2855a2f4cedcd0
2022-03-01 18:19:05 +08:00
Wyon Bi
9f59662549 arm64: dts: rockchip: rk3588s: Add pclk_vo0_grf clock
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I21e8480d39d5611a411f01f407184e5987933553
2022-03-01 18:18:48 +08:00
Wyon Bi
a80efcc59c clk: rockchip: link: Add pclk_vo0_grf clock
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I321e5dbcb4fd32f41ac85d284e511bc8ad1ed789
2022-03-01 18:18:36 +08:00
Shawn Lin
58948b97b3 PCI: rockchip: dw: Add L2 support
It's better to force link into L2 before we power off devices,
especially if link is in L1. L2 routine is fully defined as:

1) host brings all downstream components back to D0 and L0 before
   PCIe stack set D2hot to all devices.
2) send PME_Turn_Off to downstream components and wait for PME_To_Ack
3) check if we are ready to enter L23
4) check if link is already in L2
5) release all kinds of resources including power, #PERST, etc.
6) reset controller when resume
7) brings all downstream components to L0s and L1 after resume

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I27d7e41079d5e15b4a93d66aa8d6b9286e182ecd
2022-03-01 17:13:43 +08:00
Shawn Lin
ef7d4277e3 arm64: dts: rockchip: rk3588(s): Add periph reset for PCIe
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I4e5954a2ea63b53547365eab20fd2d262260a23a
2022-03-01 17:12:37 +08:00
Shawn Lin
4966dc7349 PCI: rockchip: dw: Add struct reset_control to struct rk_pcie
We will use it later for L2 reset scheme.

Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Change-Id: I5ffaed989507ecc6f10e3f52c1b69245b0f2bae3
2022-03-01 17:11:59 +08:00
Shawn Lin
cfd9f9799d soc: rockchip: Add rockchip thunder boot mmc driver
This driver aimed at starting decompression as soon as
possible.

Change-Id: Ie29f43935f0642ae8c9c605d3ebc40292d4d1781
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
2022-03-01 16:51:27 +08:00
Ding Wei
dd8ed58c07 video: rockchip: mpp: Iusse for insmod/rmmod rk_vcodec.ko
tips:
   1.In mpp_dev_remove, it wrong to device put mpp->pdev, and
   the true is srv->pdev.
   2. It is no used following, thus, put it directly.

backtrace:
[  119.059922 ][ T2179 ]  refcount_warn_saturate+0xe0/0x150
[  119.059930 ][ T2179 ]  klist_next+0x108/0x10c
[  119.059938 ][ T2179 ]  bus_for_each_dev+0x6c/0xd0
[  119.059945 ][ T2179 ]  driver_attach+0x28/0x38
[  119.059951 ][ T2179 ]  bus_add_driver+0x108/0x1e8
[  119.059956 ][ T2179 ]  driver_register+0x7c/0x118
[  119.059963 ][ T2179 ]  __platform_driver_register+0x48/0x58
[  119.060018 ][ T2179 ]  mpp_add_driver+0xf8/0x140 [rk_vcodec]
[  119.060068 ][ T2179 ]  mpp_service_probe+0x43c/0x550 [rk_vcodec]
[  119.060075 ][ T2179 ]  platform_drv_probe+0x9c/0xc4
[  119.060081 ][ T2179 ]  really_probe+0x204/0x510
[  119.060087 ][ T2179 ]  driver_probe_device+0x80/0xc0
[  119.060093 ][ T2179 ]  device_driver_attach+0x70/0xb4
[  119.060099 ][ T2179 ]  __driver_attach+0xc8/0x150
[  119.060104 ][ T2179 ]  bus_for_each_dev+0x80/0xd0
[  119.060109 ][ T2179 ]  driver_attach+0x28/0x38
[  119.060114 ][ T2179 ]  bus_add_driver+0x108/0x1e8
[  119.060120 ][ T2179 ]  driver_register+0x7c/0x118
[  119.060127 ][ T2179 ]  __platform_driver_register+0x48/0x58
[  119.060175 ][ T2179 ]  init_module+0x24/0xfe8 [rk_vcodec]
[  119.060184 ][ T2179 ]  do_one_initcall+0x98/0x2dc
[  119.060192 ][ T2179 ]  do_init_module+0x60/0x21c
[  119.060197 ][ T2179 ]  load_module+0x2cf0/0x34a8
[  119.060203 ][ T2179 ]  __arm64_sys_finit_module+0xbc/0xfc
[  119.060211 ][ T2179 ]  el0_svc_common+0xc0/0x23c
[  119.060217 ][ T2179 ]  do_el0_svc+0x28/0x88
[  119.060225 ][ T2179 ]  el0_svc+0x14/0x24
[  119.060232 ][ T2179 ]  el0_sync_handler+0x88/0xec
[  119.060238 ][ T2179 ]  el0_sync+0x1a8/0x1c0

Change-Id: Ib6442228d27dde2ff07336edef02fe391ebeb135
Signed-off-by: Ding Wei <leo.ding@rock-chips.com>
2022-03-01 16:21:50 +08:00
William Wu
223064da40 usb: dwc3: fix runtime pm when current_dr_role is not set
The current runtime suspend/resume do nothing when the
current_dr_role is not set. It may fail to do core init
in some scenes.

Test on RK3588 EVB2 or NVR Demo which have Type-A OTG
port, without this patch, the USB ADB enumeration failed
occasionally. When this error happens, we can find that
the register GUSB2PHYCFG(0) isn't initialized correctly.

It's because that during dwc3 probe, if the drd_work which
called from dwc3_drd_init() is scheduled behind the runtime
suspend process, the current_dr_role will be uninitialized,
this cause the runtime resume process doing nothing and put
the dwc3 phy in uninitialized status.

This patch add dwc3_core_init and dwc3_core_exit operation
for runtime suspend/resume when the current_dr_role is not
initialized.

Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I294bcf2ad68136e9eb24a9e4a1ad389e73c974d2
2022-03-01 16:20:42 +08:00
Elaine Zhang
a521e711b1 thermal: rockchip: Support RV1106 SoC in the thermal driver
The RV1106 SoC have one channel TS-ADC(CPU).

Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Ib8485cd438feb5aab0e359ab1517ea263a6a978e
2022-03-01 15:59:48 +08:00
Lin Jinhan
4d2020372e crypto: rockchip: v2: ahash fix hash_algo2name setting error.
HASH_ALGO_SHA224 was misspelled as HASH_ALGO_SHA256.
In hMAC-224 algorithm, key digest errors occur when the key
 length exceeds the blocksize length.

Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
Change-Id: I38c20028b390f32fa7326e4b4e4adeb43902f2e0
2022-03-01 15:00:18 +08:00
Frank Wang
fbb6fa05c7 ARM: dts: rockchip: rv1106: add mailbox nodes
This adds mailbox and pmu_mailbox nodes for RV1106 SoCs.

Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I2c1f6c9f64f0ec04d981c1491495611bc2cff09a
2022-03-01 11:14:11 +08:00
Elaine Zhang
1ce367190e clk: rockchip: rv1106: export pclk_mailbox clk id
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: I84c8d8e3987af45b72db8eccbf97b7fc842f6205
2022-03-01 11:14:02 +08:00
Liang Chen
3965357aaa arm64: dts: rockchip: rk356x: adjust opp-table by pvtm
Change-Id: I898578def36d38a673678183fdf96339f0d55f0d
Signed-off-by: Liang Chen <cl@rock-chips.com>
2022-03-01 09:54:55 +08:00
Tao Huang
51f118af47 arm64: rockchip_gki.config: Enable CONFIG_CRYPTO_DEV_ROCKCHIP_DEV
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I725ece74dcf96521bc2ff501e23b4efc7ca86f9a
2022-02-28 20:15:58 +08:00
Algea Cao
5b68b23157 phy: rockchip-samsung-hdptx-hdmi: Use udelay instead of usleep in clk enable
usleep shouldn't be used in an atomic context.

Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I9c6accd1b17488f4ad25b79681856c47fab29d20
2022-02-28 20:11:41 +08:00
Tao Huang
35c71f05ee arm64: rockchip_gki.config: update only
CONFIG_ROCKCHIP_FIQ_DEBUGGER default FIQ_DEBUGGER.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Icecc1afbb068ba35caaeb0112943e3389f455169
2022-02-28 19:37:45 +08:00
Tao Huang
112dd88035 arm64: rockchip_gki.config: Temporarily disable CONFIG_PCIE_DW_ROCKCHIP
ERROR: modpost: "dw_pcie_write_dbi2" [drivers/pci/controller/dwc/pcie-dw-rockchip.ko] undefined!

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I450aa9a91753de5cca6c2f1a99f14988e324e1c8
2022-02-28 19:02:26 +08:00
Tao Huang
0c782f48ae arm64: rockchip_gki.config: Temporarily disable CONFIG_ROCKCHIP_MULTI_RGA
ERROR: modpost: "arch_dma_prep_coherent" [drivers/video/rockchip/rga3/rga3.ko] undefined!
ERROR: modpost: "iommu_get_dma_domain" [drivers/video/rockchip/rga3/rga3.ko] undefined!

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I7c095ea3ee96da6547309235abb6936db0e9e8c6
2022-02-28 19:00:49 +08:00
Tao Huang
23b123381e net: rfkill-wlan: Export rfkill_get_wifi_power_state()
Export the rfkill_get_wifi_power_state() for use by pcie-dw-rockchip.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I122d74da9271f2f808fbd474386994778561cbf8
2022-02-28 18:58:36 +08:00
Lin Jinhan
58390fe65b ARM: dts: rockchip: rv1106: add crypto node
Change-Id: I93de0d0d8f89f7c2678fe42afeaa2dfad26a8383
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2022-02-28 18:37:48 +08:00
Lin Jinhan
0c4c2e5f42 ARM: dts: rockchip: rv1106: add trng node
Change-Id: I70aa72440d7e253ef2ffbf293ca06e05833ee627
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
2022-02-28 18:37:41 +08:00
Sugar Zhang
2ab5cd125e ARM: dts: rv1106: Add property 'pinctrl' for uart/i2c/dsm nodes
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ifb2acb3c4a41335555e6143fbdad8e8cffbb9747
2022-02-28 18:31:54 +08:00
Lin Jinhan
ab02399797 crypto: rockchip: v2: ahash init/update/final use hardware crypto
1. disable crypto interrupt when crypto is idle
2. ahash init/update/final use hardware crypto
3. reset crypto cc before cipher/hash hardware init

Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
Change-Id: Id2c85c36c9f2fbe34af553b3ba12239e3cd281b4
2022-02-28 16:44:39 +08:00
Lin Jinhan
567bbaa82b crypto: rockchip: v2: modify the algos supported by each platform
1. add sha224/sha384 support.
2. XTS mode was removed due to panic on some platforms(RV1126 kernel 4.19).

Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
Change-Id: I339cb21c6abefa684f9d36e8faaa04d6ab43d3b1
2022-02-28 16:44:39 +08:00
Lin Jinhan
931b0eb60e crypto: rockchip: v2: skcipher: fix bugs for librkcrypto test
1. On RV1126/RV1109, AES-192 dma-fd should not use hardware crypto.
2. Fixed a bug with CTR rk_iv_copyback in chain mode.
3. Modify cryptodev log information to reduce runtime logging.

Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
Change-Id: Ib197e0df4f0ff0c7f4cd20832f25be1b21e8cbf3
2022-02-28 16:44:39 +08:00
Yu Qiaowei
b61d06ed70 ARM: dts: rockchip: Add RGA2 node for RV1106
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: I7e5d9f50b9b602a16d752595cdc79b487466bb7b
2022-02-28 16:23:47 +08:00
Tao Huang
4a76b481c5 ARM: dts: rockchip: Fix some error for rv1106
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I9676b55c581706c5c1891efbe5dba188707c5463
2022-02-28 16:00:37 +08:00
Elaine Zhang
af46b9fee0 ARM: dts: rockchip: Add tsadc nodes for RV1106
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
Change-Id: Idcd24edbd417e89288030920539a94002ec34173
2022-02-28 15:59:15 +08:00
Simon Xue
7a58edc59d ARM: dts: rockchip: rv1106: add saradc/wdt_ns/hw_decompress
Change-Id: I727e614a6c4385f49737e5bf013f677cc1676067
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2022-02-28 14:57:22 +08:00
Jon Lin
46553c0153 ARM: dts: rockchip: Add spi and sfc node for rv1106
Change-Id: I40d45231200f30fc7fc0a122f849d8f2552bcd09
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-02-28 14:53:37 +08:00
Jon Lin
ac7ae60a15 spi: rockchip: add compatible string for rv1106
Change-Id: Ib0cd5150a917ca3f082825bfea8922dc7afcef2e
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2022-02-28 14:37:28 +08:00
Tao Huang
6be1c0df05 fiq_debugger: request_nmi when !CONFIG_NO_GKI
GKI no export enable_nmi/request_nmi symbol.

Fixes: 58e8ae42ae ("fiq debugger: support nmi mode")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ia20cfd0241fca379360ae512b5986d05f98dd53f
2022-02-28 14:20:06 +08:00
Tao Huang
03217a2278 pinctrl: rockchip: Fix rk3588 ioc reg name
Add RK3588_ prefix.

Fixes: 7c357cd7cf ("pinctrl: rockchip: add rk3588 support")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: If4377311deafac122ac6d27f5a00d6337cdbb170
2022-02-28 11:42:47 +08:00
Tao Huang
e0b522f62b net: ethernet: stmmac: STMMAC_[ETHTOOL|FULL|MMC|PTP]/DWMAC_ROCKCHIP_TOOL default y if !ROCKCHIP_MINI_KERNEL
STMMAC_ETHTOOL/STMMAC_FULL/STMMAC_MMC/STMMAC_PTP and DWMAC_ROCKCHIP_TOOL
default n if ROCKCHIP_MINI_KERNEL.

Fixes: defb18abcd ("net: ethernet: stmmac: dwmac-rk: Add config option for dwmac-rk-tool")
Fixes: 541323a247 ("net: ethernet: stmmac: Add config option for stmmac ethtool")
Fixes: 2f2111686d ("net: ethernet: stmmac: Add config option for full driver")
Fixes: 2d1e65714c ("net: ethernet: stmmac: Add STMMAC_PTP config option")
Fixes: 41888ca1af ("net: ethernet: stmmac: Add STMMAC_MMC config option")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ibb4221bd052aef96f48c722ac61baf069b3af2db
2022-02-27 15:26:04 +08:00
Tao Huang
4ee33b2d19 drm: DRM_EDID and DRM_DP default y if !ROCKCHIP_MINI_KERNEL
DRM_EDID and DRM_DP default n if ROCKCHIP_MINI_KERNEL=y.

Fixes: a92ed4afa9 ("drm/edid: add config option of edid function")
Fixes: f031ad34e5 ("drm/rockchip: add config option of DRM DP support")
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I3e5b42381306edf31e95dfca8690a26a1683aecf
2022-02-27 15:20:58 +08:00
Tao Huang
5e8a9b4279 init/Kconfig: source init/Kconfig.gki when !ROCKCHIP_MINI_KERNEL
make gki config invisible when ROCKCHIP_MINI_KERNEL=y.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I63e92df2af93a8022be64755610c890eb1726d3f
2022-02-27 15:16:43 +08:00
Tao Huang
1d042ec21e soc: rockchip: Add ROCKCHIP_MINI_KERNEL config
This option make the kernel size smaller.

Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I0106c8570a6df6e2c8e807b5fae97957406c029e
2022-02-27 15:15:38 +08:00