Commit Graph

1281310 Commits

Author SHA1 Message Date
Tao Huang
b683085198 iommu: Call iommu_subsys_init() early when CONFIG_INITCALL_ASYNC=y
rk_iommu_init() depends on iommu_subsys_init().
But rk_iommu_init() and iommu_subsys_init() are both in the same
subsys_initcall level.

Fix this by moving iommu_subsys_init() to the postcore_initcall_sync level.

Change-Id: Ie7a7ecf7ffa7c3876b745de657b65b84e65ff8c9
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
26e7a91897 serial: 8250: Call serial8250_init() early when CONFIG_INITCALL_ASYNC=y
dw8250_platform_driver_init() depends on serial8250_init().
But dw8250_platform_driver_init() and serial8250_init() are both in the same
module_init level.

Fix this by moving serial8250_init() to the rootfs_initcall level.

Change-Id: I337da18ef25121ccb1f9351fd213abb7d83f82d1
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
4b58c0898d HID: core: Call hid_init() early when CONFIG_INITCALL_ASYNC=y
hid_generic_init() depends on hid_init() to init hid_bus_type.
But hid_generic_init() and hid_init() are both in the same
module_init level.

Fix this by moving hid_init() to the rootfs_initcall level.

Change-Id: I070f92c405d898ae9f929bff968a6bd26811085a
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
66275080a4 PM / OPP: Call opp_debug_init() later when CONFIG_INITCALL_ASYNC=y
opp_debug_init() depends on debugfs_init() to register debugfs filesystem.
But opp_debug_init() and debugfs_init() are both in the same
core_initcall level.

Fix this by moving opp_debug_init() to the core_initcall_sync level.

Change-Id: I4e6fa71e424bd1733d2c9aab4893f0f4af1e8099
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
bf9dd729dc regulator: core: Call regulator_init() later when CONFIG_INITCALL_ASYNC=y
regulator_init() depends on debugfs_init() to register debugfs filesystem.
But regulator_init() and debugfs_init() are both in the same
core_initcall level.

Fix this by moving regulator_init() to the core_initcall_sync level.

Change-Id: I302079e585f374a7fddd207e6fd740b61b0df52c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
b6512873ea pinctrl: core: Call pinctrl_init() later when CONFIG_INITCALL_ASYNC=y
pinctrl_init() depends on debugfs_init() to register debugfs filesystem.
But pinctrl_init() and debugfs_init() are both in the same
core_initcall level.

Fix this by moving pinctrl_init() to the core_initcall_sync level.

Change-Id: I3b0741b8d32c6b05c7b15e20da6c410d26245745
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
199e598fa8 phy: core: Call phy_core_init() early when CONFIG_INITCALL_ASYNC=y
ohci_platform_init()/ehci_platform_init depends on phy_core_init() to init phy_class.
But ohci_platform_init()/ehci_platform_init and phy_core_init() are both in the same
device_initcall/module_init level.

Fix this by moving phy_core_init() to the subsys_initcall level.

Change-Id: I0bbe2e1a02001e2ba97c9dc8be96d651984784ef
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
14b1dd2738 char: misc: Call misc_init() early when CONFIG_INITCALL_ASYNC=y
rfkill_init() depends on misc_init() to init misc_class.
But rfkill_init() and misc_init() are both in the same
subsys_initcall level.

Fix this by move misc_init() to the arch_initcall_sync level.

Change-Id: I7266c2787c04a42886816b0ef11f3ed968ebf557
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
1b259eab60 ARM: alignment: Call alignment_init() later when CONFIG_INITCALL_ASYNC=y
alignment_init() create proc file "cpu/alignment" at the fs_initcall
level. While "cpu" dir is created on proc_cpu_init() at the same
initcall level too.

Fix this by move alignment_init() to the fs_initcall_sync level.

Change-Id: I8a8831f103b6729f57a8a70ff1bf5672fdf98810
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
341c626474 kernel/params.c: Call param_sysfs_init() early when CONFIG_INITCALL_ASYNC=y
usb_init() depends on param_sysfs_init() to init module_kset.
But usb_init() and param_sysfs_init() are both in the same
subsys_initcall level.

Fix this by move param_sysfs_init() to the arch_initcall_sync level.

Change-Id: Iccc44152c716959d98ed97ea379e0fc4378e185d
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
69fc4dcdb9 net: socket: Call sock_init() early when CONFIG_INITCALL_ASYNC=y
netlink_proto_init() depends on sock_init() to init sock_mnt.
But netlink_proto_init() and sock_init() are both in the same
core_initcall level.

