Commit Graph

1065125 Commits

Author SHA1 Message Date
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
Sugar Zhang
857d7f245b ARM: configs: rv1106: Enable THUMB2_KERNEL
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ie4f605879213b33a13dd182b5ad0edc1fc4dde6b
2022-02-25 18:57:48 +08:00
Sugar Zhang
9950d1eea9 ARM: configs: rv1106: Build device drivers as module
-CONFIG_VIDEO_ROCKCHIP_CIF=y
-CONFIG_VIDEO_ROCKCHIP_ISP=y
+CONFIG_VIDEO_ROCKCHIP_CIF=m
+CONFIG_VIDEO_ROCKCHIP_ISP=m
-CONFIG_VIDEO_OS04A10=y
-CONFIG_ROCKCHIP_RGA2=y
-CONFIG_ROCKCHIP_MPP_SERVICE=y
+CONFIG_VIDEO_OS04A10=m
+CONFIG_ROCKCHIP_RGA2=m
+CONFIG_ROCKCHIP_MPP_SERVICE=m
+CONFIG_PHY_ROCKCHIP_MIPI_RX=y

Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I71ae1c8c9806c4cf918914c7f1990424243fe2f2
2022-02-25 18:57:48 +08:00
Sugar Zhang
111992965b ARM: configs: rv1106: Disable CONFIG_DRM
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I47ee991f8ed7aa55353a4f95a6b4be4711191511
2022-02-25 18:57:48 +08:00
Finley Xiao
b077ae84d9 Revert "HACK: lib/kobject_uevent.c: ignore thermal uevent when suspend"
This reverts commit fc2be569e8.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I647c757a003a61055211299260222d2f480ca317
2022-02-25 17:46:18 +08:00
Finley Xiao
6580996b5b soc: rockchip_system_monitor: Add support to set uevent suppress for cpu
Android healthd try to listen power_supply subsystem uevent,
but which will block system from suspend on big.LITTLE system
because thermal_cooling_device_unregister will called when
cpufreq_exit. So ignore this uevent when suspend.

Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
Change-Id: I2ce98efce1bcaa06cfc87f305b6730f67eb1eb3c
2022-02-25 17:44:51 +08:00
Steven Liu
b8cdbf0c87 ARM: dts: rockchip: Add pinctrl nodes for RV1106
Signed-off-by: Steven Liu <steven.liu@rock-chips.com>
Change-Id: Id870403d0b67d4397f03c2a19e62edc1d671d302
2022-02-25 17:26:42 +08:00
Mark Huang
44d1641bcc arm64: dts: rockchip: rk3588-nvr-demo: support logo for dp
Signed-off-by: Mark Huang <huangjc@rock-chips.com>
Change-Id: I16df6ec7efe5bc1e4fb4532e044e9e1a6b0609ca
2022-02-25 16:26:33 +08:00
Sugar Zhang
4e4e569501 phy: rockchip: mipi-rx: Fix compile err
drivers/phy/rockchip/phy-rockchip-mipi-rx.o:
In function `rockchip_mipidphy_probe': phy-rockchip-mipi-rx.c:(.text+0x1104):
undefined reference to `v4l2_async_notifier_parse_fwnode_endpoints_by_port'

Fixes: 5f3c2be123 ("phy: rockchip: mipi-rx-dphy: fix compile error")
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I9491f015f9742aa4e1ca6e72600e32be2b0fbb2e
2022-02-25 15:54:02 +08:00
Mark Huang
a68ba49925 arm64: dts: rockchip: rk3588-nvr-demo: adjust mode for usb otg
For nvr product,the USB OTG controller works device mode by default.
for box,the USB OTG controller works otg mode by default.

Signed-off-by: Mark Huang <huangjc@rock-chips.com>
Change-Id: I23942704a0617739b37fe93a319322b03d653bac
2022-02-25 15:39:32 +08:00