Commit Graph

1281337 Commits

Author SHA1 Message Date
Caesar Wang
d1ccccff54 ARM: configs: add rv1126b_linux_defconfig to support RV1126B SoC with Linux OS
This defconfig targets the RV1126B SoC, enabling essential drivers for
embedded Linux systems built with Buildroot.

Verified on RV1126B evaluation board: boots to desktop GUI and runs rkipc demo
app normally.

Change-Id: I431c667fc0a560b2e3232667db95f5d8128c29cf
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
2025-04-22 18:31:13 +08:00
Wei Dun
757decd818 media: rockchip: vpss: set ROCKIT_BUF_NUM_MAX to 20
Signed-off-by: Wei Dun <willam.wei@rock-chips.com>
Change-Id: I1d2b0b30bccef8fce1a3f98e7c862a317b062e4c
2025-04-22 09:41:37 +00:00
Chen Shunqing
fdca11283f media: i2c: rk628: fix read timing err
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: I86ff4e38dd0ffdd36ae407be6d59dea3048226e8
2025-04-22 09:40:04 +00:00
Finley Xiao
3a35a943a2 soc: rockchip: opp_select: Fix memleak in rockchip_opp_set_config()
Change-Id: I93224fd07ccf594a12a6365fa6c81519a8f24a1e
Signed-off-by: Finley Xiao <finley.xiao@rock-chips.com>
2025-04-22 09:37:20 +00:00
Zefa Chen
958266bd13 media: rockchip: vicap fixes yuv input order error of dvp for rk3576
Change-Id: I1dd0603a3c4d134adbb9fd4f9a04d019af38c0d0
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
2025-04-22 08:13:11 +00:00
Xu Hongfei
e855636bd4 media: rockchip: fec: Fix incorrect buffer size configuration
Signed-off-by: Xu Hongfei <xuhf@rock-chips.com>
Change-Id: Id32343f59b34606ca8c1719d11d77a25f9a97c2a
2025-04-22 06:25:38 +00:00
Simon Xue
ab08ebea9b mm: defer init highmem page when CONFIG_ROCKCHIP_THUNDER_BOOT_DEFER_FREE_MEMBLOCK=y
Change-Id: I41527559ee66786826da7c3c9763804b91226bcf
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2025-04-22 14:17:05 +08:00
Simon Xue
218bc80469 init: use pageblock to free highmem instead of page when CONFIG_ROCKCHIP_THUNDER_BOOT_DEFER_FREE_MEMBLOCK=y
Change-Id: Ia75a9fc0701a24053cf8312d3bd508976f8b2592
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2025-04-22 14:14:21 +08:00
Wei Dun
8d0b59bbc0 media: rockchip: vpss: fix RKVPSS_VPSS_ONLINE value error in offline mode
Signed-off-by: Wei Dun <willam.wei@rock-chips.com>
Change-Id: I2331e6cb67d739cd6d9e32917d1c19b3a3a60031
2025-04-22 03:42:43 +00:00
Liang Chen
e3844dd49e arm64: dts: rockchip: rv1126b: set thermal-zone for system-monitor
Change-Id: I909060a00f9e0b7a28ecfdf1579a9e7e22d15b85
Signed-off-by: Liang Chen <cl@rock-chips.com>
2025-04-21 10:53:18 +00:00
Simon Xue
19fcf77273 arm64: mm: update fixup_fault.S for kernel 6.1
Change-Id: I95b322cd86bd31536a725f442758e0b8eb3f4f22
Signed-off-by: Simon Xue <xxm@rock-chips.com>
2025-04-21 10:51:47 +00:00
Ziyuan Xu
638a6357bf media: i2c: ps5458: correct chip id information
Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Change-Id: I4940172f9269bdb1579c9b041dd8bf5af0d63fdc
2025-04-21 15:49:37 +08:00
Chen Shunqing
9042f7a974 media: i2c: rk628: fix i2c error when hdmirx reset
Signed-off-by: Chen Shunqing <csq@rock-chips.com>
Change-Id: Ia8f2a890433fd10f3fee4346e8d8a645385c5acf
2025-04-21 14:17:51 +08:00
Tao Huang
610a9bdb86 ARM: configs: rv1126b-fastboot: Enable CONFIG_INITCALL_ASYNC
Change-Id: Ic1ea791aa47c589e8fb33a33f99250c2af2e247c
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
04a2236d00 net: bpfilter: Call bpfilter_sockopt_init() early when CONFIG_INITCALL_ASYNC=y
load_umh() depends on bpfilter_sockopt_init() to init bpfilter_ops.
But load_umh() and bpfilter_sockopt_init() are both in the same
module_init/device_initcall level.

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

Change-Id: I454872cc8036cffa92d135cbdb2c50ad9bb52e77
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
018a3d4acb inet_diag: Call inet_diag_init() early when CONFIG_INITCALL_ASYNC=y
dccp_diag_init() depends on inet_diag_init() to init inet_diag_table.
But dccp_diag_init() and inet_diag_init() are both in the same
module_init level.

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