Fix this by moving sock_init() to the pure_initcall level.

Change-Id: I201d52a23f17e895ee9e961514f9a6b42f96cd40
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
5eb9313c16 genetlink: Call genl_init() later when CONFIG_INITCALL_ASYNC=y
genl_init() depends on netlink_proto_init() to init nl_table.
But genl_init() and netlink_proto_init() are both in the same
core_initcall level.

Fix this by moving genl_init() to the core_initcall_sync level,
which is earlier than thermal_init().

Change-Id: Id4c85ea069c6ce3ebcb632856b695018bcc1e981
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
a7f5880658 kernel/ksysfs.c: Call ksysfs_init() early when CONFIG_INITCALL_ASYNC=y
configfs_init()/debugfs_init() depends on ksysfs_init() to init kernel_kobj.
But configfs_init()/debugfs_init() and ksysfs_init() are both in the same
core_initcall level.

Fix this by move ksysfs_init() to the pure_initcall level.

Change-Id: Iaa23a25a59b3a133f3cecb396fc69dd7e65d45ad
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
688b53c7af pwm: Call pwm_sysfs_init() early when CONFIG_INITCALL_ASYNC=y
rockchip_pwm_driver_init() -> rockchip_pwm_probe() -> devm_pwmchip_add()
-> pwmchip_add() -> pwmchip_sysfs_export()
pwmchip_sysfs_export() depends on pwm_sysfs_init() to init pwm_class.
But rockchip_pwm_driver_init() and pwm_sysfs_init() are both in the same
subsys_initcall level.

Fix this by move pwm_sysfs_init() to the postcore_initcall level.

Change-Id: If865768904be463732a5d2cb9f6ee2e9b333c0b3
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
081aacf209 dmaengine: rockchip-dma: Call rk_pdma_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Moving rk_pdma_driver_init() to the arch_initcall_sync level.
Before rk3x_i2c_driver_init() etc.

Change-Id: Iafcb84b1537453ffb295bb7722d4455e75657e9c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
439b8b9cc8 drm/panel: simple: Call panel_simple_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Moving panel_simple_init() to the rootfs_initcall level.
Before rockchip_drm_init().

Change-Id: If74f0888e0120189b58c8eb96485eb3c9ada7e4f
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
0ec605a383 iommu/rockchip: Call rk_iommu_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Moving rk_iommu_init() to the subsys_initcall level.
Before rga_init() etc.

Change-Id: I050b96eb93f1fcb0fe12e12cbf95eb778678f44c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
a22a2f016f regulator: pwm: Call pwm_regulator_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Regulator init on subsys_initcall_sync level.

Change-Id: I477e8282dfb4582ac29f1b789a286c5d5ed7c60c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
936063c332 iio: adc: rockchip_saradc: Call rockchip_saradc_driver_init() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Moving rockchip_saradc_driver_init() to the fs_initcall level.
Before adc_keys_driver_init().

Change-Id: I63ec4bd84ba1c9bd63359b2efc9559949d6311c7
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
9b4428f7b6 clocksource: Call clocksource_done_booting() early when CONFIG_ROCKCHIP_THUNDER_BOOT=y
Make sure subsys initcall fast.

Change-Id: Ib197b79477afaa6af6b35aeefab53137ee9f6749
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Yu Qiaowei
d4a3012c24 video: rockchip: rga3: remove dependency on CONFIG_IOMMU_IOVA
Since 'CONFIG_IOMMU_IOVA' is often disabled on 32-bit systems, causing
iommu_map API calls to fail, the DMA mapping API is used instead.

Change-Id: I7226ddf6a04e0af4c6b1b029bb5a32ede04c0810
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
2025-04-18 09:11:27 +00:00
Sach Lin
b6558f3a76 media: rockchip: avsp: add support for fbce head offset
Signed-off-by: Sach Lin <sach.lin@rock-chips.com>
Change-Id: Ic72bd2cc5e23af9cac2ee46884da9e0c3b0ea317
2025-04-18 07:49:13 +00:00
Xu Hongfei
4719bd6e80 media: rockchip: fec: add module parameter user_debug
Signed-off-by: Xu Hongfei <xuhf@rock-chips.com>
Change-Id: I1bd315aff2ee527241a29afff557e23531cbc440
2025-04-18 07:39:44 +00:00
Zhang Yubing
6609d45ac5 drm/rockchip: dw-dp: mst mode don't allow external bridge create connector
In mst mode, dptx driver will dynamic create and destroy
connector according to the attach mst device. If a external
bridge is add for dp in mst mode, this bridge is not allow
to create connector.

