From: FUKAUMI Naoki Date: Tue, 2 Sep 2025 02:42:43 +0000 (+0000) Subject: rockchip: backport dts changes for Radxa ROCK 5A X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=31a4923c4f46e91cf5a1229b1254afa735070ab2;p=openwrt%2Fstaging%2Fstintel.git rockchip: backport dts changes for Radxa ROCK 5A Backport dts changes up to Linux v6.17 for Radxa ROCK 5A. Use power(green) LED instead of heartbeat(blue) LED. Signed-off-by: FUKAUMI Naoki Link: https://github.com/openwrt/openwrt/pull/19867 Signed-off-by: Hauke Mehrtens --- diff --git a/target/linux/rockchip/patches-6.12/001-01-v6.13-arm64-dts-rockchip-add-and-enable-gpu-node-for-Radxa.patch b/target/linux/rockchip/patches-6.12/001-01-v6.13-arm64-dts-rockchip-add-and-enable-gpu-node-for-Radxa.patch new file mode 100644 index 0000000000..55cec3dcf7 --- /dev/null +++ b/target/linux/rockchip/patches-6.12/001-01-v6.13-arm64-dts-rockchip-add-and-enable-gpu-node-for-Radxa.patch @@ -0,0 +1,25 @@ +From a98053d098c4ad91a45a3a55604d9574dfc6ffdb Mon Sep 17 00:00:00 2001 +From: FUKAUMI Naoki +Date: Sat, 19 Oct 2024 02:50:08 +0000 +Subject: arm64: dts: rockchip: add and enable gpu node for Radxa ROCK 5A + +add gpu node to make it usable on Radxa ROCK 5A. + +Signed-off-by: FUKAUMI Naoki +Link: https://lore.kernel.org/r/20241019025008.852-1-naoki@radxa.com +Signed-off-by: Heiko Stuebner + +--- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts +@@ -166,6 +166,11 @@ + cpu-supply = <&vdd_cpu_lit_s0>; + }; + ++&gpu { ++ mali-supply = <&vdd_gpu_s0>; ++ status = "okay"; ++}; ++ + &i2c0 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c0m2_xfer>; diff --git a/target/linux/rockchip/patches-6.12/001-02-v6.13-arm64-dts-rockchip-Enable-HDMI0-on-rock-5a.patch b/target/linux/rockchip/patches-6.12/001-02-v6.13-arm64-dts-rockchip-Enable-HDMI0-on-rock-5a.patch new file mode 100644 index 0000000000..c305197183 --- /dev/null +++ b/target/linux/rockchip/patches-6.12/001-02-v6.13-arm64-dts-rockchip-Enable-HDMI0-on-rock-5a.patch @@ -0,0 +1,90 @@ +From f57a8daf6bbd8e71f16693ad6d8421cb881c7fe0 Mon Sep 17 00:00:00 2001 +From: Cristian Ciocaltea +Date: Tue, 22 Oct 2024 19:04:42 +0300 +Subject: arm64: dts: rockchip: Enable HDMI0 on rock-5a + +Add the necessary DT changes to enable HDMI0 on Radxa ROCK 5A. + +Signed-off-by: Cristian Ciocaltea +Link: https://lore.kernel.org/r/20241022-rk3588-hdmi0-dt-v3-1-3cc981e89afb@collabora.com +Signed-off-by: Heiko Stuebner + +--- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts +@@ -5,6 +5,7 @@ + #include + #include + #include ++#include + #include "rk3588s.dtsi" + + / { +@@ -35,6 +36,17 @@ + stdout-path = "serial2:1500000n8"; + }; + ++ hdmi0-con { ++ compatible = "hdmi-connector"; ++ type = "d"; ++ ++ port { ++ hdmi0_con_in: endpoint { ++ remote-endpoint = <&hdmi0_out_con>; ++ }; ++ }; ++ }; ++ + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; +@@ -301,6 +313,31 @@ + status = "okay"; + }; + ++&hdmi0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&hdmim0_tx0_cec ++ &hdmim1_tx0_hpd ++ &hdmim0_tx0_scl ++ &hdmim0_tx0_sda>; ++ status = "okay"; ++}; ++ ++&hdmi0_in { ++ hdmi0_in_vp0: endpoint { ++ remote-endpoint = <&vp0_out_hdmi0>; ++ }; ++}; ++ ++&hdmi0_out { ++ hdmi0_out_con: endpoint { ++ remote-endpoint = <&hdmi0_con_in>; ++ }; ++}; ++ ++&hdptxphy_hdmi0 { ++ status = "okay"; ++}; ++ + &mdio1 { + rgmii_phy1: ethernet-phy@1 { + /* RTL8211F */ +@@ -793,3 +830,18 @@ + &usb_host2_xhci { + status = "okay"; + }; ++ ++&vop_mmu { ++ status = "okay"; ++}; ++ ++&vop { ++ status = "okay"; ++}; ++ ++&vp0 { ++ vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { ++ reg = ; ++ remote-endpoint = <&hdmi0_in_vp0>; ++ }; ++}; diff --git a/target/linux/rockchip/patches-6.12/001-03-v6.13-arm64-dts-rockchip-sort-rk3588s-rock5a-properly-in-M.patch b/target/linux/rockchip/patches-6.12/001-03-v6.13-arm64-dts-rockchip-sort-rk3588s-rock5a-properly-in-M.patch new file mode 100644 index 0000000000..3cab321f25 --- /dev/null +++ b/target/linux/rockchip/patches-6.12/001-03-v6.13-arm64-dts-rockchip-sort-rk3588s-rock5a-properly-in-M.patch @@ -0,0 +1,21 @@ +From 9f3360b42bb5b0c99073827a3dd81d2568b2a4ed Mon Sep 17 00:00:00 2001 +From: FUKAUMI Naoki +Date: Mon, 28 Oct 2024 07:23:44 +0000 +Subject: arm64: dts: rockchip: sort rk3588s-rock5a properly in Makefile + +sort target dtb files properly in Makefile for rockchip. + +Signed-off-by: FUKAUMI Naoki +Link: https://lore.kernel.org/r/20241028072344.1514-1-naoki@radxa.com +Signed-off-by: Heiko Stuebner + +--- a/arch/arm64/boot/dts/rockchip/Makefile ++++ b/arch/arm64/boot/dts/rockchip/Makefile +@@ -151,6 +151,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-i + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-khadas-edge2.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-nanopi-r6s.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-nanopi-r6c.dtb +-dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-rock-5a.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-odroid-m2.dtb + dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-5.dtb ++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-rock-5a.dtb diff --git a/target/linux/rockchip/patches-6.12/001-04-v6.13-arm64-dts-rockchip-adapt-regulator-nodenames-to-pref.patch b/target/linux/rockchip/patches-6.12/001-04-v6.13-arm64-dts-rockchip-adapt-regulator-nodenames-to-pref.patch new file mode 100644 index 0000000000..d485ebf448 --- /dev/null +++ b/target/linux/rockchip/patches-6.12/001-04-v6.13-arm64-dts-rockchip-adapt-regulator-nodenames-to-pref.patch @@ -0,0 +1,72 @@ +From 5c96e63301978f4657c9082c55a066763c8db7b1 Mon Sep 17 00:00:00 2001 +From: Johan Jonker +Date: Sat, 5 Oct 2024 22:40:12 +0200 +Subject: arm64: dts: rockchip: adapt regulator nodenames to preferred form + +The preferred nodename for fixed-regulators has changed to +pattern: '^regulator(-[0-9]+v[0-9]+|-[0-9a-z-]+)?$' + +Fix all Rockchip DT regulator nodenames. + +Signed-off-by: Johan Jonker +Link: https://lore.kernel.org/r/0ae40493-93e9-40cd-9ca9-990ae064f21a@gmail.com +[adapted rebased on top of a number of other changes and included + neu6a-wifi + wolfvision-pf5-io-expander overlays] +Signed-off-by: Heiko Stuebner + +--- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts +@@ -68,7 +68,7 @@ + #cooling-cells = <2>; + }; + +- vcc12v_dcin: vcc12v-dcin-regulator { ++ vcc12v_dcin: regulator-vcc12v-dcin { + compatible = "regulator-fixed"; + regulator-name = "vcc12v_dcin"; + regulator-always-on; +@@ -77,7 +77,7 @@ + regulator-max-microvolt = <12000000>; + }; + +- vcc3v3_wf: vcc3v3-wf-regulator { ++ vcc3v3_wf: regulator-vcc3v3-wf { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3_wf"; + regulator-min-microvolt = <3300000>; +@@ -89,7 +89,7 @@ + vin-supply = <&vcc5v0_sys>; + }; + +- vcc5v0_host: vcc5v0-host-regulator { ++ vcc5v0_host: regulator-vcc5v0-host { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_host"; + regulator-boot-on; +@@ -103,7 +103,7 @@ + vin-supply = <&vcc5v0_sys>; + }; + +- vcc5v0_sys: vcc5v0-sys-regulator { ++ vcc5v0_sys: regulator-vcc5v0-sys { + compatible = "regulator-fixed"; + regulator-name = "vcc5v0_sys"; + regulator-always-on; +@@ -113,7 +113,7 @@ + vin-supply = <&vcc12v_dcin>; + }; + +- vcc_5v0: vcc-5v0-regulator { ++ vcc_5v0: regulator-vcc-5v0 { + compatible = "regulator-fixed"; + regulator-name = "vcc_5v0"; + regulator-min-microvolt = <5000000>; +@@ -127,7 +127,7 @@ + vin-supply = <&vcc5v0_sys>; + }; + +- vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator { ++ vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 { + compatible = "regulator-fixed"; + regulator-name = "vcc_1v1_nldo_s3"; + regulator-always-on; diff --git a/target/linux/rockchip/patches-6.12/001-05-v6.15-arm64-dts-rockchip-Fix-label-name-of-hdptxphy-for-RK.patch b/target/linux/rockchip/patches-6.12/001-05-v6.15-arm64-dts-rockchip-Fix-label-name-of-hdptxphy-for-RK.patch new file mode 100644 index 0000000000..0e30195847 --- /dev/null +++ b/target/linux/rockchip/patches-6.12/001-05-v6.15-arm64-dts-rockchip-Fix-label-name-of-hdptxphy-for-RK.patch @@ -0,0 +1,26 @@ +From 2efdb041019fd6c58abefba3eb6fdc4d659e576c Mon Sep 17 00:00:00 2001 +From: Damon Ding +Date: Thu, 6 Feb 2025 11:03:30 +0800 +Subject: arm64: dts: rockchip: Fix label name of hdptxphy for RK3588 + +The hdptxphy is a combo transmit-PHY for HDMI2.1 TMDS Link, FRL Link, DP +and eDP Link. Therefore, it is better to name it hdptxphy0 other than +hdptxphy_hdmi0, which will be referenced by both hdmi0 and edp0 nodes. + +Signed-off-by: Damon Ding +Link: https://lore.kernel.org/r/20250206030330.680424-3-damon.ding@rock-chips.com +[added armsom-sige7, where hdmi-support was added recently and also + the hdptxphy0-as-dclk source I just added] +Signed-off-by: Heiko Stuebner + +--- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts +@@ -334,7 +334,7 @@ + }; + }; + +-&hdptxphy_hdmi0 { ++&hdptxphy0 { + status = "okay"; + }; + diff --git a/target/linux/rockchip/patches-6.12/001-06-v6.15-arm64-dts-rockchip-Add-GPU-power-domain-regulator-de.patch b/target/linux/rockchip/patches-6.12/001-06-v6.15-arm64-dts-rockchip-Add-GPU-power-domain-regulator-de.patch new file mode 100644 index 0000000000..c11bc86c9d --- /dev/null +++ b/target/linux/rockchip/patches-6.12/001-06-v6.15-arm64-dts-rockchip-Add-GPU-power-domain-regulator-de.patch @@ -0,0 +1,48 @@ +From f94500eb7328b35f3d0927635b1aba26c85ea4b0 Mon Sep 17 00:00:00 2001 +From: Sebastian Reichel +Date: Thu, 20 Feb 2025 19:58:11 +0100 +Subject: arm64: dts: rockchip: Add GPU power domain regulator dependency for + RK3588 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Enabling the GPU power domain requires that the GPU regulator is +enabled. The regulator is enabled at boot time, but gets disabled +automatically when there are no users. + +This means the system might run into a failure state hanging the +whole system for the following use cases: + + * if the GPU driver is being probed late (e.g. build as a + module and firmware is not in initramfs), the regulator + might already have been disabled. In that case the power + domain is enabled before the regulator. + * unbinding the GPU driver will disable the PM domain and + the regulator. When the driver is bound again, the PM + domain will be enabled before the regulator and error + appears. + +Avoid this by adding an explicit regulator dependency to the +power domain. + +Tested-by: Heiko Stuebner +Reported-by: Adrián Martínez Larumbe +Tested-by: Adrian Larumbe # On Rock 5B +Signed-off-by: Sebastian Reichel +Link: https://lore.kernel.org/r/20250220-rk3588-gpu-pwr-domain-regulator-v6-8-a4f9c24e5b81@kernel.org +Signed-off-by: Heiko Stuebner + +--- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts ++++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts +@@ -359,6 +359,10 @@ + status = "okay"; + }; + ++&pd_gpu { ++ domain-supply = <&vdd_gpu_s0>; ++}; ++ + &pinctrl { + leds { + io_led: io-led { diff --git a/target/linux/rockchip/patches-6.12/116-arm64-dts-rockchip-Update-LED-properties-for-Radxa-Ro.patch b/target/linux/rockchip/patches-6.12/116-arm64-dts-rockchip-Update-LED-properties-for-Radxa-Ro.patch index c018f5f0ee..009c72992c 100644 --- a/target/linux/rockchip/patches-6.12/116-arm64-dts-rockchip-Update-LED-properties-for-Radxa-Ro.patch +++ b/target/linux/rockchip/patches-6.12/116-arm64-dts-rockchip-Update-LED-properties-for-Radxa-Ro.patch @@ -11,24 +11,32 @@ Signed-off-by: Tianling Shen --- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts -@@ -15,6 +15,11 @@ +@@ -16,6 +16,10 @@ ethernet0 = &gmac1; mmc0 = &sdhci; mmc1 = &sdmmc; -+ -+ led-boot = &status_led; -+ led-failsafe = &status_led; -+ led-running = &status_led; -+ led-upgrade = &status_led; ++ led-boot = &led_green; ++ led-failsafe = &led_green; ++ led-running = &led_green; ++ led-upgrade = &led_green; }; analog-sound { -@@ -40,11 +45,10 @@ +@@ -50,13 +54,19 @@ + leds { + compatible = "gpio-leds"; pinctrl-names = "default"; - pinctrl-0 = <&io_led>; +- pinctrl-0 = <&io_led>; ++ pinctrl-0 = <&leds>; ++ ++ led_green: led-0 { ++ color = ; ++ default-state = "on"; ++ function = LED_FUNCTION_POWER; ++ gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>; ++ }; -- io-led { -+ status_led: io-led { + io-led { color = ; function = LED_FUNCTION_STATUS; gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>; @@ -36,3 +44,15 @@ Signed-off-by: Tianling Shen }; }; +@@ -365,8 +375,9 @@ + + &pinctrl { + leds { +- io_led: io-led { +- rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; ++ leds: leds { ++ rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>, ++ <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + diff --git a/target/linux/rockchip/patches-6.12/117-arm64-dts-rockchip-lower-mmc-speed-for-Radxa-Rock-5A.patch b/target/linux/rockchip/patches-6.12/117-arm64-dts-rockchip-lower-mmc-speed-for-Radxa-Rock-5A.patch index c6fc2b21eb..46bb494e41 100644 --- a/target/linux/rockchip/patches-6.12/117-arm64-dts-rockchip-lower-mmc-speed-for-Radxa-Rock-5A.patch +++ b/target/linux/rockchip/patches-6.12/117-arm64-dts-rockchip-lower-mmc-speed-for-Radxa-Rock-5A.patch @@ -15,7 +15,7 @@ Signed-off-by: Tianling Shen --- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts +++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts -@@ -387,7 +387,7 @@ +@@ -440,7 +440,7 @@ max-frequency = <150000000>; no-sdio; no-mmc;