Change-Id: Ie06bd549622c6f82b34486fc4faaba6c3e4dbba8
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
267447fac4 net: loopback: Call blackhole_netdev_init() early when CONFIG_INITCALL_ASYNC=y
inet6_init() depends on blackhole_netdev_init() to init blackhole_netdev.
But inet6_init() and blackhole_netdev_init() are both in the same
module_init level.

Fix this by moving blackhole_netdev_init() to the fs_initcall level.

Change-Id: Ie2313d29ac00b533b22b50fadfda78a541b9e88b
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
5d98ec57bf ipv6: Call inet6_init() early when CONFIG_INITCALL_ASYNC=y
l2tp_ip6_init() depends on inet6_init() to init inetsw6.
But l2tp_ip6_init() and inet6_init() are both in the same
module_init level.

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

Change-Id: I71cd6831b1b162d8325988b4e674c4e467c40f68
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
81d1cc82ea netfilter: nf_conntrack: Call nf_conntrack_standalone_init() early when CONFIG_INITCALL_ASYNC=y
nf_nat_amanda_init() depends on nf_conntrack_standalone_init() to init nf_ct_nat_helpers.
But nf_nat_amanda_init() and nf_conntrack_standalone_init() are both in the same
module_init level.

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

Change-Id: I2b5a9994f83581cdd819e19abe6cabc7b1d7b3af
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
a0f44c9df3 netfilter: x_tables: Call xt_init() early when CONFIG_INITCALL_ASYNC=y
classify_tg_init() depends on xt_init() to init xt.
But classify_tg_init() and xt_init() are both in the same
module_init level.

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

Change-Id: If9aaae57704e064b719731efa3112d4e652f0069
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
6ddf51f36d backlight: pwm_bl: Call pwm_backlight_driver_init() early when CONFIG_INITCALL_ASYNC=y
panel_simple_init() depends on pwm_backlight_driver_init().
But panel_simple_init() and pwm_backlight_driver_init() are both in the same
module_init level.

Fix this by moving pwm_backlight_driver_init() to the fs_initcall level.

Change-Id: I344330f658c0fb92a5f6f73499fc24bbef1651d2
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
5baffd6cac phy/rockchip: inno-dsidphy: Call inno_dsidphy_driver_init() early when CONFIG_INITCALL_ASYNC=y
Moving inno_dsidphy_driver_init() to the fs_initcall level.
Before rockchip_drm_init().

Change-Id: I09aa277f2af80107aa00b8da69ff919be02d2452
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
0bd7439722 ASoC: rockchip: multicodecs: Call rockchip_multicodecs_driver_init() later when CONFIG_INITCALL_ASYNC=y
rockchip_multicodecs_driver_init() depends on rockchip_sai_driver_init().
But rockchip_multicodecs_driver_init() and rockchip_sai_driver_init() are both in the same
module_init level.

Fix this by moving rockchip_multicodecs_driver_init() to the late_initcall level.

Change-Id: I6b6958264ee6d380116421fc2985710b8b3f1fa8
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
0c00b3269e drm/drv: Call drm_core_init() early when CONFIG_INITCALL_ASYNC=y
rockchip_drm_init() depends on drm_core_init() to init DRM core.
But rockchip_drm_init() and drm_core_init() are both in the same
module_init level.

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

Change-Id: I872aefaad12f10569cf957ce4e9cac873522a234
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
8c62e5fa38 nvmem: core: Call nvmem_init() early when CONFIG_INITCALL_ASYNC=y
rockchip_otp_init() depends on nvmem_init() to init nvmem_bus_type.
But rockchip_otp_init() and nvmem_init() are both in the same
subsys_initcall level.

Fix this by moving nvmem_init() to the arch_initcall_sync level.

Change-Id: If591d89572d77adbec06fe2cc2af23b1a4b239fd
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
13cc56a3ec phy: rockchip: naneng-combphy: Call rockchip_combphy_driver_init() early when CONFIG_INITCALL_ASYNC=y
dwc3_driver_init() depends on rockchip_combphy_driver_init() to init usb3phy.
But dwc3_driver_init() and rockchip_combphy_driver_init() are both in the same
module_init level.

Fix this by moving rockchip_combphy_driver_init() to the fs_initcall level.

Change-Id: I4e36da029f326f2a31d96db4175769b406bd0230
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
Tao Huang
1858941e9c phy: rockchip: inno-usb2: Call rockchip_usb2phy_driver_init() early when CONFIG_INITCALL_ASYNC=y
ehci_platform_init()/ohci_platform_init() depends on rockchip_usb2phy_driver_init() to init usb2phy.
But ehci_platform_init()/ohci_platform_init() and rockchip_usb2phy_driver_init() are both in the same
module_init level.

Fix this by moving rockchip_usb2phy_driver_init() to the fs_initcall level.

Change-Id: Ie3994da5d25b646f8cc0974bb023979acdad60af
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
2025-04-21 02:19:49 +00:00
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