Change-Id: I811baf5116e4c2cd1d12b04ead2054abcccbdffd
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2025-04-18 06:56:14 +00:00
Zhang Yubing
97932bdf73 drm/rockchip: dp_aux_client: parse timing by child node name
The child node may be not parsed by the order config in dts,
it would be better get child node by name to avoid mismatch.

Change-Id: Ibce47f44720f279eb53f063a351d3b859a371fd8
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
2025-04-18 14:41:47 +08:00
Su Yuefu
96aab710fb arm64: dts: rockchip: rv1126b-evb2-v10: fixes error of cam reset pin of sc850sl
Signed-off-by: Su Yuefu <yuefu.su@rock-chips.com>
Change-Id: I908e8b1e30b49b2058b0cd00d5075e631be8f0ae
2025-04-18 06:05:21 +00:00
Xu Hongfei
dae6de0d5d media: rockchip: fec: add support for offset and stride configuration
Signed-off-by: Xu Hongfei <xuhf@rock-chips.com>
Change-Id: If1ac6a30be8b4d1a2c60a9696cb1b33122c1f407
2025-04-17 19:34:45 +08:00
Liang Chen
683c36d1db arm64: dts: rockchip: rv1126b: update opp-table for cpu/npu
Adjust pvtm-voltage-sel table of cpu to calibrate cpufreq better.

Change-Id: I36f440eee378b3d6865d6beb148ee3a5677fcb22
Signed-off-by: Liang Chen <cl@rock-chips.com>
2025-04-17 18:23:20 +08:00
Liang Chen
ab74750ff8 clk: rockchip: clk-pvtpll: update cpu/npu pvtpll config for rv1126b
Change-Id: I3a594b18b8c6ced41f13fd6abdc7783b8083612d
Signed-off-by: Liang Chen <cl@rock-chips.com>
2025-04-17 18:23:20 +08:00
Jon Lin
1b882fcf73 PCI: rockchip: dw_ep: Support rockchip,ep-power-independent
sually, RK EP is directly powered by RC, and the entire device
reset switch of EP is controlled by PERST#. If EP is powered
independently, EP will enter the initialization phase independently
of RC. In order to wait for the REFCLK provided by RC to stabilize,
the definition of reset-gpio has been added to identify PERST# gpio
signal translation.

Change-Id: I45f6d176a0a71615ccbbde11f419475ad8600dd3
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2025-04-17 16:38:04 +08:00
Jon Lin
34ba677ded PCI: rockchip: dw-ep: Support setting link_gen
Change-Id: I1b93b04e45a39e93e774a2ade8a00865f1e6f5ed
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2025-04-17 08:31:01 +00:00
Jon Lin
ad8d1ad7f2 PCI: rockchip: dw-ep: Support ltssm fifo debug
Set RK_PCIE_DBG to 1 to enable ltssm fifo debug.

Change-Id: If88824e7bb7455006b0cf7ceac5bb901bf76f282
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2025-04-17 08:31:01 +00:00
Jon Lin
e31d0ecd30 PCI: rockchip: dw-ep: Support BAR1 and BAR5 mmap
Change-Id: Ibc34c387ca69ba17d64cc2c91a2be1d6fc2faa22
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2025-04-17 08:31:01 +00:00
Jon Lin
a5ee25a6ff misc: rockchip: pcie-rkep: Support BAR1 and BAR5 mmap
Change-Id: I59983fd9cd0153966eb0f539ae9b082f05dae5b1
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2025-04-17 08:31:01 +00:00
Jon Lin
b730a5ac78 PCI: rockchip: dw-ep: Support link up status double check
Change-Id: I6b1807ea1dce5c05a040823717b50edf7a6109d9
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
2025-04-17 08:31:01 +00:00
LongChang Ma
f3dd6b3cc4 media: i2c: sc450ai: adjust 2lane setting vblank value
Signed-off-by: LongChang Ma <chad.ma@rock-chips.com>
Change-Id: Id64fe9ad58a816fb5ba96afc99bbcb6235fc8fc7
2025-04-17 08:25:55 +00:00
Yu Qiaowei
10c09cfd31 video: rockchip: rga3: fix crash caused by vir_addr call in 'mm' debug mode
Change-Id: I16223557d18f5f0bd99f468b34713157897e0f5d
Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
2025-04-17 08:23:48 +00:00
Elaine Zhang
06f6ae89f8 clk: rockchip: rv1126b: fix clk_ref_pipephy parent clk
Change-Id: I9f127782afc4846485931733bb22f0384abce2a4
Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
2025-04-16 12:06:07 +00:00
Damon Ding
856d44d638 pwm: rockchip: use the completion to check whether biphasic result is valid
In some cases, the discontinuous biphasic result may not be valid
after sleeping for specified time due to the interrupt preemption.
Therefore, it may be better to use the completion and set the actual
wait time to the 3/2 of the specified delay time.

Change-Id: Ib7ee5f7ceb53c195178e25d745985577fa8a6c4c
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2025-04-16 10:15:05 +00:00
Damon Ding
4fcd88017a pwm: rockchip: use the completion to check whether frequency result is valid
In some cases, the frequency result may not be valid after sleeping
for specified time due to the interrupt preemption. Therefore, it may
be better to use the completion and set the actual wait time to the
3/2 of the specified delay time.

Change-Id: I5b9879ff9eaaf41ace5534040e0e47ec9bca7cc0
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2025-04-16 10:15:05 +00:00
Zitong Cai
a9be2283b5 arm64: dts: rockchip: add rk3588-vehicle-evb-v23-linux
Change-Id: Icf1352cd1f5cf8177e5fc86ac0b9cf312cd7ff94
Signed-off-by: Zitong Cai <zitong.cai@rock-chips.com>
2025-04-16 17:18:21 +08:00
Damon Ding
e1f6d87fc5 drm/bridge: analogix_dp: use &link_train.max_lane_count to determine the &link_train.lane_count
Fixes: a205209330 ("drm/bridge: analogix_dp: Add &link_train.max_link_rate and &link_train.max_lane_count")
Change-Id: I9938e43bd37ddfc93838849c35dd2e76c8d31f0c
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2025-04-16 08:00:37 +00:00
Xu Hongfei
3a1446746c media: rockchip: fec: add module parameter cache_linesize
mapping between value and mode:
0: 64B
1: 64B
2: 128B(default)
3: 128B

Signed-off-by: Xu Hongfei <xuhf@rock-chips.com>
Change-Id: Ic4bf8ab9486e1fabeedce2b5baeebb8bed6edba8
2025-04-16 07:59:45 +00:00
Damon Ding
14c4d46162 pwm: rockchip: fix the check of disabling process for continuous biphasic counter mode
If the &rockchip_pwm_biphasic_config.enable is set to false in
continuous biphasic counter mode, &rockchip_pwm_chip.biphasic_config
will be set to NULL after &rockchip_pwm_funcs.set_biphasic.

Without this patch, there may be the null pointer exception.

Fixes: 7a42db27aa ("pwm: rockchip: support for biphasic counter mode")
Change-Id: Ie6fb5e3b1c69ae055720716531ddebb64dbf30bf
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
2025-04-16 07:58:15 +00:00
YouMin Chen
1c78e90e9e arm64: dts: rockchip: rk3576: add dmcdbg node
Change-Id: I585f65eb4499148254cd182dbc07f01c9415a8c1
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2025-04-16 07:49:58 +00:00
YouMin Chen
099aace73e arm64: dts: rockchip: rk3588: add dmcdbg node
Change-Id: I3c85a9be7ef20cadbb15156f2c936bf5d1cdf334
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2025-04-16 07:49:58 +00:00
YouMin Chen
03c1fbf979 arm64: dts: rockchip: rk356x: add dmcdbg node
Change-Id: I166e113176f054a07ec4b88f344f76ec3efd8aec
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2025-04-16 07:49:58 +00:00
YouMin Chen
08801283e8 arm64: configs: rockchip_linux_defconfig enable ROCKCHIP_DMC_DEBUG
Change-Id: I8136fe14ba1572300a21700ae4b8efff233ff7ac
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2025-04-16 07:45:48 +00:00
YouMin Chen
478e4ff291 ARM: configs: rockchip_linux_defconfig enable ROCKCHIP_DMC_DEBUG
Change-Id: I59e3c646f09de88e56ce13c65a343bb829f655ca
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2025-04-16 07:45:25 +00:00
YouMin Chen
c065ef4421 soc: rockchip: dmc_debug: move driver and support more rockchip SOCs
Change-Id: I310e53b7e8333a2fff7b69b284fe3e8a8dcd4861
Signed-off-by: Zhihuan He <huan.he@rock-chips.com>
Signed-off-by: YouMin Chen <cym@rock-chips.com>
2025-04-16 15:26:00 +08:00