rockchip: refresh kernel patches
authorTianling Shen <cnsztl@immortalwrt.org>
Fri, 2 May 2025 10:45:33 +0000 (18:45 +0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 14 Jun 2025 15:22:52 +0000 (17:22 +0200)
Remove upstreamed patches and refresh remaining ones.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/18683
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
122 files changed:
target/linux/rockchip/patches-6.12/001-v6.8-arm64-dts-rockchip-Add-ethernet0-alias-to-the-dts-for-RK3566-boards.patch [deleted file]
target/linux/rockchip/patches-6.12/002-v6.9-arm64-dts-rockchip-adjust-vendor-on-Banana-Pi-R2-Pro.patch [deleted file]
target/linux/rockchip/patches-6.12/003-v6.10-arm64-dts-rockchip-Add-cache-information-to-the-SoC-dtsi-.patch [deleted file]
target/linux/rockchip/patches-6.12/004-next-soc-rockchip-io-domain-Add-RK3308-IO-voltage-domains.patch [deleted file]
target/linux/rockchip/patches-6.12/005-v6.11-arm64-dts-rockchip-Add-rk3308-IO-voltage-domains.patch [deleted file]
target/linux/rockchip/patches-6.12/006-v6.8-arm64-dts-rockchip-add-gpio-line-names-to-rk3308-roc.patch [deleted file]
target/linux/rockchip/patches-6.12/007-v6.8-arm64-dts-rockchip-rk3308-rock-pi-s-gpio-line-names-.patch [deleted file]
target/linux/rockchip/patches-6.12/008-v6.11-arm64-dts-rockchip-Add-io-domains-to-rk3308-rock-pi-.patch [deleted file]
target/linux/rockchip/patches-6.12/009-v6.10-arm64-dts-rockchip-Add-Radxa-ROCK-3C.patch [deleted file]
target/linux/rockchip/patches-6.12/010-v6.11-arm64-dts-rockchip-change-spi-max-frequency-for-Radx.patch [deleted file]
target/linux/rockchip/patches-6.12/011-v6.11-arm64-dts-rockchip-Add-Radxa-ZERO-3W-3E.patch [deleted file]
target/linux/rockchip/patches-6.12/012-v6.11-arm64-dts-rockchip-fix-mmc-aliases-for-Radxa-ZERO-3E.patch [deleted file]
target/linux/rockchip/patches-6.12/013-v6.11-arm64-dts-rockchip-add-gpio-line-names-to-radxa-zero.patch [deleted file]
target/linux/rockchip/patches-6.12/014-v6.11-arm64-dts-rockchip-Add-Radxa-ROCK-3B.patch [deleted file]
target/linux/rockchip/patches-6.12/015-v6.10-arm64-dts-rockchip-correct-the-model-name-for-Radxa-.patch [deleted file]
target/linux/rockchip/patches-6.12/016-v6.12-hwrng-rockchip-add-hwrng-driver-for-Rockchip-RK3568-.patch [deleted file]
target/linux/rockchip/patches-6.12/017-v6.12-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK356x.patch [deleted file]
target/linux/rockchip/patches-6.12/018-v6.12-arm64-dts-rockchip-drop-obsolete-reset-names-from-rk.patch [deleted file]
target/linux/rockchip/patches-6.12/019-v6.13-arm64-dts-rockchip-add-reset-names-for-combphy-on-rk.patch [deleted file]
target/linux/rockchip/patches-6.12/020-v6.13-irqchip-gic-v3-its-Share-ITS-tables-with-a-non-trust.patch
target/linux/rockchip/patches-6.12/021-v6.13-irqchip-gic-v3-its-Fix-over-allocation-in-itt_alloc.patch
target/linux/rockchip/patches-6.12/022-v6.15-irqchip-gic-v3-Add-Rockchip-3568002-erratum-workaround.patch
target/linux/rockchip/patches-6.12/023-02-v6.15-arm64-dts-rockchip-rk356x-Move-PCIe-MSI-to-use-GIC.patch
target/linux/rockchip/patches-6.12/030-01-v6.9-clk-rockchip-rk3588-fix-CLK_NR_CLKS-usage.patch [deleted file]
target/linux/rockchip/patches-6.12/030-02-v6.9-dt-bindings-clock-rk3588-drop-CLK_NR_CLKS.patch [deleted file]
target/linux/rockchip/patches-6.12/030-03-v6.9-dt-bindings-clock-rk3588-add-missing-PCLK_VO1GRF.patch [deleted file]
target/linux/rockchip/patches-6.12/030-04-v6.9-clk-rockchip-rk3588-fix-pclk_vo0grf-and-pclk_vo1grf.patch [deleted file]
target/linux/rockchip/patches-6.12/030-05-v6.9-clk-rockchip-rk3588-fix-indent.patch [deleted file]
target/linux/rockchip/patches-6.12/030-06-v6.9-clk-rockchip-rk3588-use-linked-clock-ID-for-GATE_LINK.patch [deleted file]
target/linux/rockchip/patches-6.12/030-07-v6.10-dt-bindings-reset-Define-reset-id-used-for-HDMI-Receiver.patch [deleted file]
target/linux/rockchip/patches-6.12/030-08-v6.10-clk-rockchip-rk3588-Add-reset-line-for-HDMI-Receiver.patch [deleted file]
target/linux/rockchip/patches-6.12/030-09-v6.12-clk-rockchip-Add-new-pll-type-pll_rk3588_ddr.patch [deleted file]
target/linux/rockchip/patches-6.12/030-10-v6.12-clk-rockchip-rk3588-drop-unused-code.patch [deleted file]
target/linux/rockchip/patches-6.12/030-11-v6.13-clk-rockchip-fix-finding-of-maximum-clock-ID.patch [deleted file]
target/linux/rockchip/patches-6.12/031-01-v6.7-mfd-rk8xx-Add-support-for-standard-system-power-controlle.patch [deleted file]
target/linux/rockchip/patches-6.12/031-02-v6.7-mfd-rk8xx-Add-support-for-RK806-power-off.patch [deleted file]
target/linux/rockchip/patches-6.12/032-01-v6.10-phy-rockchip-add-usbdp-combo-phy-driver.patch [deleted file]
target/linux/rockchip/patches-6.12/032-02-v6.10-phy-rockchip-usbdp-fix-uninitialized-variable.patch [deleted file]
target/linux/rockchip/patches-6.12/032-03-v6.10-phy-rockchip-fix-CONFIG_TYPEC-dependency.patch [deleted file]
target/linux/rockchip/patches-6.12/032-04-v6.10-phy-rockchip-Fix-typo-in-function-names.patch [deleted file]
target/linux/rockchip/patches-6.12/032-05-v6.10-phy-rockchip-snps-pcie3-add-support-for.patch [deleted file]
target/linux/rockchip/patches-6.12/034-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch [deleted file]
target/linux/rockchip/patches-6.12/050-01-v6.8-arm64-dts-rockchip-Add-sfc-node-to-rk3588s.patch [deleted file]
target/linux/rockchip/patches-6.12/050-02-v6.8-arm64-dts-rockchip-Add-I2S2-M0-pin-definitions-to-rk3588s.patch [deleted file]
target/linux/rockchip/patches-6.12/050-03-v6.8-arm64-dts-rockchip-Add-UART9-M0-pin-definitions-to-rk3588.patch [deleted file]
target/linux/rockchip/patches-6.12/050-04-v6.8-arm64-dts-rockchip-Add-AV1-decoder-node-to-rk3588s.patch [deleted file]
target/linux/rockchip/patches-6.12/050-05-v6.8-arm64-dts-rockchip-Add-DFI-to-rk3588s.patch [deleted file]
target/linux/rockchip/patches-6.12/050-06-v6.8-arm64-dts-rockchip-rk3588s-Add-USB3-host-controller.patch [deleted file]
target/linux/rockchip/patches-6.12/050-07-v6.7-arm64-dts-rockchip-drop-interrupt-names-property-from.patch [deleted file]
target/linux/rockchip/patches-6.12/050-08-v6.8-arm64-dts-rockchip-move-rk3588-serial-aliases-to-soc-dtsi.patch [deleted file]
target/linux/rockchip/patches-6.12/050-09-v6.8-arm64-dts-rockchip-add-rk3588-i2c-aliases-to-soc-dtsi.patch [deleted file]
target/linux/rockchip/patches-6.12/050-10-v6.8-arm64-dts-rockchip-add-rk3588-gpio-aliases-to-soc-dtsi.patch [deleted file]
target/linux/rockchip/patches-6.12/050-11-v6.8-arm64-dts-rockchip-add-rk3588-spi-aliases-to-soc-dtsi.patch [deleted file]
target/linux/rockchip/patches-6.12/050-12-v6.8-arm64-dts-rockchip-Add-vop-on-rk3588.patch [deleted file]
target/linux/rockchip/patches-6.12/050-13-v6.9-arm64-dts-rockchip-Add-HDMI0-PHY-to-rk3588.patch [deleted file]
target/linux/rockchip/patches-6.12/050-14-v6.9-arm64-dts-rockchip-add-clock-to-vo1-grf-syscon-on-rk3588.patch [deleted file]
target/linux/rockchip/patches-6.12/050-15-v6.10-arm64-dts-rockchip-Add-rk3588-GPU-node.patch [deleted file]
target/linux/rockchip/patches-6.12/050-16-v6.10-arm64-dts-rockchip-Fix-ordering-of-nodes-on-rk3588s.patch [deleted file]
target/linux/rockchip/patches-6.12/050-17-v6.10-arm64-dts-rockchip-fix-usb2phy-nodename-for-rk3588.patch [deleted file]
target/linux/rockchip/patches-6.12/050-18-v6.10-arm64-dts-rockchip-reorder-usb2phy-properties-for-rk3588.patch [deleted file]
target/linux/rockchip/patches-6.12/050-19-v6.10-arm64-dts-rockchip-add-USBDP-phys-on-rk3588.patch [deleted file]
target/linux/rockchip/patches-6.12/050-20-v6.10-arm64-dts-rockchip-add-USB3-DRD-controllers-on-rk3588.patch [deleted file]
target/linux/rockchip/patches-6.12/050-21-v6.10-arm64-dts-rockchip-add-rk3588-pcie-and-php-IOMMUs.patch [deleted file]
target/linux/rockchip/patches-6.12/050-22-v6.11-arm64-dts-rockchip-Prepare-RK3588-SoC-dtsi-files-for.patch [deleted file]
target/linux/rockchip/patches-6.12/050-23-v6.11-arm64-dts-rockchip-add-thermal-zones-information-on-RK358.patch [deleted file]
target/linux/rockchip/patches-6.12/050-24-v6.11-arm64-dts-rockchip-add-passive-GPU-cooling-on-RK3588.patch [deleted file]
target/linux/rockchip/patches-6.12/050-25-v6.11-arm64-dts-rockchip-Add-OPP-data-for-CPU-cores-on-RK3588.patch [deleted file]
target/linux/rockchip/patches-6.12/050-26-v6.11-arm64-dts-rockchip-Add-OPP-data-for-CPU-cores-on-RK3588j.patch [deleted file]
target/linux/rockchip/patches-6.12/050-27-v6.11-arm64-dts-rockchip-Split-GPU-OPPs-of-RK3588-and-RK3588j.patch [deleted file]
target/linux/rockchip/patches-6.12/051-01-v6.8-arm64-dts-rockchip-add-USB3-host-to-rock-5a.patch [deleted file]
target/linux/rockchip/patches-6.12/051-02-v6.10-arm64-dts-rockchip-add-upper-USB3-port-to-rock-5a.patch [deleted file]
target/linux/rockchip/patches-6.12/051-03-v6.11-arm64-dts-rockchip-add-but-disabled-SFC-node-for-Radxa.patch [deleted file]
target/linux/rockchip/patches-6.12/051-04-v6.12-arm64-dts-rockchip-enable-PCIe-on-M.2-E-key-for-Radxa-ROC.patch [deleted file]
target/linux/rockchip/patches-6.12/052-01-v6.7-arm64-dts-rockchip-add-PCIe-network-controller-to-rock-5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-02-v6.7-arm64-dts-rockchip-add-PCIe-for-M.2-M-key-to-rock-5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-03-v6.7-arm64-dts-rockchip-add-PCIe-for-M.2-E-Key-to-rock-5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-04-v6.7-arm64-dts-rockchip-Add-sdio-node-to-rock-5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-05-v6.8-arm64-dts-rockchip-Remove-duplicate-regulator-vcc3v3_wf.patch [deleted file]
target/linux/rockchip/patches-6.12/052-06-v6.8-arm64-dts-rockchip-Enable-UART6-on-rock-5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-07-v6.8-arm64-dts-rockchip-add-status-LED-to-rock-5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-08-v6.8-arm64-dts-rockchip-add-USB3-host-to-rock-5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-09-v6.9-arm64-dts-rockchip-support-poweroff-on-the-rock-5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-10-v6.9-arm64-dts-rockchip-correct-gpio_pwrctrl1-typo-on-rock-5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-11-v6.9-arm64-dts-rockchip-add-rfkill-node-for-M-2-Key-E-WiFi-on-.patch [deleted file]
target/linux/rockchip/patches-6.12/052-12-v6.10-arm64-dts-rockchip-Enable-GPU-on-rk3588-rock5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-13-v6.10-arm64-dts-rockchip-Correct-the-model-names-for-Radxa-ROCK.patch [deleted file]
target/linux/rockchip/patches-6.12/052-13-v6.10-arm64-dts-rockchip-add-lower-USB3-port-to-rock-5b.patch [deleted file]
target/linux/rockchip/patches-6.12/052-14-v6.11-arm64-dts-rockchip-enable-automatic-fan-control-on-Rock-5.patch [deleted file]
target/linux/rockchip/patches-6.12/052-15-v6.11-arm64-dts-rockchip-add-SFC-support-for-Radxa-ROCK-5B.patch [deleted file]
target/linux/rockchip/patches-6.12/053-v6.9-arm64-dts-rockchip-Add-support-for-NanoPi-R6S.patch [deleted file]
target/linux/rockchip/patches-6.12/054-v6.9-arm64-dts-rockchip-Add-support-for-NanoPi-R6C.patch [deleted file]
target/linux/rockchip/patches-6.12/055-01-v6.8-arm64-dts-rockchip-Support-poweroff-on-NanoPC-T6.patch [deleted file]
target/linux/rockchip/patches-6.12/055-02-v6.9-arm64-dts-rockchip-nanopc-t6-sdmmc-beautification.patch [deleted file]
target/linux/rockchip/patches-6.12/055-03-v6.9-arm64-dts-rockchip-correct-gpio_pwrctrl1-typo-on-nanopc-t.patch [deleted file]
target/linux/rockchip/patches-6.12/055-04-v6.9-arm64-dts-rockchip-enable-NanoPC-T6-MiniPCIe-power.patch [deleted file]
target/linux/rockchip/patches-6.12/055-05-v6.9-arm64-dts-rockchip-add-sdmmc-card-detect-to-the-nanopc-t6.patch [deleted file]
target/linux/rockchip/patches-6.12/055-06-v6.9-arm64-dts-rockchip-fix-nanopc-t6-sdmmc-regulator.patch [deleted file]
target/linux/rockchip/patches-6.12/055-08-v6.12-arm64-dts-rockchip-prepare-NanoPC-T6-for-LTS-board.patch [deleted file]
target/linux/rockchip/patches-6.12/055-09-v6.12-arm64-dts-rockchip-move-NanoPC-T6-parts-to-DTS.patch [deleted file]
target/linux/rockchip/patches-6.12/055-10-v6.12-arm64-dts-rockchip-add-SPI-flash-on-NanoPC-T6.patch [deleted file]
target/linux/rockchip/patches-6.12/055-11-v6.12-arm64-dts-rockchip-add-IR-receiver-to-NanoPC-T6.patch [deleted file]
target/linux/rockchip/patches-6.12/055-12-v6.12-arm64-dts-rockchip-enable-GPU-on-NanoPC-T6.patch [deleted file]
target/linux/rockchip/patches-6.12/055-13-v6.12-arm64-dts-rockchip-enable-USB-C-on-NanoPC-T6.patch [deleted file]
target/linux/rockchip/patches-6.12/055-14-v6.12-arm64-dts-rockchip-add-Mask-Rom-key-on-NanoPC-T6.patch [deleted file]
target/linux/rockchip/patches-6.12/055-15-v6.12-arm64-dts-rockchip-use-correct-fcs-suspend-voltage-selecto.patch [deleted file]
target/linux/rockchip/patches-6.12/055-16-v6.13-arm64-dts-rockchip-enable-USB3-on-NanoPC-T6.patch
target/linux/rockchip/patches-6.12/056-01-v6.10-arm64-dts-rockchip-Add-ArmSom-Sige7-board.patch [deleted file]
target/linux/rockchip/patches-6.12/056-02-v6.11-arm64-dts-rockchip-enable-thermal-management-on-all-RK358.patch [deleted file]
target/linux/rockchip/patches-6.12/100-rockchip-use-system-LED-for-OpenWrt.patch
target/linux/rockchip/patches-6.12/103-arm64-rockchip-add-OF-node-for-USB-eth-on-NanoPi-R2S.patch
target/linux/rockchip/patches-6.12/105-nanopi-r4s-sd-signalling.patch
target/linux/rockchip/patches-6.12/107-arm64-dts-rockchip-Update-LED-properties-for-Orange-.patch
target/linux/rockchip/patches-6.12/108-arm64-dts-rockchip-add-LED-configuration-to-Orange-P.patch
target/linux/rockchip/patches-6.12/114-rock-pi-e-add-led-aliases-and-stop-heartbeat.patch
target/linux/rockchip/patches-6.12/115-rock-3a-add-led-aliases-and-stop-heartbeat.patch
target/linux/rockchip/patches-6.12/116-arm64-dts-rockchip-Update-LED-properties-for-Radxa-Ro.patch
target/linux/rockchip/patches-6.12/117-arm64-dts-rockchip-lower-mmc-speed-for-Radxa-Rock-5A.patch
target/linux/rockchip/patches-6.12/119-arm64-dts-rockchip-lower-mmc-speed-for-Radxa-Rock-5B.patch
target/linux/rockchip/patches-6.12/121-arm64-dts-rockchip-lower-mmc-speed-for-nanopc-t6.patch
target/linux/rockchip/patches-6.12/127-arm64-dts-rockchip-rk3566-Add-Nanopi-R3S.patch
target/linux/rockchip/patches-6.12/129-rock-4c-plus-add-led-aliases-and-stop-heartbeat.patch
target/linux/rockchip/patches-6.12/130-rock-4se-add-led-aliases-and-stop-heartbeat.patch

diff --git a/target/linux/rockchip/patches-6.12/001-v6.8-arm64-dts-rockchip-Add-ethernet0-alias-to-the-dts-for-RK3566-boards.patch b/target/linux/rockchip/patches-6.12/001-v6.8-arm64-dts-rockchip-Add-ethernet0-alias-to-the-dts-for-RK3566-boards.patch
deleted file mode 100644 (file)
index fb5015c..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 36d9b3ae708e865cdab95692db5a24c5d975383d Mon Sep 17 00:00:00 2001
-From: Dragan Simic <dsimic@manjaro.org>
-Date: Tue, 12 Dec 2023 09:01:39 +0100
-Subject: [PATCH] arm64: dts: rockchip: Add ethernet0 alias to the dts for
- RK3566 boards
-
-Add ethernet0 alias to the board dts files for a few supported RK3566 boards
-that had it missing.  Also, remove the ethernet0 alias from one RK3566 SoM
-dtsi file, which doesn't enable the GMAC, and add the ethernet0 alias back to
-the dependent board dts files, which actually enable the GMAC.
-
-Signed-off-by: Dragan Simic <dsimic@manjaro.org>
-Link: https://lore.kernel.org/r/d2a272e0ae0fff0adfab8bb0238243b11d348799.1702368023.git.dsimic@manjaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts     | 1 +
- 1 files changed, 1 insertions(+), 0 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts
-@@ -14,6 +14,7 @@
-       compatible = "radxa,cm3-io", "radxa,cm3", "rockchip,rk3566";
-       aliases {
-+              ethernet0 = &gmac1;
-               mmc1 = &sdmmc0;
-       };
diff --git a/target/linux/rockchip/patches-6.12/002-v6.9-arm64-dts-rockchip-adjust-vendor-on-Banana-Pi-R2-Pro.patch b/target/linux/rockchip/patches-6.12/002-v6.9-arm64-dts-rockchip-adjust-vendor-on-Banana-Pi-R2-Pro.patch
deleted file mode 100644 (file)
index 9be609f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From 437644753208092f642b7669c69da606aa07dfb4 Mon Sep 17 00:00:00 2001
-From: Tim Lunn <tim@feathertop.org>
-Date: Wed, 14 Feb 2024 15:07:30 +1100
-Subject: [PATCH] arm64: dts: rockchip: adjust vendor on Banana Pi R2 Pro board
-
-Adjust compatible string to match the board vendor of Sinovoip
-
-Signed-off-by: Tim Lunn <tim@feathertop.org>
-Reviewed-by: Dragan Simic <dsimic@manjaro.org>
-Acked-by: Conor Dooley <conor.dooley@microchip.com>
-Link: https://lore.kernel.org/r/20240214040731.3069111-4-tim@feathertop.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts
-@@ -13,7 +13,7 @@
- / {
-       model = "Bananapi-R2 Pro (RK3568) DDR4 Board";
--      compatible = "rockchip,rk3568-bpi-r2pro", "rockchip,rk3568";
-+      compatible = "sinovoip,rk3568-bpi-r2pro", "rockchip,rk3568";
-       aliases {
-               ethernet0 = &gmac0;
diff --git a/target/linux/rockchip/patches-6.12/003-v6.10-arm64-dts-rockchip-Add-cache-information-to-the-SoC-dtsi-.patch b/target/linux/rockchip/patches-6.12/003-v6.10-arm64-dts-rockchip-Add-cache-information-to-the-SoC-dtsi-.patch
deleted file mode 100644 (file)
index b23d7e0..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-From 8612169a05c5e979af033868b7a9b177e0f9fcdf Mon Sep 17 00:00:00 2001
-From: Dragan Simic <dsimic@manjaro.org>
-Date: Sat, 9 Mar 2024 05:25:06 +0100
-Subject: [PATCH] arm64: dts: rockchip: Add cache information to the SoC dtsi
- for RK356x
-
-Add missing cache information to the Rockchip RK356x SoC dtsi, to allow
-the userspace, which includes lscpu(1) that uses the virtual files provided
-by the kernel under the /sys/devices/system/cpu directory, to display the
-proper RK3566 and RK3568 cache information.
-
-Adding the cache information to the RK356x SoC dtsi also makes the following
-warning message in the kernel log go away:
-
-  cacheinfo: Unable to detect cache hierarchy for CPU 0
-
-The cache parameters for the RK356x dtsi were obtained and partially derived
-by hand from the cache size and layout specifications found in the following
-datasheets and technical reference manuals:
-
-  - Rockchip RK3566 datasheet, version 1.1
-  - Rockchip RK3568 datasheet, version 1.3
-  - ARM Cortex-A55 revision r1p0 TRM, version 0100-00
-  - ARM DynamIQ Shared Unit revision r4p0 TRM, version 0400-02
-
-For future reference, here's a rather detailed summary of the documentation,
-which applies to both Rockchip RK3566 and RK3568 SoCs:
-
-  - All caches employ the 64-byte cache line length
-  - Each Cortex-A55 core has 32 KB of L1 4-way, set-associative instruction
-    cache and 32 KB of L1 4-way, set-associative data cache
-  - There are no L2 caches, which are per-core and private in Cortex-A55,
-    because it belongs to the ARM DynamIQ IP core lineup
-  - The entire SoC has 512 KB of unified L3 16-way, set-associative cache,
-    which is shared among all four Cortex-A55 CPU cores
-  - Cortex-A55 cores can be configured without private per-core L2 caches,
-    in which case the shared L3 cache appears to them as an L2 cache;  this
-    is the case for the RK356x SoCs, so let's use "cache-level = <2>" to
-    prevent the "huh, no L2 caches, but an L3 cache?" confusion among the
-    users viewing the data presented to the userspace;  another option could
-    be to have additional 0 KB L2 caches defined, which may be technically
-    correct, but would probably be even more confusing
-
-Helped-by: Anand Moon <linux.amoon@gmail.com>
-Tested-By: Diederik de Haas <didi.debian@cknow.org>
-Reviewed-by: Anand Moon <linux.amoon@gmail.com>
-Signed-off-by: Dragan Simic <dsimic@manjaro.org>
-Link: https://lore.kernel.org/r/2dee6dad8460b0c5f3b5da53cf55f735840efef1.1709957777.git.dsimic@manjaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk356x.dtsi | 41 ++++++++++++++++++++++++
- 1 file changed, 41 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
-@@ -57,6 +57,13 @@
-                       #cooling-cells = <2>;
-                       enable-method = "psci";
-                       operating-points-v2 = <&cpu0_opp_table>;
-+                      i-cache-size = <0x8000>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <128>;
-+                      d-cache-size = <0x8000>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <128>;
-+                      next-level-cache = <&l3_cache>;
-               };
-               cpu1: cpu@100 {
-@@ -66,6 +73,13 @@
-                       #cooling-cells = <2>;
-                       enable-method = "psci";
-                       operating-points-v2 = <&cpu0_opp_table>;
-+                      i-cache-size = <0x8000>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <128>;
-+                      d-cache-size = <0x8000>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <128>;
-+                      next-level-cache = <&l3_cache>;
-               };
-               cpu2: cpu@200 {
-@@ -75,6 +89,13 @@
-                       #cooling-cells = <2>;
-                       enable-method = "psci";
-                       operating-points-v2 = <&cpu0_opp_table>;
-+                      i-cache-size = <0x8000>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <128>;
-+                      d-cache-size = <0x8000>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <128>;
-+                      next-level-cache = <&l3_cache>;
-               };
-               cpu3: cpu@300 {
-@@ -84,9 +105,29 @@
-                       #cooling-cells = <2>;
-                       enable-method = "psci";
-                       operating-points-v2 = <&cpu0_opp_table>;
-+                      i-cache-size = <0x8000>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <128>;
-+                      d-cache-size = <0x8000>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <128>;
-+                      next-level-cache = <&l3_cache>;
-               };
-       };
-+      /*
-+       * There are no private per-core L2 caches, but only the
-+       * L3 cache that appears to the CPU cores as L2 caches
-+       */
-+      l3_cache: l3-cache {
-+              compatible = "cache";
-+              cache-level = <2>;
-+              cache-unified;
-+              cache-size = <0x80000>;
-+              cache-line-size = <64>;
-+              cache-sets = <512>;
-+      };
-+
-       cpu0_opp_table: opp-table-0 {
-               compatible = "operating-points-v2";
-               opp-shared;
diff --git a/target/linux/rockchip/patches-6.12/004-next-soc-rockchip-io-domain-Add-RK3308-IO-voltage-domains.patch b/target/linux/rockchip/patches-6.12/004-next-soc-rockchip-io-domain-Add-RK3308-IO-voltage-domains.patch
deleted file mode 100644 (file)
index bb7f833..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-From 0536fa6e6fa3e48f4ca11855b586c277be524fbe Mon Sep 17 00:00:00 2001
-From: David Wu <david.wu@rock-chips.com>
-Date: Tue, 21 May 2024 21:10:13 +0000
-Subject: [PATCH] soc: rockchip: io-domain: Add RK3308 IO voltage domains
-
-Add IO voltage domains support for the RK3308 SoC.
-
-Signed-off-by: David Wu <david.wu@rock-chips.com>
-Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
-Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
-Link: https://lore.kernel.org/r/20240521211029.1236094-11-jonas@kwiboo.se
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- drivers/soc/rockchip/io-domain.c | 40 ++++++++++++++++++++++++++++++++
- 1 file changed, 40 insertions(+)
-
---- a/drivers/soc/rockchip/io-domain.c
-+++ b/drivers/soc/rockchip/io-domain.c
-@@ -39,6 +39,10 @@
- #define RK3288_SOC_CON2_FLASH0                BIT(7)
- #define RK3288_SOC_FLASH_SUPPLY_NUM   2
-+#define RK3308_SOC_CON0                       0x300
-+#define RK3308_SOC_CON0_VCCIO3                BIT(8)
-+#define RK3308_SOC_VCCIO3_SUPPLY_NUM  3
-+
- #define RK3328_SOC_CON4                       0x410
- #define RK3328_SOC_CON4_VCCIO2                BIT(7)
- #define RK3328_SOC_VCCIO2_SUPPLY_NUM  1
-@@ -229,6 +233,25 @@ static void rk3288_iodomain_init(struct
-               dev_warn(iod->dev, "couldn't update flash0 ctrl\n");
- }
-+static void rk3308_iodomain_init(struct rockchip_iodomain *iod)
-+{
-+      int ret;
-+      u32 val;
-+
-+      /* if no vccio3 supply we should leave things alone */
-+      if (!iod->supplies[RK3308_SOC_VCCIO3_SUPPLY_NUM].reg)
-+              return;
-+
-+      /*
-+       * set vccio3 iodomain to also use this framework
-+       * instead of a special gpio.
-+       */
-+      val = RK3308_SOC_CON0_VCCIO3 | (RK3308_SOC_CON0_VCCIO3 << 16);
-+      ret = regmap_write(iod->grf, RK3308_SOC_CON0, val);
-+      if (ret < 0)
-+              dev_warn(iod->dev, "couldn't update vccio3 vsel ctrl\n");
-+}
-+
- static void rk3328_iodomain_init(struct rockchip_iodomain *iod)
- {
-       int ret;
-@@ -376,6 +399,19 @@ static const struct rockchip_iodomain_so
-       .init = rk3288_iodomain_init,
- };
-+static const struct rockchip_iodomain_soc_data soc_data_rk3308 = {
-+      .grf_offset = 0x300,
-+      .supply_names = {
-+              "vccio0",
-+              "vccio1",
-+              "vccio2",
-+              "vccio3",
-+              "vccio4",
-+              "vccio5",
-+      },
-+      .init = rk3308_iodomain_init,
-+};
-+
- static const struct rockchip_iodomain_soc_data soc_data_rk3328 = {
-       .grf_offset = 0x410,
-       .supply_names = {
-@@ -529,6 +565,10 @@ static const struct of_device_id rockchi
-               .data = &soc_data_rk3288
-       },
-       {
-+              .compatible = "rockchip,rk3308-io-voltage-domain",
-+              .data = &soc_data_rk3308
-+      },
-+      {
-               .compatible = "rockchip,rk3328-io-voltage-domain",
-               .data = &soc_data_rk3328
-       },
diff --git a/target/linux/rockchip/patches-6.12/005-v6.11-arm64-dts-rockchip-Add-rk3308-IO-voltage-domains.patch b/target/linux/rockchip/patches-6.12/005-v6.11-arm64-dts-rockchip-Add-rk3308-IO-voltage-domains.patch
deleted file mode 100644 (file)
index 3565acd..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From d1829ba469d5743734e37d59fece73e3668ab084 Mon Sep 17 00:00:00 2001
-From: Jonas Karlman <jonas@kwiboo.se>
-Date: Tue, 21 May 2024 21:10:14 +0000
-Subject: [PATCH] arm64: dts: rockchip: Add rk3308 IO voltage domains
-
-Add a disabled RK3308 IO voltage domains node to SoC DT.
-
-Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
-Link: https://lore.kernel.org/r/20240521211029.1236094-12-jonas@kwiboo.se
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3308.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3308.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3308.dtsi
-@@ -168,6 +168,11 @@
-               compatible = "rockchip,rk3308-grf", "syscon", "simple-mfd";
-               reg = <0x0 0xff000000 0x0 0x08000>;
-+              io_domains: io-domains {
-+                      compatible = "rockchip,rk3308-io-voltage-domain";
-+                      status = "disabled";
-+              };
-+
-               reboot-mode {
-                       compatible = "syscon-reboot-mode";
-                       offset = <0x500>;
diff --git a/target/linux/rockchip/patches-6.12/006-v6.8-arm64-dts-rockchip-add-gpio-line-names-to-rk3308-roc.patch b/target/linux/rockchip/patches-6.12/006-v6.8-arm64-dts-rockchip-add-gpio-line-names-to-rk3308-roc.patch
deleted file mode 100644 (file)
index 83ebe67..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-From c45de75d7a9ab44a15dedc7a121d6371d6891301 Mon Sep 17 00:00:00 2001
-From: Trevor Woerner <twoerner@gmail.com>
-Date: Mon, 20 Nov 2023 11:22:32 -0500
-Subject: [PATCH] arm64: dts: rockchip: add gpio-line-names to rk3308-rock-pi-s
-
-Add names to the pins of the general-purpose expansion header as given in the
-Radxa GPIO page[1] following the conventions in the kernel documentation[2] to
-make it easier for users to correlate the pins with functions when using
-utilities such as gpioinfo.
-
-[1] https://wiki.radxa.com/RockpiS/hardware/gpio
-[2] Documentation/devicetree/bindings/gpio/gpio.txt
-
-Signed-off-by: Trevor Woerner <twoerner@gmail.com>
-Link: https://lore.kernel.org/r/20231120162232.27653-1-twoerner@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3308-rock-pi-s.dts    | 58 +++++++++++++++++++
- 1 file changed, 58 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
-@@ -315,3 +315,61 @@
- &wdt {
-       status = "okay";
- };
-+
-+&gpio0 {
-+      gpio-line-names =
-+      /* GPIO0_A0 - A7 */
-+      "", "", "", "", "", "", "", "",
-+      /* GPIO0_B0 - B7 */
-+      "", "", "", "header1-pin3 [GPIO0_B3]", "header1-pin5 [GPIO0_B4]",
-+      "", "", "header1-pin11 [GPIO0_B7]",
-+      /* GPIO0_C0 - C7 */
-+      "header1-pin13 [GPIO0_C0]", "header1-pin15 [GPIO0_C1]", "", "", "",
-+      "", "", "",
-+      /* GPIO0_D0 - D8 */
-+      "", "", "", "", "", "", "", "";
-+};
-+
-+&gpio1 {
-+      gpio-line-names =
-+      /* GPIO1_A0 - A7 */
-+      "", "", "", "", "", "", "", "",
-+      /* GPIO1_B0 - B7 */
-+      "", "", "", "", "", "", "", "",
-+      /* GPIO1_C0 - C7 */
-+      "", "", "", "", "", "", "header1-pin21 [GPIO1_C6]",
-+      "header1-pin19 [GPIO1_C7]",
-+      /* GPIO1_D0 - D8 */
-+      "header1-pin23 [GPIO1_D0]", "header1-pin24 [GPIO1_D1]", "", "", "",
-+      "", "", "";
-+};
-+
-+&gpio2 {
-+      gpio-line-names =
-+      /* GPIO2_A0 - A7 */
-+      "header1-pin10 [GPIO2_A0]", "header1-pin8 [GPIO2_A1]", "", "",
-+      "header1-pin7 [GPIO2_A4]", "header1-pin12 [GPIO2_A5]",
-+      "header2-pin46 [GPIO2_A6]", "header1-pin22 [GPIO1_A7]",
-+      /* GPIO2_B0 - B7 */
-+      "header2-pin45 [GPIO2_B0]", "header1-pin18 [GPIO2_B1]",
-+      "header1-pin16 [GPIO2_B2]", "header2-pin44 [GPIO2_B3]",
-+      "header2-pin43 [GPIO2_B4]", "header2-pin28 [GPIO2_B5]",
-+      "header2-pin30 [GPIO2_B6]", "header2-pin32 [GPIO2_B7]",
-+      /* GPIO2_C0 - C7 */
-+      "header2-pin34 [GPIO2_C0]", "", "", "", "", "", "", "",
-+      /* GPIO2_D0 - D8 */
-+      "", "", "", "", "", "", "", "";
-+};
-+
-+&gpio3 {
-+      gpio-line-names =
-+      /* GPIO3_A0 - A7 */
-+      "", "", "", "", "", "", "", "",
-+      /* GPIO3_B0 - B7 */
-+      "", "", "header2-pin42 [GPIO3_B2]", "header2-pin41 [GPIO3_B3]",
-+      "header2-pin40 [GPIO3_B4]", "header2-pin39 [GPIO3_B5]", "", "",
-+      /* GPIO3_C0 - C7 */
-+      "", "", "", "", "", "", "", "",
-+      /* GPIO3_D0 - D8 */
-+      "", "", "", "", "", "", "", "";
-+};
diff --git a/target/linux/rockchip/patches-6.12/007-v6.8-arm64-dts-rockchip-rk3308-rock-pi-s-gpio-line-names-.patch b/target/linux/rockchip/patches-6.12/007-v6.8-arm64-dts-rockchip-rk3308-rock-pi-s-gpio-line-names-.patch
deleted file mode 100644 (file)
index 994644e..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-From 085021cc825ed90a6ddc4406f608fb8a85745f81 Mon Sep 17 00:00:00 2001
-From: Trevor Woerner <twoerner@gmail.com>
-Date: Tue, 19 Dec 2023 12:38:13 -0500
-Subject: [PATCH] arm64: dts: rockchip: rk3308-rock-pi-s gpio-line-names
- cleanup
-
-Perform the following cleanups on a previous patch:
-- indent lines after "gpio-line-names"
-- fix D0-D8 -> D0-D7
-- sort phandle references
-
-Fixes: c45de75d7a9a ("arm64: dts: rockchip: add gpio-line-names to rk3308-rock-pi-s")
-Signed-off-by: Trevor Woerner <twoerner@gmail.com>
-Link: https://lore.kernel.org/r/20231219173814.1569-1-twoerner@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3308-rock-pi-s.dts    | 120 +++++++++---------
- 1 file changed, 62 insertions(+), 58 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
-@@ -166,6 +166,68 @@
-       };
- };
-+&gpio0 {
-+      gpio-line-names =
-+              /* GPIO0_A0 - A7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO0_B0 - B7 */
-+              "", "", "", "header1-pin3 [GPIO0_B3]",
-+              "header1-pin5 [GPIO0_B4]", "", "",
-+              "header1-pin11 [GPIO0_B7]",
-+              /* GPIO0_C0 - C7 */
-+              "header1-pin13 [GPIO0_C0]",
-+              "header1-pin15 [GPIO0_C1]", "", "", "",
-+              "", "", "",
-+              /* GPIO0_D0 - D7 */
-+              "", "", "", "", "", "", "", "";
-+};
-+
-+&gpio1 {
-+      gpio-line-names =
-+              /* GPIO1_A0 - A7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO1_B0 - B7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO1_C0 - C7 */
-+              "", "", "", "", "", "", "header1-pin21 [GPIO1_C6]",
-+              "header1-pin19 [GPIO1_C7]",
-+              /* GPIO1_D0 - D7 */
-+              "header1-pin23 [GPIO1_D0]", "header1-pin24 [GPIO1_D1]",
-+              "", "", "", "", "", "";
-+};
-+
-+&gpio2 {
-+      gpio-line-names =
-+              /* GPIO2_A0 - A7 */
-+              "header1-pin10 [GPIO2_A0]", "header1-pin8 [GPIO2_A1]",
-+              "", "",
-+              "header1-pin7 [GPIO2_A4]", "header1-pin12 [GPIO2_A5]",
-+              "header2-pin46 [GPIO2_A6]", "header1-pin22 [GPIO1_A7]",
-+              /* GPIO2_B0 - B7 */
-+              "header2-pin45 [GPIO2_B0]", "header1-pin18 [GPIO2_B1]",
-+              "header1-pin16 [GPIO2_B2]", "header2-pin44 [GPIO2_B3]",
-+              "header2-pin43 [GPIO2_B4]", "header2-pin28 [GPIO2_B5]",
-+              "header2-pin30 [GPIO2_B6]", "header2-pin32 [GPIO2_B7]",
-+              /* GPIO2_C0 - C7 */
-+              "header2-pin34 [GPIO2_C0]", "", "", "", "", "", "", "",
-+              /* GPIO2_D0 - D7 */
-+              "", "", "", "", "", "", "", "";
-+};
-+
-+&gpio3 {
-+      gpio-line-names =
-+              /* GPIO3_A0 - A7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO3_B0 - B7 */
-+              "", "", "header2-pin42 [GPIO3_B2]",
-+              "header2-pin41 [GPIO3_B3]", "header2-pin40 [GPIO3_B4]",
-+              "header2-pin39 [GPIO3_B5]", "", "",
-+              /* GPIO3_C0 - C7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO3_D0 - D7 */
-+              "", "", "", "", "", "", "", "";
-+};
-+
- &i2c1 {
-       status = "okay";
- };
-@@ -315,61 +377,3 @@
- &wdt {
-       status = "okay";
- };
--
--&gpio0 {
--      gpio-line-names =
--      /* GPIO0_A0 - A7 */
--      "", "", "", "", "", "", "", "",
--      /* GPIO0_B0 - B7 */
--      "", "", "", "header1-pin3 [GPIO0_B3]", "header1-pin5 [GPIO0_B4]",
--      "", "", "header1-pin11 [GPIO0_B7]",
--      /* GPIO0_C0 - C7 */
--      "header1-pin13 [GPIO0_C0]", "header1-pin15 [GPIO0_C1]", "", "", "",
--      "", "", "",
--      /* GPIO0_D0 - D8 */
--      "", "", "", "", "", "", "", "";
--};
--
--&gpio1 {
--      gpio-line-names =
--      /* GPIO1_A0 - A7 */
--      "", "", "", "", "", "", "", "",
--      /* GPIO1_B0 - B7 */
--      "", "", "", "", "", "", "", "",
--      /* GPIO1_C0 - C7 */
--      "", "", "", "", "", "", "header1-pin21 [GPIO1_C6]",
--      "header1-pin19 [GPIO1_C7]",
--      /* GPIO1_D0 - D8 */
--      "header1-pin23 [GPIO1_D0]", "header1-pin24 [GPIO1_D1]", "", "", "",
--      "", "", "";
--};
--
--&gpio2 {
--      gpio-line-names =
--      /* GPIO2_A0 - A7 */
--      "header1-pin10 [GPIO2_A0]", "header1-pin8 [GPIO2_A1]", "", "",
--      "header1-pin7 [GPIO2_A4]", "header1-pin12 [GPIO2_A5]",
--      "header2-pin46 [GPIO2_A6]", "header1-pin22 [GPIO1_A7]",
--      /* GPIO2_B0 - B7 */
--      "header2-pin45 [GPIO2_B0]", "header1-pin18 [GPIO2_B1]",
--      "header1-pin16 [GPIO2_B2]", "header2-pin44 [GPIO2_B3]",
--      "header2-pin43 [GPIO2_B4]", "header2-pin28 [GPIO2_B5]",
--      "header2-pin30 [GPIO2_B6]", "header2-pin32 [GPIO2_B7]",
--      /* GPIO2_C0 - C7 */
--      "header2-pin34 [GPIO2_C0]", "", "", "", "", "", "", "",
--      /* GPIO2_D0 - D8 */
--      "", "", "", "", "", "", "", "";
--};
--
--&gpio3 {
--      gpio-line-names =
--      /* GPIO3_A0 - A7 */
--      "", "", "", "", "", "", "", "",
--      /* GPIO3_B0 - B7 */
--      "", "", "header2-pin42 [GPIO3_B2]", "header2-pin41 [GPIO3_B3]",
--      "header2-pin40 [GPIO3_B4]", "header2-pin39 [GPIO3_B5]", "", "",
--      /* GPIO3_C0 - C7 */
--      "", "", "", "", "", "", "", "",
--      /* GPIO3_D0 - D8 */
--      "", "", "", "", "", "", "", "";
--};
diff --git a/target/linux/rockchip/patches-6.12/008-v6.11-arm64-dts-rockchip-Add-io-domains-to-rk3308-rock-pi-.patch b/target/linux/rockchip/patches-6.12/008-v6.11-arm64-dts-rockchip-Add-io-domains-to-rk3308-rock-pi-.patch
deleted file mode 100644 (file)
index ad746df..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 100b3bdee6035192f6d4a1847970fe004bb505fb Mon Sep 17 00:00:00 2001
-From: Jonas Karlman <jonas@kwiboo.se>
-Date: Tue, 21 May 2024 21:10:15 +0000
-Subject: [PATCH] arm64: dts: rockchip: Add io-domains to rk3308-rock-pi-s
-
-The VCCIO4 io-domain used for WiFi/BT is using 1v8 IO signal voltage.
-
-Add io-domains node with the VCCIO supplies connected on the board.
-
-Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
-Link: https://lore.kernel.org/r/20240521211029.1236094-13-jonas@kwiboo.se
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-s.dts
-@@ -232,6 +232,16 @@
-       status = "okay";
- };
-+&io_domains {
-+      vccio0-supply = <&vcc_io>;
-+      vccio1-supply = <&vcc_io>;
-+      vccio2-supply = <&vcc_io>;
-+      vccio3-supply = <&vcc_io>;
-+      vccio4-supply = <&vcc_1v8>;
-+      vccio5-supply = <&vcc_io>;
-+      status = "okay";
-+};
-+
- &pinctrl {
-       pinctrl-names = "default";
-       pinctrl-0 = <&rtc_32k>;
diff --git a/target/linux/rockchip/patches-6.12/009-v6.10-arm64-dts-rockchip-Add-Radxa-ROCK-3C.patch b/target/linux/rockchip/patches-6.12/009-v6.10-arm64-dts-rockchip-Add-Radxa-ROCK-3C.patch
deleted file mode 100644 (file)
index 164b65b..0000000
+++ /dev/null
@@ -1,769 +0,0 @@
-From ee219017ddb50be14c60d3cbe3e51ac0b2008d40 Mon Sep 17 00:00:00 2001
-From: Chukun Pan <amadeus@jmu.edu.cn>
-Date: Sun, 28 Apr 2024 20:36:18 +0800
-Subject: [PATCH] arm64: dts: rockchip: Add Radxa ROCK 3C
-
-The Radxa ROCK 3C is a development board with the
-Rockchip RK3566 SoC. It has the following features:
-
-- 1/2/4GB LPDDR4
-- 1x HDMI Type A
-- 1x PCIE 2.0 slot
-- 1x FAN connector
-- 3.5mm jack with mic
-- 1GbE RTL8211F Ethernet
-- 1x USB 3.0, 3x USB 2.0
-- 40-pin expansion header
-- MicroSD card/eMMC socket
-- 16MB SPI NOR (gd25lq128d)
-- AP6256 or AIC8800 WiFi/BT
-
-Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
-Link: https://lore.kernel.org/r/20240428123618.72170-3-amadeus@jmu.edu.cn
-[dropped rk809-sound and not specified pmic sound properties]
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/Makefile         |   1 +
- .../boot/dts/rockchip/rk3566-rock-3c.dts      | 726 ++++++++++++++++++
- 2 files changed, 727 insertions(+)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-rock-3c.dts
-
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -82,6 +82,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-qu
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-b.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-radxa-cm3-io.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-roc-pc.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-rock-3c.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-blade.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-cm4.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-model-a.dtb
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-rock-3c.dts
-@@ -0,0 +1,726 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+
-+/dts-v1/;
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/leds/common.h>
-+#include <dt-bindings/pinctrl/rockchip.h>
-+#include <dt-bindings/soc/rockchip,vop2.h>
-+#include "rk3566.dtsi"
-+
-+/ {
-+      model = "Radxa ROCK 3C";
-+      compatible = "radxa,rock-3c", "rockchip,rk3566";
-+
-+      aliases {
-+              ethernet0 = &gmac1;
-+              mmc0 = &sdhci;
-+              mmc1 = &sdmmc0;
-+              mmc2 = &sdmmc1;
-+      };
-+
-+      chosen: chosen {
-+              stdout-path = "serial2:1500000n8";
-+      };
-+
-+      gmac1_clkin: external-gmac1-clock {
-+              compatible = "fixed-clock";
-+              clock-frequency = <125000000>;
-+              clock-output-names = "gmac1_clkin";
-+              #clock-cells = <0>;
-+      };
-+
-+      hdmi-con {
-+              compatible = "hdmi-connector";
-+              type = "a";
-+
-+              port {
-+                      hdmi_con_in: endpoint {
-+                              remote-endpoint = <&hdmi_out_con>;
-+                      };
-+              };
-+      };
-+
-+      leds {
-+              compatible = "gpio-leds";
-+
-+              led-0 {
-+                      gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
-+                      function = LED_FUNCTION_HEARTBEAT;
-+                      color = <LED_COLOR_ID_BLUE>;
-+                      linux,default-trigger = "heartbeat";
-+                      pinctrl-names = "default";
-+                      pinctrl-0 = <&user_led2>;
-+              };
-+      };
-+
-+      sdio_pwrseq: sdio-pwrseq {
-+              compatible = "mmc-pwrseq-simple";
-+              clocks = <&rk809 1>;
-+              clock-names = "ext_clock";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&wifi_reg_on_h>;
-+              post-power-on-delay-ms = <100>;
-+              power-off-delay-us = <5000000>;
-+              reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
-+      };
-+
-+      vcc5v_dcin: vcc5v-dcin-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc5v_dcin";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+      };
-+
-+      vcc3v3_pcie: vcc3v3-pcie-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pcie_pwr_en>;
-+              regulator-name = "vcc3v3_pcie";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc3v3_sys>;
-+      };
-+
-+      vcc3v3_sys: vcc3v3-sys-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc3v3_sys";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc5v0_sys: vcc5v0-sys-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc5v0_sys";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              vin-supply = <&vcc5v_dcin>;
-+      };
-+
-+      vcc5v0_usb30_host: vcc5v0-usb30-host-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&vcc5v0_usb30_host_en>;
-+              regulator-name = "vcc5v0_usb30_host";
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc5v0_usb_otg: vcc5v0-usb-otg-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&vcc5v0_usb_otg_en>;
-+              regulator-name = "vcc5v0_usb_otg";
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc_cam: vcc-cam-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&vcc_cam_en>;
-+              regulator-name = "vcc_cam";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc3v3_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+
-+      vcc_mipi: vcc-mipi-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&vcc_mipi_en>;
-+              regulator-name = "vcc_mipi";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc3v3_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+};
-+
-+&combphy1 {
-+      status = "okay";
-+};
-+
-+&combphy2 {
-+      status = "okay";
-+};
-+
-+&cpu0 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&cpu1 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&cpu2 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&cpu3 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&gmac1 {
-+      assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
-+      assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&gmac1_clkin>;
-+      clock_in_out = "input";
-+      phy-handle = <&rgmii_phy1>;
-+      phy-mode = "rgmii-id";
-+      phy-supply = <&vcc_3v3>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&gmac1m1_miim
-+                   &gmac1m1_tx_bus2
-+                   &gmac1m1_rx_bus2
-+                   &gmac1m1_rgmii_clk
-+                   &gmac1m1_rgmii_bus
-+                   &gmac1m1_clkinout>;
-+      status = "okay";
-+};
-+
-+&gpu {
-+      mali-supply = <&vdd_gpu>;
-+      status = "okay";
-+};
-+
-+&hdmi {
-+      avdd-0v9-supply = <&vdda0v9_image>;
-+      avdd-1v8-supply = <&vcca1v8_image>;
-+      status = "okay";
-+};
-+
-+&hdmi_in {
-+      hdmi_in_vp0: endpoint {
-+              remote-endpoint = <&vp0_out_hdmi>;
-+      };
-+};
-+
-+&hdmi_out {
-+      hdmi_out_con: endpoint {
-+              remote-endpoint = <&hdmi_con_in>;
-+      };
-+};
-+
-+&hdmi_sound {
-+      status = "okay";
-+};
-+
-+&i2c0 {
-+      status = "okay";
-+
-+      vdd_cpu: regulator@1c {
-+              compatible = "tcs,tcs4525";
-+              reg = <0x1c>;
-+              fcs,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_cpu";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <800000>;
-+              regulator-max-microvolt = <1150000>;
-+              regulator-ramp-delay = <2300>;
-+              vin-supply = <&vcc5v0_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+
-+      rk809: pmic@20 {
-+              compatible = "rockchip,rk809";
-+              reg = <0x20>;
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
-+              clock-output-names = "rk808-clkout1", "rk808-clkout2";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
-+              system-power-controller;
-+              vcc1-supply = <&vcc3v3_sys>;
-+              vcc2-supply = <&vcc3v3_sys>;
-+              vcc3-supply = <&vcc3v3_sys>;
-+              vcc4-supply = <&vcc3v3_sys>;
-+              vcc5-supply = <&vcc3v3_sys>;
-+              vcc6-supply = <&vcc3v3_sys>;
-+              vcc7-supply = <&vcc3v3_sys>;
-+              vcc8-supply = <&vcc3v3_sys>;
-+              vcc9-supply = <&vcc3v3_sys>;
-+              wakeup-source;
-+              #clock-cells = <1>;
-+
-+              regulators {
-+                      vdd_logic: DCDC_REG1 {
-+                              regulator-name = "vdd_logic";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-initial-mode = <0x2>;
-+                              regulator-min-microvolt = <500000>;
-+                              regulator-max-microvolt = <1350000>;
-+                              regulator-ramp-delay = <6001>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <900000>;
-+                              };
-+                      };
-+
-+                      vdd_gpu: DCDC_REG2 {
-+                              regulator-name = "vdd_gpu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-initial-mode = <0x2>;
-+                              regulator-min-microvolt = <500000>;
-+                              regulator-max-microvolt = <1350000>;
-+                              regulator-ramp-delay = <6001>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <900000>;
-+                              };
-+                      };
-+
-+                      vcc_ddr: DCDC_REG3 {
-+                              regulator-name = "vcc_ddr";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-initial-mode = <0x2>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_npu: DCDC_REG4 {
-+                              regulator-name = "vdd_npu";
-+                              regulator-initial-mode = <0x2>;
-+                              regulator-min-microvolt = <500000>;
-+                              regulator-max-microvolt = <1350000>;
-+                              regulator-ramp-delay = <6001>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_1v8: DCDC_REG5 {
-+                              regulator-name = "vcc_1v8";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdda0v9_image: LDO_REG1 {
-+                              regulator-name = "vdda0v9_image";
-+                              regulator-min-microvolt = <900000>;
-+                              regulator-max-microvolt = <900000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdda_0v9: LDO_REG2 {
-+                              regulator-name = "vdda_0v9";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <900000>;
-+                              regulator-max-microvolt = <900000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdda0v9_pmu: LDO_REG3 {
-+                              regulator-name = "vdda0v9_pmu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <900000>;
-+                              regulator-max-microvolt = <900000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <900000>;
-+                              };
-+                      };
-+
-+                      vccio_acodec: LDO_REG4 {
-+                              regulator-name = "vccio_acodec";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vccio_sd: LDO_REG5 {
-+                              regulator-name = "vccio_sd";
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <3300000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc3v3_pmu: LDO_REG6 {
-+                              regulator-name = "vcc3v3_pmu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <3300000>;
-+                              };
-+                      };
-+
-+                      vcca_1v8: LDO_REG7 {
-+                              regulator-name = "vcca_1v8";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcca1v8_pmu: LDO_REG8 {
-+                              regulator-name = "vcca1v8_pmu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      vcca1v8_image: LDO_REG9 {
-+                              regulator-name = "vcca1v8_image";
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_3v3: SWITCH_REG1 {
-+                              regulator-name = "vcc_3v3";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc3v3_sd: SWITCH_REG2 {
-+                              regulator-name = "vcc3v3_sd";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+              };
-+      };
-+
-+      eeprom: eeprom@50 {
-+              compatible = "belling,bl24c16a", "atmel,24c16";
-+              reg = <0x50>;
-+              pagesize = <16>;
-+      };
-+};
-+
-+&i2s0_8ch {
-+      status = "okay";
-+};
-+
-+&i2s1_8ch {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>;
-+      rockchip,trcm-sync-tx-only;
-+      status = "okay";
-+};
-+
-+&mdio1 {
-+      rgmii_phy1: ethernet-phy@1 {
-+              compatible = "ethernet-phy-ieee802.3-c22";
-+              reg = <0x1>;
-+              reset-assert-us = <20000>;
-+              reset-deassert-us = <100000>;
-+              reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
-+      };
-+};
-+
-+&pcie2x1 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&pcie_reset_h>;
-+      reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc3v3_pcie>;
-+      status = "okay";
-+};
-+
-+&pinctrl {
-+      bluetooth {
-+              bt_reg_on_h: bt-reg-on-h {
-+                      rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              bt_wake_host_h: bt-wake-host-h {
-+                      rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              bt_host_wake_h: bt-host-wake-h {
-+                      rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      cam {
-+              vcc_cam_en: vcc_cam_en {
-+                      rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      display {
-+              vcc_mipi_en: vcc_mipi_en {
-+                      rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      leds {
-+              user_led2: user-led2 {
-+                      rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pcie {
-+              pcie_pwr_en: pcie-pwr-en {
-+                      rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              pcie_reset_h: pcie-reset-h {
-+                      rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pmic {
-+              pmic_int_l: pmic-int-l {
-+                      rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
-+              };
-+      };
-+
-+      usb {
-+              vcc5v0_usb30_host_en: vcc5v0-usb30-host-en {
-+                      rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              vcc5v0_usb_otg_en: vcc5v0-usb-otg-en {
-+                      rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      wifi {
-+              wifi_host_wake_h: wifi-host-wake-h {
-+                      rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              wifi_reg_on_h: wifi-reg-on-h {
-+                      rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+};
-+
-+&pmu_io_domains {
-+      pmuio1-supply = <&vcc3v3_pmu>;
-+      pmuio2-supply = <&vcca1v8_pmu>;
-+      vccio1-supply = <&vccio_acodec>;
-+      vccio2-supply = <&vcc_1v8>;
-+      vccio3-supply = <&vccio_sd>;
-+      vccio4-supply = <&vcca1v8_pmu>;
-+      vccio5-supply = <&vcc_3v3>;
-+      vccio6-supply = <&vcc_3v3>;
-+      vccio7-supply = <&vcc_3v3>;
-+      status = "okay";
-+};
-+
-+&saradc {
-+      vref-supply = <&vcca_1v8>;
-+      status = "okay";
-+};
-+
-+&sdhci {
-+      bus-width = <8>;
-+      max-frequency = <200000000>;
-+      mmc-hs200-1_8v;
-+      non-removable;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
-+      vmmc-supply = <&vcc_3v3>;
-+      vqmmc-supply = <&vcc_1v8>;
-+      status = "okay";
-+};
-+
-+&sdmmc0 {
-+      bus-width = <4>;
-+      cap-sd-highspeed;
-+      disable-wp;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
-+      sd-uhs-sdr50;
-+      vmmc-supply = <&vcc3v3_sys>;
-+      vqmmc-supply = <&vccio_sd>;
-+      status = "okay";
-+};
-+
-+&sdmmc1 {
-+      bus-width = <4>;
-+      cap-sd-highspeed;
-+      cap-sdio-irq;
-+      keep-power-in-suspend;
-+      mmc-pwrseq = <&sdio_pwrseq>;
-+      non-removable;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_clk &sdmmc1_cmd>;
-+      sd-uhs-sdr104;
-+      vmmc-supply = <&vcc3v3_sys>;
-+      vqmmc-supply = <&vcca1v8_pmu>;
-+      status = "okay";
-+};
-+
-+&sfc {
-+      #address-cells = <1>;
-+      #size-cells = <0>;
-+      status = "okay";
-+
-+      flash@0 {
-+              compatible = "jedec,spi-nor";
-+              reg = <0x0>;
-+              spi-max-frequency = <120000000>;
-+              spi-rx-bus-width = <4>;
-+              spi-tx-bus-width = <1>;
-+      };
-+};
-+
-+&tsadc {
-+      rockchip,hw-tshut-mode = <1>;
-+      rockchip,hw-tshut-polarity = <0>;
-+      status = "okay";
-+};
-+
-+&uart1 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&uart1m0_ctsn &uart1m0_rtsn &uart1m0_xfer>;
-+      status = "okay";
-+};
-+
-+&uart2 {
-+      status = "okay";
-+};
-+
-+&usb_host0_ehci {
-+      status = "okay";
-+};
-+
-+&usb_host0_ohci {
-+      status = "okay";
-+};
-+
-+&usb_host0_xhci {
-+      dr_mode = "host";
-+      status = "okay";
-+};
-+
-+&usb_host1_ehci {
-+      status = "okay";
-+};
-+
-+&usb_host1_ohci {
-+      status = "okay";
-+};
-+
-+&usb_host1_xhci {
-+      status = "okay";
-+};
-+
-+&usb2phy0 {
-+      status = "okay";
-+};
-+
-+&usb2phy0_host {
-+      phy-supply = <&vcc5v0_usb30_host>;
-+      status = "okay";
-+};
-+
-+&usb2phy0_otg {
-+      phy-supply = <&vcc5v0_usb_otg>;
-+      status = "okay";
-+};
-+
-+&usb2phy1 {
-+      status = "okay";
-+};
-+
-+&usb2phy1_host {
-+      phy-supply = <&vcc5v0_usb30_host>;
-+      status = "okay";
-+};
-+
-+&usb2phy1_otg {
-+      phy-supply = <&vcc5v0_usb30_host>;
-+      status = "okay";
-+};
-+
-+&vop {
-+      assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
-+      assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
-+      status = "okay";
-+};
-+
-+&vop_mmu {
-+      status = "okay";
-+};
-+
-+&vp0 {
-+      vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
-+              reg = <ROCKCHIP_VOP2_EP_HDMI0>;
-+              remote-endpoint = <&hdmi_in_vp0>;
-+      };
-+};
diff --git a/target/linux/rockchip/patches-6.12/010-v6.11-arm64-dts-rockchip-change-spi-max-frequency-for-Radx.patch b/target/linux/rockchip/patches-6.12/010-v6.11-arm64-dts-rockchip-change-spi-max-frequency-for-Radx.patch
deleted file mode 100644 (file)
index 936fe91..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 06f6dd4d607766a527e37529f2f3f90dd1464293 Mon Sep 17 00:00:00 2001
-From: FUKAUMI Naoki <naoki@radxa.com>
-Date: Sun, 23 Jun 2024 11:33:29 +0900
-Subject: [PATCH] arm64: dts: rockchip: change spi-max-frequency for Radxa ROCK
- 3C
-
-SPI NOR flash chip may vary, so use safe(lowest) spi-max-frequency.
-
-Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
-Link: https://lore.kernel.org/r/20240623023329.1044-3-naoki@radxa.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3566-rock-3c.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3566-rock-3c.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-rock-3c.dts
-@@ -633,7 +633,7 @@
-       flash@0 {
-               compatible = "jedec,spi-nor";
-               reg = <0x0>;
--              spi-max-frequency = <120000000>;
-+              spi-max-frequency = <104000000>;
-               spi-rx-bus-width = <4>;
-               spi-tx-bus-width = <1>;
-       };
diff --git a/target/linux/rockchip/patches-6.12/011-v6.11-arm64-dts-rockchip-Add-Radxa-ZERO-3W-3E.patch b/target/linux/rockchip/patches-6.12/011-v6.11-arm64-dts-rockchip-Add-Radxa-ZERO-3W-3E.patch
deleted file mode 100644 (file)
index 19e6377..0000000
+++ /dev/null
@@ -1,657 +0,0 @@
-From 1a5c8d307c83c808a32686ed51afb4bac2092d39 Mon Sep 17 00:00:00 2001
-From: Jonas Karlman <jonas@kwiboo.se>
-Date: Tue, 21 May 2024 20:28:05 +0000
-Subject: [PATCH] arm64: dts: rockchip: Add Radxa ZERO 3W/3E
-
-The Radxa ZERO 3W/3E is an ultra-small, high-performance single board
-computer based on the Rockchip RK3566, with a compact form factor and
-rich interfaces.
-
-The ZERO 3W and ZERO 3E are basically the same size and model, but
-differ only in storage and network interfaces.
-
-- eMMC (3W)
-- SD-card (both)
-- Ethernet (3E)
-- WiFi/BT (3W)
-
-Add initial support for eMMC, SD-card, Ethernet, HDMI and USB.
-
-Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
-Link: https://lore.kernel.org/r/20240521202810.1225636-3-jonas@kwiboo.se
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/Makefile         |   2 +
- .../dts/rockchip/rk3566-radxa-zero-3.dtsi     | 463 ++++++++++++++++++
- .../dts/rockchip/rk3566-radxa-zero-3e.dts     |  51 ++
- .../dts/rockchip/rk3566-radxa-zero-3w.dts     |  91 ++++
- 4 files changed, 607 insertions(+)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3e.dts
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3w.dts
-
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -81,6 +81,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pi
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-a.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-b.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-radxa-cm3-io.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-radxa-zero-3e.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-radxa-zero-3w.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-roc-pc.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-rock-3c.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-blade.dtb
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi
-@@ -0,0 +1,463 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/leds/common.h>
-+#include <dt-bindings/soc/rockchip,vop2.h>
-+#include "rk3566.dtsi"
-+
-+/ {
-+      aliases {
-+              mmc0 = &sdmmc0;
-+      };
-+
-+      chosen {
-+              stdout-path = "serial2:1500000n8";
-+      };
-+
-+      hdmi-con {
-+              compatible = "hdmi-connector";
-+              type = "d";
-+
-+              port {
-+                      hdmi_con_in: endpoint {
-+                              remote-endpoint = <&hdmi_out_con>;
-+                      };
-+              };
-+      };
-+
-+      leds {
-+              compatible = "gpio-leds";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&user_led2>;
-+
-+              led-green {
-+                      color = <LED_COLOR_ID_GREEN>;
-+                      default-state = "on";
-+                      function = LED_FUNCTION_HEARTBEAT;
-+                      gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
-+                      linux,default-trigger = "heartbeat";
-+              };
-+      };
-+
-+      vcc_1v8: regulator-1v8-vcc {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc_1v8";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <1800000>;
-+              regulator-max-microvolt = <1800000>;
-+              vin-supply = <&vcc_1v8_p>;
-+      };
-+
-+      vcca_1v8: regulator-1v8-vcca {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcca_1v8";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <1800000>;
-+              regulator-max-microvolt = <1800000>;
-+              vin-supply = <&vcc_1v8_p>;
-+      };
-+
-+      vcca1v8_image: regulator-1v8-vcca-image {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcca1v8_image";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <1800000>;
-+              regulator-max-microvolt = <1800000>;
-+              vin-supply = <&vcc_1v8_p>;
-+      };
-+
-+      vcc_3v3: regulator-3v3-vcc {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc_3v3";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc3v3_sys>;
-+      };
-+
-+      vcc_sys: regulator-5v0-vcc-sys {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc_sys";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+      };
-+};
-+
-+&combphy1 {
-+      status = "okay";
-+};
-+
-+&cpu0 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&cpu1 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&cpu2 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&cpu3 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&gpu {
-+      mali-supply = <&vdd_gpu_npu>;
-+      status = "okay";
-+};
-+
-+&hdmi {
-+      avdd-0v9-supply = <&vdda_0v9>;
-+      avdd-1v8-supply = <&vcca1v8_image>;
-+      status = "okay";
-+};
-+
-+&hdmi_in {
-+      hdmi_in_vp0: endpoint {
-+              remote-endpoint = <&vp0_out_hdmi>;
-+      };
-+};
-+
-+&hdmi_out {
-+      hdmi_out_con: endpoint {
-+              remote-endpoint = <&hdmi_con_in>;
-+      };
-+};
-+
-+&hdmi_sound {
-+      status = "okay";
-+};
-+
-+&i2c0 {
-+      status = "okay";
-+
-+      rk817: pmic@20 {
-+              compatible = "rockchip,rk817";
-+              reg = <0x20>;
-+              #clock-cells = <1>;
-+              clock-output-names = "rk817-clkout1", "rk817-clkout2";
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pmic_int_l>;
-+              system-power-controller;
-+              wakeup-source;
-+
-+              vcc1-supply = <&vcc_sys>;
-+              vcc2-supply = <&vcc_sys>;
-+              vcc3-supply = <&vcc_sys>;
-+              vcc4-supply = <&vcc_sys>;
-+              vcc5-supply = <&vcc_sys>;
-+              vcc6-supply = <&vcc_sys>;
-+              vcc7-supply = <&vcc_sys>;
-+              vcc8-supply = <&vcc_sys>;
-+              vcc9-supply = <&vcc5v_midu>;
-+
-+              regulators {
-+                      vdd_logic: DCDC_REG1 {
-+                              regulator-name = "vdd_logic";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-initial-mode = <0x2>;
-+                              regulator-min-microvolt = <500000>;
-+                              regulator-max-microvolt = <1350000>;
-+                              regulator-ramp-delay = <6001>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <900000>;
-+                              };
-+                      };
-+
-+                      vdd_gpu_npu: DCDC_REG2 {
-+                              regulator-name = "vdd_gpu_npu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-initial-mode = <0x2>;
-+                              regulator-min-microvolt = <500000>;
-+                              regulator-max-microvolt = <1350000>;
-+                              regulator-ramp-delay = <6001>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_ddr: DCDC_REG3 {
-+                              regulator-name = "vcc_ddr";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-initial-mode = <0x2>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc3v3_sys: DCDC_REG4 {
-+                              regulator-name = "vcc3v3_sys";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-initial-mode = <0x2>;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <3300000>;
-+                              };
-+                      };
-+
-+                      vcca1v8_pmu: LDO_REG1 {
-+                              regulator-name = "vcca1v8_pmu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      vdda_0v9: LDO_REG2 {
-+                              regulator-name = "vdda_0v9";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <900000>;
-+                              regulator-max-microvolt = <900000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdda0v9_pmu: LDO_REG3 {
-+                              regulator-name = "vdda0v9_pmu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <900000>;
-+                              regulator-max-microvolt = <900000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <900000>;
-+                              };
-+                      };
-+
-+                      vccio_acodec: LDO_REG4 {
-+                              regulator-name = "vccio_acodec";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vccio_sd: LDO_REG5 {
-+                              regulator-name = "vccio_sd";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <3300000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc3v3_pmu: LDO_REG6 {
-+                              regulator-name = "vcc3v3_pmu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <3300000>;
-+                              };
-+                      };
-+
-+                      vcc_1v8_p: LDO_REG7 {
-+                              regulator-name = "vcc_1v8_p";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc1v8_dvp: LDO_REG8 {
-+                              regulator-name = "vcc1v8_dvp";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc2v8_dvp: LDO_REG9 {
-+                              regulator-name = "vcc2v8_dvp";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <2800000>;
-+                              regulator-max-microvolt = <2800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc5v_midu: BOOST {
-+                              regulator-name = "vcc5v_midu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <5000000>;
-+                              regulator-max-microvolt = <5000000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vbus: OTG_SWITCH {
-+                              regulator-name = "vbus";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+              };
-+      };
-+
-+      vdd_cpu: regulator@40 {
-+              compatible = "rockchip,rk8600";
-+              reg = <0x40>;
-+              fcs,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_cpu";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <712500>;
-+              regulator-max-microvolt = <1390000>;
-+              regulator-ramp-delay = <2300>;
-+              vin-supply = <&vcc_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+};
-+
-+&i2s0_8ch {
-+      status = "okay";
-+};
-+
-+&pinctrl {
-+      leds {
-+              user_led2: user-led2 {
-+                      rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pmic {
-+              pmic_int_l: pmic-int-l {
-+                      rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
-+              };
-+      };
-+};
-+
-+&pmu_io_domains {
-+      pmuio1-supply = <&vcc3v3_pmu>;
-+      pmuio2-supply = <&vcca1v8_pmu>;
-+      vccio1-supply = <&vccio_acodec>;
-+      vccio2-supply = <&vcc_1v8>;
-+      vccio3-supply = <&vccio_sd>;
-+      vccio4-supply = <&vcc_1v8>;
-+      vccio5-supply = <&vcc_3v3>;
-+      vccio6-supply = <&vcc_3v3>;
-+      vccio7-supply = <&vcc_3v3>;
-+      status = "okay";
-+};
-+
-+&saradc {
-+      vref-supply = <&vcca_1v8>;
-+      status = "okay";
-+};
-+
-+&sdmmc0 {
-+      bus-width = <4>;
-+      cap-sd-highspeed;
-+      disable-wp;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
-+      vmmc-supply = <&vcc3v3_sys>;
-+      vqmmc-supply = <&vccio_sd>;
-+      status = "okay";
-+};
-+
-+&tsadc {
-+      rockchip,hw-tshut-mode = <1>;
-+      rockchip,hw-tshut-polarity = <0>;
-+      status = "okay";
-+};
-+
-+&uart2 {
-+      status = "okay";
-+};
-+
-+&usb_host0_xhci {
-+      dr_mode = "peripheral";
-+      status = "okay";
-+};
-+
-+&usb_host1_xhci {
-+      status = "okay";
-+};
-+
-+&usb2phy0 {
-+      status = "okay";
-+};
-+
-+&usb2phy0_host {
-+      status = "okay";
-+};
-+
-+&usb2phy0_otg {
-+      status = "okay";
-+};
-+
-+&vop {
-+      assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
-+      assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
-+      status = "okay";
-+};
-+
-+&vop_mmu {
-+      status = "okay";
-+};
-+
-+&vp0 {
-+      vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
-+              reg = <ROCKCHIP_VOP2_EP_HDMI0>;
-+              remote-endpoint = <&hdmi_in_vp0>;
-+      };
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3e.dts
-@@ -0,0 +1,51 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+
-+/dts-v1/;
-+
-+#include "rk3566-radxa-zero-3.dtsi"
-+
-+/ {
-+      model = "Radxa ZERO 3E";
-+      compatible = "radxa,zero-3e", "rockchip,rk3566";
-+
-+      aliases {
-+              ethernet0 = &gmac1;
-+      };
-+};
-+
-+&gmac1 {
-+      assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
-+      assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
-+      clock_in_out = "input";
-+      phy-handle = <&rgmii_phy1>;
-+      phy-mode = "rgmii-id";
-+      phy-supply = <&vcc_3v3>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&gmac1m1_miim
-+                   &gmac1m1_tx_bus2
-+                   &gmac1m1_rx_bus2
-+                   &gmac1m1_rgmii_clk
-+                   &gmac1m1_rgmii_bus
-+                   &gmac1m1_clkinout>;
-+      status = "okay";
-+};
-+
-+&mdio1 {
-+      rgmii_phy1: ethernet-phy@1 {
-+              compatible = "ethernet-phy-ieee802.3-c22";
-+              reg = <1>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&gmac1_rstn>;
-+              reset-assert-us = <20000>;
-+              reset-deassert-us = <50000>;
-+              reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
-+      };
-+};
-+
-+&pinctrl {
-+      gmac1 {
-+              gmac1_rstn: gmac1-rstn {
-+                      rockchip,pins = <3 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3w.dts
-@@ -0,0 +1,91 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+
-+/dts-v1/;
-+
-+#include "rk3566-radxa-zero-3.dtsi"
-+
-+/ {
-+      model = "Radxa ZERO 3W";
-+      compatible = "radxa,zero-3w", "rockchip,rk3566";
-+
-+      aliases {
-+              mmc1 = &sdhci;
-+              mmc2 = &sdmmc1;
-+      };
-+
-+      sdio_pwrseq: sdio-pwrseq {
-+              compatible = "mmc-pwrseq-simple";
-+              clocks = <&rk817 1>;
-+              clock-names = "ext_clock";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&wifi_reg_on_h>;
-+              post-power-on-delay-ms = <100>;
-+              power-off-delay-us = <5000000>;
-+              reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
-+      };
-+};
-+
-+&pinctrl {
-+      bluetooth {
-+              bt_reg_on_h: bt-reg-on-h {
-+                      rockchip,pins = <0 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              bt_wake_host_h: bt-wake-host-h {
-+                      rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              host_wake_bt_h: host-wake-bt-h {
-+                      rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      wifi {
-+              wifi_reg_on_h: wifi-reg-on-h {
-+                      rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              wifi_wake_host_h: wifi-wake-host-h {
-+                      rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+};
-+
-+&sdhci {
-+      bus-width = <8>;
-+      cap-mmc-highspeed;
-+      max-frequency = <200000000>;
-+      mmc-hs200-1_8v;
-+      no-sd;
-+      no-sdio;
-+      non-removable;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
-+      vmmc-supply = <&vcc_3v3>;
-+      vqmmc-supply = <&vcc_1v8>;
-+      status = "okay";
-+};
-+
-+&sdmmc1 {
-+      bus-width = <4>;
-+      cap-sd-highspeed;
-+      cap-sdio-irq;
-+      keep-power-in-suspend;
-+      mmc-pwrseq = <&sdio_pwrseq>;
-+      no-mmc;
-+      no-sd;
-+      non-removable;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_clk &sdmmc1_cmd>;
-+      sd-uhs-sdr104;
-+      vmmc-supply = <&vcc_3v3>;
-+      vqmmc-supply = <&vcc_1v8>;
-+      status = "okay";
-+};
-+
-+&uart1 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
-+      uart-has-rtscts;
-+      status = "okay";
-+};
diff --git a/target/linux/rockchip/patches-6.12/012-v6.11-arm64-dts-rockchip-fix-mmc-aliases-for-Radxa-ZERO-3E.patch b/target/linux/rockchip/patches-6.12/012-v6.11-arm64-dts-rockchip-fix-mmc-aliases-for-Radxa-ZERO-3E.patch
deleted file mode 100644 (file)
index b96e8e1..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From 060c1950037e4c54ca4d8186a8f46269e35db901 Mon Sep 17 00:00:00 2001
-From: FUKAUMI Naoki <naoki@radxa.com>
-Date: Fri, 21 Jun 2024 07:44:35 +0900
-Subject: [PATCH] arm64: dts: rockchip: fix mmc aliases for Radxa ZERO 3E/3W
-
-align with other Radxa products.
-
-- mmc0 is eMMC
-- mmc1 is microSD
-
-for ZERO 3E, there is no eMMC, but aliases should start at 0, so mmc0
-is microSD as exception.
-
-Fixes: 1a5c8d307c83 ("arm64: dts: rockchip: Add Radxa ZERO 3W/3E")
-Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
-
-Changes in v3:
-- fix syntax error in rk3566-radxa-zero-3e.dts
-Changes in v2:
-- microSD is mmc0 instead of mmc1 for ZERO 3E
-
-Link: https://lore.kernel.org/r/20240620224435.2752-1-naoki@radxa.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi | 4 ----
- arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3e.dts | 1 +
- arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3w.dts | 3 ++-
- 3 files changed, 3 insertions(+), 5 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi
-@@ -6,10 +6,6 @@
- #include "rk3566.dtsi"
- / {
--      aliases {
--              mmc0 = &sdmmc0;
--      };
--
-       chosen {
-               stdout-path = "serial2:1500000n8";
-       };
---- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3e.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3e.dts
-@@ -10,6 +10,7 @@
-       aliases {
-               ethernet0 = &gmac1;
-+              mmc0 = &sdmmc0;
-       };
- };
---- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3w.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3w.dts
-@@ -9,7 +9,8 @@
-       compatible = "radxa,zero-3w", "rockchip,rk3566";
-       aliases {
--              mmc1 = &sdhci;
-+              mmc0 = &sdhci;
-+              mmc1 = &sdmmc0;
-               mmc2 = &sdmmc1;
-       };
diff --git a/target/linux/rockchip/patches-6.12/013-v6.11-arm64-dts-rockchip-add-gpio-line-names-to-radxa-zero.patch b/target/linux/rockchip/patches-6.12/013-v6.11-arm64-dts-rockchip-add-gpio-line-names-to-radxa-zero.patch
deleted file mode 100644 (file)
index 4c5107a..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-From f7c742cbe664ebdedc075945e75443683d1175f7 Mon Sep 17 00:00:00 2001
-From: Trevor Woerner <twoerner@gmail.com>
-Date: Wed, 19 Jun 2024 21:32:49 -0400
-Subject: [PATCH] arm64: dts: rockchip: add gpio-line-names to radxa-zero-3
-
-Add names to the pins of the general-purpose expansion header as given
-in the Radxa documentation[1] following the conventions in the kernel[2]
-to make it easier for users to correlate pins with functions when using
-utilities such as 'gpioinfo'.
-
-[1] https://docs.radxa.com/en/zero/zero3/hardware-design/hardware-interface
-[2] https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio.txt
-
-Signed-off-by: Trevor Woerner <twoerner@gmail.com>
-Link: https://lore.kernel.org/r/20240620013301.33653-1-twoerner@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../dts/rockchip/rk3566-radxa-zero-3.dtsi     | 72 +++++++++++++++++++
- 1 file changed, 72 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-zero-3.dtsi
-@@ -105,6 +105,78 @@
-       cpu-supply = <&vdd_cpu>;
- };
-+&gpio0 {
-+      gpio-line-names =
-+              /* GPIO0_A0 - A7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO0_B0 - B7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO0_C0 - C7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO0_D0 - D7 */
-+              "pin-10 [GPIO0_D0]", "pin-08 [GPIO0_D1]", "",
-+              "", "", "", "", "";
-+};
-+
-+&gpio1 {
-+      gpio-line-names =
-+              /* GPIO1_A0 - A7 */
-+              "pin-03 [GPIO1_A0]", "pin-05 [GPIO1_A1]", "",
-+              "",                  "pin-37 [GPIO1_A4]", "",
-+              "",                  "",
-+              /* GPIO1_B0 - B7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO1_C0 - C7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO1_D0 - D7 */
-+              "", "", "", "", "", "", "", "";
-+};
-+
-+&gpio2 {
-+      gpio-line-names =
-+              /* GPIO2_A0 - A7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO2_B0 - B7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO2_C0 - C7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO2_D0 - D7 */
-+              "", "", "", "", "", "", "", "";
-+};
-+
-+&gpio3 {
-+      gpio-line-names =
-+              /* GPIO3_A0 - A7 */
-+              "",                  "pin-11 [GPIO3_A1]", "pin-13 [GPIO3_A2]",
-+              "pin-12 [GPIO3_A3]", "pin-35 [GPIO3_A4]", "pin-40 [GPIO3_A5]",
-+              "pin-38 [GPIO3_A6]", "pin-36 [GPIO3_A7]",
-+              /* GPIO3_B0 - B7 */
-+              "pin-15 [GPIO3_B0]", "pin-16 [GPIO3_B1]", "pin-18 [GPIO3_B2]",
-+              "pin-29 [GPIO3_B3]", "pin-31 [GPIO3_B4]", "",
-+              "", "",
-+              /* GPIO3_C0 - C7 */
-+              "",                  "pin-22 [GPIO3_C1]", "pin-32 [GPIO3_C2]",
-+              "pin-33 [GPIO3_C3]", "pin-07 [GPIO3_C4]", "",
-+              "", "",
-+              /* GPIO3_D0 - D7 */
-+              "", "", "", "", "", "", "", "";
-+};
-+
-+&gpio4 {
-+      gpio-line-names =
-+              /* GPIO4_A0 - A7 */
-+              "", "", "", "", "", "", "", "",
-+              /* GPIO4_B0 - B7 */
-+              "",                  "",                  "pin-27 [GPIO4_B2]",
-+              "pin-28 [GPIO4_B3]", "", "", "", "",
-+              /* GPIO4_C0 - C7 */
-+              "",                  "",                  "pin-23 [GPIO4_C2]",
-+              "pin-19 [GPIO4_C3]", "",                  "pin-21 [GPIO4_C5]",
-+              "pin-24 [GPIO4_C6]", "",
-+              /* GPIO4_D0 - D7 */
-+              "", "", "", "", "", "", "", "";
-+};
-+
- &gpu {
-       mali-supply = <&vdd_gpu_npu>;
-       status = "okay";
diff --git a/target/linux/rockchip/patches-6.12/014-v6.11-arm64-dts-rockchip-Add-Radxa-ROCK-3B.patch b/target/linux/rockchip/patches-6.12/014-v6.11-arm64-dts-rockchip-Add-Radxa-ROCK-3B.patch
deleted file mode 100644 (file)
index 4b2897f..0000000
+++ /dev/null
@@ -1,815 +0,0 @@
-From 846ef7748fa9124c8eea76e2d5e833fa69b3ef7c Mon Sep 17 00:00:00 2001
-From: Jonas Karlman <jonas@kwiboo.se>
-Date: Thu, 27 Jun 2024 21:17:31 +0000
-Subject: [PATCH] arm64: dts: rockchip: Add Radxa ROCK 3B
-
-The Radxa ROCK 3B is a single-board computer based on the Pico-ITX form
-factor (100mm x 75mm). Two versions of the ROCK 3B exists, a community
-version based on the RK3568 SoC and an industrial version based on the
-RK3568J SoC.
-
-Add initial support for eMMC, SD-card, Ethernet, HDMI, PCIe and USB.
-
-Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
-Link: https://lore.kernel.org/r/20240627211737.1985549-3-jonas@kwiboo.se
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/Makefile         |   1 +
- .../boot/dts/rockchip/rk3568-rock-3b.dts      | 781 ++++++++++++++++++
- 2 files changed, 782 insertions(+)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
-
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -101,6 +101,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-od
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-radxa-e25.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-roc-pc.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3a.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3b.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-io.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6b-io.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-v10.dtb
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3b.dts
-@@ -0,0 +1,781 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+
-+/dts-v1/;
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/leds/common.h>
-+#include <dt-bindings/pinctrl/rockchip.h>
-+#include <dt-bindings/soc/rockchip,vop2.h>
-+#include "rk3568.dtsi"
-+
-+/ {
-+      model = "Radxa ROCK 3B";
-+      compatible = "radxa,rock-3b", "rockchip,rk3568";
-+
-+      aliases {
-+              ethernet0 = &gmac0;
-+              ethernet1 = &gmac1;
-+              mmc0 = &sdhci;
-+              mmc1 = &sdmmc0;
-+              mmc2 = &sdmmc2;
-+      };
-+
-+      chosen {
-+              stdout-path = "serial2:1500000n8";
-+      };
-+
-+      hdmi-con {
-+              compatible = "hdmi-connector";
-+              type = "a";
-+
-+              port {
-+                      hdmi_con_in: endpoint {
-+                              remote-endpoint = <&hdmi_out_con>;
-+                      };
-+              };
-+      };
-+
-+      ir-receiver {
-+              compatible = "gpio-ir-receiver";
-+              gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_LOW>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pwm3_ir>;
-+      };
-+
-+      leds {
-+              compatible = "gpio-leds";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&led>;
-+
-+              led-0 {
-+                      color = <LED_COLOR_ID_GREEN>;
-+                      default-state = "on";
-+                      function = LED_FUNCTION_HEARTBEAT;
-+                      gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
-+                      linux,default-trigger = "heartbeat";
-+              };
-+      };
-+
-+      /* pi6c pcie clock generator */
-+      vcc3v3_pi6c_03: regulator-3v3-vcc-pi6c-03 {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pcie_pwren_h>;
-+              regulator-name = "vcc3v3_pi6c_03";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              startup-delay-us = <10000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc3v3_sys: regulator-3v3-vcc-sys {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc3v3_sys";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc3v3_sys2: regulator-3v3-vcc-sys2 {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc3v3_sys2";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc5v0_sys: regulator-5v0-vcc-sys {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc5v0_sys";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+      };
-+
-+      vcc5v0_usb_host: regulator-5v0-vcc-usb-host {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&usb_host_pwren_h>;
-+              regulator-name = "vcc5v0_usb_host";
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc5v0_usb_otg: regulator-5v0-vcc-usb-otg {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&usb_otg_pwren_h>;
-+              regulator-name = "vcc5v0_usb_otg";
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      sdio_pwrseq: sdio-pwrseq {
-+              compatible = "mmc-pwrseq-simple";
-+              clocks = <&rk809 1>;
-+              clock-names = "ext_clock";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&wifi_reg_on_h>;
-+              post-power-on-delay-ms = <100>;
-+              power-off-delay-us = <5000000>;
-+              reset-gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>;
-+      };
-+
-+      sound {
-+              compatible = "simple-audio-card";
-+              simple-audio-card,format = "i2s";
-+              simple-audio-card,name = "Analog RK809";
-+              simple-audio-card,mclk-fs = <256>;
-+
-+              simple-audio-card,cpu {
-+                      sound-dai = <&i2s1_8ch>;
-+              };
-+
-+              simple-audio-card,codec {
-+                      sound-dai = <&rk809>;
-+              };
-+      };
-+};
-+
-+&combphy0 {
-+      status = "okay";
-+};
-+
-+&combphy1 {
-+      status = "okay";
-+};
-+
-+&combphy2 {
-+      status = "okay";
-+};
-+
-+&cpu0 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&cpu1 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&cpu2 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&cpu3 {
-+      cpu-supply = <&vdd_cpu>;
-+};
-+
-+&gmac0 {
-+      assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
-+      assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>;
-+      clock_in_out = "input";
-+      phy-handle = <&rgmii_phy0>;
-+      phy-mode = "rgmii-id";
-+      phy-supply = <&vcc_3v3>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&gmac0_miim
-+                   &gmac0_tx_bus2
-+                   &gmac0_rx_bus2
-+                   &gmac0_rgmii_clk
-+                   &gmac0_rgmii_bus
-+                   &gmac0_clkinout>;
-+      status = "okay";
-+};
-+
-+&gmac1 {
-+      assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
-+      assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
-+      clock_in_out = "input";
-+      phy-handle = <&rgmii_phy1>;
-+      phy-mode = "rgmii-id";
-+      phy-supply = <&vcc_3v3>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&gmac1m1_miim
-+                   &gmac1m1_tx_bus2
-+                   &gmac1m1_rx_bus2
-+                   &gmac1m1_rgmii_clk
-+                   &gmac1m1_rgmii_bus
-+                   &gmac1m1_clkinout>;
-+      status = "okay";
-+};
-+
-+&gpu {
-+      mali-supply = <&vdd_gpu>;
-+      status = "okay";
-+};
-+
-+&hdmi {
-+      avdd-0v9-supply = <&vdda0v9_image>;
-+      avdd-1v8-supply = <&vcca1v8_image>;
-+      status = "okay";
-+};
-+
-+&hdmi_in {
-+      hdmi_in_vp0: endpoint {
-+              remote-endpoint = <&vp0_out_hdmi>;
-+      };
-+};
-+
-+&hdmi_out {
-+      hdmi_out_con: endpoint {
-+              remote-endpoint = <&hdmi_con_in>;
-+      };
-+};
-+
-+&hdmi_sound {
-+      status = "okay";
-+};
-+
-+&i2c0 {
-+      status = "okay";
-+
-+      vdd_cpu: regulator@1c {
-+              compatible = "tcs,tcs4525";
-+              reg = <0x1c>;
-+              fcs,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_cpu";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <800000>;
-+              regulator-max-microvolt = <1150000>;
-+              regulator-ramp-delay = <2300>;
-+              vin-supply = <&vcc5v0_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+
-+      rk809: pmic@20 {
-+              compatible = "rockchip,rk809";
-+              reg = <0x20>;
-+              assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
-+              assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
-+              #clock-cells = <1>;
-+              clocks = <&cru I2S1_MCLKOUT_TX>;
-+              clock-names = "mclk";
-+              clock-output-names = "rk809-clkout1", "rk809-clkout2";
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
-+              #sound-dai-cells = <0>;
-+              system-power-controller;
-+              wakeup-source;
-+
-+              vcc1-supply = <&vcc3v3_sys>;
-+              vcc2-supply = <&vcc3v3_sys>;
-+              vcc3-supply = <&vcc3v3_sys>;
-+              vcc4-supply = <&vcc3v3_sys>;
-+              vcc5-supply = <&vcc3v3_sys>;
-+              vcc6-supply = <&vcc3v3_sys>;
-+              vcc7-supply = <&vcc3v3_sys>;
-+              vcc8-supply = <&vcc3v3_sys>;
-+              vcc9-supply = <&vcc3v3_sys>;
-+
-+              regulators {
-+                      vdd_logic: DCDC_REG1 {
-+                              regulator-name = "vdd_logic";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-initial-mode = <0x2>;
-+                              regulator-min-microvolt = <500000>;
-+                              regulator-max-microvolt = <1350000>;
-+                              regulator-ramp-delay = <6001>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_gpu: DCDC_REG2 {
-+                              regulator-name = "vdd_gpu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-initial-mode = <0x2>;
-+                              regulator-min-microvolt = <500000>;
-+                              regulator-max-microvolt = <1350000>;
-+                              regulator-ramp-delay = <6001>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_ddr: DCDC_REG3 {
-+                              regulator-name = "vcc_ddr";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-initial-mode = <0x2>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_npu: DCDC_REG4 {
-+                              regulator-name = "vdd_npu";
-+                              regulator-initial-mode = <0x2>;
-+                              regulator-min-microvolt = <500000>;
-+                              regulator-max-microvolt = <1350000>;
-+                              regulator-ramp-delay = <6001>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_1v8: DCDC_REG5 {
-+                              regulator-name = "vcc_1v8";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdda0v9_image: LDO_REG1 {
-+                              regulator-name = "vdda0v9_image";
-+                              regulator-min-microvolt = <900000>;
-+                              regulator-max-microvolt = <900000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdda_0v9: LDO_REG2 {
-+                              regulator-name = "vdda_0v9";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <900000>;
-+                              regulator-max-microvolt = <900000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdda0v9_pmu: LDO_REG3 {
-+                              regulator-name = "vdda0v9_pmu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <900000>;
-+                              regulator-max-microvolt = <900000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <900000>;
-+                              };
-+                      };
-+
-+                      vccio_acodec: LDO_REG4 {
-+                              regulator-name = "vccio_acodec";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vccio_sd: LDO_REG5 {
-+                              regulator-name = "vccio_sd";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <3300000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc3v3_pmu: LDO_REG6 {
-+                              regulator-name = "vcc3v3_pmu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <3300000>;
-+                              };
-+                      };
-+
-+                      vcca_1v8: LDO_REG7 {
-+                              regulator-name = "vcca_1v8";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcca1v8_pmu: LDO_REG8 {
-+                              regulator-name = "vcca1v8_pmu";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      vcca1v8_image: LDO_REG9 {
-+                              regulator-name = "vcca1v8_image";
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_3v3: SWITCH_REG1 {
-+                              regulator-name = "vcc_3v3";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc3v3_sd: SWITCH_REG2 {
-+                              regulator-name = "vcc3v3_sd";
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+              };
-+      };
-+};
-+
-+&i2c5 {
-+      status = "okay";
-+
-+      hym8563: rtc@51 {
-+              compatible = "haoyu,hym8563";
-+              reg = <0x51>;
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
-+              #clock-cells = <0>;
-+              clock-output-names = "rtcic_32kout";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&rtcic_int_l>;
-+              wakeup-source;
-+      };
-+};
-+
-+&i2s0_8ch {
-+      status = "okay";
-+};
-+
-+&i2s1_8ch {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&i2s1m0_sclktx
-+                   &i2s1m0_lrcktx
-+                   &i2s1m0_sdi0
-+                   &i2s1m0_sdo0>;
-+      rockchip,trcm-sync-tx-only;
-+      status = "okay";
-+};
-+
-+&mdio0 {
-+      rgmii_phy0: ethernet-phy@1 {
-+              compatible = "ethernet-phy-ieee802.3-c22";
-+              reg = <1>;
-+              reset-assert-us = <20000>;
-+              reset-deassert-us = <50000>;
-+              reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
-+      };
-+};
-+
-+&mdio1 {
-+      rgmii_phy1: ethernet-phy@1 {
-+              compatible = "ethernet-phy-ieee802.3-c22";
-+              reg = <1>;
-+              reset-assert-us = <20000>;
-+              reset-deassert-us = <50000>;
-+              reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
-+      };
-+};
-+
-+&pcie2x1 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&pcie20m1_pins>;
-+      reset-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc3v3_sys2>;
-+      status = "okay";
-+};
-+
-+&pcie30phy {
-+      status = "okay";
-+};
-+
-+&pcie3x2 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&pcie30x2m1_pins>;
-+      reset-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_HIGH>;
-+      status = "okay";
-+};
-+
-+&pinctrl {
-+      bluetooth {
-+              bt_reg_on_h: bt-reg-on-h {
-+                      rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              bt_wake_host_h: bt-wake-host-h {
-+                      rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              host_wake_bt_h: host-wake-bt-h {
-+                      rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      ir-receiver {
-+              pwm3_ir: pwm3-ir {
-+                      rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      leds {
-+              led: led {
-+                      rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pcie {
-+              pcie_pwren_h: pcie-pwren-h {
-+                      rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pcie20 {
-+              pcie20m1_pins: pcie20m1-pins {
-+                      rockchip,pins =
-+                              <2 RK_PD0 4 &pcfg_pull_none>,
-+                              <3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>,
-+                              <2 RK_PD1 4 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pcie30x2 {
-+              pcie30x2m1_pins: pcie30x2m1-pins {
-+                      rockchip,pins =
-+                              <2 RK_PD4 4 &pcfg_pull_none>,
-+                              <2 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>,
-+                              <2 RK_PD5 4 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pmic {
-+              pmic_int_l: pmic-int-l {
-+                      rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
-+              };
-+      };
-+
-+      rtc {
-+              rtcic_int_l: rtcic-int-l {
-+                      rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
-+              };
-+      };
-+
-+      usb {
-+              usb_host_pwren_h: usb-host-pwren-h {
-+                      rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              usb_otg_pwren_h: usb-otg-pwren-h {
-+                      rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      wifi {
-+              wifi_reg_on_h: wifi-reg-on-h {
-+                      rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              wifi_wake_host_h: wifi-wake-host-h {
-+                      rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+};
-+
-+&pmu_io_domains {
-+      pmuio1-supply = <&vcc3v3_pmu>;
-+      pmuio2-supply = <&vcc3v3_pmu>;
-+      vccio1-supply = <&vccio_acodec>;
-+      vccio2-supply = <&vcc_1v8>;
-+      vccio3-supply = <&vccio_sd>;
-+      vccio4-supply = <&vcc_1v8>;
-+      vccio5-supply = <&vcc_3v3>;
-+      vccio6-supply = <&vcc_1v8>;
-+      vccio7-supply = <&vcc_3v3>;
-+      status = "okay";
-+};
-+
-+&saradc {
-+      vref-supply = <&vcca_1v8>;
-+      status = "okay";
-+};
-+
-+&sdhci {
-+      bus-width = <8>;
-+      cap-mmc-highspeed;
-+      max-frequency = <200000000>;
-+      mmc-hs200-1_8v;
-+      non-removable;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
-+      vmmc-supply = <&vcc_3v3>;
-+      vqmmc-supply = <&vcc_1v8>;
-+      status = "okay";
-+};
-+
-+&sdmmc0 {
-+      bus-width = <4>;
-+      cap-sd-highspeed;
-+      disable-wp;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
-+      vmmc-supply = <&vcc3v3_sd>;
-+      vqmmc-supply = <&vccio_sd>;
-+      status = "okay";
-+};
-+
-+&sdmmc2 {
-+      bus-width = <4>;
-+      cap-sd-highspeed;
-+      cap-sdio-irq;
-+      keep-power-in-suspend;
-+      mmc-pwrseq = <&sdio_pwrseq>;
-+      non-removable;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_clk &sdmmc2m0_cmd>;
-+      sd-uhs-sdr104;
-+      vmmc-supply = <&vcc3v3_sys2>;
-+      vqmmc-supply = <&vcc_1v8>;
-+      status = "disabled";
-+};
-+
-+&sfc {
-+      #address-cells = <1>;
-+      #size-cells = <0>;
-+      status = "okay";
-+
-+      flash@0 {
-+              compatible = "jedec,spi-nor";
-+              reg = <0>;
-+              spi-max-frequency = <104000000>;
-+              spi-rx-bus-width = <4>;
-+              spi-tx-bus-width = <1>;
-+      };
-+};
-+
-+&tsadc {
-+      rockchip,hw-tshut-mode = <1>;
-+      rockchip,hw-tshut-polarity = <0>;
-+      status = "okay";
-+};
-+
-+&uart2 {
-+      status = "okay";
-+};
-+
-+&uart8 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&uart8m0_xfer &uart8m0_ctsn &uart8m0_rtsn>;
-+      uart-has-rtscts;
-+      status = "disabled";
-+};
-+
-+&usb_host0_ehci {
-+      status = "okay";
-+};
-+
-+&usb_host0_ohci {
-+      status = "okay";
-+};
-+
-+&usb_host0_xhci {
-+      extcon = <&usb2phy0>;
-+      status = "okay";
-+};
-+
-+&usb_host1_xhci {
-+      status = "okay";
-+};
-+
-+&usb2phy0 {
-+      status = "okay";
-+};
-+
-+&usb2phy0_host {
-+      phy-supply = <&vcc5v0_usb_host>;
-+      status = "okay";
-+};
-+
-+&usb2phy0_otg {
-+      phy-supply = <&vcc5v0_usb_otg>;
-+      status = "okay";
-+};
-+
-+&usb2phy1 {
-+      status = "okay";
-+};
-+
-+&usb2phy1_otg {
-+      phy-supply = <&vcc5v0_usb_host>;
-+      status = "okay";
-+};
-+
-+&vop {
-+      assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
-+      assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
-+      status = "okay";
-+};
-+
-+&vop_mmu {
-+      status = "okay";
-+};
-+
-+&vp0 {
-+      vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
-+              reg = <ROCKCHIP_VOP2_EP_HDMI0>;
-+              remote-endpoint = <&hdmi_in_vp0>;
-+      };
-+};
diff --git a/target/linux/rockchip/patches-6.12/015-v6.10-arm64-dts-rockchip-correct-the-model-name-for-Radxa-.patch b/target/linux/rockchip/patches-6.12/015-v6.10-arm64-dts-rockchip-correct-the-model-name-for-Radxa-.patch
deleted file mode 100644 (file)
index d03039d..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 626a479873b6a680b3227c4852bde4a1f2c17fdf Mon Sep 17 00:00:00 2001
-From: Chukun Pan <amadeus@jmu.edu.cn>
-Date: Fri, 19 Apr 2024 18:30:19 +0800
-Subject: [PATCH] arm64: dts: rockchip: correct the model name for Radxa ROCK
- 3A
-
-According to https://radxa.com/products/rock3/3a,
-the name of this board should be "Radxa ROCK 3A".
-
-Suggested-by: FUKAUMI Naoki <naoki@radxa.com>
-Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
-Reviewed-by: Dragan Simic <dsimic@manjaro.org>
-Link: https://lore.kernel.org/r/20240419103019.992586-3-amadeus@jmu.edu.cn
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
-@@ -8,7 +8,7 @@
- #include "rk3568.dtsi"
- / {
--      model = "Radxa ROCK3 Model A";
-+      model = "Radxa ROCK 3A";
-       compatible = "radxa,rock3a", "rockchip,rk3568";
-       aliases {
diff --git a/target/linux/rockchip/patches-6.12/016-v6.12-hwrng-rockchip-add-hwrng-driver-for-Rockchip-RK3568-.patch b/target/linux/rockchip/patches-6.12/016-v6.12-hwrng-rockchip-add-hwrng-driver-for-Rockchip-RK3568-.patch
deleted file mode 100644 (file)
index 7eed8cc..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-From dcf4fef6631c302f9bdd188979fe3172e47a29c7 Mon Sep 17 00:00:00 2001
-From: Aurelien Jarno <aurelien@aurel32.net>
-Date: Tue, 30 Jul 2024 17:11:04 +0100
-Subject: [PATCH] hwrng: rockchip - add hwrng driver for Rockchip RK3568 SoC
-
-Rockchip SoCs used to have a random number generator as part of their
-crypto device, and support for it has to be added to the corresponding
-driver. However newer Rockchip SoCs like the RK3568 have an independent
-True Random Number Generator device. This patch adds a driver for it,
-greatly inspired from the downstream driver.
-
-The TRNG device does not seem to have a signal conditionner and the FIPS
-140-2 test returns a lot of failures. They can be reduced by increasing
-RK_RNG_SAMPLE_CNT, in a tradeoff between quality and speed. This value
-has been adjusted to get ~90% of successes and the quality value has
-been set accordingly.
-
-Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-[daniel@makrotpia.org: code style fixes]
-Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
-Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
----
- MAINTAINERS                           |   1 +
- drivers/char/hw_random/Kconfig        |  14 ++
- drivers/char/hw_random/Makefile       |   1 +
- drivers/char/hw_random/rockchip-rng.c | 227 ++++++++++++++++++++++++++
- 4 files changed, 243 insertions(+)
- create mode 100644 drivers/char/hw_random/rockchip-rng.c
-
---- a/drivers/char/hw_random/Kconfig
-+++ b/drivers/char/hw_random/Kconfig
-@@ -573,6 +573,20 @@ config HW_RANDOM_JH7110
-         To compile this driver as a module, choose M here.
-         The module will be called jh7110-trng.
-+config HW_RANDOM_ROCKCHIP
-+      tristate "Rockchip True Random Number Generator"
-+      depends on HW_RANDOM && (ARCH_ROCKCHIP || COMPILE_TEST)
-+      depends on HAS_IOMEM
-+      default HW_RANDOM
-+      help
-+        This driver provides kernel-side support for the True Random Number
-+        Generator hardware found on some Rockchip SoC like RK3566 or RK3568.
-+
-+        To compile this driver as a module, choose M here: the
-+        module will be called rockchip-rng.
-+
-+        If unsure, say Y.
-+
- endif # HW_RANDOM
- config UML_RANDOM
---- a/drivers/char/hw_random/Makefile
-+++ b/drivers/char/hw_random/Makefile
-@@ -48,4 +48,5 @@ obj-$(CONFIG_HW_RANDOM_XIPHERA) += xiphe
- obj-$(CONFIG_HW_RANDOM_ARM_SMCCC_TRNG) += arm_smccc_trng.o
- obj-$(CONFIG_HW_RANDOM_CN10K) += cn10k-rng.o
- obj-$(CONFIG_HW_RANDOM_POLARFIRE_SOC) += mpfs-rng.o
-+obj-$(CONFIG_HW_RANDOM_ROCKCHIP) += rockchip-rng.o
- obj-$(CONFIG_HW_RANDOM_JH7110) += jh7110-trng.o
---- /dev/null
-+++ b/drivers/char/hw_random/rockchip-rng.c
-@@ -0,0 +1,227 @@
-+// SPDX-License-Identifier: GPL-2.0
-+/*
-+ * rockchip-rng.c True Random Number Generator driver for Rockchip RK3568 SoC
-+ *
-+ * Copyright (c) 2018, Fuzhou Rockchip Electronics Co., Ltd.
-+ * Copyright (c) 2022, Aurelien Jarno
-+ * Authors:
-+ *  Lin Jinhan <troy.lin@rock-chips.com>
-+ *  Aurelien Jarno <aurelien@aurel32.net>
-+ */
-+#include <linux/clk.h>
-+#include <linux/hw_random.h>
-+#include <linux/io.h>
-+#include <linux/iopoll.h>
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/of.h>
-+#include <linux/platform_device.h>
-+#include <linux/pm_runtime.h>
-+#include <linux/reset.h>
-+#include <linux/slab.h>
-+
-+#define RK_RNG_AUTOSUSPEND_DELAY      100
-+#define RK_RNG_MAX_BYTE                       32
-+#define RK_RNG_POLL_PERIOD_US         100
-+#define RK_RNG_POLL_TIMEOUT_US                10000
-+
-+/*
-+ * TRNG collects osc ring output bit every RK_RNG_SAMPLE_CNT time. The value is
-+ * a tradeoff between speed and quality and has been adjusted to get a quality
-+ * of ~900 (~87.5% of FIPS 140-2 successes).
-+ */
-+#define RK_RNG_SAMPLE_CNT             1000
-+
-+/* TRNG registers from RK3568 TRM-Part2, section 5.4.1 */
-+#define TRNG_RST_CTL                  0x0004
-+#define TRNG_RNG_CTL                  0x0400
-+#define TRNG_RNG_CTL_LEN_64_BIT               (0x00 << 4)
-+#define TRNG_RNG_CTL_LEN_128_BIT      (0x01 << 4)
-+#define TRNG_RNG_CTL_LEN_192_BIT      (0x02 << 4)
-+#define TRNG_RNG_CTL_LEN_256_BIT      (0x03 << 4)
-+#define TRNG_RNG_CTL_OSC_RING_SPEED_0 (0x00 << 2)
-+#define TRNG_RNG_CTL_OSC_RING_SPEED_1 (0x01 << 2)
-+#define TRNG_RNG_CTL_OSC_RING_SPEED_2 (0x02 << 2)
-+#define TRNG_RNG_CTL_OSC_RING_SPEED_3 (0x03 << 2)
-+#define TRNG_RNG_CTL_MASK             GENMASK(15, 0)
-+#define TRNG_RNG_CTL_ENABLE           BIT(1)
-+#define TRNG_RNG_CTL_START            BIT(0)
-+#define TRNG_RNG_SAMPLE_CNT           0x0404
-+#define TRNG_RNG_DOUT                 0x0410
-+
-+struct rk_rng {
-+      struct hwrng rng;
-+      void __iomem *base;
-+      struct reset_control *rst;
-+      int clk_num;
-+      struct clk_bulk_data *clk_bulks;
-+};
-+
-+/* The mask in the upper 16 bits determines the bits that are updated */
-+static void rk_rng_write_ctl(struct rk_rng *rng, u32 val, u32 mask)
-+{
-+      writel((mask << 16) | val, rng->base + TRNG_RNG_CTL);
-+}
-+
-+static int rk_rng_init(struct hwrng *rng)
-+{
-+      struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
-+      int ret;
-+
-+      /* start clocks */
-+      ret = clk_bulk_prepare_enable(rk_rng->clk_num, rk_rng->clk_bulks);
-+      if (ret < 0) {
-+              dev_err((struct device *) rk_rng->rng.priv,
-+                      "Failed to enable clks %d\n", ret);
-+              return ret;
-+      }
-+
-+      /* set the sample period */
-+      writel(RK_RNG_SAMPLE_CNT, rk_rng->base + TRNG_RNG_SAMPLE_CNT);
-+
-+      /* set osc ring speed and enable it */
-+      rk_rng_write_ctl(rk_rng, TRNG_RNG_CTL_LEN_256_BIT |
-+                               TRNG_RNG_CTL_OSC_RING_SPEED_0 |
-+                               TRNG_RNG_CTL_ENABLE,
-+                       TRNG_RNG_CTL_MASK);
-+
-+      return 0;
-+}
-+
-+static void rk_rng_cleanup(struct hwrng *rng)
-+{
-+      struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
-+
-+      /* stop TRNG */
-+      rk_rng_write_ctl(rk_rng, 0, TRNG_RNG_CTL_MASK);
-+
-+      /* stop clocks */
-+      clk_bulk_disable_unprepare(rk_rng->clk_num, rk_rng->clk_bulks);
-+}
-+
-+static int rk_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait)
-+{
-+      struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng);
-+      size_t to_read = min_t(size_t, max, RK_RNG_MAX_BYTE);
-+      u32 reg;
-+      int ret = 0;
-+
-+      ret = pm_runtime_resume_and_get((struct device *) rk_rng->rng.priv);
-+      if (ret < 0)
-+              return ret;
-+
-+      /* Start collecting random data */
-+      rk_rng_write_ctl(rk_rng, TRNG_RNG_CTL_START, TRNG_RNG_CTL_START);
-+
-+      ret = readl_poll_timeout(rk_rng->base + TRNG_RNG_CTL, reg,
-+                               !(reg & TRNG_RNG_CTL_START),
-+                               RK_RNG_POLL_PERIOD_US,
-+                               RK_RNG_POLL_TIMEOUT_US);
-+      if (ret < 0)
-+              goto out;
-+
-+      /* Read random data stored in the registers */
-+      memcpy_fromio(buf, rk_rng->base + TRNG_RNG_DOUT, to_read);
-+out:
-+      pm_runtime_mark_last_busy((struct device *) rk_rng->rng.priv);
-+      pm_runtime_put_sync_autosuspend((struct device *) rk_rng->rng.priv);
-+
-+      return (ret < 0) ? ret : to_read;
-+}
-+
-+static int rk_rng_probe(struct platform_device *pdev)
-+{
-+      struct device *dev = &pdev->dev;
-+      struct rk_rng *rk_rng;
-+      int ret;
-+
-+      rk_rng = devm_kzalloc(dev, sizeof(*rk_rng), GFP_KERNEL);
-+      if (!rk_rng)
-+              return -ENOMEM;
-+
-+      rk_rng->base = devm_platform_ioremap_resource(pdev, 0);
-+      if (IS_ERR(rk_rng->base))
-+              return PTR_ERR(rk_rng->base);
-+
-+      rk_rng->clk_num = devm_clk_bulk_get_all(dev, &rk_rng->clk_bulks);
-+      if (rk_rng->clk_num < 0)
-+              return dev_err_probe(dev, rk_rng->clk_num,
-+                                   "Failed to get clks property\n");
-+
-+      rk_rng->rst = devm_reset_control_array_get_exclusive(&pdev->dev);
-+      if (IS_ERR(rk_rng->rst))
-+              return dev_err_probe(dev, PTR_ERR(rk_rng->rst),
-+                                   "Failed to get reset property\n");
-+
-+      reset_control_assert(rk_rng->rst);
-+      udelay(2);
-+      reset_control_deassert(rk_rng->rst);
-+
-+      platform_set_drvdata(pdev, rk_rng);
-+
-+      rk_rng->rng.name = dev_driver_string(dev);
-+      if (!IS_ENABLED(CONFIG_PM)) {
-+              rk_rng->rng.init = rk_rng_init;
-+              rk_rng->rng.cleanup = rk_rng_cleanup;
-+      }
-+      rk_rng->rng.read = rk_rng_read;
-+      rk_rng->rng.priv = (unsigned long) dev;
-+      rk_rng->rng.quality = 900;
-+
-+      pm_runtime_set_autosuspend_delay(dev, RK_RNG_AUTOSUSPEND_DELAY);
-+      pm_runtime_use_autosuspend(dev);
-+      devm_pm_runtime_enable(dev);
-+
-+      ret = devm_hwrng_register(dev, &rk_rng->rng);
-+      if (ret)
-+              return dev_err_probe(&pdev->dev, ret, "Failed to register Rockchip hwrng\n");
-+
-+      return 0;
-+}
-+
-+static int __maybe_unused rk_rng_runtime_suspend(struct device *dev)
-+{
-+      struct rk_rng *rk_rng = dev_get_drvdata(dev);
-+
-+      rk_rng_cleanup(&rk_rng->rng);
-+
-+      return 0;
-+}
-+
-+static int __maybe_unused rk_rng_runtime_resume(struct device *dev)
-+{
-+      struct rk_rng *rk_rng = dev_get_drvdata(dev);
-+
-+      return rk_rng_init(&rk_rng->rng);
-+}
-+
-+static const struct dev_pm_ops rk_rng_pm_ops = {
-+      SET_RUNTIME_PM_OPS(rk_rng_runtime_suspend,
-+                              rk_rng_runtime_resume, NULL)
-+      SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend,
-+                              pm_runtime_force_resume)
-+};
-+
-+static const struct of_device_id rk_rng_dt_match[] = {
-+      { .compatible = "rockchip,rk3568-rng", },
-+      { /* sentinel */ },
-+};
-+
-+MODULE_DEVICE_TABLE(of, rk_rng_dt_match);
-+
-+static struct platform_driver rk_rng_driver = {
-+      .driver = {
-+              .name   = "rockchip-rng",
-+              .pm     = &rk_rng_pm_ops,
-+              .of_match_table = rk_rng_dt_match,
-+      },
-+      .probe  = rk_rng_probe,
-+};
-+
-+module_platform_driver(rk_rng_driver);
-+
-+MODULE_DESCRIPTION("Rockchip RK3568 True Random Number Generator driver");
-+MODULE_AUTHOR("Lin Jinhan <troy.lin@rock-chips.com>");
-+MODULE_AUTHOR("Aurelien Jarno <aurelien@aurel32.net>");
-+MODULE_AUTHOR("Daniel Golle <daniel@makrotopia.org>");
-+MODULE_LICENSE("GPL");
diff --git a/target/linux/rockchip/patches-6.12/017-v6.12-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK356x.patch b/target/linux/rockchip/patches-6.12/017-v6.12-arm64-dts-rockchip-add-DT-entry-for-RNG-to-RK356x.patch
deleted file mode 100644 (file)
index bd25881..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-From afeccc4084963aaa932931b734c8def55613c483 Mon Sep 17 00:00:00 2001
-From: Aurelien Jarno <aurelien@aurel32.net>
-Date: Tue, 30 Jul 2024 17:11:44 +0100
-Subject: [PATCH] arm64: dts: rockchip: add DT entry for RNG to RK356x
-
-Include the just added Rockchip RNG driver for RK356x SoCs and
-enable it on RK3568.
-
-Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
-Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-Link: https://lore.kernel.org/r/d2beb15377dc8b580ca5557b1a4a6f50b74055aa.1722355365.git.daniel@makrotopia.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3568.dtsi |  4 ++++
- arch/arm64/boot/dts/rockchip/rk356x.dtsi | 10 ++++++++++
- 2 files changed, 14 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
-@@ -257,6 +257,10 @@
-       };
- };
-+&rng {
-+      status = "okay";
-+};
-+
- &usb_host0_xhci {
-       phys = <&usb2phy0_otg>, <&combphy0 PHY_TYPE_USB3>;
-       phy-names = "usb2-phy", "usb3-phy";
---- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
-@@ -1106,6 +1106,16 @@
-               status = "disabled";
-       };
-+      rng: rng@fe388000 {
-+              compatible = "rockchip,rk3568-rng";
-+              reg = <0x0 0xfe388000 0x0 0x4000>;
-+              clocks = <&cru CLK_TRNG_NS>, <&cru HCLK_TRNG_NS>;
-+              clock-names = "core", "ahb";
-+              resets = <&cru SRST_TRNG_NS>;
-+              reset-names = "reset";
-+              status = "disabled";
-+      };
-+
-       i2s0_8ch: i2s@fe400000 {
-               compatible = "rockchip,rk3568-i2s-tdm";
-               reg = <0x0 0xfe400000 0x0 0x1000>;
diff --git a/target/linux/rockchip/patches-6.12/018-v6.12-arm64-dts-rockchip-drop-obsolete-reset-names-from-rk.patch b/target/linux/rockchip/patches-6.12/018-v6.12-arm64-dts-rockchip-drop-obsolete-reset-names-from-rk.patch
deleted file mode 100644 (file)
index 14fcf50..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From ec532f3591ce6e6ed5ec6c35773a66aae118e1f0 Mon Sep 17 00:00:00 2001
-From: Heiko Stuebner <heiko@sntech.de>
-Date: Thu, 15 Aug 2024 18:25:19 +0200
-Subject: [PATCH] arm64: dts: rockchip: drop obsolete reset-names from rk356x
- rng node
-
-The reset-names property is not part of the binding, so drop it.
-It is also not used by the driver, so that property was likely
-a leftover from some vendor-kernel node.
-
-Fixes: afeccc408496 ("arm64: dts: rockchip: add DT entry for RNG to RK356x")
-Reported-by: Rob Herring <robh@kernel.org>
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
-Link: https://lore.kernel.org/r/20240815162519.751193-1-heiko@sntech.de
----
- arch/arm64/boot/dts/rockchip/rk356x.dtsi | 1 -
- 1 file changed, 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
-@@ -1112,7 +1112,6 @@
-               clocks = <&cru CLK_TRNG_NS>, <&cru HCLK_TRNG_NS>;
-               clock-names = "core", "ahb";
-               resets = <&cru SRST_TRNG_NS>;
--              reset-names = "reset";
-               status = "disabled";
-       };
diff --git a/target/linux/rockchip/patches-6.12/019-v6.13-arm64-dts-rockchip-add-reset-names-for-combphy-on-rk.patch b/target/linux/rockchip/patches-6.12/019-v6.13-arm64-dts-rockchip-add-reset-names-for-combphy-on-rk.patch
deleted file mode 100644 (file)
index e98db5f..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-From 8b9c12757f919157752646faf3821abf2b7d2a64 Mon Sep 17 00:00:00 2001
-From: Chukun Pan <amadeus@jmu.edu.cn>
-Date: Fri, 22 Nov 2024 15:30:05 +0800
-Subject: [PATCH] arm64: dts: rockchip: add reset-names for combphy on rk3568
-
-The reset-names of combphy are missing, add it.
-
-Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
-Fixes: fd3ac6e80497 ("dt-bindings: phy: rockchip: rk3588 has two reset lines")
-Link: https://lore.kernel.org/r/20241122073006.99309-1-amadeus@jmu.edu.cn
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3568.dtsi      | 1 +
- arch/arm64/boot/dts/rockchip/rk356x-base.dtsi | 2 ++
- 2 files changed, 3 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3568.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3568.dtsi
-@@ -223,6 +223,7 @@
-               assigned-clocks = <&pmucru CLK_PCIEPHY0_REF>;
-               assigned-clock-rates = <100000000>;
-               resets = <&cru SRST_PIPEPHY0>;
-+              reset-names = "phy";
-               rockchip,pipe-grf = <&pipegrf>;
-               rockchip,pipe-phy-grf = <&pipe_phy_grf0>;
-               #phy-cells = <1>;
---- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
-@@ -1756,6 +1756,7 @@
-               assigned-clocks = <&pmucru CLK_PCIEPHY1_REF>;
-               assigned-clock-rates = <100000000>;
-               resets = <&cru SRST_PIPEPHY1>;
-+              reset-names = "phy";
-               rockchip,pipe-grf = <&pipegrf>;
-               rockchip,pipe-phy-grf = <&pipe_phy_grf1>;
-               #phy-cells = <1>;
-@@ -1772,6 +1773,7 @@
-               assigned-clocks = <&pmucru CLK_PCIEPHY2_REF>;
-               assigned-clock-rates = <100000000>;
-               resets = <&cru SRST_PIPEPHY2>;
-+              reset-names = "phy";
-               rockchip,pipe-grf = <&pipegrf>;
-               rockchip,pipe-phy-grf = <&pipe_phy_grf2>;
-               #phy-cells = <1>;
index 92e9bf6c868d84e8dda6ac56bd28716a2783444e..ef1e51f1cc08b0172d3f0be827654190ed6d4946 100644 (file)
@@ -52,7 +52,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
  #include <linux/slab.h>
  #include <linux/syscore_ops.h>
  
-@@ -163,6 +166,7 @@ struct its_device {
+@@ -166,6 +169,7 @@ struct its_device {
        struct its_node         *its;
        struct event_lpi_map    event_map;
        void                    *itt;
@@ -60,7 +60,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
        u32                     nr_ites;
        u32                     device_id;
        bool                    shared;
-@@ -198,6 +202,87 @@ static DEFINE_IDA(its_vpeid_ida);
+@@ -201,6 +205,87 @@ static DEFINE_IDA(its_vpeid_ida);
  #define gic_data_rdist_rd_base()      (gic_data_rdist()->rd_base)
  #define gic_data_rdist_vlpi_base()    (gic_data_rdist_rd_base() + SZ_128K)
  
@@ -148,7 +148,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
  /*
   * Skip ITSs that have no vLPIs mapped, unless we're on GICv4.1, as we
   * always have vSGIs mapped.
-@@ -2192,7 +2277,8 @@ static struct page *its_allocate_prop_ta
+@@ -2183,7 +2268,8 @@ static struct page *its_allocate_prop_ta
  {
        struct page *prop_page;
  
@@ -158,7 +158,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
        if (!prop_page)
                return NULL;
  
-@@ -2203,8 +2289,7 @@ static struct page *its_allocate_prop_ta
+@@ -2194,8 +2280,7 @@ static struct page *its_allocate_prop_ta
  
  static void its_free_prop_table(struct page *prop_page)
  {
@@ -168,7 +168,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
  }
  
  static bool gic_check_reserved_range(phys_addr_t addr, unsigned long size)
-@@ -2326,7 +2411,7 @@ static int its_setup_baser(struct its_no
+@@ -2317,7 +2402,7 @@ static int its_setup_baser(struct its_no
                order = get_order(GITS_BASER_PAGES_MAX * psz);
        }
  
@@ -177,7 +177,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
        if (!page)
                return -ENOMEM;
  
-@@ -2339,7 +2424,7 @@ static int its_setup_baser(struct its_no
+@@ -2330,7 +2415,7 @@ static int its_setup_baser(struct its_no
                /* 52bit PA is supported only when PageSize=64K */
                if (psz != SZ_64K) {
                        pr_err("ITS: no 52bit PA support when psz=%d\n", psz);
@@ -186,7 +186,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
                        return -ENXIO;
                }
  
-@@ -2395,7 +2480,7 @@ retry_baser:
+@@ -2386,7 +2471,7 @@ retry_baser:
                pr_err("ITS@%pa: %s doesn't stick: %llx %llx\n",
                       &its->phys_base, its_base_type_string[type],
                       val, tmp);
@@ -195,7 +195,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
                return -ENXIO;
        }
  
-@@ -2534,8 +2619,7 @@ static void its_free_tables(struct its_n
+@@ -2525,8 +2610,7 @@ static void its_free_tables(struct its_n
  
        for (i = 0; i < GITS_BASER_NR_REGS; i++) {
                if (its->tables[i].base) {
@@ -205,7 +205,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
                        its->tables[i].base = NULL;
                }
        }
-@@ -2801,7 +2885,7 @@ static bool allocate_vpe_l2_table(int cp
+@@ -2792,7 +2876,7 @@ static bool allocate_vpe_l2_table(int cp
  
        /* Allocate memory for 2nd level table */
        if (!table[idx]) {
@@ -214,7 +214,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
                if (!page)
                        return false;
  
-@@ -2920,7 +3004,7 @@ static int allocate_vpe_l1_table(void)
+@@ -2911,7 +2995,7 @@ static int allocate_vpe_l1_table(void)
  
        pr_debug("np = %d, npg = %lld, psz = %d, epp = %d, esz = %d\n",
                 np, npg, psz, epp, esz);
@@ -223,7 +223,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
        if (!page)
                return -ENOMEM;
  
-@@ -2966,8 +3050,7 @@ static struct page *its_allocate_pending
+@@ -2957,8 +3041,7 @@ static struct page *its_allocate_pending
  {
        struct page *pend_page;
  
@@ -233,7 +233,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
        if (!pend_page)
                return NULL;
  
-@@ -2979,7 +3062,7 @@ static struct page *its_allocate_pending
+@@ -2970,7 +3053,7 @@ static struct page *its_allocate_pending
  
  static void its_free_pending_table(struct page *pt)
  {
@@ -242,7 +242,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
  }
  
  /*
-@@ -3314,8 +3397,8 @@ static bool its_alloc_table_entry(struct
+@@ -3305,8 +3388,8 @@ static bool its_alloc_table_entry(struct
  
        /* Allocate memory for 2nd level table */
        if (!table[idx]) {
@@ -253,7 +253,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
                if (!page)
                        return false;
  
-@@ -3410,7 +3493,6 @@ static struct its_device *its_create_dev
+@@ -3401,7 +3484,6 @@ static struct its_device *its_create_dev
        if (WARN_ON(!is_power_of_2(nvecs)))
                nvecs = roundup_pow_of_two(nvecs);
  
@@ -261,7 +261,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
        /*
         * Even if the device wants a single LPI, the ITT must be
         * sized as a power of two (and you need at least one bit...).
-@@ -3418,7 +3500,11 @@ static struct its_device *its_create_dev
+@@ -3409,7 +3491,11 @@ static struct its_device *its_create_dev
        nr_ites = max(2, nvecs);
        sz = nr_ites * (FIELD_GET(GITS_TYPER_ITT_ENTRY_SIZE, its->typer) + 1);
        sz = max(sz, ITS_ITT_ALIGN) + ITS_ITT_ALIGN - 1;
@@ -274,7 +274,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
        if (alloc_lpis) {
                lpi_map = its_lpi_alloc(nvecs, &lpi_base, &nr_lpis);
                if (lpi_map)
-@@ -3430,9 +3516,9 @@ static struct its_device *its_create_dev
+@@ -3421,9 +3507,9 @@ static struct its_device *its_create_dev
                lpi_base = 0;
        }
  
@@ -286,7 +286,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
                bitmap_free(lpi_map);
                kfree(col_map);
                return NULL;
-@@ -3442,6 +3528,7 @@ static struct its_device *its_create_dev
+@@ -3433,6 +3519,7 @@ static struct its_device *its_create_dev
  
        dev->its = its;
        dev->itt = itt;
@@ -294,7 +294,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
        dev->nr_ites = nr_ites;
        dev->event_map.lpi_map = lpi_map;
        dev->event_map.col_map = col_map;
-@@ -3469,7 +3556,7 @@ static void its_free_device(struct its_d
+@@ -3460,7 +3547,7 @@ static void its_free_device(struct its_d
        list_del(&its_dev->entry);
        raw_spin_unlock_irqrestore(&its_dev->its->lock, flags);
        kfree(its_dev->event_map.col_map);
@@ -303,7 +303,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
        kfree(its_dev);
  }
  
-@@ -5112,8 +5199,9 @@ static int __init its_probe_one(struct i
+@@ -5160,8 +5247,9 @@ static int __init its_probe_one(struct i
                }
        }
  
@@ -315,7 +315,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
        if (!page) {
                err = -ENOMEM;
                goto out_unmap_sgir;
-@@ -5177,7 +5265,7 @@ static int __init its_probe_one(struct i
+@@ -5225,7 +5313,7 @@ static int __init its_probe_one(struct i
  out_free_tables:
        its_free_tables(its);
  out_free_cmd:
@@ -324,7 +324,7 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
  out_unmap_sgir:
        if (its->sgir_base)
                iounmap(its->sgir_base);
-@@ -5659,6 +5747,10 @@ int __init its_init(struct fwnode_handle
+@@ -5711,6 +5799,10 @@ int __init its_init(struct fwnode_handle
        bool has_v4_1 = false;
        int err;
  
@@ -334,4 +334,4 @@ Link: https://lore.kernel.org/all/20241002141630.433502-2-steven.price@arm.com
 +
        gic_rdists = rdists;
  
-       its_parent = parent_domain;
+       lpi_prop_prio = irq_prio;
index a716cbee7de7f558ffbc7d2c77d47052ef3ad2ce..6378534273b6c3e79a41bce2e11eee40cf059867 100644 (file)
@@ -22,7 +22,7 @@ Closes: https://lore.kernel.org/r/ed65312a-245c-4fa5-91ad-5d620cab7c6b%40nvidia.
 
 --- a/drivers/irqchip/irq-gic-v3-its.c
 +++ b/drivers/irqchip/irq-gic-v3-its.c
-@@ -260,7 +260,7 @@ static void *itt_alloc_pool(int node, in
+@@ -263,7 +263,7 @@ static void *itt_alloc_pool(int node, in
                if (addr)
                        break;
  
index 9c9e643ff944f240930e3b571ed9d4dc2a4f2458..17a4e528ca1b796d7d336b694500ebdac1108ed5 100644 (file)
@@ -24,18 +24,18 @@ Link: https://lore.kernel.org/all/20250216221634.364158-2-dmitry.osipenko@collab
 
 --- a/Documentation/arch/arm64/silicon-errata.rst
 +++ b/Documentation/arch/arm64/silicon-errata.rst
-@@ -270,6 +270,8 @@ stable kernels.
+@@ -283,6 +283,8 @@ stable kernels.
  +----------------+-----------------+-----------------+-----------------------------+
  | Rockchip       | RK3588          | #3588001        | ROCKCHIP_ERRATUM_3588001    |
  +----------------+-----------------+-----------------+-----------------------------+
 +| Rockchip       | RK3568          | #3568002        | ROCKCHIP_ERRATUM_3568002    |
 ++----------------+-----------------+-----------------+-----------------------------+
  +----------------+-----------------+-----------------+-----------------------------+
  | Fujitsu        | A64FX           | E#010001        | FUJITSU_ERRATUM_010001      |
+ +----------------+-----------------+-----------------+-----------------------------+
 --- a/arch/arm64/Kconfig
 +++ b/arch/arm64/Kconfig
-@@ -1267,6 +1267,15 @@ config NVIDIA_CARMEL_CNP_ERRATUM
+@@ -1295,6 +1295,15 @@ config NVIDIA_CARMEL_CNP_ERRATUM
  
          If unsure, say Y.
  
@@ -53,7 +53,7 @@ Link: https://lore.kernel.org/all/20250216221634.364158-2-dmitry.osipenko@collab
        default y
 --- a/drivers/irqchip/irq-gic-v3-its.c
 +++ b/drivers/irqchip/irq-gic-v3-its.c
-@@ -202,13 +202,15 @@ static DEFINE_IDA(its_vpeid_ida);
+@@ -205,13 +205,15 @@ static DEFINE_IDA(its_vpeid_ida);
  #define gic_data_rdist_rd_base()      (gic_data_rdist()->rd_base)
  #define gic_data_rdist_vlpi_base()    (gic_data_rdist_rd_base() + SZ_128K)
  
@@ -70,7 +70,7 @@ Link: https://lore.kernel.org/all/20250216221634.364158-2-dmitry.osipenko@collab
  
        if (!page)
                return NULL;
-@@ -4851,6 +4853,17 @@ static bool its_set_non_coherent(void *d
+@@ -4888,6 +4890,17 @@ static bool __maybe_unused its_enable_qu
        return true;
  }
  
@@ -88,7 +88,7 @@ Link: https://lore.kernel.org/all/20250216221634.364158-2-dmitry.osipenko@collab
  static const struct gic_quirk its_quirks[] = {
  #ifdef CONFIG_CAVIUM_ERRATUM_22375
        {
-@@ -4910,6 +4923,14 @@ static const struct gic_quirk its_quirks
+@@ -4955,6 +4968,14 @@ static const struct gic_quirk its_quirks
                .property = "dma-noncoherent",
                .init   = its_set_non_coherent,
        },
index d1281332b45190831924d949bb3b8f6602f29e06..bfe88205edef48cbf588663322a93f9ef6534d12 100644 (file)
@@ -17,7 +17,7 @@ Link: https://lore.kernel.org/all/20250216221634.364158-4-dmitry.osipenko@collab
 
 --- a/arch/arm64/boot/dts/rockchip/rk356x.dtsi
 +++ b/arch/arm64/boot/dts/rockchip/rk356x.dtsi
-@@ -1043,7 +1043,7 @@
+@@ -1050,7 +1050,7 @@
                num-ib-windows = <6>;
                num-ob-windows = <2>;
                max-link-speed = <2>;
diff --git a/target/linux/rockchip/patches-6.12/030-01-v6.9-clk-rockchip-rk3588-fix-CLK_NR_CLKS-usage.patch b/target/linux/rockchip/patches-6.12/030-01-v6.9-clk-rockchip-rk3588-fix-CLK_NR_CLKS-usage.patch
deleted file mode 100644 (file)
index 6becaf6..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-From 2dc66a5ab2c6fb532fbb16107ee7efcb0effbfa5 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Fri, 26 Jan 2024 19:18:22 +0100
-Subject: [PATCH] clk: rockchip: rk3588: fix CLK_NR_CLKS usage
-
-CLK_NR_CLKS is not part of the DT bindings and needs to be removed
-from it, just like it recently happened for other platforms. This
-takes care of it by introducing a new function identifying the
-maximum used clock ID at runtime.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240126182919.48402-2-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- drivers/clk/rockchip/clk-rk3588.c |  5 ++++-
- drivers/clk/rockchip/clk.c        | 17 +++++++++++++++++
- drivers/clk/rockchip/clk.h        |  2 ++
- 3 files changed, 23 insertions(+), 1 deletion(-)
-
---- a/drivers/clk/rockchip/clk-rk3588.c
-+++ b/drivers/clk/rockchip/clk-rk3588.c
-@@ -2458,15 +2458,18 @@ static struct rockchip_clk_branch rk3588
- static void __init rk3588_clk_init(struct device_node *np)
- {
-       struct rockchip_clk_provider *ctx;
-+      unsigned long clk_nr_clks;
-       void __iomem *reg_base;
-+      clk_nr_clks = rockchip_clk_find_max_clk_id(rk3588_clk_branches,
-+                                      ARRAY_SIZE(rk3588_clk_branches)) + 1;
-       reg_base = of_iomap(np, 0);
-       if (!reg_base) {
-               pr_err("%s: could not map cru region\n", __func__);
-               return;
-       }
--      ctx = rockchip_clk_init(np, reg_base, CLK_NR_CLKS);
-+      ctx = rockchip_clk_init(np, reg_base, clk_nr_clks);
-       if (IS_ERR(ctx)) {
-               pr_err("%s: rockchip clk init failed\n", __func__);
-               iounmap(reg_base);
---- a/drivers/clk/rockchip/clk.c
-+++ b/drivers/clk/rockchip/clk.c
-@@ -429,6 +429,23 @@ void rockchip_clk_register_plls(struct r
- }
- EXPORT_SYMBOL_GPL(rockchip_clk_register_plls);
-+unsigned long rockchip_clk_find_max_clk_id(struct rockchip_clk_branch *list,
-+                                         unsigned int nr_clk)
-+{
-+      unsigned long max = 0;
-+      unsigned int idx;
-+
-+      for (idx = 0; idx < nr_clk; idx++, list++) {
-+              if (list->id > max)
-+                      max = list->id;
-+              if (list->child && list->child->id > max)
-+                      max = list->id;
-+      }
-+
-+      return max;
-+}
-+EXPORT_SYMBOL_GPL(rockchip_clk_find_max_clk_id);
-+
- void rockchip_clk_register_branches(struct rockchip_clk_provider *ctx,
-                                   struct rockchip_clk_branch *list,
-                                   unsigned int nr_clk)
---- a/drivers/clk/rockchip/clk.h
-+++ b/drivers/clk/rockchip/clk.h
-@@ -973,6 +973,8 @@ struct rockchip_clk_provider *rockchip_c
-                       void __iomem *base, unsigned long nr_clks);
- void rockchip_clk_of_add_provider(struct device_node *np,
-                               struct rockchip_clk_provider *ctx);
-+unsigned long rockchip_clk_find_max_clk_id(struct rockchip_clk_branch *list,
-+                                         unsigned int nr_clk);
- void rockchip_clk_register_branches(struct rockchip_clk_provider *ctx,
-                                   struct rockchip_clk_branch *list,
-                                   unsigned int nr_clk);
diff --git a/target/linux/rockchip/patches-6.12/030-02-v6.9-dt-bindings-clock-rk3588-drop-CLK_NR_CLKS.patch b/target/linux/rockchip/patches-6.12/030-02-v6.9-dt-bindings-clock-rk3588-drop-CLK_NR_CLKS.patch
deleted file mode 100644 (file)
index c8117f0..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From 11a29dc2e41ead2be78cfa9d532edf924b461acc Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Fri, 26 Jan 2024 19:18:23 +0100
-Subject: [PATCH] dt-bindings: clock: rk3588: drop CLK_NR_CLKS
-
-CLK_NR_CLKS should not be part of the binding. Let's drop it, since
-the kernel code no longer uses it either.
-
-Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240126182919.48402-3-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- include/dt-bindings/clock/rockchip,rk3588-cru.h | 2 --
- 1 file changed, 2 deletions(-)
-
---- a/include/dt-bindings/clock/rockchip,rk3588-cru.h
-+++ b/include/dt-bindings/clock/rockchip,rk3588-cru.h
-@@ -734,8 +734,6 @@
- #define PCLK_AV1_PRE                  719
- #define HCLK_SDIO_PRE                 720
--#define CLK_NR_CLKS                   (HCLK_SDIO_PRE + 1)
--
- /* scmi-clocks indices */
- #define SCMI_CLK_CPUL                 0
diff --git a/target/linux/rockchip/patches-6.12/030-03-v6.9-dt-bindings-clock-rk3588-add-missing-PCLK_VO1GRF.patch b/target/linux/rockchip/patches-6.12/030-03-v6.9-dt-bindings-clock-rk3588-add-missing-PCLK_VO1GRF.patch
deleted file mode 100644 (file)
index b960bc6..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From c81798cf9dd2f324934585b2b52a0398caefb88e Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Fri, 26 Jan 2024 19:18:24 +0100
-Subject: [PATCH] dt-bindings: clock: rk3588: add missing PCLK_VO1GRF
-
-Add PCLK_VO1GRF to complement PCLK_VO0GRF. This will be needed
-for HDMI support.
-
-Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240126182919.48402-4-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- include/dt-bindings/clock/rockchip,rk3588-cru.h | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/include/dt-bindings/clock/rockchip,rk3588-cru.h
-+++ b/include/dt-bindings/clock/rockchip,rk3588-cru.h
-@@ -733,6 +733,7 @@
- #define ACLK_AV1_PRE                  718
- #define PCLK_AV1_PRE                  719
- #define HCLK_SDIO_PRE                 720
-+#define PCLK_VO1GRF                   721
- /* scmi-clocks indices */
diff --git a/target/linux/rockchip/patches-6.12/030-04-v6.9-clk-rockchip-rk3588-fix-pclk_vo0grf-and-pclk_vo1grf.patch b/target/linux/rockchip/patches-6.12/030-04-v6.9-clk-rockchip-rk3588-fix-pclk_vo0grf-and-pclk_vo1grf.patch
deleted file mode 100644 (file)
index e12b73f..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-From 326be62eaf2e89767b7b9223f88eaf3c041b98d2 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Fri, 26 Jan 2024 19:18:25 +0100
-Subject: [PATCH] clk: rockchip: rk3588: fix pclk_vo0grf and pclk_vo1grf
-
-Currently pclk_vo1grf is not exposed, but it should be referenced
-from the vo1_grf syscon, which needs it enabled. That syscon is
-required for HDMI RX and TX functionality among other things.
-
-Apart from that pclk_vo0grf and pclk_vo1grf are both linked gates
-and need the VO's hclk enabled in addition to their parent clock.
-
-No Fixes tag has been added, since the logic requiring these clocks
-is not yet upstream anyways.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240126182919.48402-5-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- drivers/clk/rockchip/clk-rk3588.c | 10 ++++------
- 1 file changed, 4 insertions(+), 6 deletions(-)
-
---- a/drivers/clk/rockchip/clk-rk3588.c
-+++ b/drivers/clk/rockchip/clk-rk3588.c
-@@ -1851,8 +1851,6 @@ static struct rockchip_clk_branch rk3588
-                       RK3588_CLKGATE_CON(56), 0, GFLAGS),
-       GATE(PCLK_TRNG0, "pclk_trng0", "pclk_vo0_root", 0,
-                       RK3588_CLKGATE_CON(56), 1, GFLAGS),
--      GATE(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", CLK_IGNORE_UNUSED,
--                      RK3588_CLKGATE_CON(55), 10, GFLAGS),
-       COMPOSITE(CLK_I2S4_8CH_TX_SRC, "clk_i2s4_8ch_tx_src", gpll_aupll_p, 0,
-                       RK3588_CLKSEL_CON(118), 5, 1, MFLAGS, 0, 5, DFLAGS,
-                       RK3588_CLKGATE_CON(56), 11, GFLAGS),
-@@ -1998,8 +1996,6 @@ static struct rockchip_clk_branch rk3588
-                       RK3588_CLKGATE_CON(60), 9, GFLAGS),
-       GATE(PCLK_TRNG1, "pclk_trng1", "pclk_vo1_root", 0,
-                       RK3588_CLKGATE_CON(60), 10, GFLAGS),
--      GATE(0, "pclk_vo1grf", "pclk_vo1_root", CLK_IGNORE_UNUSED,
--                      RK3588_CLKGATE_CON(59), 12, GFLAGS),
-       GATE(PCLK_S_EDP0, "pclk_s_edp0", "pclk_vo1_s_root", 0,
-                       RK3588_CLKGATE_CON(59), 14, GFLAGS),
-       GATE(PCLK_S_EDP1, "pclk_s_edp1", "pclk_vo1_s_root", 0,
-@@ -2447,12 +2443,14 @@ static struct rockchip_clk_branch rk3588
-       GATE_LINK(HCLK_RKVDEC1_PRE, "hclk_rkvdec1_pre", "hclk_rkvdec1_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(41), 4, GFLAGS),
-       GATE_LINK(ACLK_RKVDEC1_PRE, "aclk_rkvdec1_pre", "aclk_rkvdec1_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(41), 5, GFLAGS),
-       GATE_LINK(ACLK_HDCP0_PRE, "aclk_hdcp0_pre", "aclk_vo0_root", "aclk_vop_low_root", 0, RK3588_CLKGATE_CON(55), 9, GFLAGS),
--      GATE_LINK(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", "hclk_vop_root", 0, RK3588_CLKGATE_CON(55), 5, GFLAGS),
-+      GATE_LINK(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", "hclk_vop_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(55), 5, GFLAGS),
-       GATE_LINK(ACLK_HDCP1_PRE, "aclk_hdcp1_pre", "aclk_hdcp1_root", "aclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(59), 6, GFLAGS),
--      GATE_LINK(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", "hclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(59), 9, GFLAGS),
-+      GATE_LINK(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", "hclk_vo1usb_top_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(59), 9, GFLAGS),
-       GATE_LINK(ACLK_AV1_PRE, "aclk_av1_pre", "aclk_av1_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(68), 1, GFLAGS),
-       GATE_LINK(PCLK_AV1_PRE, "pclk_av1_pre", "pclk_av1_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(68), 4, GFLAGS),
-       GATE_LINK(HCLK_SDIO_PRE, "hclk_sdio_pre", "hclk_sdio_root", "hclk_nvm", 0, RK3588_CLKGATE_CON(75), 1, GFLAGS),
-+      GATE_LINK(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", "hclk_vo0", CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(55), 10, GFLAGS),
-+      GATE_LINK(PCLK_VO1GRF, "pclk_vo1grf", "pclk_vo1_root", "hclk_vo1", CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(59), 12, GFLAGS),
- };
- static void __init rk3588_clk_init(struct device_node *np)
diff --git a/target/linux/rockchip/patches-6.12/030-05-v6.9-clk-rockchip-rk3588-fix-indent.patch b/target/linux/rockchip/patches-6.12/030-05-v6.9-clk-rockchip-rk3588-fix-indent.patch
deleted file mode 100644 (file)
index 27aa28e..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 2a6e4710672242281347103b64e01693aa823a29 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Fri, 26 Jan 2024 19:18:26 +0100
-Subject: [PATCH] clk: rockchip: rk3588: fix indent
-
-pclk_mailbox2 is the only RK3588 clock indented with one tab instead of
-two tabs. Let's fix this.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240126182919.48402-6-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- drivers/clk/rockchip/clk-rk3588.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/clk/rockchip/clk-rk3588.c
-+++ b/drivers/clk/rockchip/clk-rk3588.c
-@@ -1004,7 +1004,7 @@ static struct rockchip_clk_branch rk3588
-       GATE(PCLK_MAILBOX1, "pclk_mailbox1", "pclk_top_root", 0,
-                       RK3588_CLKGATE_CON(16), 12, GFLAGS),
-       GATE(PCLK_MAILBOX2, "pclk_mailbox2", "pclk_top_root", 0,
--              RK3588_CLKGATE_CON(16), 13, GFLAGS),
-+                      RK3588_CLKGATE_CON(16), 13, GFLAGS),
-       GATE(PCLK_PMU2, "pclk_pmu2", "pclk_top_root", CLK_IS_CRITICAL,
-                       RK3588_CLKGATE_CON(19), 3, GFLAGS),
-       GATE(PCLK_PMUCM0_INTMUX, "pclk_pmucm0_intmux", "pclk_top_root", CLK_IS_CRITICAL,
diff --git a/target/linux/rockchip/patches-6.12/030-06-v6.9-clk-rockchip-rk3588-use-linked-clock-ID-for-GATE_LINK.patch b/target/linux/rockchip/patches-6.12/030-06-v6.9-clk-rockchip-rk3588-use-linked-clock-ID-for-GATE_LINK.patch
deleted file mode 100644 (file)
index 949041f..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-From dae3e57000fb2d6f491e3ee2956f5918326d6b72 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Fri, 26 Jan 2024 19:18:27 +0100
-Subject: [PATCH] clk: rockchip: rk3588: use linked clock ID for GATE_LINK
-
-In preparation for properly supporting GATE_LINK switch the unused
-linked clock argument from the clock's name to its ID. This allows
-easy and fast lookup of the 'struct clk'.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240126182919.48402-7-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- drivers/clk/rockchip/clk-rk3588.c | 46 +++++++++++++++----------------
- 1 file changed, 23 insertions(+), 23 deletions(-)
-
---- a/drivers/clk/rockchip/clk-rk3588.c
-+++ b/drivers/clk/rockchip/clk-rk3588.c
-@@ -29,7 +29,7 @@
-  * power, but avoids leaking implementation details into DT or hanging the
-  * system.
-  */
--#define GATE_LINK(_id, cname, pname, linkname, f, o, b, gf) \
-+#define GATE_LINK(_id, cname, pname, linkedclk, f, o, b, gf) \
-       GATE(_id, cname, pname, f, o, b, gf)
- #define RK3588_LINKED_CLK             CLK_IS_CRITICAL
-@@ -2429,28 +2429,28 @@ static struct rockchip_clk_branch rk3588
-       GATE(ACLK_AV1, "aclk_av1", "aclk_av1_pre", 0,
-                       RK3588_CLKGATE_CON(68), 2, GFLAGS),
--      GATE_LINK(ACLK_ISP1_PRE, "aclk_isp1_pre", "aclk_isp1_root", "aclk_vi_root", 0, RK3588_CLKGATE_CON(26), 6, GFLAGS),
--      GATE_LINK(HCLK_ISP1_PRE, "hclk_isp1_pre", "hclk_isp1_root", "hclk_vi_root", 0, RK3588_CLKGATE_CON(26), 8, GFLAGS),
--      GATE_LINK(HCLK_NVM, "hclk_nvm", "hclk_nvm_root", "aclk_nvm_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(31), 2, GFLAGS),
--      GATE_LINK(ACLK_USB, "aclk_usb", "aclk_usb_root", "aclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(42), 2, GFLAGS),
--      GATE_LINK(HCLK_USB, "hclk_usb", "hclk_usb_root", "hclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(42), 3, GFLAGS),
--      GATE_LINK(ACLK_JPEG_DECODER_PRE, "aclk_jpeg_decoder_pre", "aclk_jpeg_decoder_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(44), 7, GFLAGS),
--      GATE_LINK(ACLK_VDPU_LOW_PRE, "aclk_vdpu_low_pre", "aclk_vdpu_low_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(44), 5, GFLAGS),
--      GATE_LINK(ACLK_RKVENC1_PRE, "aclk_rkvenc1_pre", "aclk_rkvenc1_root", "aclk_rkvenc0", 0, RK3588_CLKGATE_CON(48), 3, GFLAGS),
--      GATE_LINK(HCLK_RKVENC1_PRE, "hclk_rkvenc1_pre", "hclk_rkvenc1_root", "hclk_rkvenc0", 0, RK3588_CLKGATE_CON(48), 2, GFLAGS),
--      GATE_LINK(HCLK_RKVDEC0_PRE, "hclk_rkvdec0_pre", "hclk_rkvdec0_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(40), 5, GFLAGS),
--      GATE_LINK(ACLK_RKVDEC0_PRE, "aclk_rkvdec0_pre", "aclk_rkvdec0_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(40), 6, GFLAGS),
--      GATE_LINK(HCLK_RKVDEC1_PRE, "hclk_rkvdec1_pre", "hclk_rkvdec1_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(41), 4, GFLAGS),
--      GATE_LINK(ACLK_RKVDEC1_PRE, "aclk_rkvdec1_pre", "aclk_rkvdec1_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(41), 5, GFLAGS),
--      GATE_LINK(ACLK_HDCP0_PRE, "aclk_hdcp0_pre", "aclk_vo0_root", "aclk_vop_low_root", 0, RK3588_CLKGATE_CON(55), 9, GFLAGS),
--      GATE_LINK(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", "hclk_vop_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(55), 5, GFLAGS),
--      GATE_LINK(ACLK_HDCP1_PRE, "aclk_hdcp1_pre", "aclk_hdcp1_root", "aclk_vo1usb_top_root", 0, RK3588_CLKGATE_CON(59), 6, GFLAGS),
--      GATE_LINK(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", "hclk_vo1usb_top_root", RK3588_LINKED_CLK, RK3588_CLKGATE_CON(59), 9, GFLAGS),
--      GATE_LINK(ACLK_AV1_PRE, "aclk_av1_pre", "aclk_av1_root", "aclk_vdpu_root", 0, RK3588_CLKGATE_CON(68), 1, GFLAGS),
--      GATE_LINK(PCLK_AV1_PRE, "pclk_av1_pre", "pclk_av1_root", "hclk_vdpu_root", 0, RK3588_CLKGATE_CON(68), 4, GFLAGS),
--      GATE_LINK(HCLK_SDIO_PRE, "hclk_sdio_pre", "hclk_sdio_root", "hclk_nvm", 0, RK3588_CLKGATE_CON(75), 1, GFLAGS),
--      GATE_LINK(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", "hclk_vo0", CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(55), 10, GFLAGS),
--      GATE_LINK(PCLK_VO1GRF, "pclk_vo1grf", "pclk_vo1_root", "hclk_vo1", CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(59), 12, GFLAGS),
-+      GATE_LINK(ACLK_ISP1_PRE, "aclk_isp1_pre", "aclk_isp1_root", ACLK_VI_ROOT, 0, RK3588_CLKGATE_CON(26), 6, GFLAGS),
-+      GATE_LINK(HCLK_ISP1_PRE, "hclk_isp1_pre", "hclk_isp1_root", HCLK_VI_ROOT, 0, RK3588_CLKGATE_CON(26), 8, GFLAGS),
-+      GATE_LINK(HCLK_NVM, "hclk_nvm", "hclk_nvm_root", ACLK_NVM_ROOT, RK3588_LINKED_CLK, RK3588_CLKGATE_CON(31), 2, GFLAGS),
-+      GATE_LINK(ACLK_USB, "aclk_usb", "aclk_usb_root", ACLK_VO1USB_TOP_ROOT, 0, RK3588_CLKGATE_CON(42), 2, GFLAGS),
-+      GATE_LINK(HCLK_USB, "hclk_usb", "hclk_usb_root", HCLK_VO1USB_TOP_ROOT, 0, RK3588_CLKGATE_CON(42), 3, GFLAGS),
-+      GATE_LINK(ACLK_JPEG_DECODER_PRE, "aclk_jpeg_decoder_pre", "aclk_jpeg_decoder_root", ACLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(44), 7, GFLAGS),
-+      GATE_LINK(ACLK_VDPU_LOW_PRE, "aclk_vdpu_low_pre", "aclk_vdpu_low_root", ACLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(44), 5, GFLAGS),
-+      GATE_LINK(ACLK_RKVENC1_PRE, "aclk_rkvenc1_pre", "aclk_rkvenc1_root", ACLK_RKVENC0, 0, RK3588_CLKGATE_CON(48), 3, GFLAGS),
-+      GATE_LINK(HCLK_RKVENC1_PRE, "hclk_rkvenc1_pre", "hclk_rkvenc1_root", HCLK_RKVENC0, 0, RK3588_CLKGATE_CON(48), 2, GFLAGS),
-+      GATE_LINK(HCLK_RKVDEC0_PRE, "hclk_rkvdec0_pre", "hclk_rkvdec0_root", HCLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(40), 5, GFLAGS),
-+      GATE_LINK(ACLK_RKVDEC0_PRE, "aclk_rkvdec0_pre", "aclk_rkvdec0_root", ACLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(40), 6, GFLAGS),
-+      GATE_LINK(HCLK_RKVDEC1_PRE, "hclk_rkvdec1_pre", "hclk_rkvdec1_root", HCLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(41), 4, GFLAGS),
-+      GATE_LINK(ACLK_RKVDEC1_PRE, "aclk_rkvdec1_pre", "aclk_rkvdec1_root", ACLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(41), 5, GFLAGS),
-+      GATE_LINK(ACLK_HDCP0_PRE, "aclk_hdcp0_pre", "aclk_vo0_root", ACLK_VOP_LOW_ROOT, 0, RK3588_CLKGATE_CON(55), 9, GFLAGS),
-+      GATE_LINK(HCLK_VO0, "hclk_vo0", "hclk_vo0_root", HCLK_VOP_ROOT, RK3588_LINKED_CLK, RK3588_CLKGATE_CON(55), 5, GFLAGS),
-+      GATE_LINK(ACLK_HDCP1_PRE, "aclk_hdcp1_pre", "aclk_hdcp1_root", ACLK_VO1USB_TOP_ROOT, 0, RK3588_CLKGATE_CON(59), 6, GFLAGS),
-+      GATE_LINK(HCLK_VO1, "hclk_vo1", "hclk_vo1_root", HCLK_VO1USB_TOP_ROOT, RK3588_LINKED_CLK, RK3588_CLKGATE_CON(59), 9, GFLAGS),
-+      GATE_LINK(ACLK_AV1_PRE, "aclk_av1_pre", "aclk_av1_root", ACLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(68), 1, GFLAGS),
-+      GATE_LINK(PCLK_AV1_PRE, "pclk_av1_pre", "pclk_av1_root", HCLK_VDPU_ROOT, 0, RK3588_CLKGATE_CON(68), 4, GFLAGS),
-+      GATE_LINK(HCLK_SDIO_PRE, "hclk_sdio_pre", "hclk_sdio_root", HCLK_NVM, 0, RK3588_CLKGATE_CON(75), 1, GFLAGS),
-+      GATE_LINK(PCLK_VO0GRF, "pclk_vo0grf", "pclk_vo0_root", HCLK_VO0, CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(55), 10, GFLAGS),
-+      GATE_LINK(PCLK_VO1GRF, "pclk_vo1grf", "pclk_vo1_root", HCLK_VO1, CLK_IGNORE_UNUSED, RK3588_CLKGATE_CON(59), 12, GFLAGS),
- };
- static void __init rk3588_clk_init(struct device_node *np)
diff --git a/target/linux/rockchip/patches-6.12/030-07-v6.10-dt-bindings-reset-Define-reset-id-used-for-HDMI-Receiver.patch b/target/linux/rockchip/patches-6.12/030-07-v6.10-dt-bindings-reset-Define-reset-id-used-for-HDMI-Receiver.patch
deleted file mode 100644 (file)
index 0b9082f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From ca151fd56b5736a7adbdba5675b9d87d70f20b23 Mon Sep 17 00:00:00 2001
-From: Shreeya Patel <shreeya.patel@collabora.com>
-Date: Thu, 28 Mar 2024 04:20:52 +0530
-Subject: [PATCH] dt-bindings: reset: Define reset id used for HDMI Receiver
-
-Add reset id used for HDMI Receiver in RK3588 SoCs
-
-Acked-by: Rob Herring <robh@kernel.org>
-Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com>
-Link: https://lore.kernel.org/r/20240327225057.672304-2-shreeya.patel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- include/dt-bindings/reset/rockchip,rk3588-cru.h | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/include/dt-bindings/reset/rockchip,rk3588-cru.h
-+++ b/include/dt-bindings/reset/rockchip,rk3588-cru.h
-@@ -751,4 +751,6 @@
- #define SRST_P_TRNG_CHK                       658
- #define SRST_TRNG_S                   659
-+#define SRST_A_HDMIRX_BIU             660
-+
- #endif
diff --git a/target/linux/rockchip/patches-6.12/030-08-v6.10-clk-rockchip-rk3588-Add-reset-line-for-HDMI-Receiver.patch b/target/linux/rockchip/patches-6.12/030-08-v6.10-clk-rockchip-rk3588-Add-reset-line-for-HDMI-Receiver.patch
deleted file mode 100644 (file)
index 6aa9c05..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7af67019cd78d028ef377df689ac103d51905518 Mon Sep 17 00:00:00 2001
-From: Shreeya Patel <shreeya.patel@collabora.com>
-Date: Thu, 28 Mar 2024 04:20:53 +0530
-Subject: [PATCH] clk: rockchip: rk3588: Add reset line for HDMI Receiver
-
-Export hdmirx_biu reset line required by the Synopsys
-DesignWare HDMIRX Controller.
-
-Signed-off-by: Shreeya Patel <shreeya.patel@collabora.com>
-Link: https://lore.kernel.org/r/20240327225057.672304-3-shreeya.patel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- drivers/clk/rockchip/rst-rk3588.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/drivers/clk/rockchip/rst-rk3588.c
-+++ b/drivers/clk/rockchip/rst-rk3588.c
-@@ -577,6 +577,7 @@ static const int rk3588_register_offset[
-       /* SOFTRST_CON59 */
-       RK3588_CRU_RESET_OFFSET(SRST_A_HDCP1_BIU, 59, 6),
-+      RK3588_CRU_RESET_OFFSET(SRST_A_HDMIRX_BIU, 59, 7),
-       RK3588_CRU_RESET_OFFSET(SRST_A_VO1_BIU, 59, 8),
-       RK3588_CRU_RESET_OFFSET(SRST_H_VOP1_BIU, 59, 9),
-       RK3588_CRU_RESET_OFFSET(SRST_H_VOP1_S_BIU, 59, 10),
diff --git a/target/linux/rockchip/patches-6.12/030-09-v6.12-clk-rockchip-Add-new-pll-type-pll_rk3588_ddr.patch b/target/linux/rockchip/patches-6.12/030-09-v6.12-clk-rockchip-Add-new-pll-type-pll_rk3588_ddr.patch
deleted file mode 100644 (file)
index 0d68f68..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-From e781bffc296766b55dbd048890d558655031e8d1 Mon Sep 17 00:00:00 2001
-From: Elaine Zhang <zhangqing@rock-chips.com>
-Date: Wed, 28 Aug 2024 15:42:52 +0000
-Subject: [PATCH] clk: rockchip: Add new pll type pll_rk3588_ddr
-
-That PLL type is similar to the other rk3588 pll types but the actual
-rate is twice the configured rate.
-Therefore, the returned calculated rate must be multiplied by two.
-
-Signed-off-by: Elaine Zhang <zhangqing@rock-chips.com>
-Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
-Acked-by: Dragan Simic <dsimic@manjaro.org>
-Link: https://lore.kernel.org/r/0102019199a76ec4-9d5846d4-d76a-4e69-a241-c88c2983d607-000000@eu-west-1.amazonses.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- drivers/clk/rockchip/clk-pll.c | 6 +++++-
- drivers/clk/rockchip/clk.h     | 1 +
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
---- a/drivers/clk/rockchip/clk-pll.c
-+++ b/drivers/clk/rockchip/clk-pll.c
-@@ -914,7 +914,10 @@ static unsigned long rockchip_rk3588_pll
-       }
-       rate64 = rate64 >> cur.s;
--      return (unsigned long)rate64;
-+      if (pll->type == pll_rk3588_ddr)
-+              return (unsigned long)rate64 * 2;
-+      else
-+              return (unsigned long)rate64;
- }
- static int rockchip_rk3588_pll_set_params(struct rockchip_clk_pll *pll,
-@@ -1167,6 +1170,7 @@ struct clk *rockchip_clk_register_pll(st
-               break;
-       case pll_rk3588:
-       case pll_rk3588_core:
-+      case pll_rk3588_ddr:
-               if (!pll->rate_table)
-                       init.ops = &rockchip_rk3588_pll_clk_norate_ops;
-               else
---- a/drivers/clk/rockchip/clk.h
-+++ b/drivers/clk/rockchip/clk.h
-@@ -287,6 +287,7 @@ enum rockchip_pll_type {
-       pll_rk3399,
-       pll_rk3588,
-       pll_rk3588_core,
-+      pll_rk3588_ddr,
- };
- #define RK3036_PLL_RATE(_rate, _refdiv, _fbdiv, _postdiv1,    \
diff --git a/target/linux/rockchip/patches-6.12/030-10-v6.12-clk-rockchip-rk3588-drop-unused-code.patch b/target/linux/rockchip/patches-6.12/030-10-v6.12-clk-rockchip-rk3588-drop-unused-code.patch
deleted file mode 100644 (file)
index 0164bf2..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-From 2e7b3daa8cb1ebd17e6a7f417ef5e6553203035c Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Mon, 25 Mar 2024 20:33:32 +0100
-Subject: [PATCH] clk: rockchip: rk3588: drop unused code
-
-All clocks are registered early using CLK_OF_DECLARE(), which marks
-the DT node as processed. For the processed DT node the probe routine
-is never called. Thus this whole code is never executed. This could
-be "fixed" by using CLK_OF_DECLARE_DRIVER, which avoids marking the
-DT node as processed. But then the probe routine would re-register
-all the clocks by calling rk3588_clk_init() again.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240325193609.237182-2-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- drivers/clk/rockchip/clk-rk3588.c | 40 -------------------------------
- 1 file changed, 40 deletions(-)
-
---- a/drivers/clk/rockchip/clk-rk3588.c
-+++ b/drivers/clk/rockchip/clk-rk3588.c
-@@ -2502,43 +2502,3 @@ static void __init rk3588_clk_init(struc
- }
- CLK_OF_DECLARE(rk3588_cru, "rockchip,rk3588-cru", rk3588_clk_init);
--
--struct clk_rk3588_inits {
--      void (*inits)(struct device_node *np);
--};
--
--static const struct clk_rk3588_inits clk_3588_cru_init = {
--      .inits = rk3588_clk_init,
--};
--
--static const struct of_device_id clk_rk3588_match_table[] = {
--      {
--              .compatible = "rockchip,rk3588-cru",
--              .data = &clk_3588_cru_init,
--      },
--      { }
--};
--
--static int __init clk_rk3588_probe(struct platform_device *pdev)
--{
--      const struct clk_rk3588_inits *init_data;
--      struct device *dev = &pdev->dev;
--
--      init_data = device_get_match_data(dev);
--      if (!init_data)
--              return -EINVAL;
--
--      if (init_data->inits)
--              init_data->inits(dev->of_node);
--
--      return 0;
--}
--
--static struct platform_driver clk_rk3588_driver = {
--      .driver         = {
--              .name   = "clk-rk3588",
--              .of_match_table = clk_rk3588_match_table,
--              .suppress_bind_attrs = true,
--      },
--};
--builtin_platform_driver_probe(clk_rk3588_driver, clk_rk3588_probe);
diff --git a/target/linux/rockchip/patches-6.12/030-11-v6.13-clk-rockchip-fix-finding-of-maximum-clock-ID.patch b/target/linux/rockchip/patches-6.12/030-11-v6.13-clk-rockchip-fix-finding-of-maximum-clock-ID.patch
deleted file mode 100644 (file)
index 912c2c7..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From ad1081a0da2744141d12e94ff816ac91feb871ca Mon Sep 17 00:00:00 2001
-From: Yao Zi <ziyao@disroot.org>
-Date: Thu, 12 Sep 2024 13:32:05 +0000
-Subject: [PATCH] clk: rockchip: fix finding of maximum clock ID
-
-If an ID of a branch's child is greater than current maximum, we should
-set new maximum to the child's ID, instead of its parent's.
-
-Fixes: 2dc66a5ab2c6 ("clk: rockchip: rk3588: fix CLK_NR_CLKS usage")
-Signed-off-by: Yao Zi <ziyao@disroot.org>
-Link: https://lore.kernel.org/r/20240912133204.29089-2-ziyao@disroot.org
-Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Reviewed-by: Heiko Stuebner <heiko@sntech.de>
-Signed-off-by: Stephen Boyd <sboyd@kernel.org>
----
- drivers/clk/rockchip/clk.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/clk/rockchip/clk.c
-+++ b/drivers/clk/rockchip/clk.c
-@@ -439,7 +439,7 @@ unsigned long rockchip_clk_find_max_clk_
-               if (list->id > max)
-                       max = list->id;
-               if (list->child && list->child->id > max)
--                      max = list->id;
-+                      max = list->child->id;
-       }
-       return max;
diff --git a/target/linux/rockchip/patches-6.12/031-01-v6.7-mfd-rk8xx-Add-support-for-standard-system-power-controlle.patch b/target/linux/rockchip/patches-6.12/031-01-v6.7-mfd-rk8xx-Add-support-for-standard-system-power-controlle.patch
deleted file mode 100644 (file)
index 94d998f..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 2a46cd97f401a669d71b3d36b78bd6653f8424ee Mon Sep 17 00:00:00 2001
-From: Ondrej Jirman <megi@xff.cz>
-Date: Thu, 19 Oct 2023 18:57:25 +0200
-Subject: [PATCH] mfd: rk8xx: Add support for standard system-power-controller
- property
-
-DT property rockchip,system-power-controller is now deprecated.
-
-Signed-off-by: Ondrej Jirman <megi@xff.cz>
-Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20231019165732.3818789-4-megi@xff.cz
-Signed-off-by: Lee Jones <lee@kernel.org>
----
- drivers/mfd/rk8xx-core.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/mfd/rk8xx-core.c
-+++ b/drivers/mfd/rk8xx-core.c
-@@ -677,7 +677,8 @@ int rk8xx_probe(struct device *dev, int
-       if (ret)
-               return dev_err_probe(dev, ret, "failed to add MFD devices\n");
--      if (device_property_read_bool(dev, "rockchip,system-power-controller")) {
-+      if (device_property_read_bool(dev, "rockchip,system-power-controller") ||
-+          device_property_read_bool(dev, "system-power-controller")) {
-               ret = devm_register_sys_off_handler(dev,
-                                   SYS_OFF_MODE_POWER_OFF_PREPARE, SYS_OFF_PRIO_HIGH,
-                                   &rk808_power_off, rk808);
diff --git a/target/linux/rockchip/patches-6.12/031-02-v6.7-mfd-rk8xx-Add-support-for-RK806-power-off.patch b/target/linux/rockchip/patches-6.12/031-02-v6.7-mfd-rk8xx-Add-support-for-RK806-power-off.patch
deleted file mode 100644 (file)
index 2ac0ff5..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From b0227e7081404448a0059b8698fdffd2dec280d2 Mon Sep 17 00:00:00 2001
-From: Ondrej Jirman <megi@xff.cz>
-Date: Thu, 19 Oct 2023 18:57:26 +0200
-Subject: [PATCH] mfd: rk8xx: Add support for RK806 power off
-
-Use DEV_OFF bit to power off the RK806 PMIC, when system-power-controller
-is used in DTS.
-
-Signed-off-by: Ondrej Jirman <megi@xff.cz>
-Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20231019165732.3818789-5-megi@xff.cz
-Signed-off-by: Lee Jones <lee@kernel.org>
----
- drivers/mfd/rk8xx-core.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/drivers/mfd/rk8xx-core.c
-+++ b/drivers/mfd/rk8xx-core.c
-@@ -517,6 +517,10 @@ static int rk808_power_off(struct sys_of
-               reg = RK805_DEV_CTRL_REG;
-               bit = DEV_OFF;
-               break;
-+      case RK806_ID:
-+              reg = RK806_SYS_CFG3;
-+              bit = DEV_OFF;
-+              break;
-       case RK808_ID:
-               reg = RK808_DEVCTRL_REG,
-               bit = DEV_OFF_RST;
diff --git a/target/linux/rockchip/patches-6.12/032-01-v6.10-phy-rockchip-add-usbdp-combo-phy-driver.patch b/target/linux/rockchip/patches-6.12/032-01-v6.10-phy-rockchip-add-usbdp-combo-phy-driver.patch
deleted file mode 100644 (file)
index 69b44de..0000000
+++ /dev/null
@@ -1,1670 +0,0 @@
-From 2f70bbddeb457580cef3ceb574506083b9272188 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Tue, 9 Apr 2024 00:50:29 +0200
-Subject: [PATCH] phy: rockchip: add usbdp combo phy driver
-
-This adds a new USBDP combo PHY with Samsung IP block driver.
-
-The driver get lane mux and mapping info in 2 ways, supporting
-DisplayPort alternate mode or parsing from DT. When parsing from DT,
-the property "rockchip,dp-lane-mux" provide the DP mux and mapping
-info. This is needed when the PHY is not used with TypeC Alt-Mode.
-For example if the USB3 interface of the PHY is connected to a USB
-Type A connector and the DP interface is connected to a DisplayPort
-connector.
-
-When do DP link training, need to set lane number, link rate, swing,
-and pre-emphasis via PHY configure interface.
-
-Co-developed-by: Heiko Stuebner <heiko@sntech.de>
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
-Co-developed-by: Zhang Yubing <yubing.zhang@rock-chips.com>
-Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
-Co-developed-by: Frank Wang <frank.wang@rock-chips.com>
-Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240408225109.128953-3-sebastian.reichel@collabora.com
-Signed-off-by: Vinod Koul <vkoul@kernel.org>
----
- drivers/phy/rockchip/Kconfig              |   12 +
- drivers/phy/rockchip/Makefile             |    1 +
- drivers/phy/rockchip/phy-rockchip-usbdp.c | 1608 +++++++++++++++++++++
- 3 files changed, 1621 insertions(+)
- create mode 100644 drivers/phy/rockchip/phy-rockchip-usbdp.c
-
---- a/drivers/phy/rockchip/Kconfig
-+++ b/drivers/phy/rockchip/Kconfig
-@@ -107,3 +107,15 @@ config PHY_ROCKCHIP_USB
-       select GENERIC_PHY
-       help
-         Enable this to support the Rockchip USB 2.0 PHY.
-+
-+config PHY_ROCKCHIP_USBDP
-+      tristate "Rockchip USBDP COMBO PHY Driver"
-+      depends on ARCH_ROCKCHIP && OF
-+      select GENERIC_PHY
-+      select TYPEC
-+      help
-+        Enable this to support the Rockchip USB3.0/DP combo PHY with
-+        Samsung IP block. This is required for USB3 support on RK3588.
-+
-+        To compile this driver as a module, choose M here: the module
-+        will be called phy-rockchip-usbdp
---- a/drivers/phy/rockchip/Makefile
-+++ b/drivers/phy/rockchip/Makefile
-@@ -11,3 +11,4 @@ obj-$(CONFIG_PHY_ROCKCHIP_PCIE)              += phy-
- obj-$(CONFIG_PHY_ROCKCHIP_SNPS_PCIE3) += phy-rockchip-snps-pcie3.o
- obj-$(CONFIG_PHY_ROCKCHIP_TYPEC)      += phy-rockchip-typec.o
- obj-$(CONFIG_PHY_ROCKCHIP_USB)                += phy-rockchip-usb.o
-+obj-$(CONFIG_PHY_ROCKCHIP_USBDP)      += phy-rockchip-usbdp.o
---- /dev/null
-+++ b/drivers/phy/rockchip/phy-rockchip-usbdp.c
-@@ -0,0 +1,1608 @@
-+// SPDX-License-Identifier: GPL-2.0-or-later
-+/*
-+ * Rockchip USBDP Combo PHY with Samsung IP block driver
-+ *
-+ * Copyright (C) 2021-2024 Rockchip Electronics Co., Ltd
-+ * Copyright (C) 2024 Collabora Ltd
-+ */
-+
-+#include <dt-bindings/phy/phy.h>
-+#include <linux/bitfield.h>
-+#include <linux/bits.h>
-+#include <linux/clk.h>
-+#include <linux/delay.h>
-+#include <linux/gpio.h>
-+#include <linux/mfd/syscon.h>
-+#include <linux/mod_devicetable.h>
-+#include <linux/module.h>
-+#include <linux/mutex.h>
-+#include <linux/phy/phy.h>
-+#include <linux/platform_device.h>
-+#include <linux/property.h>
-+#include <linux/regmap.h>
-+#include <linux/reset.h>
-+#include <linux/usb/ch9.h>
-+#include <linux/usb/typec_dp.h>
-+#include <linux/usb/typec_mux.h>
-+
-+/* USBDP PHY Register Definitions */
-+#define UDPHY_PCS                             0x4000
-+#define UDPHY_PMA                             0x8000
-+
-+/* VO0 GRF Registers */
-+#define DP_SINK_HPD_CFG                               BIT(11)
-+#define DP_SINK_HPD_SEL                               BIT(10)
-+#define DP_AUX_DIN_SEL                                BIT(9)
-+#define DP_AUX_DOUT_SEL                               BIT(8)
-+#define DP_LANE_SEL_N(n)                      GENMASK(2 * (n) + 1, 2 * (n))
-+#define DP_LANE_SEL_ALL                               GENMASK(7, 0)
-+
-+/* PMA CMN Registers */
-+#define CMN_LANE_MUX_AND_EN_OFFSET            0x0288  /* cmn_reg00A2 */
-+#define CMN_DP_LANE_MUX_N(n)                  BIT((n) + 4)
-+#define CMN_DP_LANE_EN_N(n)                   BIT(n)
-+#define CMN_DP_LANE_MUX_ALL                   GENMASK(7, 4)
-+#define CMN_DP_LANE_EN_ALL                    GENMASK(3, 0)
-+
-+#define CMN_DP_LINK_OFFSET                    0x28c   /* cmn_reg00A3 */
-+#define CMN_DP_TX_LINK_BW                     GENMASK(6, 5)
-+#define CMN_DP_TX_LANE_SWAP_EN                        BIT(2)
-+
-+#define CMN_SSC_EN_OFFSET                     0x2d0   /* cmn_reg00B4 */
-+#define CMN_ROPLL_SSC_EN                      BIT(1)
-+#define CMN_LCPLL_SSC_EN                      BIT(0)
-+
-+#define CMN_ANA_LCPLL_DONE_OFFSET             0x0350  /* cmn_reg00D4 */
-+#define CMN_ANA_LCPLL_LOCK_DONE                       BIT(7)
-+#define CMN_ANA_LCPLL_AFC_DONE                        BIT(6)
-+
-+#define CMN_ANA_ROPLL_DONE_OFFSET             0x0354  /* cmn_reg00D5 */
-+#define CMN_ANA_ROPLL_LOCK_DONE                       BIT(1)
-+#define CMN_ANA_ROPLL_AFC_DONE                        BIT(0)
-+
-+#define CMN_DP_RSTN_OFFSET                    0x038c  /* cmn_reg00E3 */
-+#define CMN_DP_INIT_RSTN                      BIT(3)
-+#define CMN_DP_CMN_RSTN                               BIT(2)
-+#define CMN_CDR_WTCHDG_EN                     BIT(1)
-+#define CMN_CDR_WTCHDG_MSK_CDR_EN             BIT(0)
-+
-+#define TRSV_ANA_TX_CLK_OFFSET_N(n)           (0x854 + (n) * 0x800)   /* trsv_reg0215 */
-+#define LN_ANA_TX_SER_TXCLK_INV                       BIT(1)
-+
-+#define TRSV_LN0_MON_RX_CDR_DONE_OFFSET               0x0b84  /* trsv_reg02E1 */
-+#define TRSV_LN0_MON_RX_CDR_LOCK_DONE         BIT(0)
-+
-+#define TRSV_LN2_MON_RX_CDR_DONE_OFFSET               0x1b84  /* trsv_reg06E1 */
-+#define TRSV_LN2_MON_RX_CDR_LOCK_DONE         BIT(0)
-+
-+#define BIT_WRITEABLE_SHIFT                   16
-+#define PHY_AUX_DP_DATA_POL_NORMAL            0
-+#define PHY_AUX_DP_DATA_POL_INVERT            1
-+#define PHY_LANE_MUX_USB                      0
-+#define PHY_LANE_MUX_DP                               1
-+
-+enum {
-+      DP_BW_RBR,
-+      DP_BW_HBR,
-+      DP_BW_HBR2,
-+      DP_BW_HBR3,
-+};
-+
-+enum {
-+      UDPHY_MODE_NONE         = 0,
-+      UDPHY_MODE_USB          = BIT(0),
-+      UDPHY_MODE_DP           = BIT(1),
-+      UDPHY_MODE_DP_USB       = BIT(1) | BIT(0),
-+};
-+
-+struct rk_udphy_grf_reg {
-+      unsigned int    offset;
-+      unsigned int    disable;
-+      unsigned int    enable;
-+};
-+
-+#define _RK_UDPHY_GEN_GRF_REG(offset, mask, disable, enable) \
-+{\
-+      offset, \
-+      FIELD_PREP_CONST(mask, disable) | (mask << BIT_WRITEABLE_SHIFT), \
-+      FIELD_PREP_CONST(mask, enable) | (mask << BIT_WRITEABLE_SHIFT), \
-+}
-+
-+#define RK_UDPHY_GEN_GRF_REG(offset, bitend, bitstart, disable, enable) \
-+      _RK_UDPHY_GEN_GRF_REG(offset, GENMASK(bitend, bitstart), disable, enable)
-+
-+struct rk_udphy_grf_cfg {
-+      /* u2phy-grf */
-+      struct rk_udphy_grf_reg bvalid_phy_con;
-+      struct rk_udphy_grf_reg bvalid_grf_con;
-+
-+      /* usb-grf */
-+      struct rk_udphy_grf_reg usb3otg0_cfg;
-+      struct rk_udphy_grf_reg usb3otg1_cfg;
-+
-+      /* usbdpphy-grf */
-+      struct rk_udphy_grf_reg low_pwrn;
-+      struct rk_udphy_grf_reg rx_lfps;
-+};
-+
-+struct rk_udphy_vogrf_cfg {
-+      /* vo-grf */
-+      struct rk_udphy_grf_reg hpd_trigger;
-+      u32 dp_lane_reg;
-+};
-+
-+struct rk_udphy_dp_tx_drv_ctrl {
-+      u32 trsv_reg0204;
-+      u32 trsv_reg0205;
-+      u32 trsv_reg0206;
-+      u32 trsv_reg0207;
-+};
-+
-+struct rk_udphy_cfg {
-+      unsigned int num_phys;
-+      unsigned int phy_ids[2];
-+      /* resets to be requested */
-+      const char * const *rst_list;
-+      int num_rsts;
-+
-+      struct rk_udphy_grf_cfg grfcfg;
-+      struct rk_udphy_vogrf_cfg vogrfcfg[2];
-+      const struct rk_udphy_dp_tx_drv_ctrl (*dp_tx_ctrl_cfg[4])[4];
-+      const struct rk_udphy_dp_tx_drv_ctrl (*dp_tx_ctrl_cfg_typec[4])[4];
-+};
-+
-+struct rk_udphy {
-+      struct device *dev;
-+      struct regmap *pma_regmap;
-+      struct regmap *u2phygrf;
-+      struct regmap *udphygrf;
-+      struct regmap *usbgrf;
-+      struct regmap *vogrf;
-+      struct typec_switch_dev *sw;
-+      struct typec_mux_dev *mux;
-+      struct mutex mutex; /* mutex to protect access to individual PHYs */
-+
-+      /* clocks and rests */
-+      int num_clks;
-+      struct clk_bulk_data *clks;
-+      struct clk *refclk;
-+      int num_rsts;
-+      struct reset_control_bulk_data *rsts;
-+
-+      /* PHY status management */
-+      bool flip;
-+      bool mode_change;
-+      u8 mode;
-+      u8 status;
-+
-+      /* utilized for USB */
-+      bool hs; /* flag for high-speed */
-+
-+      /* utilized for DP */
-+      struct gpio_desc *sbu1_dc_gpio;
-+      struct gpio_desc *sbu2_dc_gpio;
-+      u32 lane_mux_sel[4];
-+      u32 dp_lane_sel[4];
-+      u32 dp_aux_dout_sel;
-+      u32 dp_aux_din_sel;
-+      bool dp_sink_hpd_sel;
-+      bool dp_sink_hpd_cfg;
-+      u8 bw;
-+      int id;
-+
-+      bool dp_in_use;
-+
-+      /* PHY const config */
-+      const struct rk_udphy_cfg *cfgs;
-+
-+      /* PHY devices */
-+      struct phy *phy_dp;
-+      struct phy *phy_u3;
-+};
-+
-+static const struct rk_udphy_dp_tx_drv_ctrl rk3588_dp_tx_drv_ctrl_rbr_hbr[4][4] = {
-+      /* voltage swing 0, pre-emphasis 0->3 */
-+      {
-+              { 0x20, 0x10, 0x42, 0xe5 },
-+              { 0x26, 0x14, 0x42, 0xe5 },
-+              { 0x29, 0x18, 0x42, 0xe5 },
-+              { 0x2b, 0x1c, 0x43, 0xe7 },
-+      },
-+
-+      /* voltage swing 1, pre-emphasis 0->2 */
-+      {
-+              { 0x23, 0x10, 0x42, 0xe7 },
-+              { 0x2a, 0x17, 0x43, 0xe7 },
-+              { 0x2b, 0x1a, 0x43, 0xe7 },
-+      },
-+
-+      /* voltage swing 2, pre-emphasis 0->1 */
-+      {
-+              { 0x27, 0x10, 0x42, 0xe7 },
-+              { 0x2b, 0x17, 0x43, 0xe7 },
-+      },
-+
-+      /* voltage swing 3, pre-emphasis 0 */
-+      {
-+              { 0x29, 0x10, 0x43, 0xe7 },
-+      },
-+};
-+
-+static const struct rk_udphy_dp_tx_drv_ctrl rk3588_dp_tx_drv_ctrl_rbr_hbr_typec[4][4] = {
-+      /* voltage swing 0, pre-emphasis 0->3 */
-+      {
-+              { 0x20, 0x10, 0x42, 0xe5 },
-+              { 0x26, 0x14, 0x42, 0xe5 },
-+              { 0x29, 0x18, 0x42, 0xe5 },
-+              { 0x2b, 0x1c, 0x43, 0xe7 },
-+      },
-+
-+      /* voltage swing 1, pre-emphasis 0->2 */
-+      {
-+              { 0x23, 0x10, 0x42, 0xe7 },
-+              { 0x2a, 0x17, 0x43, 0xe7 },
-+              { 0x2b, 0x1a, 0x43, 0xe7 },
-+      },
-+
-+      /* voltage swing 2, pre-emphasis 0->1 */
-+      {
-+              { 0x27, 0x10, 0x43, 0x67 },
-+              { 0x2b, 0x17, 0x43, 0xe7 },
-+      },
-+
-+      /* voltage swing 3, pre-emphasis 0 */
-+      {
-+              { 0x29, 0x10, 0x43, 0xe7 },
-+      },
-+};
-+
-+static const struct rk_udphy_dp_tx_drv_ctrl rk3588_dp_tx_drv_ctrl_hbr2[4][4] = {
-+      /* voltage swing 0, pre-emphasis 0->3 */
-+      {
-+              { 0x21, 0x10, 0x42, 0xe5 },
-+              { 0x26, 0x14, 0x42, 0xe5 },
-+              { 0x26, 0x16, 0x43, 0xe5 },
-+              { 0x2a, 0x19, 0x43, 0xe7 },
-+      },
-+
-+      /* voltage swing 1, pre-emphasis 0->2 */
-+      {
-+              { 0x24, 0x10, 0x42, 0xe7 },
-+              { 0x2a, 0x17, 0x43, 0xe7 },
-+              { 0x2b, 0x1a, 0x43, 0xe7 },
-+      },
-+
-+      /* voltage swing 2, pre-emphasis 0->1 */
-+      {
-+              { 0x28, 0x10, 0x42, 0xe7 },
-+              { 0x2b, 0x17, 0x43, 0xe7 },
-+      },
-+
-+      /* voltage swing 3, pre-emphasis 0 */
-+      {
-+              { 0x28, 0x10, 0x43, 0xe7 },
-+      },
-+};
-+
-+static const struct rk_udphy_dp_tx_drv_ctrl rk3588_dp_tx_drv_ctrl_hbr3[4][4] = {
-+      /* voltage swing 0, pre-emphasis 0->3 */
-+      {
-+              { 0x21, 0x10, 0x42, 0xe5 },
-+              { 0x26, 0x14, 0x42, 0xe5 },
-+              { 0x26, 0x16, 0x43, 0xe5 },
-+              { 0x29, 0x18, 0x43, 0xe7 },
-+      },
-+
-+      /* voltage swing 1, pre-emphasis 0->2 */
-+      {
-+              { 0x24, 0x10, 0x42, 0xe7 },
-+              { 0x2a, 0x18, 0x43, 0xe7 },
-+              { 0x2b, 0x1b, 0x43, 0xe7 }
-+      },
-+
-+      /* voltage swing 2, pre-emphasis 0->1 */
-+      {
-+              { 0x27, 0x10, 0x42, 0xe7 },
-+              { 0x2b, 0x18, 0x43, 0xe7 }
-+      },
-+
-+      /* voltage swing 3, pre-emphasis 0 */
-+      {
-+              { 0x28, 0x10, 0x43, 0xe7 },
-+      },
-+};
-+
-+static const struct reg_sequence rk_udphy_24m_refclk_cfg[] = {
-+      {0x0090, 0x68}, {0x0094, 0x68},
-+      {0x0128, 0x24}, {0x012c, 0x44},
-+      {0x0130, 0x3f}, {0x0134, 0x44},
-+      {0x015c, 0xa9}, {0x0160, 0x71},
-+      {0x0164, 0x71}, {0x0168, 0xa9},
-+      {0x0174, 0xa9}, {0x0178, 0x71},
-+      {0x017c, 0x71}, {0x0180, 0xa9},
-+      {0x018c, 0x41}, {0x0190, 0x00},
-+      {0x0194, 0x05}, {0x01ac, 0x2a},
-+      {0x01b0, 0x17}, {0x01b4, 0x17},
-+      {0x01b8, 0x2a}, {0x01c8, 0x04},
-+      {0x01cc, 0x08}, {0x01d0, 0x08},
-+      {0x01d4, 0x04}, {0x01d8, 0x20},
-+      {0x01dc, 0x01}, {0x01e0, 0x09},
-+      {0x01e4, 0x03}, {0x01f0, 0x29},
-+      {0x01f4, 0x02}, {0x01f8, 0x02},
-+      {0x01fc, 0x29}, {0x0208, 0x2a},
-+      {0x020c, 0x17}, {0x0210, 0x17},
-+      {0x0214, 0x2a}, {0x0224, 0x20},
-+      {0x03f0, 0x0a}, {0x03f4, 0x07},
-+      {0x03f8, 0x07}, {0x03fc, 0x0c},
-+      {0x0404, 0x12}, {0x0408, 0x1a},
-+      {0x040c, 0x1a}, {0x0410, 0x3f},
-+      {0x0ce0, 0x68}, {0x0ce8, 0xd0},
-+      {0x0cf0, 0x87}, {0x0cf8, 0x70},
-+      {0x0d00, 0x70}, {0x0d08, 0xa9},
-+      {0x1ce0, 0x68}, {0x1ce8, 0xd0},
-+      {0x1cf0, 0x87}, {0x1cf8, 0x70},
-+      {0x1d00, 0x70}, {0x1d08, 0xa9},
-+      {0x0a3c, 0xd0}, {0x0a44, 0xd0},
-+      {0x0a48, 0x01}, {0x0a4c, 0x0d},
-+      {0x0a54, 0xe0}, {0x0a5c, 0xe0},
-+      {0x0a64, 0xa8}, {0x1a3c, 0xd0},
-+      {0x1a44, 0xd0}, {0x1a48, 0x01},
-+      {0x1a4c, 0x0d}, {0x1a54, 0xe0},
-+      {0x1a5c, 0xe0}, {0x1a64, 0xa8}
-+};
-+
-+static const struct reg_sequence rk_udphy_26m_refclk_cfg[] = {
-+      {0x0830, 0x07}, {0x085c, 0x80},
-+      {0x1030, 0x07}, {0x105c, 0x80},
-+      {0x1830, 0x07}, {0x185c, 0x80},
-+      {0x2030, 0x07}, {0x205c, 0x80},
-+      {0x0228, 0x38}, {0x0104, 0x44},
-+      {0x0248, 0x44}, {0x038c, 0x02},
-+      {0x0878, 0x04}, {0x1878, 0x04},
-+      {0x0898, 0x77}, {0x1898, 0x77},
-+      {0x0054, 0x01}, {0x00e0, 0x38},
-+      {0x0060, 0x24}, {0x0064, 0x77},
-+      {0x0070, 0x76}, {0x0234, 0xe8},
-+      {0x0af4, 0x15}, {0x1af4, 0x15},
-+      {0x081c, 0xe5}, {0x181c, 0xe5},
-+      {0x099c, 0x48}, {0x199c, 0x48},
-+      {0x09a4, 0x07}, {0x09a8, 0x22},
-+      {0x19a4, 0x07}, {0x19a8, 0x22},
-+      {0x09b8, 0x3e}, {0x19b8, 0x3e},
-+      {0x09e4, 0x02}, {0x19e4, 0x02},
-+      {0x0a34, 0x1e}, {0x1a34, 0x1e},
-+      {0x0a98, 0x2f}, {0x1a98, 0x2f},
-+      {0x0c30, 0x0e}, {0x0c48, 0x06},
-+      {0x1c30, 0x0e}, {0x1c48, 0x06},
-+      {0x028c, 0x18}, {0x0af0, 0x00},
-+      {0x1af0, 0x00}
-+};
-+
-+static const struct reg_sequence rk_udphy_init_sequence[] = {
-+      {0x0104, 0x44}, {0x0234, 0xe8},
-+      {0x0248, 0x44}, {0x028c, 0x18},
-+      {0x081c, 0xe5}, {0x0878, 0x00},
-+      {0x0994, 0x1c}, {0x0af0, 0x00},
-+      {0x181c, 0xe5}, {0x1878, 0x00},
-+      {0x1994, 0x1c}, {0x1af0, 0x00},
-+      {0x0428, 0x60}, {0x0d58, 0x33},
-+      {0x1d58, 0x33}, {0x0990, 0x74},
-+      {0x0d64, 0x17}, {0x08c8, 0x13},
-+      {0x1990, 0x74}, {0x1d64, 0x17},
-+      {0x18c8, 0x13}, {0x0d90, 0x40},
-+      {0x0da8, 0x40}, {0x0dc0, 0x40},
-+      {0x0dd8, 0x40}, {0x1d90, 0x40},
-+      {0x1da8, 0x40}, {0x1dc0, 0x40},
-+      {0x1dd8, 0x40}, {0x03c0, 0x30},
-+      {0x03c4, 0x06}, {0x0e10, 0x00},
-+      {0x1e10, 0x00}, {0x043c, 0x0f},
-+      {0x0d2c, 0xff}, {0x1d2c, 0xff},
-+      {0x0d34, 0x0f}, {0x1d34, 0x0f},
-+      {0x08fc, 0x2a}, {0x0914, 0x28},
-+      {0x0a30, 0x03}, {0x0e38, 0x03},
-+      {0x0ecc, 0x27}, {0x0ed0, 0x22},
-+      {0x0ed4, 0x26}, {0x18fc, 0x2a},
-+      {0x1914, 0x28}, {0x1a30, 0x03},
-+      {0x1e38, 0x03}, {0x1ecc, 0x27},
-+      {0x1ed0, 0x22}, {0x1ed4, 0x26},
-+      {0x0048, 0x0f}, {0x0060, 0x3c},
-+      {0x0064, 0xf7}, {0x006c, 0x20},
-+      {0x0070, 0x7d}, {0x0074, 0x68},
-+      {0x0af4, 0x1a}, {0x1af4, 0x1a},
-+      {0x0440, 0x3f}, {0x10d4, 0x08},
-+      {0x20d4, 0x08}, {0x00d4, 0x30},
-+      {0x0024, 0x6e},
-+};
-+
-+static inline int rk_udphy_grfreg_write(struct regmap *base,
-+                                      const struct rk_udphy_grf_reg *reg, bool en)
-+{
-+      return regmap_write(base, reg->offset, en ? reg->enable : reg->disable);
-+}
-+
-+static int rk_udphy_clk_init(struct rk_udphy *udphy, struct device *dev)
-+{
-+      int i;
-+
-+      udphy->num_clks = devm_clk_bulk_get_all(dev, &udphy->clks);
-+      if (udphy->num_clks < 1)
-+              return -ENODEV;
-+
-+      /* used for configure phy reference clock frequency */
-+      for (i = 0; i < udphy->num_clks; i++) {
-+              if (!strncmp(udphy->clks[i].id, "refclk", 6)) {
-+                      udphy->refclk = udphy->clks[i].clk;
-+                      break;
-+              }
-+      }
-+
-+      if (!udphy->refclk)
-+              return dev_err_probe(udphy->dev, -EINVAL, "no refclk found\n");
-+
-+      return 0;
-+}
-+
-+static int rk_udphy_reset_assert_all(struct rk_udphy *udphy)
-+{
-+      return reset_control_bulk_assert(udphy->num_rsts, udphy->rsts);
-+}
-+
-+static int rk_udphy_reset_deassert_all(struct rk_udphy *udphy)
-+{
-+      return reset_control_bulk_deassert(udphy->num_rsts, udphy->rsts);
-+}
-+
-+static int rk_udphy_reset_deassert(struct rk_udphy *udphy, char *name)
-+{
-+      struct reset_control_bulk_data *list = udphy->rsts;
-+      int idx;
-+
-+      for (idx = 0; idx < udphy->num_rsts; idx++) {
-+              if (!strcmp(list[idx].id, name))
-+                      return reset_control_deassert(list[idx].rstc);
-+      }
-+
-+      return -EINVAL;
-+}
-+
-+static int rk_udphy_reset_init(struct rk_udphy *udphy, struct device *dev)
-+{
-+      const struct rk_udphy_cfg *cfg = udphy->cfgs;
-+      int idx;
-+
-+      udphy->num_rsts = cfg->num_rsts;
-+      udphy->rsts = devm_kcalloc(dev, udphy->num_rsts,
-+                                 sizeof(*udphy->rsts), GFP_KERNEL);
-+      if (!udphy->rsts)
-+              return -ENOMEM;
-+
-+      for (idx = 0; idx < cfg->num_rsts; idx++)
-+              udphy->rsts[idx].id = cfg->rst_list[idx];
-+
-+      return devm_reset_control_bulk_get_exclusive(dev, cfg->num_rsts,
-+                                                   udphy->rsts);
-+}
-+
-+static void rk_udphy_u3_port_disable(struct rk_udphy *udphy, u8 disable)
-+{
-+      const struct rk_udphy_cfg *cfg = udphy->cfgs;
-+      const struct rk_udphy_grf_reg *preg;
-+
-+      preg = udphy->id ? &cfg->grfcfg.usb3otg1_cfg : &cfg->grfcfg.usb3otg0_cfg;
-+      rk_udphy_grfreg_write(udphy->usbgrf, preg, disable);
-+}
-+
-+static void rk_udphy_usb_bvalid_enable(struct rk_udphy *udphy, u8 enable)
-+{
-+      const struct rk_udphy_cfg *cfg = udphy->cfgs;
-+
-+      rk_udphy_grfreg_write(udphy->u2phygrf, &cfg->grfcfg.bvalid_phy_con, enable);
-+      rk_udphy_grfreg_write(udphy->u2phygrf, &cfg->grfcfg.bvalid_grf_con, enable);
-+}
-+
-+/*
-+ * In usb/dp combo phy driver, here are 2 ways to mapping lanes.
-+ *
-+ * 1 Type-C Mapping table (DP_Alt_Mode V1.0b remove ABF pin mapping)
-+ * ---------------------------------------------------------------------------
-+ * Type-C Pin   B11-B10       A2-A3       A11-A10       B2-B3
-+ * PHY Pad      ln0(tx/rx)    ln1(tx)     ln2(tx/rx)    ln3(tx)
-+ * C/E(Normal)  dpln3         dpln2       dpln0         dpln1
-+ * C/E(Flip  )  dpln0         dpln1       dpln3         dpln2
-+ * D/F(Normal)  usbrx         usbtx       dpln0         dpln1
-+ * D/F(Flip  )  dpln0         dpln1       usbrx         usbtx
-+ * A(Normal  )  dpln3         dpln1       dpln2         dpln0
-+ * A(Flip    )  dpln2         dpln0       dpln3         dpln1
-+ * B(Normal  )  usbrx         usbtx       dpln1         dpln0
-+ * B(Flip    )  dpln1         dpln0       usbrx         usbtx
-+ * ---------------------------------------------------------------------------
-+ *
-+ * 2 Mapping the lanes in dtsi
-+ * if all 4 lane assignment for dp function, define rockchip,dp-lane-mux = <x x x x>;
-+ * sample as follow:
-+ * ---------------------------------------------------------------------------
-+ *                        B11-B10       A2-A3       A11-A10       B2-B3
-+ * rockchip,dp-lane-mux   ln0(tx/rx)    ln1(tx)     ln2(tx/rx)    ln3(tx)
-+ * <0 1 2 3>              dpln0         dpln1       dpln2         dpln3
-+ * <2 3 0 1>              dpln2         dpln3       dpln0         dpln1
-+ * ---------------------------------------------------------------------------
-+ * if 2 lane for dp function, 2 lane for usb function, define rockchip,dp-lane-mux = <x x>;
-+ * sample as follow:
-+ * ---------------------------------------------------------------------------
-+ *                        B11-B10       A2-A3       A11-A10       B2-B3
-+ * rockchip,dp-lane-mux   ln0(tx/rx)    ln1(tx)     ln2(tx/rx)    ln3(tx)
-+ * <0 1>                  dpln0         dpln1       usbrx         usbtx
-+ * <2 3>                  usbrx         usbtx       dpln0         dpln1
-+ * ---------------------------------------------------------------------------
-+ */
-+
-+static void rk_udphy_dplane_select(struct rk_udphy *udphy)
-+{
-+      const struct rk_udphy_cfg *cfg = udphy->cfgs;
-+      u32 value = 0;
-+
-+      switch (udphy->mode) {
-+      case UDPHY_MODE_DP:
-+              value |= 2 << udphy->dp_lane_sel[2] * 2;
-+              value |= 3 << udphy->dp_lane_sel[3] * 2;
-+              fallthrough;
-+
-+      case UDPHY_MODE_DP_USB:
-+              value |= 0 << udphy->dp_lane_sel[0] * 2;
-+              value |= 1 << udphy->dp_lane_sel[1] * 2;
-+              break;
-+
-+      case UDPHY_MODE_USB:
-+              break;
-+
-+      default:
-+              break;
-+      }
-+
-+      regmap_write(udphy->vogrf, cfg->vogrfcfg[udphy->id].dp_lane_reg,
-+                   ((DP_AUX_DIN_SEL | DP_AUX_DOUT_SEL | DP_LANE_SEL_ALL) << 16) |
-+                   FIELD_PREP(DP_AUX_DIN_SEL, udphy->dp_aux_din_sel) |
-+                   FIELD_PREP(DP_AUX_DOUT_SEL, udphy->dp_aux_dout_sel) | value);
-+}
-+
-+static int rk_udphy_dplane_get(struct rk_udphy *udphy)
-+{
-+      int dp_lanes;
-+
-+      switch (udphy->mode) {
-+      case UDPHY_MODE_DP:
-+              dp_lanes = 4;
-+              break;
-+
-+      case UDPHY_MODE_DP_USB:
-+              dp_lanes = 2;
-+              break;
-+
-+      case UDPHY_MODE_USB:
-+      default:
-+              dp_lanes = 0;
-+              break;
-+      }
-+
-+      return dp_lanes;
-+}
-+
-+static void rk_udphy_dplane_enable(struct rk_udphy *udphy, int dp_lanes)
-+{
-+      u32 val = 0;
-+      int i;
-+
-+      for (i = 0; i < dp_lanes; i++)
-+              val |= BIT(udphy->dp_lane_sel[i]);
-+
-+      regmap_update_bits(udphy->pma_regmap, CMN_LANE_MUX_AND_EN_OFFSET, CMN_DP_LANE_EN_ALL,
-+                         FIELD_PREP(CMN_DP_LANE_EN_ALL, val));
-+
-+      if (!dp_lanes)
-+              regmap_update_bits(udphy->pma_regmap, CMN_DP_RSTN_OFFSET,
-+                                 CMN_DP_CMN_RSTN, FIELD_PREP(CMN_DP_CMN_RSTN, 0x0));
-+}
-+
-+static void rk_udphy_dp_hpd_event_trigger(struct rk_udphy *udphy, bool hpd)
-+{
-+      const struct rk_udphy_cfg *cfg = udphy->cfgs;
-+
-+      udphy->dp_sink_hpd_sel = true;
-+      udphy->dp_sink_hpd_cfg = hpd;
-+
-+      if (!udphy->dp_in_use)
-+              return;
-+
-+      rk_udphy_grfreg_write(udphy->vogrf, &cfg->vogrfcfg[udphy->id].hpd_trigger, hpd);
-+}
-+
-+static void rk_udphy_set_typec_default_mapping(struct rk_udphy *udphy)
-+{
-+      if (udphy->flip) {
-+              udphy->dp_lane_sel[0] = 0;
-+              udphy->dp_lane_sel[1] = 1;
-+              udphy->dp_lane_sel[2] = 3;
-+              udphy->dp_lane_sel[3] = 2;
-+              udphy->lane_mux_sel[0] = PHY_LANE_MUX_DP;
-+              udphy->lane_mux_sel[1] = PHY_LANE_MUX_DP;
-+              udphy->lane_mux_sel[2] = PHY_LANE_MUX_USB;
-+              udphy->lane_mux_sel[3] = PHY_LANE_MUX_USB;
-+              udphy->dp_aux_dout_sel = PHY_AUX_DP_DATA_POL_INVERT;
-+              udphy->dp_aux_din_sel = PHY_AUX_DP_DATA_POL_INVERT;
-+              gpiod_set_value_cansleep(udphy->sbu1_dc_gpio, 1);
-+              gpiod_set_value_cansleep(udphy->sbu2_dc_gpio, 0);
-+      } else {
-+              udphy->dp_lane_sel[0] = 2;
-+              udphy->dp_lane_sel[1] = 3;
-+              udphy->dp_lane_sel[2] = 1;
-+              udphy->dp_lane_sel[3] = 0;
-+              udphy->lane_mux_sel[0] = PHY_LANE_MUX_USB;
-+              udphy->lane_mux_sel[1] = PHY_LANE_MUX_USB;
-+              udphy->lane_mux_sel[2] = PHY_LANE_MUX_DP;
-+              udphy->lane_mux_sel[3] = PHY_LANE_MUX_DP;
-+              udphy->dp_aux_dout_sel = PHY_AUX_DP_DATA_POL_NORMAL;
-+              udphy->dp_aux_din_sel = PHY_AUX_DP_DATA_POL_NORMAL;
-+              gpiod_set_value_cansleep(udphy->sbu1_dc_gpio, 0);
-+              gpiod_set_value_cansleep(udphy->sbu2_dc_gpio, 1);
-+      }
-+
-+      udphy->mode = UDPHY_MODE_DP_USB;
-+}
-+
-+static int rk_udphy_orien_sw_set(struct typec_switch_dev *sw,
-+                               enum typec_orientation orien)
-+{
-+      struct rk_udphy *udphy = typec_switch_get_drvdata(sw);
-+
-+      mutex_lock(&udphy->mutex);
-+
-+      if (orien == TYPEC_ORIENTATION_NONE) {
-+              gpiod_set_value_cansleep(udphy->sbu1_dc_gpio, 0);
-+              gpiod_set_value_cansleep(udphy->sbu2_dc_gpio, 0);
-+              /* unattached */
-+              rk_udphy_usb_bvalid_enable(udphy, false);
-+              goto unlock_ret;
-+      }
-+
-+      udphy->flip = (orien == TYPEC_ORIENTATION_REVERSE) ? true : false;
-+      rk_udphy_set_typec_default_mapping(udphy);
-+      rk_udphy_usb_bvalid_enable(udphy, true);
-+
-+unlock_ret:
-+      mutex_unlock(&udphy->mutex);
-+      return 0;
-+}
-+
-+static void rk_udphy_orien_switch_unregister(void *data)
-+{
-+      struct rk_udphy *udphy = data;
-+
-+      typec_switch_unregister(udphy->sw);
-+}
-+
-+static int rk_udphy_setup_orien_switch(struct rk_udphy *udphy)
-+{
-+      struct typec_switch_desc sw_desc = { };
-+
-+      sw_desc.drvdata = udphy;
-+      sw_desc.fwnode = dev_fwnode(udphy->dev);
-+      sw_desc.set = rk_udphy_orien_sw_set;
-+
-+      udphy->sw = typec_switch_register(udphy->dev, &sw_desc);
-+      if (IS_ERR(udphy->sw)) {
-+              dev_err(udphy->dev, "Error register typec orientation switch: %ld\n",
-+                      PTR_ERR(udphy->sw));
-+              return PTR_ERR(udphy->sw);
-+      }
-+
-+      return devm_add_action_or_reset(udphy->dev,
-+                                      rk_udphy_orien_switch_unregister, udphy);
-+}
-+
-+static int rk_udphy_refclk_set(struct rk_udphy *udphy)
-+{
-+      unsigned long rate;
-+      int ret;
-+
-+      /* configure phy reference clock */
-+      rate = clk_get_rate(udphy->refclk);
-+      dev_dbg(udphy->dev, "refclk freq %ld\n", rate);
-+
-+      switch (rate) {
-+      case 24000000:
-+              ret = regmap_multi_reg_write(udphy->pma_regmap, rk_udphy_24m_refclk_cfg,
-+                                           ARRAY_SIZE(rk_udphy_24m_refclk_cfg));
-+              if (ret)
-+                      return ret;
-+              break;
-+
-+      case 26000000:
-+              /* register default is 26MHz */
-+              ret = regmap_multi_reg_write(udphy->pma_regmap, rk_udphy_26m_refclk_cfg,
-+                                           ARRAY_SIZE(rk_udphy_26m_refclk_cfg));
-+              if (ret)
-+                      return ret;
-+              break;
-+
-+      default:
-+              dev_err(udphy->dev, "unsupported refclk freq %ld\n", rate);
-+              return -EINVAL;
-+      }
-+
-+      return 0;
-+}
-+
-+static int rk_udphy_status_check(struct rk_udphy *udphy)
-+{
-+      unsigned int val;
-+      int ret;
-+
-+      /* LCPLL check */
-+      if (udphy->mode & UDPHY_MODE_USB) {
-+              ret = regmap_read_poll_timeout(udphy->pma_regmap, CMN_ANA_LCPLL_DONE_OFFSET,
-+                                             val, (val & CMN_ANA_LCPLL_AFC_DONE) &&
-+                                             (val & CMN_ANA_LCPLL_LOCK_DONE), 200, 100000);
-+              if (ret) {
-+                      dev_err(udphy->dev, "cmn ana lcpll lock timeout\n");
-+                      /*
-+                       * If earlier software (U-Boot) enabled USB once already
-+                       * the PLL may have problems locking on the first try.
-+                       * It will be successful on the second try, so for the
-+                       * time being a -EPROBE_DEFER will solve the issue.
-+                       *
-+                       * This requires further investigation to understand the
-+                       * root cause, especially considering that the driver is
-+                       * asserting all reset lines at probe time.
-+                       */
-+                      return -EPROBE_DEFER;
-+              }
-+
-+              if (!udphy->flip) {
-+                      ret = regmap_read_poll_timeout(udphy->pma_regmap,
-+                                                     TRSV_LN0_MON_RX_CDR_DONE_OFFSET, val,
-+                                                     val & TRSV_LN0_MON_RX_CDR_LOCK_DONE,
-+                                                     200, 100000);
-+                      if (ret)
-+                              dev_err(udphy->dev, "trsv ln0 mon rx cdr lock timeout\n");
-+              } else {
-+                      ret = regmap_read_poll_timeout(udphy->pma_regmap,
-+                                                     TRSV_LN2_MON_RX_CDR_DONE_OFFSET, val,
-+                                                     val & TRSV_LN2_MON_RX_CDR_LOCK_DONE,
-+                                                     200, 100000);
-+                      if (ret)
-+                              dev_err(udphy->dev, "trsv ln2 mon rx cdr lock timeout\n");
-+              }
-+      }
-+
-+      return 0;
-+}
-+
-+static int rk_udphy_init(struct rk_udphy *udphy)
-+{
-+      const struct rk_udphy_cfg *cfg = udphy->cfgs;
-+      int ret;
-+
-+      rk_udphy_reset_assert_all(udphy);
-+      usleep_range(10000, 11000);
-+
-+      /* enable rx lfps for usb */
-+      if (udphy->mode & UDPHY_MODE_USB)
-+              rk_udphy_grfreg_write(udphy->udphygrf, &cfg->grfcfg.rx_lfps, true);
-+
-+      /* Step 1: power on pma and deassert apb rstn */
-+      rk_udphy_grfreg_write(udphy->udphygrf, &cfg->grfcfg.low_pwrn, true);
-+
-+      rk_udphy_reset_deassert(udphy, "pma_apb");
-+      rk_udphy_reset_deassert(udphy, "pcs_apb");
-+
-+      /* Step 2: set init sequence and phy refclk */
-+      ret = regmap_multi_reg_write(udphy->pma_regmap, rk_udphy_init_sequence,
-+                                   ARRAY_SIZE(rk_udphy_init_sequence));
-+      if (ret) {
-+              dev_err(udphy->dev, "init sequence set error %d\n", ret);
-+              goto assert_resets;
-+      }
-+
-+      ret = rk_udphy_refclk_set(udphy);
-+      if (ret) {
-+              dev_err(udphy->dev, "refclk set error %d\n", ret);
-+              goto assert_resets;
-+      }
-+
-+      /* Step 3: configure lane mux */
-+      regmap_update_bits(udphy->pma_regmap, CMN_LANE_MUX_AND_EN_OFFSET,
-+                         CMN_DP_LANE_MUX_ALL | CMN_DP_LANE_EN_ALL,
-+                         FIELD_PREP(CMN_DP_LANE_MUX_N(3), udphy->lane_mux_sel[3]) |
-+                         FIELD_PREP(CMN_DP_LANE_MUX_N(2), udphy->lane_mux_sel[2]) |
-+                         FIELD_PREP(CMN_DP_LANE_MUX_N(1), udphy->lane_mux_sel[1]) |
-+                         FIELD_PREP(CMN_DP_LANE_MUX_N(0), udphy->lane_mux_sel[0]) |
-+                         FIELD_PREP(CMN_DP_LANE_EN_ALL, 0));
-+
-+      /* Step 4: deassert init rstn and wait for 200ns from datasheet */
-+      if (udphy->mode & UDPHY_MODE_USB)
-+              rk_udphy_reset_deassert(udphy, "init");
-+
-+      if (udphy->mode & UDPHY_MODE_DP) {
-+              regmap_update_bits(udphy->pma_regmap, CMN_DP_RSTN_OFFSET,
-+                                 CMN_DP_INIT_RSTN,
-+                                 FIELD_PREP(CMN_DP_INIT_RSTN, 0x1));
-+      }
-+
-+      udelay(1);
-+
-+      /*  Step 5: deassert cmn/lane rstn */
-+      if (udphy->mode & UDPHY_MODE_USB) {
-+              rk_udphy_reset_deassert(udphy, "cmn");
-+              rk_udphy_reset_deassert(udphy, "lane");
-+      }
-+
-+      /*  Step 6: wait for lock done of pll */
-+      ret = rk_udphy_status_check(udphy);
-+      if (ret)
-+              goto assert_resets;
-+
-+      return 0;
-+
-+assert_resets:
-+      rk_udphy_reset_assert_all(udphy);
-+      return ret;
-+}
-+
-+static int rk_udphy_setup(struct rk_udphy *udphy)
-+{
-+      int ret;
-+
-+      ret = clk_bulk_prepare_enable(udphy->num_clks, udphy->clks);
-+      if (ret) {
-+              dev_err(udphy->dev, "failed to enable clk\n");
-+              return ret;
-+      }
-+
-+      ret = rk_udphy_init(udphy);
-+      if (ret) {
-+              dev_err(udphy->dev, "failed to init combophy\n");
-+              clk_bulk_disable_unprepare(udphy->num_clks, udphy->clks);
-+              return ret;
-+      }
-+
-+      return 0;
-+}
-+
-+static void rk_udphy_disable(struct rk_udphy *udphy)
-+{
-+      clk_bulk_disable_unprepare(udphy->num_clks, udphy->clks);
-+      rk_udphy_reset_assert_all(udphy);
-+}
-+
-+static int rk_udphy_parse_lane_mux_data(struct rk_udphy *udphy)
-+{
-+      int ret, i, num_lanes;
-+
-+      num_lanes = device_property_count_u32(udphy->dev, "rockchip,dp-lane-mux");
-+      if (num_lanes < 0) {
-+              dev_dbg(udphy->dev, "no dp-lane-mux, following dp alt mode\n");
-+              udphy->mode = UDPHY_MODE_USB;
-+              return 0;
-+      }
-+
-+      if (num_lanes != 2 && num_lanes != 4)
-+              return dev_err_probe(udphy->dev, -EINVAL,
-+                                   "invalid number of lane mux\n");
-+
-+      ret = device_property_read_u32_array(udphy->dev, "rockchip,dp-lane-mux",
-+                                           udphy->dp_lane_sel, num_lanes);
-+      if (ret)
-+              return dev_err_probe(udphy->dev, ret, "get dp lane mux failed\n");
-+
-+      for (i = 0; i < num_lanes; i++) {
-+              int j;
-+
-+              if (udphy->dp_lane_sel[i] > 3)
-+                      return dev_err_probe(udphy->dev, -EINVAL,
-+                                           "lane mux between 0 and 3, exceeding the range\n");
-+
-+              udphy->lane_mux_sel[udphy->dp_lane_sel[i]] = PHY_LANE_MUX_DP;
-+
-+              for (j = i + 1; j < num_lanes; j++) {
-+                      if (udphy->dp_lane_sel[i] == udphy->dp_lane_sel[j])
-+                              return dev_err_probe(udphy->dev, -EINVAL,
-+                                              "set repeat lane mux value\n");
-+              }
-+      }
-+
-+      udphy->mode = UDPHY_MODE_DP;
-+      if (num_lanes == 2) {
-+              udphy->mode |= UDPHY_MODE_USB;
-+              udphy->flip = (udphy->lane_mux_sel[0] == PHY_LANE_MUX_DP);
-+      }
-+
-+      return 0;
-+}
-+
-+static int rk_udphy_get_initial_status(struct rk_udphy *udphy)
-+{
-+      int ret;
-+      u32 value;
-+
-+      ret = clk_bulk_prepare_enable(udphy->num_clks, udphy->clks);
-+      if (ret) {
-+              dev_err(udphy->dev, "failed to enable clk\n");
-+              return ret;
-+      }
-+
-+      rk_udphy_reset_deassert_all(udphy);
-+
-+      regmap_read(udphy->pma_regmap, CMN_LANE_MUX_AND_EN_OFFSET, &value);
-+      if (FIELD_GET(CMN_DP_LANE_MUX_ALL, value) && FIELD_GET(CMN_DP_LANE_EN_ALL, value))
-+              udphy->status = UDPHY_MODE_DP;
-+      else
-+              rk_udphy_disable(udphy);
-+
-+      return 0;
-+}
-+
-+static int rk_udphy_parse_dt(struct rk_udphy *udphy)
-+{
-+      struct device *dev = udphy->dev;
-+      struct device_node *np = dev_of_node(dev);
-+      enum usb_device_speed maximum_speed;
-+      int ret;
-+
-+      udphy->u2phygrf = syscon_regmap_lookup_by_phandle(np, "rockchip,u2phy-grf");
-+      if (IS_ERR(udphy->u2phygrf))
-+              return dev_err_probe(dev, PTR_ERR(udphy->u2phygrf), "failed to get u2phy-grf\n");
-+
-+      udphy->udphygrf = syscon_regmap_lookup_by_phandle(np, "rockchip,usbdpphy-grf");
-+      if (IS_ERR(udphy->udphygrf))
-+              return dev_err_probe(dev, PTR_ERR(udphy->udphygrf), "failed to get usbdpphy-grf\n");
-+
-+      udphy->usbgrf = syscon_regmap_lookup_by_phandle(np, "rockchip,usb-grf");
-+      if (IS_ERR(udphy->usbgrf))
-+              return dev_err_probe(dev, PTR_ERR(udphy->usbgrf), "failed to get usb-grf\n");
-+
-+      udphy->vogrf = syscon_regmap_lookup_by_phandle(np, "rockchip,vo-grf");
-+      if (IS_ERR(udphy->vogrf))
-+              return dev_err_probe(dev, PTR_ERR(udphy->vogrf), "failed to get vo-grf\n");
-+
-+      ret = rk_udphy_parse_lane_mux_data(udphy);
-+      if (ret)
-+              return ret;
-+
-+      udphy->sbu1_dc_gpio = devm_gpiod_get_optional(dev, "sbu1-dc", GPIOD_OUT_LOW);
-+      if (IS_ERR(udphy->sbu1_dc_gpio))
-+              return PTR_ERR(udphy->sbu1_dc_gpio);
-+
-+      udphy->sbu2_dc_gpio = devm_gpiod_get_optional(dev, "sbu2-dc", GPIOD_OUT_LOW);
-+      if (IS_ERR(udphy->sbu2_dc_gpio))
-+              return PTR_ERR(udphy->sbu2_dc_gpio);
-+
-+      if (device_property_present(dev, "maximum-speed")) {
-+              maximum_speed = usb_get_maximum_speed(dev);
-+              udphy->hs = maximum_speed <= USB_SPEED_HIGH ? true : false;
-+      }
-+
-+      ret = rk_udphy_clk_init(udphy, dev);
-+      if (ret)
-+              return ret;
-+
-+      return rk_udphy_reset_init(udphy, dev);
-+}
-+
-+static int rk_udphy_power_on(struct rk_udphy *udphy, u8 mode)
-+{
-+      int ret;
-+
-+      if (!(udphy->mode & mode)) {
-+              dev_info(udphy->dev, "mode 0x%02x is not support\n", mode);
-+              return 0;
-+      }
-+
-+      if (udphy->status == UDPHY_MODE_NONE) {
-+              udphy->mode_change = false;
-+              ret = rk_udphy_setup(udphy);
-+              if (ret)
-+                      return ret;
-+
-+              if (udphy->mode & UDPHY_MODE_USB)
-+                      rk_udphy_u3_port_disable(udphy, false);
-+      } else if (udphy->mode_change) {
-+              udphy->mode_change = false;
-+              udphy->status = UDPHY_MODE_NONE;
-+              if (udphy->mode == UDPHY_MODE_DP)
-+                      rk_udphy_u3_port_disable(udphy, true);
-+
-+              rk_udphy_disable(udphy);
-+              ret = rk_udphy_setup(udphy);
-+              if (ret)
-+                      return ret;
-+      }
-+
-+      udphy->status |= mode;
-+
-+      return 0;
-+}
-+
-+static void rk_udphy_power_off(struct rk_udphy *udphy, u8 mode)
-+{
-+      if (!(udphy->mode & mode)) {
-+              dev_info(udphy->dev, "mode 0x%02x is not support\n", mode);
-+              return;
-+      }
-+
-+      if (!udphy->status)
-+              return;
-+
-+      udphy->status &= ~mode;
-+
-+      if (udphy->status == UDPHY_MODE_NONE)
-+              rk_udphy_disable(udphy);
-+}
-+
-+static int rk_udphy_dp_phy_init(struct phy *phy)
-+{
-+      struct rk_udphy *udphy = phy_get_drvdata(phy);
-+
-+      mutex_lock(&udphy->mutex);
-+
-+      udphy->dp_in_use = true;
-+      rk_udphy_dp_hpd_event_trigger(udphy, udphy->dp_sink_hpd_cfg);
-+
-+      mutex_unlock(&udphy->mutex);
-+
-+      return 0;
-+}
-+
-+static int rk_udphy_dp_phy_exit(struct phy *phy)
-+{
-+      struct rk_udphy *udphy = phy_get_drvdata(phy);
-+
-+      mutex_lock(&udphy->mutex);
-+      udphy->dp_in_use = false;
-+      mutex_unlock(&udphy->mutex);
-+      return 0;
-+}
-+
-+static int rk_udphy_dp_phy_power_on(struct phy *phy)
-+{
-+      struct rk_udphy *udphy = phy_get_drvdata(phy);
-+      int ret, dp_lanes;
-+
-+      mutex_lock(&udphy->mutex);
-+
-+      dp_lanes = rk_udphy_dplane_get(udphy);
-+      phy_set_bus_width(phy, dp_lanes);
-+
-+      ret = rk_udphy_power_on(udphy, UDPHY_MODE_DP);
-+      if (ret)
-+              goto unlock;
-+
-+      rk_udphy_dplane_enable(udphy, dp_lanes);
-+
-+      rk_udphy_dplane_select(udphy);
-+
-+unlock:
-+      mutex_unlock(&udphy->mutex);
-+      /*
-+       * If data send by aux channel too fast after phy power on,
-+       * the aux may be not ready which will cause aux error. Adding
-+       * delay to avoid this issue.
-+       */
-+      usleep_range(10000, 11000);
-+      return ret;
-+}
-+
-+static int rk_udphy_dp_phy_power_off(struct phy *phy)
-+{
-+      struct rk_udphy *udphy = phy_get_drvdata(phy);
-+
-+      mutex_lock(&udphy->mutex);
-+      rk_udphy_dplane_enable(udphy, 0);
-+      rk_udphy_power_off(udphy, UDPHY_MODE_DP);
-+      mutex_unlock(&udphy->mutex);
-+
-+      return 0;
-+}
-+
-+static int rk_udphy_dp_phy_verify_link_rate(unsigned int link_rate)
-+{
-+      switch (link_rate) {
-+      case 1620:
-+      case 2700:
-+      case 5400:
-+      case 8100:
-+              break;
-+
-+      default:
-+              return -EINVAL;
-+      }
-+
-+      return 0;
-+}
-+
-+static int rk_udphy_dp_phy_verify_config(struct rk_udphy *udphy,
-+                                       struct phy_configure_opts_dp *dp)
-+{
-+      int i, ret;
-+
-+      /* If changing link rate was required, verify it's supported. */
-+      ret = rk_udphy_dp_phy_verify_link_rate(dp->link_rate);
-+      if (ret)
-+              return ret;
-+
-+      /* Verify lane count. */
-+      switch (dp->lanes) {
-+      case 1:
-+      case 2:
-+      case 4:
-+              /* valid lane count. */
-+              break;
-+
-+      default:
-+              return -EINVAL;
-+      }
-+
-+      /*
-+       * If changing voltages is required, check swing and pre-emphasis
-+       * levels, per-lane.
-+       */
-+      if (dp->set_voltages) {
-+              /* Lane count verified previously. */
-+              for (i = 0; i < dp->lanes; i++) {
-+                      if (dp->voltage[i] > 3 || dp->pre[i] > 3)
-+                              return -EINVAL;
-+
-+                      /*
-+                       * Sum of voltage swing and pre-emphasis levels cannot
-+                       * exceed 3.
-+                       */
-+                      if (dp->voltage[i] + dp->pre[i] > 3)
-+                              return -EINVAL;
-+              }
-+      }
-+
-+      return 0;
-+}
-+
-+static void rk_udphy_dp_set_voltage(struct rk_udphy *udphy, u8 bw,
-+                                  u32 voltage, u32 pre, u32 lane)
-+{
-+      const struct rk_udphy_cfg *cfg = udphy->cfgs;
-+      const struct rk_udphy_dp_tx_drv_ctrl (*dp_ctrl)[4];
-+      u32 offset = 0x800 * lane;
-+      u32 val;
-+
-+      if (udphy->mux)
-+              dp_ctrl = cfg->dp_tx_ctrl_cfg_typec[bw];
-+      else
-+              dp_ctrl = cfg->dp_tx_ctrl_cfg[bw];
-+
-+      val = dp_ctrl[voltage][pre].trsv_reg0204;
-+      regmap_write(udphy->pma_regmap, 0x0810 + offset, val);
-+
-+      val = dp_ctrl[voltage][pre].trsv_reg0205;
-+      regmap_write(udphy->pma_regmap, 0x0814 + offset, val);
-+
-+      val = dp_ctrl[voltage][pre].trsv_reg0206;
-+      regmap_write(udphy->pma_regmap, 0x0818 + offset, val);
-+
-+      val = dp_ctrl[voltage][pre].trsv_reg0207;
-+      regmap_write(udphy->pma_regmap, 0x081c + offset, val);
-+}
-+
-+static int rk_udphy_dp_phy_configure(struct phy *phy,
-+                                   union phy_configure_opts *opts)
-+{
-+      struct rk_udphy *udphy = phy_get_drvdata(phy);
-+      struct phy_configure_opts_dp *dp = &opts->dp;
-+      u32 i, val, lane;
-+      int ret;
-+
-+      ret = rk_udphy_dp_phy_verify_config(udphy, dp);
-+      if (ret)
-+              return ret;
-+
-+      if (dp->set_rate) {
-+              regmap_update_bits(udphy->pma_regmap, CMN_DP_RSTN_OFFSET,
-+                                 CMN_DP_CMN_RSTN, FIELD_PREP(CMN_DP_CMN_RSTN, 0x0));
-+
-+              switch (dp->link_rate) {
-+              case 1620:
-+                      udphy->bw = DP_BW_RBR;
-+                      break;
-+
-+              case 2700:
-+                      udphy->bw = DP_BW_HBR;
-+                      break;
-+
-+              case 5400:
-+                      udphy->bw = DP_BW_HBR2;
-+                      break;
-+
-+              case 8100:
-+                      udphy->bw = DP_BW_HBR3;
-+                      break;
-+
-+              default:
-+                      return -EINVAL;
-+              }
-+
-+              regmap_update_bits(udphy->pma_regmap, CMN_DP_LINK_OFFSET, CMN_DP_TX_LINK_BW,
-+                                 FIELD_PREP(CMN_DP_TX_LINK_BW, udphy->bw));
-+              regmap_update_bits(udphy->pma_regmap, CMN_SSC_EN_OFFSET, CMN_ROPLL_SSC_EN,
-+                                 FIELD_PREP(CMN_ROPLL_SSC_EN, dp->ssc));
-+              regmap_update_bits(udphy->pma_regmap, CMN_DP_RSTN_OFFSET, CMN_DP_CMN_RSTN,
-+                                 FIELD_PREP(CMN_DP_CMN_RSTN, 0x1));
-+
-+              ret = regmap_read_poll_timeout(udphy->pma_regmap, CMN_ANA_ROPLL_DONE_OFFSET, val,
-+                                             FIELD_GET(CMN_ANA_ROPLL_LOCK_DONE, val) &&
-+                                             FIELD_GET(CMN_ANA_ROPLL_AFC_DONE, val),
-+                                             0, 1000);
-+              if (ret) {
-+                      dev_err(udphy->dev, "ROPLL is not lock, set_rate failed\n");
-+                      return ret;
-+              }
-+      }
-+
-+      if (dp->set_voltages) {
-+              for (i = 0; i < dp->lanes; i++) {
-+                      lane = udphy->dp_lane_sel[i];
-+                      switch (dp->link_rate) {
-+                      case 1620:
-+                      case 2700:
-+                              regmap_update_bits(udphy->pma_regmap,
-+                                                 TRSV_ANA_TX_CLK_OFFSET_N(lane),
-+                                                 LN_ANA_TX_SER_TXCLK_INV,
-+                                                 FIELD_PREP(LN_ANA_TX_SER_TXCLK_INV,
-+                                                 udphy->lane_mux_sel[lane]));
-+                              break;
-+
-+                      case 5400:
-+                      case 8100:
-+                              regmap_update_bits(udphy->pma_regmap,
-+                                                 TRSV_ANA_TX_CLK_OFFSET_N(lane),
-+                                                 LN_ANA_TX_SER_TXCLK_INV,
-+                                                 FIELD_PREP(LN_ANA_TX_SER_TXCLK_INV, 0x0));
-+                              break;
-+                      }
-+
-+                      rk_udphy_dp_set_voltage(udphy, udphy->bw, dp->voltage[i],
-+                                              dp->pre[i], lane);
-+              }
-+      }
-+
-+      return 0;
-+}
-+
-+static const struct phy_ops rk_udphy_dp_phy_ops = {
-+      .init           = rk_udphy_dp_phy_init,
-+      .exit           = rk_udphy_dp_phy_exit,
-+      .power_on       = rk_udphy_dp_phy_power_on,
-+      .power_off      = rk_udphy_dp_phy_power_off,
-+      .configure      = rk_udphy_dp_phy_configure,
-+      .owner          = THIS_MODULE,
-+};
-+
-+static int rk_udphy_usb3_phy_init(struct phy *phy)
-+{
-+      struct rk_udphy *udphy = phy_get_drvdata(phy);
-+      int ret;
-+
-+      mutex_lock(&udphy->mutex);
-+      /* DP only or high-speed, disable U3 port */
-+      if (!(udphy->mode & UDPHY_MODE_USB) || udphy->hs) {
-+              rk_udphy_u3_port_disable(udphy, true);
-+              goto unlock;
-+      }
-+
-+      ret = rk_udphy_power_on(udphy, UDPHY_MODE_USB);
-+
-+unlock:
-+      mutex_unlock(&udphy->mutex);
-+      return ret;
-+}
-+
-+static int rk_udphy_usb3_phy_exit(struct phy *phy)
-+{
-+      struct rk_udphy *udphy = phy_get_drvdata(phy);
-+
-+      mutex_lock(&udphy->mutex);
-+      /* DP only or high-speed */
-+      if (!(udphy->mode & UDPHY_MODE_USB) || udphy->hs)
-+              goto unlock;
-+
-+      rk_udphy_power_off(udphy, UDPHY_MODE_USB);
-+
-+unlock:
-+      mutex_unlock(&udphy->mutex);
-+      return 0;
-+}
-+
-+static const struct phy_ops rk_udphy_usb3_phy_ops = {
-+      .init           = rk_udphy_usb3_phy_init,
-+      .exit           = rk_udphy_usb3_phy_exit,
-+      .owner          = THIS_MODULE,
-+};
-+
-+static int rk_udphy_typec_mux_set(struct typec_mux_dev *mux,
-+                                struct typec_mux_state *state)
-+{
-+      struct rk_udphy *udphy = typec_mux_get_drvdata(mux);
-+      u8 mode;
-+
-+      mutex_lock(&udphy->mutex);
-+
-+      switch (state->mode) {
-+      case TYPEC_DP_STATE_C:
-+      case TYPEC_DP_STATE_E:
-+              udphy->lane_mux_sel[0] = PHY_LANE_MUX_DP;
-+              udphy->lane_mux_sel[1] = PHY_LANE_MUX_DP;
-+              udphy->lane_mux_sel[2] = PHY_LANE_MUX_DP;
-+              udphy->lane_mux_sel[3] = PHY_LANE_MUX_DP;
-+              mode = UDPHY_MODE_DP;
-+              break;
-+
-+      case TYPEC_DP_STATE_D:
-+      default:
-+              if (udphy->flip) {
-+                      udphy->lane_mux_sel[0] = PHY_LANE_MUX_DP;
-+                      udphy->lane_mux_sel[1] = PHY_LANE_MUX_DP;
-+                      udphy->lane_mux_sel[2] = PHY_LANE_MUX_USB;
-+                      udphy->lane_mux_sel[3] = PHY_LANE_MUX_USB;
-+              } else {
-+                      udphy->lane_mux_sel[0] = PHY_LANE_MUX_USB;
-+                      udphy->lane_mux_sel[1] = PHY_LANE_MUX_USB;
-+                      udphy->lane_mux_sel[2] = PHY_LANE_MUX_DP;
-+                      udphy->lane_mux_sel[3] = PHY_LANE_MUX_DP;
-+              }
-+              mode = UDPHY_MODE_DP_USB;
-+              break;
-+      }
-+
-+      if (state->alt && state->alt->svid == USB_TYPEC_DP_SID) {
-+              struct typec_displayport_data *data = state->data;
-+
-+              if (!data) {
-+                      rk_udphy_dp_hpd_event_trigger(udphy, false);
-+              } else if (data->status & DP_STATUS_IRQ_HPD) {
-+                      rk_udphy_dp_hpd_event_trigger(udphy, false);
-+                      usleep_range(750, 800);
-+                      rk_udphy_dp_hpd_event_trigger(udphy, true);
-+              } else if (data->status & DP_STATUS_HPD_STATE) {
-+                      if (udphy->mode != mode) {
-+                              udphy->mode = mode;
-+                              udphy->mode_change = true;
-+                      }
-+                      rk_udphy_dp_hpd_event_trigger(udphy, true);
-+              } else {
-+                      rk_udphy_dp_hpd_event_trigger(udphy, false);
-+              }
-+      }
-+
-+      mutex_unlock(&udphy->mutex);
-+      return 0;
-+}
-+
-+static void rk_udphy_typec_mux_unregister(void *data)
-+{
-+      struct rk_udphy *udphy = data;
-+
-+      typec_mux_unregister(udphy->mux);
-+}
-+
-+static int rk_udphy_setup_typec_mux(struct rk_udphy *udphy)
-+{
-+      struct typec_mux_desc mux_desc = {};
-+
-+      mux_desc.drvdata = udphy;
-+      mux_desc.fwnode = dev_fwnode(udphy->dev);
-+      mux_desc.set = rk_udphy_typec_mux_set;
-+
-+      udphy->mux = typec_mux_register(udphy->dev, &mux_desc);
-+      if (IS_ERR(udphy->mux)) {
-+              dev_err(udphy->dev, "Error register typec mux: %ld\n",
-+                      PTR_ERR(udphy->mux));
-+              return PTR_ERR(udphy->mux);
-+      }
-+
-+      return devm_add_action_or_reset(udphy->dev, rk_udphy_typec_mux_unregister,
-+                                      udphy);
-+}
-+
-+static const struct regmap_config rk_udphy_pma_regmap_cfg = {
-+      .reg_bits = 32,
-+      .reg_stride = 4,
-+      .val_bits = 32,
-+      .fast_io = true,
-+      .max_register = 0x20dc,
-+};
-+
-+static struct phy *rk_udphy_phy_xlate(struct device *dev, struct of_phandle_args *args)
-+{
-+      struct rk_udphy *udphy = dev_get_drvdata(dev);
-+
-+      if (args->args_count == 0)
-+              return ERR_PTR(-EINVAL);
-+
-+      switch (args->args[0]) {
-+      case PHY_TYPE_USB3:
-+              return udphy->phy_u3;
-+      case PHY_TYPE_DP:
-+              return udphy->phy_dp;
-+      }
-+
-+      return ERR_PTR(-EINVAL);
-+}
-+
-+static int rk_udphy_probe(struct platform_device *pdev)
-+{
-+      struct device *dev = &pdev->dev;
-+      struct phy_provider *phy_provider;
-+      struct resource *res;
-+      struct rk_udphy *udphy;
-+      void __iomem *base;
-+      int id, ret;
-+
-+      udphy = devm_kzalloc(dev, sizeof(*udphy), GFP_KERNEL);
-+      if (!udphy)
-+              return -ENOMEM;
-+
-+      udphy->cfgs = device_get_match_data(dev);
-+      if (!udphy->cfgs)
-+              return dev_err_probe(dev, -EINVAL, "missing match data\n");
-+
-+      base = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
-+      if (IS_ERR(base))
-+              return PTR_ERR(base);
-+
-+      /* find the phy-id from the io address */
-+      udphy->id = -ENODEV;
-+      for (id = 0; id < udphy->cfgs->num_phys; id++) {
-+              if (res->start == udphy->cfgs->phy_ids[id]) {
-+                      udphy->id = id;
-+                      break;
-+              }
-+      }
-+
-+      if (udphy->id < 0)
-+              return dev_err_probe(dev, -ENODEV, "no matching device found\n");
-+
-+      udphy->pma_regmap = devm_regmap_init_mmio(dev, base + UDPHY_PMA,
-+                                                &rk_udphy_pma_regmap_cfg);
-+      if (IS_ERR(udphy->pma_regmap))
-+              return PTR_ERR(udphy->pma_regmap);
-+
-+      udphy->dev = dev;
-+      ret = rk_udphy_parse_dt(udphy);
-+      if (ret)
-+              return ret;
-+
-+      ret = rk_udphy_get_initial_status(udphy);
-+      if (ret)
-+              return ret;
-+
-+      mutex_init(&udphy->mutex);
-+      platform_set_drvdata(pdev, udphy);
-+
-+      if (device_property_present(dev, "orientation-switch")) {
-+              ret = rk_udphy_setup_orien_switch(udphy);
-+              if (ret)
-+                      return ret;
-+      }
-+
-+      if (device_property_present(dev, "mode-switch")) {
-+              ret = rk_udphy_setup_typec_mux(udphy);
-+              if (ret)
-+                      return ret;
-+      }
-+
-+      udphy->phy_u3 = devm_phy_create(dev, dev->of_node, &rk_udphy_usb3_phy_ops);
-+      if (IS_ERR(udphy->phy_u3)) {
-+              ret = PTR_ERR(udphy->phy_u3);
-+              return dev_err_probe(dev, ret, "failed to create USB3 phy\n");
-+      }
-+      phy_set_drvdata(udphy->phy_u3, udphy);
-+
-+      udphy->phy_dp = devm_phy_create(dev, dev->of_node, &rk_udphy_dp_phy_ops);
-+      if (IS_ERR(udphy->phy_dp)) {
-+              ret = PTR_ERR(udphy->phy_dp);
-+              return dev_err_probe(dev, ret, "failed to create DP phy\n");
-+      }
-+      phy_set_bus_width(udphy->phy_dp, rk_udphy_dplane_get(udphy));
-+      udphy->phy_dp->attrs.max_link_rate = 8100;
-+      phy_set_drvdata(udphy->phy_dp, udphy);
-+
-+      phy_provider = devm_of_phy_provider_register(dev, rk_udphy_phy_xlate);
-+      if (IS_ERR(phy_provider)) {
-+              ret = PTR_ERR(phy_provider);
-+              return dev_err_probe(dev, ret, "failed to register phy provider\n");
-+      }
-+
-+      return 0;
-+}
-+
-+static int __maybe_unused rk_udphy_resume(struct device *dev)
-+{
-+      struct rk_udphy *udphy = dev_get_drvdata(dev);
-+
-+      if (udphy->dp_sink_hpd_sel)
-+              rk_udphy_dp_hpd_event_trigger(udphy, udphy->dp_sink_hpd_cfg);
-+
-+      return 0;
-+}
-+
-+static const struct dev_pm_ops rk_udphy_pm_ops = {
-+      SET_LATE_SYSTEM_SLEEP_PM_OPS(NULL, rk_udphy_resume)
-+};
-+
-+static const char * const rk_udphy_rst_list[] = {
-+      "init", "cmn", "lane", "pcs_apb", "pma_apb"
-+};
-+
-+static const struct rk_udphy_cfg rk3588_udphy_cfgs = {
-+      .num_phys = 2,
-+      .phy_ids = {
-+              0xfed80000,
-+              0xfed90000,
-+      },
-+      .num_rsts = ARRAY_SIZE(rk_udphy_rst_list),
-+      .rst_list = rk_udphy_rst_list,
-+      .grfcfg = {
-+              /* u2phy-grf */
-+              .bvalid_phy_con         = RK_UDPHY_GEN_GRF_REG(0x0008, 1, 0, 0x2, 0x3),
-+              .bvalid_grf_con         = RK_UDPHY_GEN_GRF_REG(0x0010, 3, 2, 0x2, 0x3),
-+
-+              /* usb-grf */
-+              .usb3otg0_cfg           = RK_UDPHY_GEN_GRF_REG(0x001c, 15, 0, 0x1100, 0x0188),
-+              .usb3otg1_cfg           = RK_UDPHY_GEN_GRF_REG(0x0034, 15, 0, 0x1100, 0x0188),
-+
-+              /* usbdpphy-grf */
-+              .low_pwrn               = RK_UDPHY_GEN_GRF_REG(0x0004, 13, 13, 0, 1),
-+              .rx_lfps                = RK_UDPHY_GEN_GRF_REG(0x0004, 14, 14, 0, 1),
-+      },
-+      .vogrfcfg = {
-+              {
-+                      .hpd_trigger    = RK_UDPHY_GEN_GRF_REG(0x0000, 11, 10, 1, 3),
-+                      .dp_lane_reg    = 0x0000,
-+              },
-+              {
-+                      .hpd_trigger    = RK_UDPHY_GEN_GRF_REG(0x0008, 11, 10, 1, 3),
-+                      .dp_lane_reg    = 0x0008,
-+              },
-+      },
-+      .dp_tx_ctrl_cfg = {
-+              rk3588_dp_tx_drv_ctrl_rbr_hbr,
-+              rk3588_dp_tx_drv_ctrl_rbr_hbr,
-+              rk3588_dp_tx_drv_ctrl_hbr2,
-+              rk3588_dp_tx_drv_ctrl_hbr3,
-+      },
-+      .dp_tx_ctrl_cfg_typec = {
-+              rk3588_dp_tx_drv_ctrl_rbr_hbr_typec,
-+              rk3588_dp_tx_drv_ctrl_rbr_hbr_typec,
-+              rk3588_dp_tx_drv_ctrl_hbr2,
-+              rk3588_dp_tx_drv_ctrl_hbr3,
-+      },
-+};
-+
-+static const struct of_device_id rk_udphy_dt_match[] = {
-+      {
-+              .compatible = "rockchip,rk3588-usbdp-phy",
-+              .data = &rk3588_udphy_cfgs
-+      },
-+      { /* sentinel */ }
-+};
-+MODULE_DEVICE_TABLE(of, rk_udphy_dt_match);
-+
-+static struct platform_driver rk_udphy_driver = {
-+      .probe          = rk_udphy_probe,
-+      .driver         = {
-+              .name   = "rockchip-usbdp-phy",
-+              .of_match_table = rk_udphy_dt_match,
-+              .pm = &rk_udphy_pm_ops,
-+      },
-+};
-+module_platform_driver(rk_udphy_driver);
-+
-+MODULE_AUTHOR("Frank Wang <frank.wang@rock-chips.com>");
-+MODULE_AUTHOR("Zhang Yubing <yubing.zhang@rock-chips.com>");
-+MODULE_DESCRIPTION("Rockchip USBDP Combo PHY driver");
-+MODULE_LICENSE("GPL");
diff --git a/target/linux/rockchip/patches-6.12/032-02-v6.10-phy-rockchip-usbdp-fix-uninitialized-variable.patch b/target/linux/rockchip/patches-6.12/032-02-v6.10-phy-rockchip-usbdp-fix-uninitialized-variable.patch
deleted file mode 100644 (file)
index 65bd8a7..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From c9342d1a351ee1249fa98d936f756299a83d5684 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Tue, 16 Apr 2024 16:51:23 +0200
-Subject: [PATCH] phy: rockchip: usbdp: fix uninitialized variable
-
-The ret variable may not be initialized in rk_udphy_usb3_phy_init(), if
-the PHY is not using USB3 mode.
-
-Since the DisplayPort part is handled separately and the PHY does not
-support USB2 (which is routed to another PHY on Rockchip RK3588), the
-right exit code for this case is 0. Thus let's initialize the variable
-accordingly.
-
-Fixes: 2f70bbddeb457 ("phy: rockchip: add usbdp combo phy driver")
-Reported-by: kernel test robot <lkp@intel.com>
-Closes: https://lore.kernel.org/oe-kbuild-all/202404141048.qFAYDctQ-lkp@intel.com/
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
-Link: https://lore.kernel.org/r/20240416145233.94687-1-sebastian.reichel@collabora.com
-Signed-off-by: Vinod Koul <vkoul@kernel.org>
----
- drivers/phy/rockchip/phy-rockchip-usbdp.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/phy/rockchip/phy-rockchip-usbdp.c
-+++ b/drivers/phy/rockchip/phy-rockchip-usbdp.c
-@@ -1285,7 +1285,7 @@ static const struct phy_ops rk_udphy_dp_
- static int rk_udphy_usb3_phy_init(struct phy *phy)
- {
-       struct rk_udphy *udphy = phy_get_drvdata(phy);
--      int ret;
-+      int ret = 0;
-       mutex_lock(&udphy->mutex);
-       /* DP only or high-speed, disable U3 port */
diff --git a/target/linux/rockchip/patches-6.12/032-03-v6.10-phy-rockchip-fix-CONFIG_TYPEC-dependency.patch b/target/linux/rockchip/patches-6.12/032-03-v6.10-phy-rockchip-fix-CONFIG_TYPEC-dependency.patch
deleted file mode 100644 (file)
index a8b9aa1..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From 9c79b779643e56d4253bd3ba6998c58c819943af Mon Sep 17 00:00:00 2001
-From: Arnd Bergmann <arnd@arndb.de>
-Date: Mon, 15 Apr 2024 19:42:25 +0200
-Subject: [PATCH] phy: rockchip: fix CONFIG_TYPEC dependency
-
-The newly added driver causes a warning about missing dependencies
-by selecting CONFIG_TYPEC unconditionally:
-
-WARNING: unmet direct dependencies detected for TYPEC
-  Depends on [n]: USB_SUPPORT [=n]
-  Selected by [y]:
-  - PHY_ROCKCHIP_USBDP [=y] && ARCH_ROCKCHIP [=y] && OF [=y]
-
-WARNING: unmet direct dependencies detected for USB_COMMON
-  Depends on [n]: USB_SUPPORT [=n]
-  Selected by [y]:
-  - EXTCON_RTK_TYPE_C [=y] && EXTCON [=y] && (ARCH_REALTEK [=y] || COMPILE_TEST [=y]) && TYPEC [=y]
-
-Since that is a user-visible option, it should not really be selected
-in the first place. Replace the 'select' with a 'depends on' as
-we have for similar drivers.
-
-Fixes: 2f70bbddeb45 ("phy: rockchip: add usbdp combo phy driver")
-Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-Reviewed-by: Heiko Stuebner <heiko@sntech.de>
-Link: https://lore.kernel.org/r/20240415174241.77982-1-arnd@kernel.org
-Signed-off-by: Vinod Koul <vkoul@kernel.org>
----
- drivers/phy/rockchip/Kconfig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/phy/rockchip/Kconfig
-+++ b/drivers/phy/rockchip/Kconfig
-@@ -111,8 +111,8 @@ config PHY_ROCKCHIP_USB
- config PHY_ROCKCHIP_USBDP
-       tristate "Rockchip USBDP COMBO PHY Driver"
-       depends on ARCH_ROCKCHIP && OF
-+      depends on TYPEC
-       select GENERIC_PHY
--      select TYPEC
-       help
-         Enable this to support the Rockchip USB3.0/DP combo PHY with
-         Samsung IP block. This is required for USB3 support on RK3588.
diff --git a/target/linux/rockchip/patches-6.12/032-04-v6.10-phy-rockchip-Fix-typo-in-function-names.patch b/target/linux/rockchip/patches-6.12/032-04-v6.10-phy-rockchip-Fix-typo-in-function-names.patch
deleted file mode 100644 (file)
index 08620d6..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From 9b6bfad9070a95d19973be17177e5d9220cbbf1f Mon Sep 17 00:00:00 2001
-From: Rick Wertenbroek <rick.wertenbroek@gmail.com>
-Date: Thu, 7 Mar 2024 10:53:18 +0100
-Subject: [PATCH] phy: rockchip: Fix typo in function names
-
-Several functions had "rochchip" instead of "rockchip" in their name.
-Replace "rochchip" by "rockchip".
-
-Signed-off-By: Rick Wertenbroek <rick.wertenbroek@gmail.com>
-Reviewed-by: Heiko Stuebner <heiko@sntech.de>
-Link: https://lore.kernel.org/r/20240307095318.3651498-1-rick.wertenbroek@gmail.com
-Signed-off-by: Vinod Koul <vkoul@kernel.org>
----
- drivers/phy/rockchip/phy-rockchip-naneng-combphy.c |  4 ++--
- drivers/phy/rockchip/phy-rockchip-snps-pcie3.c     | 12 ++++++------
- 2 files changed, 8 insertions(+), 8 deletions(-)
-
---- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
-+++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
-@@ -248,7 +248,7 @@ static int rockchip_combphy_exit(struct
-       return 0;
- }
--static const struct phy_ops rochchip_combphy_ops = {
-+static const struct phy_ops rockchip_combphy_ops = {
-       .init = rockchip_combphy_init,
-       .exit = rockchip_combphy_exit,
-       .owner = THIS_MODULE,
-@@ -367,7 +367,7 @@ static int rockchip_combphy_probe(struct
-               return ret;
-       }
--      priv->phy = devm_phy_create(dev, NULL, &rochchip_combphy_ops);
-+      priv->phy = devm_phy_create(dev, NULL, &rockchip_combphy_ops);
-       if (IS_ERR(priv->phy)) {
-               dev_err(dev, "failed to create combphy\n");
-               return PTR_ERR(priv->phy);
---- a/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
-+++ b/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
-@@ -182,7 +182,7 @@ static const struct rockchip_p3phy_ops r
-       .phy_init = rockchip_p3phy_rk3588_init,
- };
--static int rochchip_p3phy_init(struct phy *phy)
-+static int rockchip_p3phy_init(struct phy *phy)
- {
-       struct rockchip_p3phy_priv *priv = phy_get_drvdata(phy);
-       int ret;
-@@ -205,7 +205,7 @@ static int rochchip_p3phy_init(struct ph
-       return ret;
- }
--static int rochchip_p3phy_exit(struct phy *phy)
-+static int rockchip_p3phy_exit(struct phy *phy)
- {
-       struct rockchip_p3phy_priv *priv = phy_get_drvdata(phy);
-@@ -214,9 +214,9 @@ static int rochchip_p3phy_exit(struct ph
-       return 0;
- }
--static const struct phy_ops rochchip_p3phy_ops = {
--      .init = rochchip_p3phy_init,
--      .exit = rochchip_p3phy_exit,
-+static const struct phy_ops rockchip_p3phy_ops = {
-+      .init = rockchip_p3phy_init,
-+      .exit = rockchip_p3phy_exit,
-       .set_mode = rockchip_p3phy_set_mode,
-       .owner = THIS_MODULE,
- };
-@@ -275,7 +275,7 @@ static int rockchip_p3phy_probe(struct p
-               return priv->num_lanes;
-       }
--      priv->phy = devm_phy_create(dev, NULL, &rochchip_p3phy_ops);
-+      priv->phy = devm_phy_create(dev, NULL, &rockchip_p3phy_ops);
-       if (IS_ERR(priv->phy)) {
-               dev_err(dev, "failed to create combphy\n");
-               return PTR_ERR(priv->phy);
diff --git a/target/linux/rockchip/patches-6.12/032-05-v6.10-phy-rockchip-snps-pcie3-add-support-for.patch b/target/linux/rockchip/patches-6.12/032-05-v6.10-phy-rockchip-snps-pcie3-add-support-for.patch
deleted file mode 100644 (file)
index 61c3e0e..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-From a1fe1eca0d8be69ccc1f3d615e5a529df1c82e66 Mon Sep 17 00:00:00 2001
-From: Niklas Cassel <cassel@kernel.org>
-Date: Fri, 12 Apr 2024 14:58:16 +0200
-Subject: [PATCH] phy: rockchip-snps-pcie3: add support for
- rockchip,rx-common-refclk-mode
-
->From the RK3588 Technical Reference Manual, Part1,
-section 6.19 PCIe3PHY_GRF Register Description:
-"rxX_cmn_refclk_mode"
-RX common reference clock mode for lane X. This mode should be enabled
-only when the far-end and near-end devices are running with a common
-reference clock.
-
-The hardware reset value for this field is 0x1 (enabled).
-Note that this register field is only available on RK3588, not on RK3568.
-
-The link training either fails or is highly unstable (link state will jump
-continuously between L0 and recovery) when this mode is enabled while
-using an endpoint running in Separate Reference Clock with No SSC (SRNS)
-mode or Separate Reference Clock with SSC (SRIS) mode.
-(Which is usually the case when using a real SoC as endpoint, e.g. the
-RK3588 PCIe controller can run in both Root Complex and Endpoint mode.)
-
-Add support for the device tree property rockchip,rx-common-refclk-mode,
-such that the PCIe PHY can be used in configurations where the Root
-Complex and Endpoint are not using a common reference clock.
-
-Signed-off-by: Niklas Cassel <cassel@kernel.org>
-Link: https://lore.kernel.org/r/20240412125818.17052-3-cassel@kernel.org
-Signed-off-by: Vinod Koul <vkoul@kernel.org>
----
- .../phy/rockchip/phy-rockchip-snps-pcie3.c    | 37 +++++++++++++++++++
- 1 file changed, 37 insertions(+)
-
---- a/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
-+++ b/drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
-@@ -35,11 +35,17 @@
- #define RK3588_PCIE3PHY_GRF_CMN_CON0          0x0
- #define RK3588_PCIE3PHY_GRF_PHY0_STATUS1      0x904
- #define RK3588_PCIE3PHY_GRF_PHY1_STATUS1      0xa04
-+#define RK3588_PCIE3PHY_GRF_PHY0_LN0_CON1     0x1004
-+#define RK3588_PCIE3PHY_GRF_PHY0_LN1_CON1     0x1104
-+#define RK3588_PCIE3PHY_GRF_PHY1_LN0_CON1     0x2004
-+#define RK3588_PCIE3PHY_GRF_PHY1_LN1_CON1     0x2104
- #define RK3588_SRAM_INIT_DONE(reg)            (reg & BIT(0))
- #define RK3588_BIFURCATION_LANE_0_1           BIT(0)
- #define RK3588_BIFURCATION_LANE_2_3           BIT(1)
- #define RK3588_LANE_AGGREGATION               BIT(2)
-+#define RK3588_RX_CMN_REFCLK_MODE_EN          ((BIT(7) << 16) |  BIT(7))
-+#define RK3588_RX_CMN_REFCLK_MODE_DIS         (BIT(7) << 16)
- #define RK3588_PCIE1LN_SEL_EN                 (GENMASK(1, 0) << 16)
- #define RK3588_PCIE30_PHY_MODE_EN             (GENMASK(2, 0) << 16)
-@@ -60,6 +66,7 @@ struct rockchip_p3phy_priv {
-       int num_clks;
-       int num_lanes;
-       u32 lanes[4];
-+      u32 rx_cmn_refclk_mode[4];
- };
- struct rockchip_p3phy_ops {
-@@ -137,6 +144,19 @@ static int rockchip_p3phy_rk3588_init(st
-       u8 mode = RK3588_LANE_AGGREGATION; /* default */
-       int ret;
-+      regmap_write(priv->phy_grf, RK3588_PCIE3PHY_GRF_PHY0_LN0_CON1,
-+                   priv->rx_cmn_refclk_mode[0] ? RK3588_RX_CMN_REFCLK_MODE_EN :
-+                   RK3588_RX_CMN_REFCLK_MODE_DIS);
-+      regmap_write(priv->phy_grf, RK3588_PCIE3PHY_GRF_PHY0_LN1_CON1,
-+                   priv->rx_cmn_refclk_mode[1] ? RK3588_RX_CMN_REFCLK_MODE_EN :
-+                   RK3588_RX_CMN_REFCLK_MODE_DIS);
-+      regmap_write(priv->phy_grf, RK3588_PCIE3PHY_GRF_PHY1_LN0_CON1,
-+                   priv->rx_cmn_refclk_mode[2] ? RK3588_RX_CMN_REFCLK_MODE_EN :
-+                   RK3588_RX_CMN_REFCLK_MODE_DIS);
-+      regmap_write(priv->phy_grf, RK3588_PCIE3PHY_GRF_PHY1_LN1_CON1,
-+                   priv->rx_cmn_refclk_mode[3] ? RK3588_RX_CMN_REFCLK_MODE_EN :
-+                   RK3588_RX_CMN_REFCLK_MODE_DIS);
-+
-       /* Deassert PCIe PMA output clamp mode */
-       regmap_write(priv->phy_grf, RK3588_PCIE3PHY_GRF_CMN_CON0, BIT(8) | BIT(24));
-@@ -275,6 +295,23 @@ static int rockchip_p3phy_probe(struct p
-               return priv->num_lanes;
-       }
-+      ret = of_property_read_variable_u32_array(dev->of_node,
-+                                                "rockchip,rx-common-refclk-mode",
-+                                                priv->rx_cmn_refclk_mode, 1,
-+                                                ARRAY_SIZE(priv->rx_cmn_refclk_mode));
-+      /*
-+       * if no rockchip,rx-common-refclk-mode, assume enabled for all lanes in
-+       * order to be DT backwards compatible. (Since HW reset val is enabled.)
-+       */
-+      if (ret == -EINVAL) {
-+              for (int i = 0; i < ARRAY_SIZE(priv->rx_cmn_refclk_mode); i++)
-+                      priv->rx_cmn_refclk_mode[i] = 1;
-+      } else if (ret < 0) {
-+              dev_err(dev, "failed to read rockchip,rx-common-refclk-mode property %d\n",
-+                      ret);
-+              return ret;
-+      }
-+
-       priv->phy = devm_phy_create(dev, NULL, &rockchip_p3phy_ops);
-       if (IS_ERR(priv->phy)) {
-               dev_err(dev, "failed to create combphy\n");
diff --git a/target/linux/rockchip/patches-6.12/034-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch b/target/linux/rockchip/patches-6.12/034-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch
deleted file mode 100644 (file)
index 4d358ea..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-From 97789b93b792fc97ad4476b79e0f38ffa8e7e0ee Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Fri, 20 Oct 2023 16:11:41 +0200
-Subject: [PATCH] usb: dwc3: add optional PHY interface clocks
-
-On Rockchip RK3588 one of the DWC3 cores is integrated weirdly and
-requires two extra clocks to be enabled. Without these extra clocks
-hot-plugging USB devices is broken.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
-Link: https://lore.kernel.org/r/20231020150022.48725-3-sebastian.reichel@collabora.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/usb/dwc3/core.c | 28 ++++++++++++++++++++++++++++
- drivers/usb/dwc3/core.h |  4 ++++
- 2 files changed, 32 insertions(+)
-
---- a/drivers/usb/dwc3/core.c
-+++ b/drivers/usb/dwc3/core.c
-@@ -860,8 +860,20 @@ static int dwc3_clk_enable(struct dwc3 *
-       if (ret)
-               goto disable_ref_clk;
-+      ret = clk_prepare_enable(dwc->utmi_clk);
-+      if (ret)
-+              goto disable_susp_clk;
-+
-+      ret = clk_prepare_enable(dwc->pipe_clk);
-+      if (ret)
-+              goto disable_utmi_clk;
-+
-       return 0;
-+disable_utmi_clk:
-+      clk_disable_unprepare(dwc->utmi_clk);
-+disable_susp_clk:
-+      clk_disable_unprepare(dwc->susp_clk);
- disable_ref_clk:
-       clk_disable_unprepare(dwc->ref_clk);
- disable_bus_clk:
-@@ -871,6 +883,8 @@ disable_bus_clk:
- static void dwc3_clk_disable(struct dwc3 *dwc)
- {
-+      clk_disable_unprepare(dwc->pipe_clk);
-+      clk_disable_unprepare(dwc->utmi_clk);
-       clk_disable_unprepare(dwc->susp_clk);
-       clk_disable_unprepare(dwc->ref_clk);
-       clk_disable_unprepare(dwc->bus_clk);
-@@ -1886,6 +1900,20 @@ static int dwc3_get_clocks(struct dwc3 *
-               }
-       }
-+      /* specific to Rockchip RK3588 */
-+      dwc->utmi_clk = devm_clk_get_optional(dev, "utmi");
-+      if (IS_ERR(dwc->utmi_clk)) {
-+              return dev_err_probe(dev, PTR_ERR(dwc->utmi_clk),
-+                              "could not get utmi clock\n");
-+      }
-+
-+      /* specific to Rockchip RK3588 */
-+      dwc->pipe_clk = devm_clk_get_optional(dev, "pipe");
-+      if (IS_ERR(dwc->pipe_clk)) {
-+              return dev_err_probe(dev, PTR_ERR(dwc->pipe_clk),
-+                              "could not get pipe clock\n");
-+      }
-+
-       return 0;
- }
---- a/drivers/usb/dwc3/core.h
-+++ b/drivers/usb/dwc3/core.h
-@@ -1003,6 +1003,8 @@ struct dwc3_scratchpad_array {
-  * @bus_clk: clock for accessing the registers
-  * @ref_clk: reference clock
-  * @susp_clk: clock used when the SS phy is in low power (S3) state
-+ * @utmi_clk: clock used for USB2 PHY communication
-+ * @pipe_clk: clock used for USB3 PHY communication
-  * @reset: reset control
-  * @regs: base address for our registers
-  * @regs_size: address space size
-@@ -1175,6 +1177,8 @@ struct dwc3 {
-       struct clk              *bus_clk;
-       struct clk              *ref_clk;
-       struct clk              *susp_clk;
-+      struct clk              *utmi_clk;
-+      struct clk              *pipe_clk;
-       struct reset_control    *reset;
diff --git a/target/linux/rockchip/patches-6.12/050-01-v6.8-arm64-dts-rockchip-Add-sfc-node-to-rk3588s.patch b/target/linux/rockchip/patches-6.12/050-01-v6.8-arm64-dts-rockchip-Add-sfc-node-to-rk3588s.patch
deleted file mode 100644 (file)
index fcbec5f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 3eaf2abd11aa7f3b2fb04d60c64b2c756fe030eb Mon Sep 17 00:00:00 2001
-From: Muhammed Efe Cetin <efectn@6tel.net>
-Date: Mon, 9 Oct 2023 22:27:26 +0300
-Subject: [PATCH] arm64: dts: rockchip: Add sfc node to rk3588s
-
-Add SFC (SPI Flash) to RK3588S SOC.
-
-Reviewed-by: Dhruva Gole <d-gole@ti.com>
-Signed-off-by: Muhammed Efe Cetin <efectn@6tel.net>
-Link: https://lore.kernel.org/r/d36a64edfaede92ce2e158b0d9dc4f5998e019e3.1696878787.git.efectn@6tel.net
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -1425,6 +1425,17 @@
-               };
-       };
-+      sfc: spi@fe2b0000 {
-+              compatible = "rockchip,sfc";
-+              reg = <0x0 0xfe2b0000 0x0 0x4000>;
-+              interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
-+              clock-names = "clk_sfc", "hclk_sfc";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-       sdmmc: mmc@fe2c0000 {
-               compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc";
-               reg = <0x0 0xfe2c0000 0x0 0x4000>;
diff --git a/target/linux/rockchip/patches-6.12/050-02-v6.8-arm64-dts-rockchip-Add-I2S2-M0-pin-definitions-to-rk3588s.patch b/target/linux/rockchip/patches-6.12/050-02-v6.8-arm64-dts-rockchip-Add-I2S2-M0-pin-definitions-to-rk3588s.patch
deleted file mode 100644 (file)
index 25526ba..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-From bf012368bb0ab69167d49715789fac34dfcd457e Mon Sep 17 00:00:00 2001
-From: Ondrej Jirman <megi@xff.cz>
-Date: Sun, 8 Oct 2023 15:04:59 +0200
-Subject: [PATCH] arm64: dts: rockchip: Add I2S2 M0 pin definitions to rk3588s
-
-This is used on Orange Pi 5 Plus.
-
-Signed-off-by: Ondrej Jirman <megi@xff.cz>
-Link: https://lore.kernel.org/r/20231008130515.1155664-2-megi@xff.cz
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588s-pinctrl.dtsi    | 35 +++++++++++++++++++
- 1 file changed, 35 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi
-@@ -1350,6 +1350,41 @@
-       i2s2 {
-               /omit-if-no-ref/
-+              i2s2m0_lrck: i2s2m0-lrck {
-+                      rockchip,pins =
-+                              /* i2s2m0_lrck */
-+                              <2 RK_PC0 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_mclk: i2s2m0-mclk {
-+                      rockchip,pins =
-+                              /* i2s2m0_mclk */
-+                              <2 RK_PB6 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_sclk: i2s2m0-sclk {
-+                      rockchip,pins =
-+                              /* i2s2m0_sclk */
-+                              <2 RK_PB7 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_sdi: i2s2m0-sdi {
-+                      rockchip,pins =
-+                              /* i2s2m0_sdi */
-+                              <2 RK_PC3 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_sdo: i2s2m0-sdo {
-+                      rockchip,pins =
-+                              /* i2s2m0_sdo */
-+                              <4 RK_PC3 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-               i2s2m1_lrck: i2s2m1-lrck {
-                       rockchip,pins =
-                               /* i2s2m1_lrck */
diff --git a/target/linux/rockchip/patches-6.12/050-03-v6.8-arm64-dts-rockchip-Add-UART9-M0-pin-definitions-to-rk3588.patch b/target/linux/rockchip/patches-6.12/050-03-v6.8-arm64-dts-rockchip-Add-UART9-M0-pin-definitions-to-rk3588.patch
deleted file mode 100644 (file)
index 4a9cb6e..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From 3d77a3e51b0faed820a8db985dce5af1cc4eae32 Mon Sep 17 00:00:00 2001
-From: Ondrej Jirman <megi@xff.cz>
-Date: Sun, 8 Oct 2023 15:05:00 +0200
-Subject: [PATCH] arm64: dts: rockchip: Add UART9 M0 pin definitions to rk3588s
-
-This is used on Orange Pi 5 Plus.
-
-Signed-off-by: Ondrej Jirman <megi@xff.cz>
-Link: https://lore.kernel.org/r/20231008130515.1155664-3-megi@xff.cz
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi
-@@ -3343,6 +3343,15 @@
-       uart9 {
-               /omit-if-no-ref/
-+              uart9m0_xfer: uart9m0-xfer {
-+                      rockchip,pins =
-+                              /* uart9_rx_m0 */
-+                              <2 RK_PC4 10 &pcfg_pull_up>,
-+                              /* uart9_tx_m0 */
-+                              <2 RK_PC2 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-               uart9m1_xfer: uart9m1-xfer {
-                       rockchip,pins =
-                               /* uart9_rx_m1 */
diff --git a/target/linux/rockchip/patches-6.12/050-04-v6.8-arm64-dts-rockchip-Add-AV1-decoder-node-to-rk3588s.patch b/target/linux/rockchip/patches-6.12/050-04-v6.8-arm64-dts-rockchip-Add-AV1-decoder-node-to-rk3588s.patch
deleted file mode 100644 (file)
index 6fce4f0..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From dd6dc0c4c1265129c229e26917bf4de1d97ff91f Mon Sep 17 00:00:00 2001
-From: Benjamin Gaignard <benjamin.gaignard@collabora.com>
-Date: Fri, 6 Oct 2023 08:53:34 +0200
-Subject: [PATCH] arm64: dts: rockchip: Add AV1 decoder node to rk3588s
-
-Add node for AV1 video decoder.
-
-Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
-Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20231006065334.8117-1-benjamin.gaignard@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -2314,6 +2314,19 @@
-                       #interrupt-cells = <2>;
-               };
-       };
-+
-+      av1d: video-codec@fdc70000 {
-+              compatible = "rockchip,rk3588-av1-vpu";
-+              reg = <0x0 0xfdc70000 0x0 0x800>;
-+              interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "vdpu";
-+              assigned-clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
-+              assigned-clock-rates = <400000000>, <400000000>;
-+              clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
-+              clock-names = "aclk", "hclk";
-+              power-domains = <&power RK3588_PD_AV1>;
-+              resets = <&cru SRST_A_AV1>, <&cru SRST_P_AV1>, <&cru SRST_A_AV1_BIU>, <&cru SRST_P_AV1_BIU>;
-+      };
- };
- #include "rk3588s-pinctrl.dtsi"
diff --git a/target/linux/rockchip/patches-6.12/050-05-v6.8-arm64-dts-rockchip-Add-DFI-to-rk3588s.patch b/target/linux/rockchip/patches-6.12/050-05-v6.8-arm64-dts-rockchip-Add-DFI-to-rk3588s.patch
deleted file mode 100644 (file)
index 714dc48..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From 5a6976b1040a2f99ab84eddbfa7cd072ac5d10fc Mon Sep 17 00:00:00 2001
-From: Sascha Hauer <s.hauer@pengutronix.de>
-Date: Wed, 18 Oct 2023 08:17:14 +0200
-Subject: [PATCH] arm64: dts: rockchip: Add DFI to rk3588s
-
-The DFI unit can be used to measure DRAM utilization using perf. Add the
-node to the device tree. The DFI needs a rockchip,pmu phandle to the pmu
-containing registers for SDRAM configuration details. This is added in
-this patch as well.
-
-Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-Link: https://lore.kernel.org/r/20231018061714.3553817-27-s.hauer@pengutronix.de
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 16 ++++++++++++++++
- 1 file changed, 16 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -443,6 +443,11 @@
-               status = "disabled";
-       };
-+      pmu1grf: syscon@fd58a000 {
-+              compatible = "rockchip,rk3588-pmugrf", "syscon", "simple-mfd";
-+              reg = <0x0 0xfd58a000 0x0 0x10000>;
-+      };
-+
-       sys_grf: syscon@fd58c000 {
-               compatible = "rockchip,rk3588-sys-grf", "syscon";
-               reg = <0x0 0xfd58c000 0x0 0x1000>;
-@@ -1330,6 +1335,17 @@
-               };
-       };
-+      dfi: dfi@fe060000 {
-+              reg = <0x00 0xfe060000 0x00 0x10000>;
-+              compatible = "rockchip,rk3588-dfi";
-+              interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "ch0", "ch1", "ch2", "ch3";
-+              rockchip,pmu = <&pmu1grf>;
-+      };
-+
-       gmac1: ethernet@fe1c0000 {
-               compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a";
-               reg = <0x0 0xfe1c0000 0x0 0x10000>;
diff --git a/target/linux/rockchip/patches-6.12/050-06-v6.8-arm64-dts-rockchip-rk3588s-Add-USB3-host-controller.patch b/target/linux/rockchip/patches-6.12/050-06-v6.8-arm64-dts-rockchip-rk3588s-Add-USB3-host-controller.patch
deleted file mode 100644 (file)
index f4e835a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-From bbd3778da16b3d448832b843f80bcde1aff26290 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Fri, 20 Oct 2023 16:11:42 +0200
-Subject: [PATCH] arm64: dts: rockchip: rk3588s: Add USB3 host controller
-
-RK3588 has three USB3 controllers. This adds the host-only controller,
-which is using the naneng-combphy shared with PCIe and SATA.
-
-The other two are dual-role and using a different PHY that is not yet
-supported upstream.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20231020150022.48725-4-sebastian.reichel@collabora.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -443,6 +443,27 @@
-               status = "disabled";
-       };
-+      usb_host2_xhci: usb@fcd00000 {
-+              compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
-+              reg = <0x0 0xfcd00000 0x0 0x400000>;
-+              interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru REF_CLK_USB3OTG2>, <&cru SUSPEND_CLK_USB3OTG2>,
-+                       <&cru ACLK_USB3OTG2>, <&cru CLK_UTMI_OTG2>,
-+                       <&cru CLK_PIPEPHY2_PIPE_U3_G>;
-+              clock-names = "ref_clk", "suspend_clk", "bus_clk", "utmi", "pipe";
-+              dr_mode = "host";
-+              phys = <&combphy2_psu PHY_TYPE_USB3>;
-+              phy-names = "usb3-phy";
-+              phy_type = "utmi_wide";
-+              resets = <&cru SRST_A_USB3OTG2>;
-+              snps,dis_enblslpm_quirk;
-+              snps,dis-u2-freeclk-exists-quirk;
-+              snps,dis-del-phy-power-chg-quirk;
-+              snps,dis-tx-ipgap-linecheck-quirk;
-+              snps,dis_rxdet_inp3_quirk;
-+              status = "disabled";
-+      };
-+
-       pmu1grf: syscon@fd58a000 {
-               compatible = "rockchip,rk3588-pmugrf", "syscon", "simple-mfd";
-               reg = <0x0 0xfd58a000 0x0 0x10000>;
diff --git a/target/linux/rockchip/patches-6.12/050-07-v6.7-arm64-dts-rockchip-drop-interrupt-names-property-from.patch b/target/linux/rockchip/patches-6.12/050-07-v6.7-arm64-dts-rockchip-drop-interrupt-names-property-from.patch
deleted file mode 100644 (file)
index 9076ca2..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From 815f986f33eeb06652d59d8a4d405d4fdb4e59a8 Mon Sep 17 00:00:00 2001
-From: Heiko Stuebner <heiko.stuebner@cherry.de>
-Date: Fri, 1 Dec 2023 14:48:59 +0100
-Subject: [PATCH] arm64: dts: rockchip: drop interrupt-names property from
- rk3588s dfi
-
-The dfi binding does not specify interrupt names, with the interrupts
-just specifying channels 0-x. So drop the unspecified property.
-
-Fixes: 5a6976b1040a ("arm64: dts: rockchip: Add DFI to rk3588s")
-Reported-by: Jagan Teki <jagan@edgeble.ai>
-Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
-Link: https://lore.kernel.org/r/20231201134859.322491-1-heiko@sntech.de
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 1 -
- 1 file changed, 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -1363,7 +1363,6 @@
-                            <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>,
-                            <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH 0>,
-                            <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "ch0", "ch1", "ch2", "ch3";
-               rockchip,pmu = <&pmu1grf>;
-       };
diff --git a/target/linux/rockchip/patches-6.12/050-08-v6.8-arm64-dts-rockchip-move-rk3588-serial-aliases-to-soc-dtsi.patch b/target/linux/rockchip/patches-6.12/050-08-v6.8-arm64-dts-rockchip-move-rk3588-serial-aliases-to-soc-dtsi.patch
deleted file mode 100644 (file)
index 60c2b26..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-From 9918d10d16665527e59fdb87c5acac70cc1cfe8f Mon Sep 17 00:00:00 2001
-From: Heiko Stuebner <heiko.stuebner@cherry.de>
-Date: Tue, 5 Dec 2023 17:48:39 +0100
-Subject: [PATCH] arm64: dts: rockchip: move rk3588 serial aliases to soc dtsi
-
-The serial ports on rk3588 are named uart0 - uart9. Board schematics
-also use these exact numbers and we want those names to also reflect
-in the OS devices because everything else would just cause confusion.
-
-To prevent each board repeating their list of serial aliases, move them
-to the soc dtsi, as all previous Rockchip soc do already.
-
-Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
-Reviewed-by: Dragan Simic <dsimic@manjaro.org>
-Link: https://lore.kernel.org/r/20231205164842.556684-2-heiko@sntech.de
----
- .../boot/dts/rockchip/rk3588-edgeble-neu6a-io.dts   |  4 ----
- .../boot/dts/rockchip/rk3588-edgeble-neu6b-io.dts   |  4 ----
- arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts    |  1 -
- arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts   |  1 -
- .../boot/dts/rockchip/rk3588-orangepi-5-plus.dts    |  1 -
- arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dts |  1 -
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts     |  1 -
- arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi |  2 --
- .../boot/dts/rockchip/rk3588s-indiedroid-nova.dts   |  1 -
- .../boot/dts/rockchip/rk3588s-khadas-edge2.dts      |  1 -
- arch/arm64/boot/dts/rockchip/rk3588s-orangepi-5.dts |  1 -
- arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts    |  1 -
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi           | 13 +++++++++++++
- 13 files changed, 13 insertions(+), 19 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-io.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-io.dts
-@@ -12,10 +12,6 @@
-       compatible = "edgeble,neural-compute-module-6a-io",
-                    "edgeble,neural-compute-module-6a", "rockchip,rk3588";
--      aliases {
--              serial2 = &uart2;
--      };
--
-       chosen {
-               stdout-path = "serial2:1500000n8";
-       };
---- a/arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6b-io.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6b-io.dts
-@@ -12,10 +12,6 @@
-       compatible = "edgeble,neural-compute-module-6b-io",
-                    "edgeble,neural-compute-module-6b", "rockchip,rk3588";
--      aliases {
--              serial2 = &uart2;
--      };
--
-       chosen {
-               stdout-path = "serial2:1500000n8";
-       };
---- a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
-@@ -16,7 +16,6 @@
-       aliases {
-               mmc0 = &sdhci;
--              serial2 = &uart2;
-       };
-       chosen {
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-@@ -19,7 +19,6 @@
-       aliases {
-               mmc0 = &sdhci;
-               mmc1 = &sdmmc;
--              serial2 = &uart2;
-       };
-       chosen {
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -12,7 +12,6 @@
-       aliases {
-               mmc0 = &sdhci;
-               mmc1 = &sdmmc;
--              serial2 = &uart2;
-       };
-       chosen {
---- a/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-indiedroid-nova.dts
-@@ -15,7 +15,6 @@
-               mmc0 = &sdhci;
-               mmc1 = &sdmmc;
-               mmc2 = &sdio;
--              serial2 = &uart2;
-       };
-       chosen {
---- a/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-khadas-edge2.dts
-@@ -12,7 +12,6 @@
-       aliases {
-               mmc0 = &sdhci;
--              serial2 = &uart2;
-       };
-       chosen {
---- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-@@ -14,7 +14,6 @@
-       aliases {
-               mmc0 = &sdhci;
-               mmc1 = &sdmmc;
--              serial2 = &uart2;
-       };
-       analog-sound {
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -18,6 +18,19 @@
-       #address-cells = <2>;
-       #size-cells = <2>;
-+      aliases {
-+              serial0 = &uart0;
-+              serial1 = &uart1;
-+              serial2 = &uart2;
-+              serial3 = &uart3;
-+              serial4 = &uart4;
-+              serial5 = &uart5;
-+              serial6 = &uart6;
-+              serial7 = &uart7;
-+              serial8 = &uart8;
-+              serial9 = &uart9;
-+      };
-+
-       cpus {
-               #address-cells = <1>;
-               #size-cells = <0>;
diff --git a/target/linux/rockchip/patches-6.12/050-09-v6.8-arm64-dts-rockchip-add-rk3588-i2c-aliases-to-soc-dtsi.patch b/target/linux/rockchip/patches-6.12/050-09-v6.8-arm64-dts-rockchip-add-rk3588-i2c-aliases-to-soc-dtsi.patch
deleted file mode 100644 (file)
index 2daaec3..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-From 328e901b7b03d292c1520ffb38e9164feef4f1ea Mon Sep 17 00:00:00 2001
-From: Heiko Stuebner <heiko.stuebner@cherry.de>
-Date: Tue, 5 Dec 2023 17:48:40 +0100
-Subject: [PATCH] arm64: dts: rockchip: add rk3588 i2c aliases to soc dtsi
-
-The i2c controllers on rk3588 are named i2c0 - i2c8. Board schematics
-also use these exact numbers and we want those names to also reflect
-in the OS devices because everything else would just cause confusion.
-Userspace i2c access is a thing afterall.
-
-To prevent each board repeating their list of i2c aliases, define them
-in the soc dtsi, as all previous Rockchip soc do already.
-
-Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
-Reviewed-by: Dragan Simic <dsimic@manjaro.org>
-Link: https://lore.kernel.org/r/20231205164842.556684-3-heiko@sntech.de
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -19,6 +19,15 @@
-       #size-cells = <2>;
-       aliases {
-+              i2c0 = &i2c0;
-+              i2c1 = &i2c1;
-+              i2c2 = &i2c2;
-+              i2c3 = &i2c3;
-+              i2c4 = &i2c4;
-+              i2c5 = &i2c5;
-+              i2c6 = &i2c6;
-+              i2c7 = &i2c7;
-+              i2c8 = &i2c8;
-               serial0 = &uart0;
-               serial1 = &uart1;
-               serial2 = &uart2;
diff --git a/target/linux/rockchip/patches-6.12/050-10-v6.8-arm64-dts-rockchip-add-rk3588-gpio-aliases-to-soc-dtsi.patch b/target/linux/rockchip/patches-6.12/050-10-v6.8-arm64-dts-rockchip-add-rk3588-gpio-aliases-to-soc-dtsi.patch
deleted file mode 100644 (file)
index 19e6c6a..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From a024abedbca99a20aeb96f5beec9ded13c85dcb3 Mon Sep 17 00:00:00 2001
-From: Heiko Stuebner <heiko.stuebner@cherry.de>
-Date: Tue, 5 Dec 2023 17:48:41 +0100
-Subject: [PATCH] arm64: dts: rockchip: add rk3588 gpio aliases to soc dtsi
-
-The gpio controllers on rk3588 are named gpio0 - gpio4. Board schematics
-also use these exact numbers and we want those names to also reflect
-in the OS devices because everything else would just cause confusion.
-Userspace gpio access is a thing afterall.
-
-To prevent each board repeating their list of gpio aliases, define them
-in the soc dtsi, as previous Rockchip soc like the rk356x do already.
-
-Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
-Reviewed-by: Dragan Simic <dsimic@manjaro.org>
-Link: https://lore.kernel.org/r/20231205164842.556684-4-heiko@sntech.de
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -19,6 +19,11 @@
-       #size-cells = <2>;
-       aliases {
-+              gpio0 = &gpio0;
-+              gpio1 = &gpio1;
-+              gpio2 = &gpio2;
-+              gpio3 = &gpio3;
-+              gpio4 = &gpio4;
-               i2c0 = &i2c0;
-               i2c1 = &i2c1;
-               i2c2 = &i2c2;
diff --git a/target/linux/rockchip/patches-6.12/050-11-v6.8-arm64-dts-rockchip-add-rk3588-spi-aliases-to-soc-dtsi.patch b/target/linux/rockchip/patches-6.12/050-11-v6.8-arm64-dts-rockchip-add-rk3588-spi-aliases-to-soc-dtsi.patch
deleted file mode 100644 (file)
index 6a66d99..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From a86e88043de929da76f7f6cf0990ba92aed8391a Mon Sep 17 00:00:00 2001
-From: Heiko Stuebner <heiko.stuebner@cherry.de>
-Date: Tue, 5 Dec 2023 17:48:42 +0100
-Subject: [PATCH] arm64: dts: rockchip: add rk3588 spi aliases to soc dtsi
-
-The spi controllers on rk3588 are named spi0 - spi4. Board schematics
-also use these exact numbers and we want those names to also reflect
-in the OS devices because everything else would just cause confusion.
-Userspace spi access is a thing afterall.
-
-To prevent each board repeating their list of spi aliases, define them
-in the soc dtsi, as previous Rockchip soc like the rk356x do already.
-
-Signed-off-by: Heiko Stuebner <heiko.stuebner@cherry.de>
-Reviewed-by: Dragan Simic <dsimic@manjaro.org>
-Link: https://lore.kernel.org/r/20231205164842.556684-5-heiko@sntech.de
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -43,6 +43,11 @@
-               serial7 = &uart7;
-               serial8 = &uart8;
-               serial9 = &uart9;
-+              spi0 = &spi0;
-+              spi1 = &spi1;
-+              spi2 = &spi2;
-+              spi3 = &spi3;
-+              spi4 = &spi4;
-       };
-       cpus {
diff --git a/target/linux/rockchip/patches-6.12/050-12-v6.8-arm64-dts-rockchip-Add-vop-on-rk3588.patch b/target/linux/rockchip/patches-6.12/050-12-v6.8-arm64-dts-rockchip-Add-vop-on-rk3588.patch
deleted file mode 100644 (file)
index 3936df7..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-From d895dbef3f3a31ab50491bb48552e798cf555987 Mon Sep 17 00:00:00 2001
-From: Andy Yan <andy.yan@rock-chips.com>
-Date: Mon, 11 Dec 2023 20:00:04 +0800
-Subject: [PATCH] arm64: dts: rockchip: Add vop on rk3588
-
-Add vop dt node for rk3588.
-
-Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
-Link: https://lore.kernel.org/r/20231211120004.1785616-1-andyshrk@163.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 83 +++++++++++++++++++++++
- 1 file changed, 83 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -394,6 +394,11 @@
-               #clock-cells = <0>;
-       };
-+      display_subsystem: display-subsystem {
-+              compatible = "rockchip,display-subsystem";
-+              ports = <&vop_out>;
-+      };
-+
-       timer {
-               compatible = "arm,armv8-timer";
-               interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
-@@ -506,6 +511,16 @@
-               reg = <0x0 0xfd58c000 0x0 0x1000>;
-       };
-+      vop_grf: syscon@fd5a4000 {
-+              compatible = "rockchip,rk3588-vop-grf", "syscon";
-+              reg = <0x0 0xfd5a4000 0x0 0x2000>;
-+      };
-+
-+      vo1_grf: syscon@fd5a8000 {
-+              compatible = "rockchip,rk3588-vo-grf", "syscon";
-+              reg = <0x0 0xfd5a8000 0x0 0x100>;
-+      };
-+
-       php_grf: syscon@fd5b0000 {
-               compatible = "rockchip,rk3588-php-grf", "syscon";
-               reg = <0x0 0xfd5b0000 0x0 0x1000>;
-@@ -625,6 +640,74 @@
-               status = "disabled";
-       };
-+      vop: vop@fdd90000 {
-+              compatible = "rockchip,rk3588-vop";
-+              reg = <0x0 0xfdd90000 0x0 0x4200>, <0x0 0xfdd95000 0x0 0x1000>;
-+              reg-names = "vop", "gamma-lut";
-+              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru ACLK_VOP>,
-+                       <&cru HCLK_VOP>,
-+                       <&cru DCLK_VOP0>,
-+                       <&cru DCLK_VOP1>,
-+                       <&cru DCLK_VOP2>,
-+                       <&cru DCLK_VOP3>,
-+                       <&cru PCLK_VOP_ROOT>;
-+              clock-names = "aclk",
-+                            "hclk",
-+                            "dclk_vp0",
-+                            "dclk_vp1",
-+                            "dclk_vp2",
-+                            "dclk_vp3",
-+                            "pclk_vop";
-+              iommus = <&vop_mmu>;
-+              power-domains = <&power RK3588_PD_VOP>;
-+              rockchip,grf = <&sys_grf>;
-+              rockchip,vop-grf = <&vop_grf>;
-+              rockchip,vo1-grf = <&vo1_grf>;
-+              rockchip,pmu = <&pmu>;
-+              status = "disabled";
-+
-+              vop_out: ports {
-+                      #address-cells = <1>;
-+                      #size-cells = <0>;
-+
-+                      vp0: port@0 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <0>;
-+                      };
-+
-+                      vp1: port@1 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <1>;
-+                      };
-+
-+                      vp2: port@2 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <2>;
-+                      };
-+
-+                      vp3: port@3 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <3>;
-+                      };
-+              };
-+      };
-+
-+      vop_mmu: iommu@fdd97e00 {
-+              compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
-+              reg = <0x0 0xfdd97e00 0x0 0x100>, <0x0 0xfdd97f00 0x0 0x100>;
-+              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
-+              clock-names = "aclk", "iface";
-+              #iommu-cells = <0>;
-+              power-domains = <&power RK3588_PD_VOP>;
-+              status = "disabled";
-+      };
-+
-       uart0: serial@fd890000 {
-               compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-               reg = <0x0 0xfd890000 0x0 0x100>;
diff --git a/target/linux/rockchip/patches-6.12/050-13-v6.9-arm64-dts-rockchip-Add-HDMI0-PHY-to-rk3588.patch b/target/linux/rockchip/patches-6.12/050-13-v6.9-arm64-dts-rockchip-Add-HDMI0-PHY-to-rk3588.patch
deleted file mode 100644 (file)
index d9bd3ab..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-From 11d28971aaaf5de6f50790fb21f1113fee21d320 Mon Sep 17 00:00:00 2001
-From: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
-Date: Mon, 19 Feb 2024 22:46:25 +0200
-Subject: [PATCH] arm64: dts: rockchip: Add HDMI0 PHY to rk3588
-
-Add DT nodes for HDMI0 PHY and related syscon found on RK3588 SoC.
-
-Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>
-Link: https://lore.kernel.org/r/20240219204626.284399-1-cristian.ciocaltea@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 21 +++++++++++++++++++++
- 1 file changed, 21 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -586,6 +586,11 @@
-               };
-       };
-+      hdptxphy0_grf: syscon@fd5e0000 {
-+              compatible = "rockchip,rk3588-hdptxphy-grf", "syscon";
-+              reg = <0x0 0xfd5e0000 0x0 0x100>;
-+      };
-+
-       ioc: syscon@fd5f0000 {
-               compatible = "rockchip,rk3588-ioc", "syscon";
-               reg = <0x0 0xfd5f0000 0x0 0x10000>;
-@@ -2358,6 +2363,22 @@
-               #dma-cells = <1>;
-       };
-+      hdptxphy_hdmi0: phy@fed60000 {
-+              compatible = "rockchip,rk3588-hdptx-phy";
-+              reg = <0x0 0xfed60000 0x0 0x2000>;
-+              clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX0>;
-+              clock-names = "ref", "apb";
-+              #phy-cells = <0>;
-+              resets = <&cru SRST_HDPTX0>, <&cru SRST_P_HDPTX0>,
-+                       <&cru SRST_HDPTX0_INIT>, <&cru SRST_HDPTX0_CMN>,
-+                       <&cru SRST_HDPTX0_LANE>, <&cru SRST_HDPTX0_ROPLL>,
-+                       <&cru SRST_HDPTX0_LCPLL>;
-+              reset-names = "phy", "apb", "init", "cmn", "lane", "ropll",
-+                            "lcpll";
-+              rockchip,grf = <&hdptxphy0_grf>;
-+              status = "disabled";
-+      };
-+
-       combphy0_ps: phy@fee00000 {
-               compatible = "rockchip,rk3588-naneng-combphy";
-               reg = <0x0 0xfee00000 0x0 0x100>;
diff --git a/target/linux/rockchip/patches-6.12/050-14-v6.9-arm64-dts-rockchip-add-clock-to-vo1-grf-syscon-on-rk3588.patch b/target/linux/rockchip/patches-6.12/050-14-v6.9-arm64-dts-rockchip-add-clock-to-vo1-grf-syscon-on-rk3588.patch
deleted file mode 100644 (file)
index 6ffc2c7..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 2047366b9eff8fada2a118588b0478de6e92d02c Mon Sep 17 00:00:00 2001
-From: Heiko Stuebner <heiko@sntech.de>
-Date: Tue, 27 Feb 2024 22:05:21 +0100
-Subject: [PATCH] arm64: dts: rockchip: add clock to vo1-grf syscon on rk3588
-
-The VO*-general-register-files need a clock, so add the correct one.
-
-Cc: Sebastian Reichel <sebastian.reichel@collabora.com>
-Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
-Link: https://lore.kernel.org/r/20240227210521.724754-1-heiko@sntech.de
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -519,6 +519,7 @@
-       vo1_grf: syscon@fd5a8000 {
-               compatible = "rockchip,rk3588-vo-grf", "syscon";
-               reg = <0x0 0xfd5a8000 0x0 0x100>;
-+              clocks = <&cru PCLK_VO1GRF>;
-       };
-       php_grf: syscon@fd5b0000 {
diff --git a/target/linux/rockchip/patches-6.12/050-15-v6.10-arm64-dts-rockchip-Add-rk3588-GPU-node.patch b/target/linux/rockchip/patches-6.12/050-15-v6.10-arm64-dts-rockchip-Add-rk3588-GPU-node.patch
deleted file mode 100644 (file)
index dafdd69..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-From 6fca4edb93d335f29f81e484936f38a5eed6a9b1 Mon Sep 17 00:00:00 2001
-From: Boris Brezillon <boris.brezillon@collabora.com>
-Date: Tue, 26 Mar 2024 17:52:06 +0100
-Subject: [PATCH] arm64: dts: rockchip: Add rk3588 GPU node
-
-Add Mali GPU Node to the RK3588 SoC DT including GPU clock
-operating points
-
-Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240326165232.73585-3-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 56 +++++++++++++++++++++++
- 1 file changed, 56 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -501,6 +501,62 @@
-               status = "disabled";
-       };
-+      gpu: gpu@fb000000 {
-+              compatible = "rockchip,rk3588-mali", "arm,mali-valhall-csf";
-+              reg = <0x0 0xfb000000 0x0 0x200000>;
-+              #cooling-cells = <2>;
-+              assigned-clocks = <&scmi_clk SCMI_CLK_GPU>;
-+              assigned-clock-rates = <200000000>;
-+              clocks = <&cru CLK_GPU>, <&cru CLK_GPU_COREGROUP>,
-+                       <&cru CLK_GPU_STACKS>;
-+              clock-names = "core", "coregroup", "stacks";
-+              dynamic-power-coefficient = <2982>;
-+              interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "job", "mmu", "gpu";
-+              operating-points-v2 = <&gpu_opp_table>;
-+              power-domains = <&power RK3588_PD_GPU>;
-+              status = "disabled";
-+
-+              gpu_opp_table: opp-table {
-+                      compatible = "operating-points-v2";
-+
-+                      opp-300000000 {
-+                              opp-hz = /bits/ 64 <300000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-400000000 {
-+                              opp-hz = /bits/ 64 <400000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-500000000 {
-+                              opp-hz = /bits/ 64 <500000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-600000000 {
-+                              opp-hz = /bits/ 64 <600000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-700000000 {
-+                              opp-hz = /bits/ 64 <700000000>;
-+                              opp-microvolt = <700000 700000 850000>;
-+                      };
-+                      opp-800000000 {
-+                              opp-hz = /bits/ 64 <800000000>;
-+                              opp-microvolt = <750000 750000 850000>;
-+                      };
-+                      opp-900000000 {
-+                              opp-hz = /bits/ 64 <900000000>;
-+                              opp-microvolt = <800000 800000 850000>;
-+                      };
-+                      opp-1000000000 {
-+                              opp-hz = /bits/ 64 <1000000000>;
-+                              opp-microvolt = <850000 850000 850000>;
-+                      };
-+              };
-+      };
-+
-       pmu1grf: syscon@fd58a000 {
-               compatible = "rockchip,rk3588-pmugrf", "syscon", "simple-mfd";
-               reg = <0x0 0xfd58a000 0x0 0x10000>;
diff --git a/target/linux/rockchip/patches-6.12/050-16-v6.10-arm64-dts-rockchip-Fix-ordering-of-nodes-on-rk3588s.patch b/target/linux/rockchip/patches-6.12/050-16-v6.10-arm64-dts-rockchip-Fix-ordering-of-nodes-on-rk3588s.patch
deleted file mode 100644 (file)
index 7b69e0a..0000000
+++ /dev/null
@@ -1,384 +0,0 @@
-From cbb97fe18e299ece1c0074924c630de6a19b320f Mon Sep 17 00:00:00 2001
-From: Diederik de Haas <didi.debian@cknow.org>
-Date: Sat, 6 Apr 2024 19:28:04 +0200
-Subject: [PATCH] arm64: dts: rockchip: Fix ordering of nodes on rk3588s
-
-Fix the ordering of the main nodes by sorting them alphabetically and
-then the ones with a memory address sequentially by that address.
-
-Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
-Link: https://lore.kernel.org/r/20240406172821.34173-1-didi.debian@cknow.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 304 +++++++++++-----------
- 1 file changed, 152 insertions(+), 152 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -347,6 +347,11 @@
-               };
-       };
-+      display_subsystem: display-subsystem {
-+              compatible = "rockchip,display-subsystem";
-+              ports = <&vop_out>;
-+      };
-+
-       firmware {
-               optee: optee {
-                       compatible = "linaro,optee-tz";
-@@ -394,11 +399,6 @@
-               #clock-cells = <0>;
-       };
--      display_subsystem: display-subsystem {
--              compatible = "rockchip,display-subsystem";
--              ports = <&vop_out>;
--      };
--
-       timer {
-               compatible = "arm,armv8-timer";
-               interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
-@@ -436,6 +436,62 @@
-               };
-       };
-+      gpu: gpu@fb000000 {
-+              compatible = "rockchip,rk3588-mali", "arm,mali-valhall-csf";
-+              reg = <0x0 0xfb000000 0x0 0x200000>;
-+              #cooling-cells = <2>;
-+              assigned-clocks = <&scmi_clk SCMI_CLK_GPU>;
-+              assigned-clock-rates = <200000000>;
-+              clocks = <&cru CLK_GPU>, <&cru CLK_GPU_COREGROUP>,
-+                       <&cru CLK_GPU_STACKS>;
-+              clock-names = "core", "coregroup", "stacks";
-+              dynamic-power-coefficient = <2982>;
-+              interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "job", "mmu", "gpu";
-+              operating-points-v2 = <&gpu_opp_table>;
-+              power-domains = <&power RK3588_PD_GPU>;
-+              status = "disabled";
-+
-+              gpu_opp_table: opp-table {
-+                      compatible = "operating-points-v2";
-+
-+                      opp-300000000 {
-+                              opp-hz = /bits/ 64 <300000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-400000000 {
-+                              opp-hz = /bits/ 64 <400000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-500000000 {
-+                              opp-hz = /bits/ 64 <500000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-600000000 {
-+                              opp-hz = /bits/ 64 <600000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-700000000 {
-+                              opp-hz = /bits/ 64 <700000000>;
-+                              opp-microvolt = <700000 700000 850000>;
-+                      };
-+                      opp-800000000 {
-+                              opp-hz = /bits/ 64 <800000000>;
-+                              opp-microvolt = <750000 750000 850000>;
-+                      };
-+                      opp-900000000 {
-+                              opp-hz = /bits/ 64 <900000000>;
-+                              opp-microvolt = <800000 800000 850000>;
-+                      };
-+                      opp-1000000000 {
-+                              opp-hz = /bits/ 64 <1000000000>;
-+                              opp-microvolt = <850000 850000 850000>;
-+                      };
-+              };
-+      };
-+
-       usb_host0_ehci: usb@fc800000 {
-               compatible = "rockchip,rk3588-ehci", "generic-ehci";
-               reg = <0x0 0xfc800000 0x0 0x40000>;
-@@ -501,62 +557,6 @@
-               status = "disabled";
-       };
--      gpu: gpu@fb000000 {
--              compatible = "rockchip,rk3588-mali", "arm,mali-valhall-csf";
--              reg = <0x0 0xfb000000 0x0 0x200000>;
--              #cooling-cells = <2>;
--              assigned-clocks = <&scmi_clk SCMI_CLK_GPU>;
--              assigned-clock-rates = <200000000>;
--              clocks = <&cru CLK_GPU>, <&cru CLK_GPU_COREGROUP>,
--                       <&cru CLK_GPU_STACKS>;
--              clock-names = "core", "coregroup", "stacks";
--              dynamic-power-coefficient = <2982>;
--              interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "job", "mmu", "gpu";
--              operating-points-v2 = <&gpu_opp_table>;
--              power-domains = <&power RK3588_PD_GPU>;
--              status = "disabled";
--
--              gpu_opp_table: opp-table {
--                      compatible = "operating-points-v2";
--
--                      opp-300000000 {
--                              opp-hz = /bits/ 64 <300000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-400000000 {
--                              opp-hz = /bits/ 64 <400000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-500000000 {
--                              opp-hz = /bits/ 64 <500000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-600000000 {
--                              opp-hz = /bits/ 64 <600000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-700000000 {
--                              opp-hz = /bits/ 64 <700000000>;
--                              opp-microvolt = <700000 700000 850000>;
--                      };
--                      opp-800000000 {
--                              opp-hz = /bits/ 64 <800000000>;
--                              opp-microvolt = <750000 750000 850000>;
--                      };
--                      opp-900000000 {
--                              opp-hz = /bits/ 64 <900000000>;
--                              opp-microvolt = <800000 800000 850000>;
--                      };
--                      opp-1000000000 {
--                              opp-hz = /bits/ 64 <1000000000>;
--                              opp-microvolt = <850000 850000 850000>;
--                      };
--              };
--      };
--
-       pmu1grf: syscon@fd58a000 {
-               compatible = "rockchip,rk3588-pmugrf", "syscon", "simple-mfd";
-               reg = <0x0 0xfd58a000 0x0 0x10000>;
-@@ -702,74 +702,6 @@
-               status = "disabled";
-       };
--      vop: vop@fdd90000 {
--              compatible = "rockchip,rk3588-vop";
--              reg = <0x0 0xfdd90000 0x0 0x4200>, <0x0 0xfdd95000 0x0 0x1000>;
--              reg-names = "vop", "gamma-lut";
--              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru ACLK_VOP>,
--                       <&cru HCLK_VOP>,
--                       <&cru DCLK_VOP0>,
--                       <&cru DCLK_VOP1>,
--                       <&cru DCLK_VOP2>,
--                       <&cru DCLK_VOP3>,
--                       <&cru PCLK_VOP_ROOT>;
--              clock-names = "aclk",
--                            "hclk",
--                            "dclk_vp0",
--                            "dclk_vp1",
--                            "dclk_vp2",
--                            "dclk_vp3",
--                            "pclk_vop";
--              iommus = <&vop_mmu>;
--              power-domains = <&power RK3588_PD_VOP>;
--              rockchip,grf = <&sys_grf>;
--              rockchip,vop-grf = <&vop_grf>;
--              rockchip,vo1-grf = <&vo1_grf>;
--              rockchip,pmu = <&pmu>;
--              status = "disabled";
--
--              vop_out: ports {
--                      #address-cells = <1>;
--                      #size-cells = <0>;
--
--                      vp0: port@0 {
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              reg = <0>;
--                      };
--
--                      vp1: port@1 {
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              reg = <1>;
--                      };
--
--                      vp2: port@2 {
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              reg = <2>;
--                      };
--
--                      vp3: port@3 {
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              reg = <3>;
--                      };
--              };
--      };
--
--      vop_mmu: iommu@fdd97e00 {
--              compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
--              reg = <0x0 0xfdd97e00 0x0 0x100>, <0x0 0xfdd97f00 0x0 0x100>;
--              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
--              clock-names = "aclk", "iface";
--              #iommu-cells = <0>;
--              power-domains = <&power RK3588_PD_VOP>;
--              status = "disabled";
--      };
--
-       uart0: serial@fd890000 {
-               compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-               reg = <0x0 0xfd890000 0x0 0x100>;
-@@ -1140,6 +1072,87 @@
-               };
-       };
-+      av1d: video-codec@fdc70000 {
-+              compatible = "rockchip,rk3588-av1-vpu";
-+              reg = <0x0 0xfdc70000 0x0 0x800>;
-+              interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "vdpu";
-+              assigned-clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
-+              assigned-clock-rates = <400000000>, <400000000>;
-+              clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
-+              clock-names = "aclk", "hclk";
-+              power-domains = <&power RK3588_PD_AV1>;
-+              resets = <&cru SRST_A_AV1>, <&cru SRST_P_AV1>, <&cru SRST_A_AV1_BIU>, <&cru SRST_P_AV1_BIU>;
-+      };
-+
-+      vop: vop@fdd90000 {
-+              compatible = "rockchip,rk3588-vop";
-+              reg = <0x0 0xfdd90000 0x0 0x4200>, <0x0 0xfdd95000 0x0 0x1000>;
-+              reg-names = "vop", "gamma-lut";
-+              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru ACLK_VOP>,
-+                       <&cru HCLK_VOP>,
-+                       <&cru DCLK_VOP0>,
-+                       <&cru DCLK_VOP1>,
-+                       <&cru DCLK_VOP2>,
-+                       <&cru DCLK_VOP3>,
-+                       <&cru PCLK_VOP_ROOT>;
-+              clock-names = "aclk",
-+                            "hclk",
-+                            "dclk_vp0",
-+                            "dclk_vp1",
-+                            "dclk_vp2",
-+                            "dclk_vp3",
-+                            "pclk_vop";
-+              iommus = <&vop_mmu>;
-+              power-domains = <&power RK3588_PD_VOP>;
-+              rockchip,grf = <&sys_grf>;
-+              rockchip,vop-grf = <&vop_grf>;
-+              rockchip,vo1-grf = <&vo1_grf>;
-+              rockchip,pmu = <&pmu>;
-+              status = "disabled";
-+
-+              vop_out: ports {
-+                      #address-cells = <1>;
-+                      #size-cells = <0>;
-+
-+                      vp0: port@0 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <0>;
-+                      };
-+
-+                      vp1: port@1 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <1>;
-+                      };
-+
-+                      vp2: port@2 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <2>;
-+                      };
-+
-+                      vp3: port@3 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <3>;
-+                      };
-+              };
-+      };
-+
-+      vop_mmu: iommu@fdd97e00 {
-+              compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
-+              reg = <0x0 0xfdd97e00 0x0 0x100>, <0x0 0xfdd97f00 0x0 0x100>;
-+              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
-+              clock-names = "aclk", "iface";
-+              #iommu-cells = <0>;
-+              power-domains = <&power RK3588_PD_VOP>;
-+              status = "disabled";
-+      };
-+
-       i2s4_8ch: i2s@fddc0000 {
-               compatible = "rockchip,rk3588-i2s-tdm";
-               reg = <0x0 0xfddc0000 0x0 0x1000>;
-@@ -1431,6 +1444,16 @@
-               reg = <0x0 0xfdf82200 0x0 0x20>;
-       };
-+      dfi: dfi@fe060000 {
-+              reg = <0x00 0xfe060000 0x00 0x10000>;
-+              compatible = "rockchip,rk3588-dfi";
-+              interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
-+              rockchip,pmu = <&pmu1grf>;
-+      };
-+
-       pcie2x1l1: pcie@fe180000 {
-               compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
-               bus-range = <0x30 0x3f>;
-@@ -1533,16 +1556,6 @@
-               };
-       };
--      dfi: dfi@fe060000 {
--              reg = <0x00 0xfe060000 0x00 0x10000>;
--              compatible = "rockchip,rk3588-dfi";
--              interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
--              rockchip,pmu = <&pmu1grf>;
--      };
--
-       gmac1: ethernet@fe1c0000 {
-               compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a";
-               reg = <0x0 0xfe1c0000 0x0 0x10000>;
-@@ -2543,19 +2556,6 @@
-                       #interrupt-cells = <2>;
-               };
-       };
--
--      av1d: video-codec@fdc70000 {
--              compatible = "rockchip,rk3588-av1-vpu";
--              reg = <0x0 0xfdc70000 0x0 0x800>;
--              interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "vdpu";
--              assigned-clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
--              assigned-clock-rates = <400000000>, <400000000>;
--              clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
--              clock-names = "aclk", "hclk";
--              power-domains = <&power RK3588_PD_AV1>;
--              resets = <&cru SRST_A_AV1>, <&cru SRST_P_AV1>, <&cru SRST_A_AV1_BIU>, <&cru SRST_P_AV1_BIU>;
--      };
- };
- #include "rk3588s-pinctrl.dtsi"
diff --git a/target/linux/rockchip/patches-6.12/050-17-v6.10-arm64-dts-rockchip-fix-usb2phy-nodename-for-rk3588.patch b/target/linux/rockchip/patches-6.12/050-17-v6.10-arm64-dts-rockchip-fix-usb2phy-nodename-for-rk3588.patch
deleted file mode 100644 (file)
index 065cb4b..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From 4e07a95f7402de092cd71b2cb96c69f85c98f251 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Tue, 9 Apr 2024 00:50:31 +0200
-Subject: [PATCH] arm64: dts: rockchip: fix usb2phy nodename for rk3588
-
-usb2-phy should be named usb2phy according to the DT binding,
-so let's fix it up accordingly.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240408225109.128953-5-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -599,7 +599,7 @@
-               #address-cells = <1>;
-               #size-cells = <1>;
--              u2phy2: usb2-phy@8000 {
-+              u2phy2: usb2phy@8000 {
-                       compatible = "rockchip,rk3588-usb2phy";
-                       reg = <0x8000 0x10>;
-                       interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH 0>;
-@@ -624,7 +624,7 @@
-               #address-cells = <1>;
-               #size-cells = <1>;
--              u2phy3: usb2-phy@c000 {
-+              u2phy3: usb2phy@c000 {
-                       compatible = "rockchip,rk3588-usb2phy";
-                       reg = <0xc000 0x10>;
-                       interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH 0>;
diff --git a/target/linux/rockchip/patches-6.12/050-18-v6.10-arm64-dts-rockchip-reorder-usb2phy-properties-for-rk3588.patch b/target/linux/rockchip/patches-6.12/050-18-v6.10-arm64-dts-rockchip-reorder-usb2phy-properties-for-rk3588.patch
deleted file mode 100644 (file)
index 81e8ed1..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From abe68e0ca71dddce0e5419e35507cb464d61870d Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Tue, 9 Apr 2024 00:50:32 +0200
-Subject: [PATCH] arm64: dts: rockchip: reorder usb2phy properties for rk3588
-
-Reorder common DT properties alphabetically for usb2phy, according
-to latest DT style rules.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240408225109.128953-6-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -602,13 +602,13 @@
-               u2phy2: usb2phy@8000 {
-                       compatible = "rockchip,rk3588-usb2phy";
-                       reg = <0x8000 0x10>;
--                      interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH 0>;
--                      resets = <&cru SRST_OTGPHY_U2_0>, <&cru SRST_P_USB2PHY_U2_0_GRF0>;
--                      reset-names = "phy", "apb";
-+                      #clock-cells = <0>;
-                       clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
-                       clock-names = "phyclk";
-                       clock-output-names = "usb480m_phy2";
--                      #clock-cells = <0>;
-+                      interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      resets = <&cru SRST_OTGPHY_U2_0>, <&cru SRST_P_USB2PHY_U2_0_GRF0>;
-+                      reset-names = "phy", "apb";
-                       status = "disabled";
-                       u2phy2_host: host-port {
-@@ -627,13 +627,13 @@
-               u2phy3: usb2phy@c000 {
-                       compatible = "rockchip,rk3588-usb2phy";
-                       reg = <0xc000 0x10>;
--                      interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH 0>;
--                      resets = <&cru SRST_OTGPHY_U2_1>, <&cru SRST_P_USB2PHY_U2_1_GRF0>;
--                      reset-names = "phy", "apb";
-+                      #clock-cells = <0>;
-                       clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
-                       clock-names = "phyclk";
-                       clock-output-names = "usb480m_phy3";
--                      #clock-cells = <0>;
-+                      interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      resets = <&cru SRST_OTGPHY_U2_1>, <&cru SRST_P_USB2PHY_U2_1_GRF0>;
-+                      reset-names = "phy", "apb";
-                       status = "disabled";
-                       u2phy3_host: host-port {
diff --git a/target/linux/rockchip/patches-6.12/050-19-v6.10-arm64-dts-rockchip-add-USBDP-phys-on-rk3588.patch b/target/linux/rockchip/patches-6.12/050-19-v6.10-arm64-dts-rockchip-add-USBDP-phys-on-rk3588.patch
deleted file mode 100644 (file)
index 985a799..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-From e18e5e8188f2671abf63abe7db5f21555705130f Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Tue, 9 Apr 2024 00:50:33 +0200
-Subject: [PATCH] arm64: dts: rockchip: add USBDP phys on rk3588
-
-Add both USB3-DisplayPort PHYs to RK3588 SoC DT.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240408225109.128953-7-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588.dtsi  | 52 +++++++++++++++++++
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 63 +++++++++++++++++++++++
- 2 files changed, 115 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588.dtsi
-@@ -17,6 +17,36 @@
-               reg = <0x0 0xfd5c0000 0x0 0x100>;
-       };
-+      usbdpphy1_grf: syscon@fd5cc000 {
-+              compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
-+              reg = <0x0 0xfd5cc000 0x0 0x4000>;
-+      };
-+
-+      usb2phy1_grf: syscon@fd5d4000 {
-+              compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
-+              reg = <0x0 0xfd5d4000 0x0 0x4000>;
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+
-+              u2phy1: usb2phy@4000 {
-+                      compatible = "rockchip,rk3588-usb2phy";
-+                      reg = <0x4000 0x10>;
-+                      #clock-cells = <0>;
-+                      clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
-+                      clock-names = "phyclk";
-+                      clock-output-names = "usb480m_phy1";
-+                      interrupts = <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      resets = <&cru SRST_OTGPHY_U3_1>, <&cru SRST_P_USB2PHY_U3_1_GRF0>;
-+                      reset-names = "phy", "apb";
-+                      status = "disabled";
-+
-+                      u2phy1_otg: otg-port {
-+                              #phy-cells = <0>;
-+                              status = "disabled";
-+                      };
-+              };
-+      };
-+
-       i2s8_8ch: i2s@fddc8000 {
-               compatible = "rockchip,rk3588-i2s-tdm";
-               reg = <0x0 0xfddc8000 0x0 0x1000>;
-@@ -310,6 +340,28 @@
-               };
-       };
-+      usbdp_phy1: phy@fed90000 {
-+              compatible = "rockchip,rk3588-usbdp-phy";
-+              reg = <0x0 0xfed90000 0x0 0x10000>;
-+              #phy-cells = <1>;
-+              clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>,
-+                       <&cru CLK_USBDP_PHY1_IMMORTAL>,
-+                       <&cru PCLK_USBDPPHY1>,
-+                       <&u2phy1>;
-+              clock-names = "refclk", "immortal", "pclk", "utmi";
-+              resets = <&cru SRST_USBDP_COMBO_PHY1_INIT>,
-+                       <&cru SRST_USBDP_COMBO_PHY1_CMN>,
-+                       <&cru SRST_USBDP_COMBO_PHY1_LANE>,
-+                       <&cru SRST_USBDP_COMBO_PHY1_PCS>,
-+                       <&cru SRST_P_USBDPPHY1>;
-+              reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb";
-+              rockchip,u2phy-grf = <&usb2phy1_grf>;
-+              rockchip,usb-grf = <&usb_grf>;
-+              rockchip,usbdpphy-grf = <&usbdpphy1_grf>;
-+              rockchip,vo-grf = <&vo0_grf>;
-+              status = "disabled";
-+      };
-+
-       combphy1_ps: phy@fee10000 {
-               compatible = "rockchip,rk3588-naneng-combphy";
-               reg = <0x0 0xfee10000 0x0 0x100>;
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -572,12 +572,23 @@
-               reg = <0x0 0xfd5a4000 0x0 0x2000>;
-       };
-+      vo0_grf: syscon@fd5a6000 {
-+              compatible = "rockchip,rk3588-vo-grf", "syscon";
-+              reg = <0x0 0xfd5a6000 0x0 0x2000>;
-+              clocks = <&cru PCLK_VO0GRF>;
-+      };
-+
-       vo1_grf: syscon@fd5a8000 {
-               compatible = "rockchip,rk3588-vo-grf", "syscon";
-               reg = <0x0 0xfd5a8000 0x0 0x100>;
-               clocks = <&cru PCLK_VO1GRF>;
-       };
-+      usb_grf: syscon@fd5ac000 {
-+              compatible = "rockchip,rk3588-usb-grf", "syscon";
-+              reg = <0x0 0xfd5ac000 0x0 0x4000>;
-+      };
-+
-       php_grf: syscon@fd5b0000 {
-               compatible = "rockchip,rk3588-php-grf", "syscon";
-               reg = <0x0 0xfd5b0000 0x0 0x1000>;
-@@ -593,6 +604,36 @@
-               reg = <0x0 0xfd5c4000 0x0 0x100>;
-       };
-+      usbdpphy0_grf: syscon@fd5c8000 {
-+              compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
-+              reg = <0x0 0xfd5c8000 0x0 0x4000>;
-+      };
-+
-+      usb2phy0_grf: syscon@fd5d0000 {
-+              compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
-+              reg = <0x0 0xfd5d0000 0x0 0x4000>;
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+
-+              u2phy0: usb2phy@0 {
-+                      compatible = "rockchip,rk3588-usb2phy";
-+                      reg = <0x0 0x10>;
-+                      #clock-cells = <0>;
-+                      clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
-+                      clock-names = "phyclk";
-+                      clock-output-names = "usb480m_phy0";
-+                      interrupts = <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      resets = <&cru SRST_OTGPHY_U3_0>, <&cru SRST_P_USB2PHY_U3_0_GRF0>;
-+                      reset-names = "phy", "apb";
-+                      status = "disabled";
-+
-+                      u2phy0_otg: otg-port {
-+                              #phy-cells = <0>;
-+                              status = "disabled";
-+                      };
-+              };
-+      };
-+
-       usb2phy2_grf: syscon@fd5d8000 {
-               compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
-               reg = <0x0 0xfd5d8000 0x0 0x4000>;
-@@ -2449,6 +2490,28 @@
-               status = "disabled";
-       };
-+      usbdp_phy0: phy@fed80000 {
-+              compatible = "rockchip,rk3588-usbdp-phy";
-+              reg = <0x0 0xfed80000 0x0 0x10000>;
-+              #phy-cells = <1>;
-+              clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>,
-+                       <&cru CLK_USBDP_PHY0_IMMORTAL>,
-+                       <&cru PCLK_USBDPPHY0>,
-+                       <&u2phy0>;
-+              clock-names = "refclk", "immortal", "pclk", "utmi";
-+              resets = <&cru SRST_USBDP_COMBO_PHY0_INIT>,
-+                       <&cru SRST_USBDP_COMBO_PHY0_CMN>,
-+                       <&cru SRST_USBDP_COMBO_PHY0_LANE>,
-+                       <&cru SRST_USBDP_COMBO_PHY0_PCS>,
-+                       <&cru SRST_P_USBDPPHY0>;
-+              reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb";
-+              rockchip,u2phy-grf = <&usb2phy0_grf>;
-+              rockchip,usb-grf = <&usb_grf>;
-+              rockchip,usbdpphy-grf = <&usbdpphy0_grf>;
-+              rockchip,vo-grf = <&vo0_grf>;
-+              status = "disabled";
-+      };
-+
-       combphy0_ps: phy@fee00000 {
-               compatible = "rockchip,rk3588-naneng-combphy";
-               reg = <0x0 0xfee00000 0x0 0x100>;
diff --git a/target/linux/rockchip/patches-6.12/050-20-v6.10-arm64-dts-rockchip-add-USB3-DRD-controllers-on-rk3588.patch b/target/linux/rockchip/patches-6.12/050-20-v6.10-arm64-dts-rockchip-add-USB3-DRD-controllers-on-rk3588.patch
deleted file mode 100644 (file)
index 7bfa205..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-From 33f393a2a990e16f56931ca708295f31d2b44415 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Tue, 9 Apr 2024 00:50:34 +0200
-Subject: [PATCH] arm64: dts: rockchip: add USB3 DRD controllers on rk3588
-
-Add both USB3 dual-role controllers to the RK3588 devicetree.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240408225109.128953-8-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588.dtsi  | 20 ++++++++++++++++++++
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 22 ++++++++++++++++++++++
- 2 files changed, 42 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588.dtsi
-@@ -7,6 +7,26 @@
- #include "rk3588-pinctrl.dtsi"
- / {
-+      usb_host1_xhci: usb@fc400000 {
-+              compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
-+              reg = <0x0 0xfc400000 0x0 0x400000>;
-+              interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru REF_CLK_USB3OTG1>, <&cru SUSPEND_CLK_USB3OTG1>,
-+                       <&cru ACLK_USB3OTG1>;
-+              clock-names = "ref_clk", "suspend_clk", "bus_clk";
-+              dr_mode = "otg";
-+              phys = <&u2phy1_otg>, <&usbdp_phy1 PHY_TYPE_USB3>;
-+              phy-names = "usb2-phy", "usb3-phy";
-+              phy_type = "utmi_wide";
-+              power-domains = <&power RK3588_PD_USB>;
-+              resets = <&cru SRST_A_USB3OTG1>;
-+              snps,dis_enblslpm_quirk;
-+              snps,dis-u2-freeclk-exists-quirk;
-+              snps,dis-del-phy-power-chg-quirk;
-+              snps,dis-tx-ipgap-linecheck-quirk;
-+              status = "disabled";
-+      };
-+
-       pcie30_phy_grf: syscon@fd5b8000 {
-               compatible = "rockchip,rk3588-pcie3-phy-grf", "syscon";
-               reg = <0x0 0xfd5b8000 0x0 0x10000>;
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -492,6 +492,28 @@
-               };
-       };
-+      usb_host0_xhci: usb@fc000000 {
-+              compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
-+              reg = <0x0 0xfc000000 0x0 0x400000>;
-+              interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru REF_CLK_USB3OTG0>, <&cru SUSPEND_CLK_USB3OTG0>,
-+                       <&cru ACLK_USB3OTG0>;
-+              clock-names = "ref_clk", "suspend_clk", "bus_clk";
-+              dr_mode = "otg";
-+              phys = <&u2phy0_otg>, <&usbdp_phy0 PHY_TYPE_USB3>;
-+              phy-names = "usb2-phy", "usb3-phy";
-+              phy_type = "utmi_wide";
-+              power-domains = <&power RK3588_PD_USB>;
-+              resets = <&cru SRST_A_USB3OTG0>;
-+              snps,dis_enblslpm_quirk;
-+              snps,dis-u1-entry-quirk;
-+              snps,dis-u2-entry-quirk;
-+              snps,dis-u2-freeclk-exists-quirk;
-+              snps,dis-del-phy-power-chg-quirk;
-+              snps,dis-tx-ipgap-linecheck-quirk;
-+              status = "disabled";
-+      };
-+
-       usb_host0_ehci: usb@fc800000 {
-               compatible = "rockchip,rk3588-ehci", "generic-ehci";
-               reg = <0x0 0xfc800000 0x0 0x40000>;
diff --git a/target/linux/rockchip/patches-6.12/050-21-v6.10-arm64-dts-rockchip-add-rk3588-pcie-and-php-IOMMUs.patch b/target/linux/rockchip/patches-6.12/050-21-v6.10-arm64-dts-rockchip-add-rk3588-pcie-and-php-IOMMUs.patch
deleted file mode 100644 (file)
index fa98e5e..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-From cd81d3a0695cc54ad6ac0ef4bbb67a7c8f55d592 Mon Sep 17 00:00:00 2001
-From: Niklas Cassel <cassel@kernel.org>
-Date: Thu, 2 May 2024 16:02:32 +0200
-Subject: [PATCH] arm64: dts: rockchip: add rk3588 pcie and php IOMMUs
-
-The mmu600_pcie is connected with the five PCIe controllers.
-The mmu600_php is connected with the USB3 controller, the GMAC
-controllers, and the SATA controllers.
-
-See 8.2 Block Diagram, in rk3588 TRM (Technical Reference Manual).
-
-The IOMMUs are disabled by default, as further patches are needed to
-program the SID/SSIDs in to the IOMMUs.
-
-iommu: Default domain type: Translated
-iommu: DMA domain TLB invalidation policy: strict mode
-arm-smmu-v3 fc900000.iommu: ias 48-bit, oas 48-bit (features 0x001c1eaf)
-arm-smmu-v3 fc900000.iommu: allocated 65536 entries for cmdq
-arm-smmu-v3 fc900000.iommu: allocated 32768 entries for evtq
-arm-smmu-v3 fc900000.iommu: msi_domain absent - falling back to wired irqs
-
-Additionally, the IOMMU correctly triggers an IOMMU fault when
-a PCIe device performs a write (since the device hasn't been
-assigned a SID/SSID):
-arm-smmu-v3 fc900000.iommu: event 0x02 received:
-arm-smmu-v3 fc900000.iommu:      0x0000010000000002
-arm-smmu-v3 fc900000.iommu:      0x0000000000000000
-arm-smmu-v3 fc900000.iommu:      0x0000000000000000
-arm-smmu-v3 fc900000.iommu:      0x0000000000000000
-
-While this doesn't provide much value as is, having the devices as
-disabled in the device tree will allow developers to see that the rk3588
-actually has IOMMUs on the SoC.
-
-Signed-off-by: Niklas Cassel <cassel@kernel.org>
-Link: https://lore.kernel.org/r/20240502140231.477049-2-cassel@kernel.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 24 +++++++++++++++++++++++
- 1 file changed, 24 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -579,6 +579,30 @@
-               status = "disabled";
-       };
-+      mmu600_pcie: iommu@fc900000 {
-+              compatible = "arm,smmu-v3";
-+              reg = <0x0 0xfc900000 0x0 0x200000>;
-+              interrupts = <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "eventq", "gerror", "priq", "cmdq-sync";
-+              #iommu-cells = <1>;
-+              status = "disabled";
-+      };
-+
-+      mmu600_php: iommu@fcb00000 {
-+              compatible = "arm,smmu-v3";
-+              reg = <0x0 0xfcb00000 0x0 0x200000>;
-+              interrupts = <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "eventq", "gerror", "priq", "cmdq-sync";
-+              #iommu-cells = <1>;
-+              status = "disabled";
-+      };
-+
-       pmu1grf: syscon@fd58a000 {
-               compatible = "rockchip,rk3588-pmugrf", "syscon", "simple-mfd";
-               reg = <0x0 0xfd58a000 0x0 0x10000>;
diff --git a/target/linux/rockchip/patches-6.12/050-22-v6.11-arm64-dts-rockchip-Prepare-RK3588-SoC-dtsi-files-for.patch b/target/linux/rockchip/patches-6.12/050-22-v6.11-arm64-dts-rockchip-Prepare-RK3588-SoC-dtsi-files-for.patch
deleted file mode 100644 (file)
index 08460b5..0000000
+++ /dev/null
@@ -1,14208 +0,0 @@
-From def88eb4d8365a4aa064d28405d03550a9d0a3be Mon Sep 17 00:00:00 2001
-From: Dragan Simic <dsimic@manjaro.org>
-Date: Sun, 9 Jun 2024 10:58:19 +0200
-Subject: [PATCH] arm64: dts: rockchip: Prepare RK3588 SoC dtsi files for
- per-variant OPPs
-
-Rename the Rockchip RK3588 SoC dtsi files and, consequently, adjust their
-contents appropriately, to prepare them for the ability to specify different
-CPU and GPU OPPs for each of the supported RK3588 SoC variants.
-
-As already discussed, [1][2][3][4] some of the RK3588 SoC variants require
-different OPPs, and it makes more sense to have the OPPs already defined when
-a board dts(i) file includes one of the SoC variant dtsi files (rk3588.dtsi,
-rk3588j.dtsi or rk3588s.dtsi), rather than requiring the board dts(i) file
-to also include a separate rk3588*-opp.dtsi file.  The choice of the SoC
-variant is already made by the inclusion of the SoC dtsi file into the board
-dts(i) file, and it doesn't make much sense to, effectively, allow the board
-dts(i) file to include and use an incompatible set of OPPs for the already
-selected RK3588 SoC variant.
-
-The new naming scheme for the RK3588 SoC dtsi files uses "-base" and "-extra"
-suffixes to denote the DT data shared between all RK5588 SoC variants, and
-the DT data shared between the unrestricted SoC variants, respectively.
-For example, the DT data for the RK3588 includes both rk3588-base.dtsi and
-rk3588-extra.dtsi, because it's an unrestricted SoC variant, while the DT
-data for the RK3588S variant includes rk3588-base.dtsi only, because it's
-a restricted SoC variant, feature- and interface-wise.  This achieves a more
-logical naming of the RK3588 SoC dtsi files, which reflects the way DT data
-for the SoC variants is built by "stacking" the SoC variant features made
-available through the "-base" and "-extra" SoC dtsi files.  Additionally,
-the SoC variant dtsi files (rk3588.dtsi, rk3588j.dtsi and rk3588s.dtsi) are
-no longer parents to any other SoC variant dtsi files, which should help with
-making the new "stacking" approach cleaner and easier to follow.
-
-The RK3588 pinctrl dtsi files are also renamed in the same way, for the sake
-of consistency.  This also keeps the "-base" and "-extra" groups of the dtsi
-files together when looked at in a directory listing, which is helpful.
-
-The per-SoC-variant OPPs should go directly into the SoC dtsi files, if no
-more than one SoC variant uses those OPPs, or be put into a separate "-opp"
-dtsi file that's shared between and included from two or more SoC variant
-dtsi files.  An example for the former is the non-shared OPP data that should
-go directly into the RK3588J SoC variant dtsi file (i.e. rk3588j.dtsi), and
-an example for the latter is the shared OPP data that should be put into
-rk3588-opp.dtsi and be included from the RK3588 and RK3588S SoC variant dtsi
-files (i.e. rk3588.dtsi and rk3588s.dtsi, respectively).  Consequently, if
-the OPPs for the RK3588 and RK3588S SoC variants are ever made different,
-the shared rk3588-opp.dtsi file should be deleted and the new OPPs should
-be put directly into rk3588.dtsi and rk3588s.dtsi. [4]
-
-No functional changes are introduced, which was validated by decompiling and
-comparing all affected dtb files before and after these changes.
-
-As a side note, due to the nature of introduced changes, this commit is best
-viewed using the --break-rewrites option for git-log(1).
-
-[1] https://lore.kernel.org/linux-rockchip/646a33e0-5c1b-471c-8183-2c0df40ea51a@cherry.de/
-[2] https://lore.kernel.org/linux-rockchip/CABjd4Yxi=+3gkNnH3BysUzzYsji-=-yROtzEc8jM_g0roKB0-w@mail.gmail.com/
-[3] https://lore.kernel.org/linux-rockchip/035a274be262528012173d463e25b55f@manjaro.org/
-[4] https://lore.kernel.org/linux-rockchip/673dcf47596e7bc8ba065034e339bb1bbf9cdcb0.1716948159.git.dsimic@manjaro.org/T/#u
-
-Signed-off-by: Dragan Simic <dsimic@manjaro.org>
-Link: https://lore.kernel.org/r/9ffedc0e2ca7f167d9d795b2a8f43cb9f56a653b.1717923308.git.dsimic@manjaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- ...-pinctrl.dtsi => rk3588-base-pinctrl.dtsi} |    0
- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 2670 +++++++++++++++++
- ...pinctrl.dtsi => rk3588-extra-pinctrl.dtsi} |    0
- .../arm64/boot/dts/rockchip/rk3588-extra.dtsi |  413 +++
- arch/arm64/boot/dts/rockchip/rk3588.dtsi      |  412 +--
- arch/arm64/boot/dts/rockchip/rk3588j.dtsi     |    2 +-
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi     | 2669 +---------------
- 7 files changed, 3090 insertions(+), 3076 deletions(-)
- rename arch/arm64/boot/dts/rockchip/{rk3588s-pinctrl.dtsi => rk3588-base-pinctrl.dtsi} (100%)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
- rename arch/arm64/boot/dts/rockchip/{rk3588-pinctrl.dtsi => rk3588-extra-pinctrl.dtsi} (100%)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
-
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
-@@ -0,0 +1,2670 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
-+ */
-+
-+#include <dt-bindings/clock/rockchip,rk3588-cru.h>
-+#include <dt-bindings/interrupt-controller/arm-gic.h>
-+#include <dt-bindings/interrupt-controller/irq.h>
-+#include <dt-bindings/power/rk3588-power.h>
-+#include <dt-bindings/reset/rockchip,rk3588-cru.h>
-+#include <dt-bindings/phy/phy.h>
-+#include <dt-bindings/ata/ahci.h>
-+
-+/ {
-+      compatible = "rockchip,rk3588";
-+
-+      interrupt-parent = <&gic>;
-+      #address-cells = <2>;
-+      #size-cells = <2>;
-+
-+      aliases {
-+              gpio0 = &gpio0;
-+              gpio1 = &gpio1;
-+              gpio2 = &gpio2;
-+              gpio3 = &gpio3;
-+              gpio4 = &gpio4;
-+              i2c0 = &i2c0;
-+              i2c1 = &i2c1;
-+              i2c2 = &i2c2;
-+              i2c3 = &i2c3;
-+              i2c4 = &i2c4;
-+              i2c5 = &i2c5;
-+              i2c6 = &i2c6;
-+              i2c7 = &i2c7;
-+              i2c8 = &i2c8;
-+              serial0 = &uart0;
-+              serial1 = &uart1;
-+              serial2 = &uart2;
-+              serial3 = &uart3;
-+              serial4 = &uart4;
-+              serial5 = &uart5;
-+              serial6 = &uart6;
-+              serial7 = &uart7;
-+              serial8 = &uart8;
-+              serial9 = &uart9;
-+              spi0 = &spi0;
-+              spi1 = &spi1;
-+              spi2 = &spi2;
-+              spi3 = &spi3;
-+              spi4 = &spi4;
-+      };
-+
-+      cpus {
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+
-+              cpu-map {
-+                      cluster0 {
-+                              core0 {
-+                                      cpu = <&cpu_l0>;
-+                              };
-+                              core1 {
-+                                      cpu = <&cpu_l1>;
-+                              };
-+                              core2 {
-+                                      cpu = <&cpu_l2>;
-+                              };
-+                              core3 {
-+                                      cpu = <&cpu_l3>;
-+                              };
-+                      };
-+                      cluster1 {
-+                              core0 {
-+                                      cpu = <&cpu_b0>;
-+                              };
-+                              core1 {
-+                                      cpu = <&cpu_b1>;
-+                              };
-+                      };
-+                      cluster2 {
-+                              core0 {
-+                                      cpu = <&cpu_b2>;
-+                              };
-+                              core1 {
-+                                      cpu = <&cpu_b3>;
-+                              };
-+                      };
-+              };
-+
-+              cpu_l0: cpu@0 {
-+                      device_type = "cpu";
-+                      compatible = "arm,cortex-a55";
-+                      reg = <0x0>;
-+                      enable-method = "psci";
-+                      capacity-dmips-mhz = <530>;
-+                      clocks = <&scmi_clk SCMI_CLK_CPUL>;
-+                      assigned-clocks = <&scmi_clk SCMI_CLK_CPUL>;
-+                      assigned-clock-rates = <816000000>;
-+                      cpu-idle-states = <&CPU_SLEEP>;
-+                      i-cache-size = <32768>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <128>;
-+                      d-cache-size = <32768>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <128>;
-+                      next-level-cache = <&l2_cache_l0>;
-+                      dynamic-power-coefficient = <228>;
-+                      #cooling-cells = <2>;
-+              };
-+
-+              cpu_l1: cpu@100 {
-+                      device_type = "cpu";
-+                      compatible = "arm,cortex-a55";
-+                      reg = <0x100>;
-+                      enable-method = "psci";
-+                      capacity-dmips-mhz = <530>;
-+                      clocks = <&scmi_clk SCMI_CLK_CPUL>;
-+                      cpu-idle-states = <&CPU_SLEEP>;
-+                      i-cache-size = <32768>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <128>;
-+                      d-cache-size = <32768>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <128>;
-+                      next-level-cache = <&l2_cache_l1>;
-+                      dynamic-power-coefficient = <228>;
-+                      #cooling-cells = <2>;
-+              };
-+
-+              cpu_l2: cpu@200 {
-+                      device_type = "cpu";
-+                      compatible = "arm,cortex-a55";
-+                      reg = <0x200>;
-+                      enable-method = "psci";
-+                      capacity-dmips-mhz = <530>;
-+                      clocks = <&scmi_clk SCMI_CLK_CPUL>;
-+                      cpu-idle-states = <&CPU_SLEEP>;
-+                      i-cache-size = <32768>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <128>;
-+                      d-cache-size = <32768>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <128>;
-+                      next-level-cache = <&l2_cache_l2>;
-+                      dynamic-power-coefficient = <228>;
-+                      #cooling-cells = <2>;
-+              };
-+
-+              cpu_l3: cpu@300 {
-+                      device_type = "cpu";
-+                      compatible = "arm,cortex-a55";
-+                      reg = <0x300>;
-+                      enable-method = "psci";
-+                      capacity-dmips-mhz = <530>;
-+                      clocks = <&scmi_clk SCMI_CLK_CPUL>;
-+                      cpu-idle-states = <&CPU_SLEEP>;
-+                      i-cache-size = <32768>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <128>;
-+                      d-cache-size = <32768>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <128>;
-+                      next-level-cache = <&l2_cache_l3>;
-+                      dynamic-power-coefficient = <228>;
-+                      #cooling-cells = <2>;
-+              };
-+
-+              cpu_b0: cpu@400 {
-+                      device_type = "cpu";
-+                      compatible = "arm,cortex-a76";
-+                      reg = <0x400>;
-+                      enable-method = "psci";
-+                      capacity-dmips-mhz = <1024>;
-+                      clocks = <&scmi_clk SCMI_CLK_CPUB01>;
-+                      assigned-clocks = <&scmi_clk SCMI_CLK_CPUB01>;
-+                      assigned-clock-rates = <816000000>;
-+                      cpu-idle-states = <&CPU_SLEEP>;
-+                      i-cache-size = <65536>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <256>;
-+                      d-cache-size = <65536>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <256>;
-+                      next-level-cache = <&l2_cache_b0>;
-+                      dynamic-power-coefficient = <416>;
-+                      #cooling-cells = <2>;
-+              };
-+
-+              cpu_b1: cpu@500 {
-+                      device_type = "cpu";
-+                      compatible = "arm,cortex-a76";
-+                      reg = <0x500>;
-+                      enable-method = "psci";
-+                      capacity-dmips-mhz = <1024>;
-+                      clocks = <&scmi_clk SCMI_CLK_CPUB01>;
-+                      cpu-idle-states = <&CPU_SLEEP>;
-+                      i-cache-size = <65536>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <256>;
-+                      d-cache-size = <65536>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <256>;
-+                      next-level-cache = <&l2_cache_b1>;
-+                      dynamic-power-coefficient = <416>;
-+                      #cooling-cells = <2>;
-+              };
-+
-+              cpu_b2: cpu@600 {
-+                      device_type = "cpu";
-+                      compatible = "arm,cortex-a76";
-+                      reg = <0x600>;
-+                      enable-method = "psci";
-+                      capacity-dmips-mhz = <1024>;
-+                      clocks = <&scmi_clk SCMI_CLK_CPUB23>;
-+                      assigned-clocks = <&scmi_clk SCMI_CLK_CPUB23>;
-+                      assigned-clock-rates = <816000000>;
-+                      cpu-idle-states = <&CPU_SLEEP>;
-+                      i-cache-size = <65536>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <256>;
-+                      d-cache-size = <65536>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <256>;
-+                      next-level-cache = <&l2_cache_b2>;
-+                      dynamic-power-coefficient = <416>;
-+                      #cooling-cells = <2>;
-+              };
-+
-+              cpu_b3: cpu@700 {
-+                      device_type = "cpu";
-+                      compatible = "arm,cortex-a76";
-+                      reg = <0x700>;
-+                      enable-method = "psci";
-+                      capacity-dmips-mhz = <1024>;
-+                      clocks = <&scmi_clk SCMI_CLK_CPUB23>;
-+                      cpu-idle-states = <&CPU_SLEEP>;
-+                      i-cache-size = <65536>;
-+                      i-cache-line-size = <64>;
-+                      i-cache-sets = <256>;
-+                      d-cache-size = <65536>;
-+                      d-cache-line-size = <64>;
-+                      d-cache-sets = <256>;
-+                      next-level-cache = <&l2_cache_b3>;
-+                      dynamic-power-coefficient = <416>;
-+                      #cooling-cells = <2>;
-+              };
-+
-+              idle-states {
-+                      entry-method = "psci";
-+                      CPU_SLEEP: cpu-sleep {
-+                              compatible = "arm,idle-state";
-+                              local-timer-stop;
-+                              arm,psci-suspend-param = <0x0010000>;
-+                              entry-latency-us = <100>;
-+                              exit-latency-us = <120>;
-+                              min-residency-us = <1000>;
-+                      };
-+              };
-+
-+              l2_cache_l0: l2-cache-l0 {
-+                      compatible = "cache";
-+                      cache-size = <131072>;
-+                      cache-line-size = <64>;
-+                      cache-sets = <512>;
-+                      cache-level = <2>;
-+                      cache-unified;
-+                      next-level-cache = <&l3_cache>;
-+              };
-+
-+              l2_cache_l1: l2-cache-l1 {
-+                      compatible = "cache";
-+                      cache-size = <131072>;
-+                      cache-line-size = <64>;
-+                      cache-sets = <512>;
-+                      cache-level = <2>;
-+                      cache-unified;
-+                      next-level-cache = <&l3_cache>;
-+              };
-+
-+              l2_cache_l2: l2-cache-l2 {
-+                      compatible = "cache";
-+                      cache-size = <131072>;
-+                      cache-line-size = <64>;
-+                      cache-sets = <512>;
-+                      cache-level = <2>;
-+                      cache-unified;
-+                      next-level-cache = <&l3_cache>;
-+              };
-+
-+              l2_cache_l3: l2-cache-l3 {
-+                      compatible = "cache";
-+                      cache-size = <131072>;
-+                      cache-line-size = <64>;
-+                      cache-sets = <512>;
-+                      cache-level = <2>;
-+                      cache-unified;
-+                      next-level-cache = <&l3_cache>;
-+              };
-+
-+              l2_cache_b0: l2-cache-b0 {
-+                      compatible = "cache";
-+                      cache-size = <524288>;
-+                      cache-line-size = <64>;
-+                      cache-sets = <1024>;
-+                      cache-level = <2>;
-+                      cache-unified;
-+                      next-level-cache = <&l3_cache>;
-+              };
-+
-+              l2_cache_b1: l2-cache-b1 {
-+                      compatible = "cache";
-+                      cache-size = <524288>;
-+                      cache-line-size = <64>;
-+                      cache-sets = <1024>;
-+                      cache-level = <2>;
-+                      cache-unified;
-+                      next-level-cache = <&l3_cache>;
-+              };
-+
-+              l2_cache_b2: l2-cache-b2 {
-+                      compatible = "cache";
-+                      cache-size = <524288>;
-+                      cache-line-size = <64>;
-+                      cache-sets = <1024>;
-+                      cache-level = <2>;
-+                      cache-unified;
-+                      next-level-cache = <&l3_cache>;
-+              };
-+
-+              l2_cache_b3: l2-cache-b3 {
-+                      compatible = "cache";
-+                      cache-size = <524288>;
-+                      cache-line-size = <64>;
-+                      cache-sets = <1024>;
-+                      cache-level = <2>;
-+                      cache-unified;
-+                      next-level-cache = <&l3_cache>;
-+              };
-+
-+              l3_cache: l3-cache {
-+                      compatible = "cache";
-+                      cache-size = <3145728>;
-+                      cache-line-size = <64>;
-+                      cache-sets = <4096>;
-+                      cache-level = <3>;
-+                      cache-unified;
-+              };
-+      };
-+
-+      display_subsystem: display-subsystem {
-+              compatible = "rockchip,display-subsystem";
-+              ports = <&vop_out>;
-+      };
-+
-+      firmware {
-+              optee: optee {
-+                      compatible = "linaro,optee-tz";
-+                      method = "smc";
-+              };
-+
-+              scmi: scmi {
-+                      compatible = "arm,scmi-smc";
-+                      arm,smc-id = <0x82000010>;
-+                      shmem = <&scmi_shmem>;
-+                      #address-cells = <1>;
-+                      #size-cells = <0>;
-+
-+                      scmi_clk: protocol@14 {
-+                              reg = <0x14>;
-+                              #clock-cells = <1>;
-+                      };
-+
-+                      scmi_reset: protocol@16 {
-+                              reg = <0x16>;
-+                              #reset-cells = <1>;
-+                      };
-+              };
-+      };
-+
-+      pmu-a55 {
-+              compatible = "arm,cortex-a55-pmu";
-+              interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition0>;
-+      };
-+
-+      pmu-a76 {
-+              compatible = "arm,cortex-a76-pmu";
-+              interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition1>;
-+      };
-+
-+      psci {
-+              compatible = "arm,psci-1.0";
-+              method = "smc";
-+      };
-+
-+      spll: clock-0 {
-+              compatible = "fixed-clock";
-+              clock-frequency = <702000000>;
-+              clock-output-names = "spll";
-+              #clock-cells = <0>;
-+      };
-+
-+      timer {
-+              compatible = "arm,armv8-timer";
-+              interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_PPI 12 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt";
-+      };
-+
-+      xin24m: clock-1 {
-+              compatible = "fixed-clock";
-+              clock-frequency = <24000000>;
-+              clock-output-names = "xin24m";
-+              #clock-cells = <0>;
-+      };
-+
-+      xin32k: clock-2 {
-+              compatible = "fixed-clock";
-+              clock-frequency = <32768>;
-+              clock-output-names = "xin32k";
-+              #clock-cells = <0>;
-+      };
-+
-+      pmu_sram: sram@10f000 {
-+              compatible = "mmio-sram";
-+              reg = <0x0 0x0010f000 0x0 0x100>;
-+              ranges = <0 0x0 0x0010f000 0x100>;
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+
-+              scmi_shmem: sram@0 {
-+                      compatible = "arm,scmi-shmem";
-+                      reg = <0x0 0x100>;
-+              };
-+      };
-+
-+      gpu: gpu@fb000000 {
-+              compatible = "rockchip,rk3588-mali", "arm,mali-valhall-csf";
-+              reg = <0x0 0xfb000000 0x0 0x200000>;
-+              #cooling-cells = <2>;
-+              assigned-clocks = <&scmi_clk SCMI_CLK_GPU>;
-+              assigned-clock-rates = <200000000>;
-+              clocks = <&cru CLK_GPU>, <&cru CLK_GPU_COREGROUP>,
-+                       <&cru CLK_GPU_STACKS>;
-+              clock-names = "core", "coregroup", "stacks";
-+              dynamic-power-coefficient = <2982>;
-+              interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "job", "mmu", "gpu";
-+              operating-points-v2 = <&gpu_opp_table>;
-+              power-domains = <&power RK3588_PD_GPU>;
-+              status = "disabled";
-+
-+              gpu_opp_table: opp-table {
-+                      compatible = "operating-points-v2";
-+
-+                      opp-300000000 {
-+                              opp-hz = /bits/ 64 <300000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-400000000 {
-+                              opp-hz = /bits/ 64 <400000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-500000000 {
-+                              opp-hz = /bits/ 64 <500000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-600000000 {
-+                              opp-hz = /bits/ 64 <600000000>;
-+                              opp-microvolt = <675000 675000 850000>;
-+                      };
-+                      opp-700000000 {
-+                              opp-hz = /bits/ 64 <700000000>;
-+                              opp-microvolt = <700000 700000 850000>;
-+                      };
-+                      opp-800000000 {
-+                              opp-hz = /bits/ 64 <800000000>;
-+                              opp-microvolt = <750000 750000 850000>;
-+                      };
-+                      opp-900000000 {
-+                              opp-hz = /bits/ 64 <900000000>;
-+                              opp-microvolt = <800000 800000 850000>;
-+                      };
-+                      opp-1000000000 {
-+                              opp-hz = /bits/ 64 <1000000000>;
-+                              opp-microvolt = <850000 850000 850000>;
-+                      };
-+              };
-+      };
-+
-+      usb_host0_xhci: usb@fc000000 {
-+              compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
-+              reg = <0x0 0xfc000000 0x0 0x400000>;
-+              interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru REF_CLK_USB3OTG0>, <&cru SUSPEND_CLK_USB3OTG0>,
-+                       <&cru ACLK_USB3OTG0>;
-+              clock-names = "ref_clk", "suspend_clk", "bus_clk";
-+              dr_mode = "otg";
-+              phys = <&u2phy0_otg>, <&usbdp_phy0 PHY_TYPE_USB3>;
-+              phy-names = "usb2-phy", "usb3-phy";
-+              phy_type = "utmi_wide";
-+              power-domains = <&power RK3588_PD_USB>;
-+              resets = <&cru SRST_A_USB3OTG0>;
-+              snps,dis_enblslpm_quirk;
-+              snps,dis-u1-entry-quirk;
-+              snps,dis-u2-entry-quirk;
-+              snps,dis-u2-freeclk-exists-quirk;
-+              snps,dis-del-phy-power-chg-quirk;
-+              snps,dis-tx-ipgap-linecheck-quirk;
-+              status = "disabled";
-+      };
-+
-+      usb_host0_ehci: usb@fc800000 {
-+              compatible = "rockchip,rk3588-ehci", "generic-ehci";
-+              reg = <0x0 0xfc800000 0x0 0x40000>;
-+              interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>, <&cru ACLK_USB>, <&u2phy2>;
-+              phys = <&u2phy2_host>;
-+              phy-names = "usb";
-+              power-domains = <&power RK3588_PD_USB>;
-+              status = "disabled";
-+      };
-+
-+      usb_host0_ohci: usb@fc840000 {
-+              compatible = "rockchip,rk3588-ohci", "generic-ohci";
-+              reg = <0x0 0xfc840000 0x0 0x40000>;
-+              interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>, <&cru ACLK_USB>, <&u2phy2>;
-+              phys = <&u2phy2_host>;
-+              phy-names = "usb";
-+              power-domains = <&power RK3588_PD_USB>;
-+              status = "disabled";
-+      };
-+
-+      usb_host1_ehci: usb@fc880000 {
-+              compatible = "rockchip,rk3588-ehci", "generic-ehci";
-+              reg = <0x0 0xfc880000 0x0 0x40000>;
-+              interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>, <&cru ACLK_USB>, <&u2phy3>;
-+              phys = <&u2phy3_host>;
-+              phy-names = "usb";
-+              power-domains = <&power RK3588_PD_USB>;
-+              status = "disabled";
-+      };
-+
-+      usb_host1_ohci: usb@fc8c0000 {
-+              compatible = "rockchip,rk3588-ohci", "generic-ohci";
-+              reg = <0x0 0xfc8c0000 0x0 0x40000>;
-+              interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>, <&cru ACLK_USB>, <&u2phy3>;
-+              phys = <&u2phy3_host>;
-+              phy-names = "usb";
-+              power-domains = <&power RK3588_PD_USB>;
-+              status = "disabled";
-+      };
-+
-+      usb_host2_xhci: usb@fcd00000 {
-+              compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
-+              reg = <0x0 0xfcd00000 0x0 0x400000>;
-+              interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru REF_CLK_USB3OTG2>, <&cru SUSPEND_CLK_USB3OTG2>,
-+                       <&cru ACLK_USB3OTG2>, <&cru CLK_UTMI_OTG2>,
-+                       <&cru CLK_PIPEPHY2_PIPE_U3_G>;
-+              clock-names = "ref_clk", "suspend_clk", "bus_clk", "utmi", "pipe";
-+              dr_mode = "host";
-+              phys = <&combphy2_psu PHY_TYPE_USB3>;
-+              phy-names = "usb3-phy";
-+              phy_type = "utmi_wide";
-+              resets = <&cru SRST_A_USB3OTG2>;
-+              snps,dis_enblslpm_quirk;
-+              snps,dis-u2-freeclk-exists-quirk;
-+              snps,dis-del-phy-power-chg-quirk;
-+              snps,dis-tx-ipgap-linecheck-quirk;
-+              snps,dis_rxdet_inp3_quirk;
-+              status = "disabled";
-+      };
-+
-+      mmu600_pcie: iommu@fc900000 {
-+              compatible = "arm,smmu-v3";
-+              reg = <0x0 0xfc900000 0x0 0x200000>;
-+              interrupts = <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "eventq", "gerror", "priq", "cmdq-sync";
-+              #iommu-cells = <1>;
-+              status = "disabled";
-+      };
-+
-+      mmu600_php: iommu@fcb00000 {
-+              compatible = "arm,smmu-v3";
-+              reg = <0x0 0xfcb00000 0x0 0x200000>;
-+              interrupts = <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "eventq", "gerror", "priq", "cmdq-sync";
-+              #iommu-cells = <1>;
-+              status = "disabled";
-+      };
-+
-+      pmu1grf: syscon@fd58a000 {
-+              compatible = "rockchip,rk3588-pmugrf", "syscon", "simple-mfd";
-+              reg = <0x0 0xfd58a000 0x0 0x10000>;
-+      };
-+
-+      sys_grf: syscon@fd58c000 {
-+              compatible = "rockchip,rk3588-sys-grf", "syscon";
-+              reg = <0x0 0xfd58c000 0x0 0x1000>;
-+      };
-+
-+      vop_grf: syscon@fd5a4000 {
-+              compatible = "rockchip,rk3588-vop-grf", "syscon";
-+              reg = <0x0 0xfd5a4000 0x0 0x2000>;
-+      };
-+
-+      vo0_grf: syscon@fd5a6000 {
-+              compatible = "rockchip,rk3588-vo-grf", "syscon";
-+              reg = <0x0 0xfd5a6000 0x0 0x2000>;
-+              clocks = <&cru PCLK_VO0GRF>;
-+      };
-+
-+      vo1_grf: syscon@fd5a8000 {
-+              compatible = "rockchip,rk3588-vo-grf", "syscon";
-+              reg = <0x0 0xfd5a8000 0x0 0x100>;
-+              clocks = <&cru PCLK_VO1GRF>;
-+      };
-+
-+      usb_grf: syscon@fd5ac000 {
-+              compatible = "rockchip,rk3588-usb-grf", "syscon";
-+              reg = <0x0 0xfd5ac000 0x0 0x4000>;
-+      };
-+
-+      php_grf: syscon@fd5b0000 {
-+              compatible = "rockchip,rk3588-php-grf", "syscon";
-+              reg = <0x0 0xfd5b0000 0x0 0x1000>;
-+      };
-+
-+      pipe_phy0_grf: syscon@fd5bc000 {
-+              compatible = "rockchip,rk3588-pipe-phy-grf", "syscon";
-+              reg = <0x0 0xfd5bc000 0x0 0x100>;
-+      };
-+
-+      pipe_phy2_grf: syscon@fd5c4000 {
-+              compatible = "rockchip,rk3588-pipe-phy-grf", "syscon";
-+              reg = <0x0 0xfd5c4000 0x0 0x100>;
-+      };
-+
-+      usbdpphy0_grf: syscon@fd5c8000 {
-+              compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
-+              reg = <0x0 0xfd5c8000 0x0 0x4000>;
-+      };
-+
-+      usb2phy0_grf: syscon@fd5d0000 {
-+              compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
-+              reg = <0x0 0xfd5d0000 0x0 0x4000>;
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+
-+              u2phy0: usb2phy@0 {
-+                      compatible = "rockchip,rk3588-usb2phy";
-+                      reg = <0x0 0x10>;
-+                      #clock-cells = <0>;
-+                      clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
-+                      clock-names = "phyclk";
-+                      clock-output-names = "usb480m_phy0";
-+                      interrupts = <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      resets = <&cru SRST_OTGPHY_U3_0>, <&cru SRST_P_USB2PHY_U3_0_GRF0>;
-+                      reset-names = "phy", "apb";
-+                      status = "disabled";
-+
-+                      u2phy0_otg: otg-port {
-+                              #phy-cells = <0>;
-+                              status = "disabled";
-+                      };
-+              };
-+      };
-+
-+      usb2phy2_grf: syscon@fd5d8000 {
-+              compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
-+              reg = <0x0 0xfd5d8000 0x0 0x4000>;
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+
-+              u2phy2: usb2phy@8000 {
-+                      compatible = "rockchip,rk3588-usb2phy";
-+                      reg = <0x8000 0x10>;
-+                      #clock-cells = <0>;
-+                      clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
-+                      clock-names = "phyclk";
-+                      clock-output-names = "usb480m_phy2";
-+                      interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      resets = <&cru SRST_OTGPHY_U2_0>, <&cru SRST_P_USB2PHY_U2_0_GRF0>;
-+                      reset-names = "phy", "apb";
-+                      status = "disabled";
-+
-+                      u2phy2_host: host-port {
-+                              #phy-cells = <0>;
-+                              status = "disabled";
-+                      };
-+              };
-+      };
-+
-+      usb2phy3_grf: syscon@fd5dc000 {
-+              compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
-+              reg = <0x0 0xfd5dc000 0x0 0x4000>;
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+
-+              u2phy3: usb2phy@c000 {
-+                      compatible = "rockchip,rk3588-usb2phy";
-+                      reg = <0xc000 0x10>;
-+                      #clock-cells = <0>;
-+                      clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
-+                      clock-names = "phyclk";
-+                      clock-output-names = "usb480m_phy3";
-+                      interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      resets = <&cru SRST_OTGPHY_U2_1>, <&cru SRST_P_USB2PHY_U2_1_GRF0>;
-+                      reset-names = "phy", "apb";
-+                      status = "disabled";
-+
-+                      u2phy3_host: host-port {
-+                              #phy-cells = <0>;
-+                              status = "disabled";
-+                      };
-+              };
-+      };
-+
-+      hdptxphy0_grf: syscon@fd5e0000 {
-+              compatible = "rockchip,rk3588-hdptxphy-grf", "syscon";
-+              reg = <0x0 0xfd5e0000 0x0 0x100>;
-+      };
-+
-+      ioc: syscon@fd5f0000 {
-+              compatible = "rockchip,rk3588-ioc", "syscon";
-+              reg = <0x0 0xfd5f0000 0x0 0x10000>;
-+      };
-+
-+      system_sram1: sram@fd600000 {
-+              compatible = "mmio-sram";
-+              reg = <0x0 0xfd600000 0x0 0x100000>;
-+              ranges = <0x0 0x0 0xfd600000 0x100000>;
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+      };
-+
-+      cru: clock-controller@fd7c0000 {
-+              compatible = "rockchip,rk3588-cru";
-+              reg = <0x0 0xfd7c0000 0x0 0x5c000>;
-+              assigned-clocks =
-+                      <&cru PLL_PPLL>, <&cru PLL_AUPLL>,
-+                      <&cru PLL_NPLL>, <&cru PLL_GPLL>,
-+                      <&cru ACLK_CENTER_ROOT>,
-+                      <&cru HCLK_CENTER_ROOT>, <&cru ACLK_CENTER_LOW_ROOT>,
-+                      <&cru ACLK_TOP_ROOT>, <&cru PCLK_TOP_ROOT>,
-+                      <&cru ACLK_LOW_TOP_ROOT>, <&cru PCLK_PMU0_ROOT>,
-+                      <&cru HCLK_PMU_CM0_ROOT>, <&cru ACLK_VOP>,
-+                      <&cru ACLK_BUS_ROOT>, <&cru CLK_150M_SRC>,
-+                      <&cru CLK_GPU>;
-+              assigned-clock-rates =
-+                      <1100000000>, <786432000>,
-+                      <850000000>, <1188000000>,
-+                      <702000000>,
-+                      <400000000>, <500000000>,
-+                      <800000000>, <100000000>,
-+                      <400000000>, <100000000>,
-+                      <200000000>, <500000000>,
-+                      <375000000>, <150000000>,
-+                      <200000000>;
-+              rockchip,grf = <&php_grf>;
-+              #clock-cells = <1>;
-+              #reset-cells = <1>;
-+      };
-+
-+      i2c0: i2c@fd880000 {
-+              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
-+              reg = <0x0 0xfd880000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>;
-+              clock-names = "i2c", "pclk";
-+              pinctrl-0 = <&i2c0m0_xfer>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      uart0: serial@fd890000 {
-+              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-+              reg = <0x0 0xfd890000 0x0 0x100>;
-+              interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
-+              clock-names = "baudclk", "apb_pclk";
-+              dmas = <&dmac0 6>, <&dmac0 7>;
-+              dma-names = "tx", "rx";
-+              pinctrl-0 = <&uart0m1_xfer>;
-+              pinctrl-names = "default";
-+              reg-shift = <2>;
-+              reg-io-width = <4>;
-+              status = "disabled";
-+      };
-+
-+      pwm0: pwm@fd8b0000 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfd8b0000 0x0 0x10>;
-+              clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm0m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm1: pwm@fd8b0010 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfd8b0010 0x0 0x10>;
-+              clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm1m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm2: pwm@fd8b0020 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfd8b0020 0x0 0x10>;
-+              clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm2m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm3: pwm@fd8b0030 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfd8b0030 0x0 0x10>;
-+              clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm3m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pmu: power-management@fd8d8000 {
-+              compatible = "rockchip,rk3588-pmu", "syscon", "simple-mfd";
-+              reg = <0x0 0xfd8d8000 0x0 0x400>;
-+
-+              power: power-controller {
-+                      compatible = "rockchip,rk3588-power-controller";
-+                      #address-cells = <1>;
-+                      #power-domain-cells = <1>;
-+                      #size-cells = <0>;
-+                      status = "okay";
-+
-+                      /* These power domains are grouped by VD_NPU */
-+                      power-domain@RK3588_PD_NPU {
-+                              reg = <RK3588_PD_NPU>;
-+                              #power-domain-cells = <0>;
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+
-+                              power-domain@RK3588_PD_NPUTOP {
-+                                      reg = <RK3588_PD_NPUTOP>;
-+                                      clocks = <&cru HCLK_NPU_ROOT>,
-+                                               <&cru PCLK_NPU_ROOT>,
-+                                               <&cru CLK_NPU_DSU0>,
-+                                               <&cru HCLK_NPU_CM0_ROOT>;
-+                                      pm_qos = <&qos_npu0_mwr>,
-+                                               <&qos_npu0_mro>,
-+                                               <&qos_mcu_npu>;
-+                                      #power-domain-cells = <0>;
-+                                      #address-cells = <1>;
-+                                      #size-cells = <0>;
-+
-+                                      power-domain@RK3588_PD_NPU1 {
-+                                              reg = <RK3588_PD_NPU1>;
-+                                              clocks = <&cru HCLK_NPU_ROOT>,
-+                                                       <&cru PCLK_NPU_ROOT>,
-+                                                       <&cru CLK_NPU_DSU0>;
-+                                              pm_qos = <&qos_npu1>;
-+                                              #power-domain-cells = <0>;
-+                                      };
-+                                      power-domain@RK3588_PD_NPU2 {
-+                                              reg = <RK3588_PD_NPU2>;
-+                                              clocks = <&cru HCLK_NPU_ROOT>,
-+                                                       <&cru PCLK_NPU_ROOT>,
-+                                                       <&cru CLK_NPU_DSU0>;
-+                                              pm_qos = <&qos_npu2>;
-+                                              #power-domain-cells = <0>;
-+                                      };
-+                              };
-+                      };
-+                      /* These power domains are grouped by VD_GPU */
-+                      power-domain@RK3588_PD_GPU {
-+                              reg = <RK3588_PD_GPU>;
-+                              clocks = <&cru CLK_GPU>,
-+                                       <&cru CLK_GPU_COREGROUP>,
-+                                       <&cru CLK_GPU_STACKS>;
-+                              pm_qos = <&qos_gpu_m0>,
-+                                       <&qos_gpu_m1>,
-+                                       <&qos_gpu_m2>,
-+                                       <&qos_gpu_m3>;
-+                              #power-domain-cells = <0>;
-+                      };
-+                      /* These power domains are grouped by VD_VCODEC */
-+                      power-domain@RK3588_PD_VCODEC {
-+                              reg = <RK3588_PD_VCODEC>;
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              #power-domain-cells = <0>;
-+
-+                              power-domain@RK3588_PD_RKVDEC0 {
-+                                      reg = <RK3588_PD_RKVDEC0>;
-+                                      clocks = <&cru HCLK_RKVDEC0>,
-+                                               <&cru HCLK_VDPU_ROOT>,
-+                                               <&cru ACLK_VDPU_ROOT>,
-+                                               <&cru ACLK_RKVDEC0>,
-+                                               <&cru ACLK_RKVDEC_CCU>;
-+                                      pm_qos = <&qos_rkvdec0>;
-+                                      #power-domain-cells = <0>;
-+                              };
-+                              power-domain@RK3588_PD_RKVDEC1 {
-+                                      reg = <RK3588_PD_RKVDEC1>;
-+                                      clocks = <&cru HCLK_RKVDEC1>,
-+                                               <&cru HCLK_VDPU_ROOT>,
-+                                               <&cru ACLK_VDPU_ROOT>,
-+                                               <&cru ACLK_RKVDEC1>;
-+                                      pm_qos = <&qos_rkvdec1>;
-+                                      #power-domain-cells = <0>;
-+                              };
-+                              power-domain@RK3588_PD_VENC0 {
-+                                      reg = <RK3588_PD_VENC0>;
-+                                      clocks = <&cru HCLK_RKVENC0>,
-+                                               <&cru ACLK_RKVENC0>;
-+                                      pm_qos = <&qos_rkvenc0_m0ro>,
-+                                               <&qos_rkvenc0_m1ro>,
-+                                               <&qos_rkvenc0_m2wo>;
-+                                      #address-cells = <1>;
-+                                      #size-cells = <0>;
-+                                      #power-domain-cells = <0>;
-+
-+                                      power-domain@RK3588_PD_VENC1 {
-+                                              reg = <RK3588_PD_VENC1>;
-+                                              clocks = <&cru HCLK_RKVENC1>,
-+                                                       <&cru HCLK_RKVENC0>,
-+                                                       <&cru ACLK_RKVENC0>,
-+                                                       <&cru ACLK_RKVENC1>;
-+                                              pm_qos = <&qos_rkvenc1_m0ro>,
-+                                                       <&qos_rkvenc1_m1ro>,
-+                                                       <&qos_rkvenc1_m2wo>;
-+                                              #power-domain-cells = <0>;
-+                                      };
-+                              };
-+                      };
-+                      /* These power domains are grouped by VD_LOGIC */
-+                      power-domain@RK3588_PD_VDPU {
-+                              reg = <RK3588_PD_VDPU>;
-+                              clocks = <&cru HCLK_VDPU_ROOT>,
-+                                       <&cru ACLK_VDPU_LOW_ROOT>,
-+                                       <&cru ACLK_VDPU_ROOT>,
-+                                       <&cru ACLK_JPEG_DECODER_ROOT>,
-+                                       <&cru ACLK_IEP2P0>,
-+                                       <&cru HCLK_IEP2P0>,
-+                                       <&cru ACLK_JPEG_ENCODER0>,
-+                                       <&cru HCLK_JPEG_ENCODER0>,
-+                                       <&cru ACLK_JPEG_ENCODER1>,
-+                                       <&cru HCLK_JPEG_ENCODER1>,
-+                                       <&cru ACLK_JPEG_ENCODER2>,
-+                                       <&cru HCLK_JPEG_ENCODER2>,
-+                                       <&cru ACLK_JPEG_ENCODER3>,
-+                                       <&cru HCLK_JPEG_ENCODER3>,
-+                                       <&cru ACLK_JPEG_DECODER>,
-+                                       <&cru HCLK_JPEG_DECODER>,
-+                                       <&cru ACLK_RGA2>,
-+                                       <&cru HCLK_RGA2>;
-+                              pm_qos = <&qos_iep>,
-+                                       <&qos_jpeg_dec>,
-+                                       <&qos_jpeg_enc0>,
-+                                       <&qos_jpeg_enc1>,
-+                                       <&qos_jpeg_enc2>,
-+                                       <&qos_jpeg_enc3>,
-+                                       <&qos_rga2_mro>,
-+                                       <&qos_rga2_mwo>;
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              #power-domain-cells = <0>;
-+
-+
-+                              power-domain@RK3588_PD_AV1 {
-+                                      reg = <RK3588_PD_AV1>;
-+                                      clocks = <&cru PCLK_AV1>,
-+                                               <&cru ACLK_AV1>,
-+                                               <&cru HCLK_VDPU_ROOT>;
-+                                      pm_qos = <&qos_av1>;
-+                                      #power-domain-cells = <0>;
-+                              };
-+                              power-domain@RK3588_PD_RKVDEC0 {
-+                                      reg = <RK3588_PD_RKVDEC0>;
-+                                      clocks = <&cru HCLK_RKVDEC0>,
-+                                               <&cru HCLK_VDPU_ROOT>,
-+                                               <&cru ACLK_VDPU_ROOT>,
-+                                               <&cru ACLK_RKVDEC0>;
-+                                      pm_qos = <&qos_rkvdec0>;
-+                                      #power-domain-cells = <0>;
-+                              };
-+                              power-domain@RK3588_PD_RKVDEC1 {
-+                                      reg = <RK3588_PD_RKVDEC1>;
-+                                      clocks = <&cru HCLK_RKVDEC1>,
-+                                               <&cru HCLK_VDPU_ROOT>,
-+                                               <&cru ACLK_VDPU_ROOT>;
-+                                      pm_qos = <&qos_rkvdec1>;
-+                                      #power-domain-cells = <0>;
-+                              };
-+                              power-domain@RK3588_PD_RGA30 {
-+                                      reg = <RK3588_PD_RGA30>;
-+                                      clocks = <&cru ACLK_RGA3_0>,
-+                                               <&cru HCLK_RGA3_0>;
-+                                      pm_qos = <&qos_rga3_0>;
-+                                      #power-domain-cells = <0>;
-+                              };
-+                      };
-+                      power-domain@RK3588_PD_VOP {
-+                              reg = <RK3588_PD_VOP>;
-+                              clocks = <&cru PCLK_VOP_ROOT>,
-+                                       <&cru HCLK_VOP_ROOT>,
-+                                       <&cru ACLK_VOP>;
-+                              pm_qos = <&qos_vop_m0>,
-+                                       <&qos_vop_m1>;
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              #power-domain-cells = <0>;
-+
-+                              power-domain@RK3588_PD_VO0 {
-+                                      reg = <RK3588_PD_VO0>;
-+                                      clocks = <&cru PCLK_VO0_ROOT>,
-+                                               <&cru PCLK_VO0_S_ROOT>,
-+                                               <&cru HCLK_VO0_S_ROOT>,
-+                                               <&cru ACLK_VO0_ROOT>,
-+                                               <&cru HCLK_HDCP0>,
-+                                               <&cru ACLK_HDCP0>,
-+                                               <&cru HCLK_VOP_ROOT>;
-+                                      pm_qos = <&qos_hdcp0>;
-+                                      #power-domain-cells = <0>;
-+                              };
-+                      };
-+                      power-domain@RK3588_PD_VO1 {
-+                              reg = <RK3588_PD_VO1>;
-+                              clocks = <&cru PCLK_VO1_ROOT>,
-+                                       <&cru PCLK_VO1_S_ROOT>,
-+                                       <&cru HCLK_VO1_S_ROOT>,
-+                                       <&cru HCLK_HDCP1>,
-+                                       <&cru ACLK_HDCP1>,
-+                                       <&cru ACLK_HDMIRX_ROOT>,
-+                                       <&cru HCLK_VO1USB_TOP_ROOT>;
-+                              pm_qos = <&qos_hdcp1>,
-+                                       <&qos_hdmirx>;
-+                              #power-domain-cells = <0>;
-+                      };
-+                      power-domain@RK3588_PD_VI {
-+                              reg = <RK3588_PD_VI>;
-+                              clocks = <&cru HCLK_VI_ROOT>,
-+                                       <&cru PCLK_VI_ROOT>,
-+                                       <&cru HCLK_ISP0>,
-+                                       <&cru ACLK_ISP0>,
-+                                       <&cru HCLK_VICAP>,
-+                                       <&cru ACLK_VICAP>;
-+                              pm_qos = <&qos_isp0_mro>,
-+                                       <&qos_isp0_mwo>,
-+                                       <&qos_vicap_m0>,
-+                                       <&qos_vicap_m1>;
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              #power-domain-cells = <0>;
-+
-+                              power-domain@RK3588_PD_ISP1 {
-+                                      reg = <RK3588_PD_ISP1>;
-+                                      clocks = <&cru HCLK_ISP1>,
-+                                               <&cru ACLK_ISP1>,
-+                                               <&cru HCLK_VI_ROOT>,
-+                                               <&cru PCLK_VI_ROOT>;
-+                                      pm_qos = <&qos_isp1_mwo>,
-+                                               <&qos_isp1_mro>;
-+                                      #power-domain-cells = <0>;
-+                              };
-+                              power-domain@RK3588_PD_FEC {
-+                                      reg = <RK3588_PD_FEC>;
-+                                      clocks = <&cru HCLK_FISHEYE0>,
-+                                               <&cru ACLK_FISHEYE0>,
-+                                               <&cru HCLK_FISHEYE1>,
-+                                               <&cru ACLK_FISHEYE1>,
-+                                               <&cru PCLK_VI_ROOT>;
-+                                      pm_qos = <&qos_fisheye0>,
-+                                               <&qos_fisheye1>;
-+                                      #power-domain-cells = <0>;
-+                              };
-+                      };
-+                      power-domain@RK3588_PD_RGA31 {
-+                              reg = <RK3588_PD_RGA31>;
-+                              clocks = <&cru HCLK_RGA3_1>,
-+                                       <&cru ACLK_RGA3_1>;
-+                              pm_qos = <&qos_rga3_1>;
-+                              #power-domain-cells = <0>;
-+                      };
-+                      power-domain@RK3588_PD_USB {
-+                              reg = <RK3588_PD_USB>;
-+                              clocks = <&cru PCLK_PHP_ROOT>,
-+                                       <&cru ACLK_USB_ROOT>,
-+                                       <&cru ACLK_USB>,
-+                                       <&cru HCLK_USB_ROOT>,
-+                                       <&cru HCLK_HOST0>,
-+                                       <&cru HCLK_HOST_ARB0>,
-+                                       <&cru HCLK_HOST1>,
-+                                       <&cru HCLK_HOST_ARB1>;
-+                              pm_qos = <&qos_usb3_0>,
-+                                       <&qos_usb3_1>,
-+                                       <&qos_usb2host_0>,
-+                                       <&qos_usb2host_1>;
-+                              #power-domain-cells = <0>;
-+                      };
-+                      power-domain@RK3588_PD_GMAC {
-+                              reg = <RK3588_PD_GMAC>;
-+                              clocks = <&cru PCLK_PHP_ROOT>,
-+                                       <&cru ACLK_PCIE_ROOT>,
-+                                       <&cru ACLK_PHP_ROOT>;
-+                              #power-domain-cells = <0>;
-+                      };
-+                      power-domain@RK3588_PD_PCIE {
-+                              reg = <RK3588_PD_PCIE>;
-+                              clocks = <&cru PCLK_PHP_ROOT>,
-+                                       <&cru ACLK_PCIE_ROOT>,
-+                                       <&cru ACLK_PHP_ROOT>;
-+                              #power-domain-cells = <0>;
-+                      };
-+                      power-domain@RK3588_PD_SDIO {
-+                              reg = <RK3588_PD_SDIO>;
-+                              clocks = <&cru HCLK_SDIO>,
-+                                       <&cru HCLK_NVM_ROOT>;
-+                              pm_qos = <&qos_sdio>;
-+                              #power-domain-cells = <0>;
-+                      };
-+                      power-domain@RK3588_PD_AUDIO {
-+                              reg = <RK3588_PD_AUDIO>;
-+                              clocks = <&cru HCLK_AUDIO_ROOT>,
-+                                       <&cru PCLK_AUDIO_ROOT>;
-+                              #power-domain-cells = <0>;
-+                      };
-+                      power-domain@RK3588_PD_SDMMC {
-+                              reg = <RK3588_PD_SDMMC>;
-+                              pm_qos = <&qos_sdmmc>;
-+                              #power-domain-cells = <0>;
-+                      };
-+              };
-+      };
-+
-+      av1d: video-codec@fdc70000 {
-+              compatible = "rockchip,rk3588-av1-vpu";
-+              reg = <0x0 0xfdc70000 0x0 0x800>;
-+              interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "vdpu";
-+              assigned-clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
-+              assigned-clock-rates = <400000000>, <400000000>;
-+              clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
-+              clock-names = "aclk", "hclk";
-+              power-domains = <&power RK3588_PD_AV1>;
-+              resets = <&cru SRST_A_AV1>, <&cru SRST_P_AV1>, <&cru SRST_A_AV1_BIU>, <&cru SRST_P_AV1_BIU>;
-+      };
-+
-+      vop: vop@fdd90000 {
-+              compatible = "rockchip,rk3588-vop";
-+              reg = <0x0 0xfdd90000 0x0 0x4200>, <0x0 0xfdd95000 0x0 0x1000>;
-+              reg-names = "vop", "gamma-lut";
-+              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru ACLK_VOP>,
-+                       <&cru HCLK_VOP>,
-+                       <&cru DCLK_VOP0>,
-+                       <&cru DCLK_VOP1>,
-+                       <&cru DCLK_VOP2>,
-+                       <&cru DCLK_VOP3>,
-+                       <&cru PCLK_VOP_ROOT>;
-+              clock-names = "aclk",
-+                            "hclk",
-+                            "dclk_vp0",
-+                            "dclk_vp1",
-+                            "dclk_vp2",
-+                            "dclk_vp3",
-+                            "pclk_vop";
-+              iommus = <&vop_mmu>;
-+              power-domains = <&power RK3588_PD_VOP>;
-+              rockchip,grf = <&sys_grf>;
-+              rockchip,vop-grf = <&vop_grf>;
-+              rockchip,vo1-grf = <&vo1_grf>;
-+              rockchip,pmu = <&pmu>;
-+              status = "disabled";
-+
-+              vop_out: ports {
-+                      #address-cells = <1>;
-+                      #size-cells = <0>;
-+
-+                      vp0: port@0 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <0>;
-+                      };
-+
-+                      vp1: port@1 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <1>;
-+                      };
-+
-+                      vp2: port@2 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <2>;
-+                      };
-+
-+                      vp3: port@3 {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+                              reg = <3>;
-+                      };
-+              };
-+      };
-+
-+      vop_mmu: iommu@fdd97e00 {
-+              compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
-+              reg = <0x0 0xfdd97e00 0x0 0x100>, <0x0 0xfdd97f00 0x0 0x100>;
-+              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
-+              clock-names = "aclk", "iface";
-+              #iommu-cells = <0>;
-+              power-domains = <&power RK3588_PD_VOP>;
-+              status = "disabled";
-+      };
-+
-+      i2s4_8ch: i2s@fddc0000 {
-+              compatible = "rockchip,rk3588-i2s-tdm";
-+              reg = <0x0 0xfddc0000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S4_8CH_TX>, <&cru MCLK_I2S4_8CH_TX>, <&cru HCLK_I2S4_8CH>;
-+              clock-names = "mclk_tx", "mclk_rx", "hclk";
-+              assigned-clocks = <&cru CLK_I2S4_8CH_TX_SRC>;
-+              assigned-clock-parents = <&cru PLL_AUPLL>;
-+              dmas = <&dmac2 0>;
-+              dma-names = "tx";
-+              power-domains = <&power RK3588_PD_VO0>;
-+              resets = <&cru SRST_M_I2S4_8CH_TX>;
-+              reset-names = "tx-m";
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2s5_8ch: i2s@fddf0000 {
-+              compatible = "rockchip,rk3588-i2s-tdm";
-+              reg = <0x0 0xfddf0000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S5_8CH_TX>, <&cru MCLK_I2S5_8CH_TX>, <&cru HCLK_I2S5_8CH>;
-+              clock-names = "mclk_tx", "mclk_rx", "hclk";
-+              assigned-clocks = <&cru CLK_I2S5_8CH_TX_SRC>;
-+              assigned-clock-parents = <&cru PLL_AUPLL>;
-+              dmas = <&dmac2 2>;
-+              dma-names = "tx";
-+              power-domains = <&power RK3588_PD_VO1>;
-+              resets = <&cru SRST_M_I2S5_8CH_TX>;
-+              reset-names = "tx-m";
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2s9_8ch: i2s@fddfc000 {
-+              compatible = "rockchip,rk3588-i2s-tdm";
-+              reg = <0x0 0xfddfc000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S9_8CH_RX>, <&cru MCLK_I2S9_8CH_RX>, <&cru HCLK_I2S9_8CH>;
-+              clock-names = "mclk_tx", "mclk_rx", "hclk";
-+              assigned-clocks = <&cru CLK_I2S9_8CH_RX_SRC>;
-+              assigned-clock-parents = <&cru PLL_AUPLL>;
-+              dmas = <&dmac2 23>;
-+              dma-names = "rx";
-+              power-domains = <&power RK3588_PD_VO1>;
-+              resets = <&cru SRST_M_I2S9_8CH_RX>;
-+              reset-names = "rx-m";
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      qos_gpu_m0: qos@fdf35000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf35000 0x0 0x20>;
-+      };
-+
-+      qos_gpu_m1: qos@fdf35200 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf35200 0x0 0x20>;
-+      };
-+
-+      qos_gpu_m2: qos@fdf35400 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf35400 0x0 0x20>;
-+      };
-+
-+      qos_gpu_m3: qos@fdf35600 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf35600 0x0 0x20>;
-+      };
-+
-+      qos_rga3_1: qos@fdf36000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf36000 0x0 0x20>;
-+      };
-+
-+      qos_sdio: qos@fdf39000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf39000 0x0 0x20>;
-+      };
-+
-+      qos_sdmmc: qos@fdf3d800 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf3d800 0x0 0x20>;
-+      };
-+
-+      qos_usb3_1: qos@fdf3e000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf3e000 0x0 0x20>;
-+      };
-+
-+      qos_usb3_0: qos@fdf3e200 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf3e200 0x0 0x20>;
-+      };
-+
-+      qos_usb2host_0: qos@fdf3e400 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf3e400 0x0 0x20>;
-+      };
-+
-+      qos_usb2host_1: qos@fdf3e600 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf3e600 0x0 0x20>;
-+      };
-+
-+      qos_fisheye0: qos@fdf40000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf40000 0x0 0x20>;
-+      };
-+
-+      qos_fisheye1: qos@fdf40200 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf40200 0x0 0x20>;
-+      };
-+
-+      qos_isp0_mro: qos@fdf40400 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf40400 0x0 0x20>;
-+      };
-+
-+      qos_isp0_mwo: qos@fdf40500 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf40500 0x0 0x20>;
-+      };
-+
-+      qos_vicap_m0: qos@fdf40600 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf40600 0x0 0x20>;
-+      };
-+
-+      qos_vicap_m1: qos@fdf40800 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf40800 0x0 0x20>;
-+      };
-+
-+      qos_isp1_mwo: qos@fdf41000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf41000 0x0 0x20>;
-+      };
-+
-+      qos_isp1_mro: qos@fdf41100 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf41100 0x0 0x20>;
-+      };
-+
-+      qos_rkvenc0_m0ro: qos@fdf60000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf60000 0x0 0x20>;
-+      };
-+
-+      qos_rkvenc0_m1ro: qos@fdf60200 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf60200 0x0 0x20>;
-+      };
-+
-+      qos_rkvenc0_m2wo: qos@fdf60400 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf60400 0x0 0x20>;
-+      };
-+
-+      qos_rkvenc1_m0ro: qos@fdf61000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf61000 0x0 0x20>;
-+      };
-+
-+      qos_rkvenc1_m1ro: qos@fdf61200 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf61200 0x0 0x20>;
-+      };
-+
-+      qos_rkvenc1_m2wo: qos@fdf61400 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf61400 0x0 0x20>;
-+      };
-+
-+      qos_rkvdec0: qos@fdf62000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf62000 0x0 0x20>;
-+      };
-+
-+      qos_rkvdec1: qos@fdf63000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf63000 0x0 0x20>;
-+      };
-+
-+      qos_av1: qos@fdf64000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf64000 0x0 0x20>;
-+      };
-+
-+      qos_iep: qos@fdf66000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf66000 0x0 0x20>;
-+      };
-+
-+      qos_jpeg_dec: qos@fdf66200 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf66200 0x0 0x20>;
-+      };
-+
-+      qos_jpeg_enc0: qos@fdf66400 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf66400 0x0 0x20>;
-+      };
-+
-+      qos_jpeg_enc1: qos@fdf66600 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf66600 0x0 0x20>;
-+      };
-+
-+      qos_jpeg_enc2: qos@fdf66800 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf66800 0x0 0x20>;
-+      };
-+
-+      qos_jpeg_enc3: qos@fdf66a00 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf66a00 0x0 0x20>;
-+      };
-+
-+      qos_rga2_mro: qos@fdf66c00 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf66c00 0x0 0x20>;
-+      };
-+
-+      qos_rga2_mwo: qos@fdf66e00 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf66e00 0x0 0x20>;
-+      };
-+
-+      qos_rga3_0: qos@fdf67000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf67000 0x0 0x20>;
-+      };
-+
-+      qos_vdpu: qos@fdf67200 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf67200 0x0 0x20>;
-+      };
-+
-+      qos_npu1: qos@fdf70000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf70000 0x0 0x20>;
-+      };
-+
-+      qos_npu2: qos@fdf71000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf71000 0x0 0x20>;
-+      };
-+
-+      qos_npu0_mwr: qos@fdf72000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf72000 0x0 0x20>;
-+      };
-+
-+      qos_npu0_mro: qos@fdf72200 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf72200 0x0 0x20>;
-+      };
-+
-+      qos_mcu_npu: qos@fdf72400 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf72400 0x0 0x20>;
-+      };
-+
-+      qos_hdcp0: qos@fdf80000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf80000 0x0 0x20>;
-+      };
-+
-+      qos_hdcp1: qos@fdf81000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf81000 0x0 0x20>;
-+      };
-+
-+      qos_hdmirx: qos@fdf81200 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf81200 0x0 0x20>;
-+      };
-+
-+      qos_vop_m0: qos@fdf82000 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf82000 0x0 0x20>;
-+      };
-+
-+      qos_vop_m1: qos@fdf82200 {
-+              compatible = "rockchip,rk3588-qos", "syscon";
-+              reg = <0x0 0xfdf82200 0x0 0x20>;
-+      };
-+
-+      dfi: dfi@fe060000 {
-+              reg = <0x00 0xfe060000 0x00 0x10000>;
-+              compatible = "rockchip,rk3588-dfi";
-+              interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
-+              rockchip,pmu = <&pmu1grf>;
-+      };
-+
-+      pcie2x1l1: pcie@fe180000 {
-+              compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
-+              bus-range = <0x30 0x3f>;
-+              clocks = <&cru ACLK_PCIE_1L1_MSTR>, <&cru ACLK_PCIE_1L1_SLV>,
-+                       <&cru ACLK_PCIE_1L1_DBI>, <&cru PCLK_PCIE_1L1>,
-+                       <&cru CLK_PCIE_AUX3>, <&cru CLK_PCIE1L1_PIPE>;
-+              clock-names = "aclk_mst", "aclk_slv",
-+                            "aclk_dbi", "pclk",
-+                            "aux", "pipe";
-+              device_type = "pci";
-+              interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "sys", "pmc", "msg", "legacy", "err";
-+              #interrupt-cells = <1>;
-+              interrupt-map-mask = <0 0 0 7>;
-+              interrupt-map = <0 0 0 1 &pcie2x1l1_intc 0>,
-+                              <0 0 0 2 &pcie2x1l1_intc 1>,
-+                              <0 0 0 3 &pcie2x1l1_intc 2>,
-+                              <0 0 0 4 &pcie2x1l1_intc 3>;
-+              linux,pci-domain = <3>;
-+              max-link-speed = <2>;
-+              msi-map = <0x3000 &its0 0x3000 0x1000>;
-+              num-lanes = <1>;
-+              phys = <&combphy2_psu PHY_TYPE_PCIE>;
-+              phy-names = "pcie-phy";
-+              power-domains = <&power RK3588_PD_PCIE>;
-+              ranges = <0x01000000 0x0 0xf3100000 0x0 0xf3100000 0x0 0x00100000>,
-+                       <0x02000000 0x0 0xf3200000 0x0 0xf3200000 0x0 0x00e00000>,
-+                       <0x03000000 0x0 0x40000000 0x9 0xc0000000 0x0 0x40000000>;
-+              reg = <0xa 0x40c00000 0x0 0x00400000>,
-+                    <0x0 0xfe180000 0x0 0x00010000>,
-+                    <0x0 0xf3000000 0x0 0x00100000>;
-+              reg-names = "dbi", "apb", "config";
-+              resets = <&cru SRST_PCIE3_POWER_UP>, <&cru SRST_P_PCIE3>;
-+              reset-names = "pwr", "pipe";
-+              #address-cells = <3>;
-+              #size-cells = <2>;
-+              status = "disabled";
-+
-+              pcie2x1l1_intc: legacy-interrupt-controller {
-+                      interrupt-controller;
-+                      #address-cells = <0>;
-+                      #interrupt-cells = <1>;
-+                      interrupt-parent = <&gic>;
-+                      interrupts = <GIC_SPI 245 IRQ_TYPE_EDGE_RISING 0>;
-+              };
-+      };
-+
-+      pcie2x1l2: pcie@fe190000 {
-+              compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
-+              bus-range = <0x40 0x4f>;
-+              clocks = <&cru ACLK_PCIE_1L2_MSTR>, <&cru ACLK_PCIE_1L2_SLV>,
-+                       <&cru ACLK_PCIE_1L2_DBI>, <&cru PCLK_PCIE_1L2>,
-+                       <&cru CLK_PCIE_AUX4>, <&cru CLK_PCIE1L2_PIPE>;
-+              clock-names = "aclk_mst", "aclk_slv",
-+                            "aclk_dbi", "pclk",
-+                            "aux", "pipe";
-+              device_type = "pci";
-+              interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "sys", "pmc", "msg", "legacy", "err";
-+              #interrupt-cells = <1>;
-+              interrupt-map-mask = <0 0 0 7>;
-+              interrupt-map = <0 0 0 1 &pcie2x1l2_intc 0>,
-+                              <0 0 0 2 &pcie2x1l2_intc 1>,
-+                              <0 0 0 3 &pcie2x1l2_intc 2>,
-+                              <0 0 0 4 &pcie2x1l2_intc 3>;
-+              linux,pci-domain = <4>;
-+              max-link-speed = <2>;
-+              msi-map = <0x4000 &its0 0x4000 0x1000>;
-+              num-lanes = <1>;
-+              phys = <&combphy0_ps PHY_TYPE_PCIE>;
-+              phy-names = "pcie-phy";
-+              power-domains = <&power RK3588_PD_PCIE>;
-+              ranges = <0x01000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x00100000>,
-+                       <0x02000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x00e00000>,
-+                       <0x03000000 0x0 0x40000000 0xa 0x00000000 0x0 0x40000000>;
-+              reg = <0xa 0x41000000 0x0 0x00400000>,
-+                    <0x0 0xfe190000 0x0 0x00010000>,
-+                    <0x0 0xf4000000 0x0 0x00100000>;
-+              reg-names = "dbi", "apb", "config";
-+              resets = <&cru SRST_PCIE4_POWER_UP>, <&cru SRST_P_PCIE4>;
-+              reset-names = "pwr", "pipe";
-+              #address-cells = <3>;
-+              #size-cells = <2>;
-+              status = "disabled";
-+
-+              pcie2x1l2_intc: legacy-interrupt-controller {
-+                      interrupt-controller;
-+                      #address-cells = <0>;
-+                      #interrupt-cells = <1>;
-+                      interrupt-parent = <&gic>;
-+                      interrupts = <GIC_SPI 250 IRQ_TYPE_EDGE_RISING 0>;
-+              };
-+      };
-+
-+      gmac1: ethernet@fe1c0000 {
-+              compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a";
-+              reg = <0x0 0xfe1c0000 0x0 0x10000>;
-+              interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "macirq", "eth_wake_irq";
-+              clocks = <&cru CLK_GMAC_125M>, <&cru CLK_GMAC_50M>,
-+                       <&cru PCLK_GMAC1>, <&cru ACLK_GMAC1>,
-+                       <&cru CLK_GMAC1_PTP_REF>;
-+              clock-names = "stmmaceth", "clk_mac_ref",
-+                            "pclk_mac", "aclk_mac",
-+                            "ptp_ref";
-+              power-domains = <&power RK3588_PD_GMAC>;
-+              resets = <&cru SRST_A_GMAC1>;
-+              reset-names = "stmmaceth";
-+              rockchip,grf = <&sys_grf>;
-+              rockchip,php-grf = <&php_grf>;
-+              snps,axi-config = <&gmac1_stmmac_axi_setup>;
-+              snps,mixed-burst;
-+              snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
-+              snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
-+              snps,tso;
-+              status = "disabled";
-+
-+              mdio1: mdio {
-+                      compatible = "snps,dwmac-mdio";
-+                      #address-cells = <0x1>;
-+                      #size-cells = <0x0>;
-+              };
-+
-+              gmac1_stmmac_axi_setup: stmmac-axi-config {
-+                      snps,blen = <0 0 0 0 16 8 4>;
-+                      snps,wr_osr_lmt = <4>;
-+                      snps,rd_osr_lmt = <8>;
-+              };
-+
-+              gmac1_mtl_rx_setup: rx-queues-config {
-+                      snps,rx-queues-to-use = <2>;
-+                      queue0 {};
-+                      queue1 {};
-+              };
-+
-+              gmac1_mtl_tx_setup: tx-queues-config {
-+                      snps,tx-queues-to-use = <2>;
-+                      queue0 {};
-+                      queue1 {};
-+              };
-+      };
-+
-+      sata0: sata@fe210000 {
-+              compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci";
-+              reg = <0 0xfe210000 0 0x1000>;
-+              interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru ACLK_SATA0>, <&cru CLK_PMALIVE0>,
-+                       <&cru CLK_RXOOB0>, <&cru CLK_PIPEPHY0_REF>,
-+                       <&cru CLK_PIPEPHY0_PIPE_ASIC_G>;
-+              clock-names = "sata", "pmalive", "rxoob", "ref", "asic";
-+              ports-implemented = <0x1>;
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+
-+              sata-port@0 {
-+                      reg = <0>;
-+                      hba-port-cap = <HBA_PORT_FBSCP>;
-+                      phys = <&combphy0_ps PHY_TYPE_SATA>;
-+                      phy-names = "sata-phy";
-+                      snps,rx-ts-max = <32>;
-+                      snps,tx-ts-max = <32>;
-+              };
-+      };
-+
-+      sata2: sata@fe230000 {
-+              compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci";
-+              reg = <0 0xfe230000 0 0x1000>;
-+              interrupts = <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru ACLK_SATA2>, <&cru CLK_PMALIVE2>,
-+                       <&cru CLK_RXOOB2>, <&cru CLK_PIPEPHY2_REF>,
-+                       <&cru CLK_PIPEPHY2_PIPE_ASIC_G>;
-+              clock-names = "sata", "pmalive", "rxoob", "ref", "asic";
-+              ports-implemented = <0x1>;
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+
-+              sata-port@0 {
-+                      reg = <0>;
-+                      hba-port-cap = <HBA_PORT_FBSCP>;
-+                      phys = <&combphy2_psu PHY_TYPE_SATA>;
-+                      phy-names = "sata-phy";
-+                      snps,rx-ts-max = <32>;
-+                      snps,tx-ts-max = <32>;
-+              };
-+      };
-+
-+      sfc: spi@fe2b0000 {
-+              compatible = "rockchip,sfc";
-+              reg = <0x0 0xfe2b0000 0x0 0x4000>;
-+              interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
-+              clock-names = "clk_sfc", "hclk_sfc";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      sdmmc: mmc@fe2c0000 {
-+              compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc";
-+              reg = <0x0 0xfe2c0000 0x0 0x4000>;
-+              interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&scmi_clk SCMI_HCLK_SD>, <&scmi_clk SCMI_CCLK_SD>,
-+                       <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
-+              clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
-+              fifo-depth = <0x100>;
-+              max-frequency = <200000000>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
-+              power-domains = <&power RK3588_PD_SDMMC>;
-+              status = "disabled";
-+      };
-+
-+      sdio: mmc@fe2d0000 {
-+              compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc";
-+              reg = <0x00 0xfe2d0000 0x00 0x4000>;
-+              interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>,
-+                       <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
-+              clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
-+              fifo-depth = <0x100>;
-+              max-frequency = <200000000>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&sdiom1_pins>;
-+              power-domains = <&power RK3588_PD_SDIO>;
-+              status = "disabled";
-+      };
-+
-+      sdhci: mmc@fe2e0000 {
-+              compatible = "rockchip,rk3588-dwcmshc";
-+              reg = <0x0 0xfe2e0000 0x0 0x10000>;
-+              interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH 0>;
-+              assigned-clocks = <&cru BCLK_EMMC>, <&cru TMCLK_EMMC>, <&cru CCLK_EMMC>;
-+              assigned-clock-rates = <200000000>, <24000000>, <200000000>;
-+              clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
-+                       <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
-+                       <&cru TMCLK_EMMC>;
-+              clock-names = "core", "bus", "axi", "block", "timer";
-+              max-frequency = <200000000>;
-+              pinctrl-0 = <&emmc_rstnout>, <&emmc_bus8>, <&emmc_clk>,
-+                          <&emmc_cmd>, <&emmc_data_strobe>;
-+              pinctrl-names = "default";
-+              resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>,
-+                       <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>,
-+                       <&cru SRST_T_EMMC>;
-+              reset-names = "core", "bus", "axi", "block", "timer";
-+              status = "disabled";
-+      };
-+
-+      i2s0_8ch: i2s@fe470000 {
-+              compatible = "rockchip,rk3588-i2s-tdm";
-+              reg = <0x0 0xfe470000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>;
-+              clock-names = "mclk_tx", "mclk_rx", "hclk";
-+              assigned-clocks = <&cru CLK_I2S0_8CH_TX_SRC>, <&cru CLK_I2S0_8CH_RX_SRC>;
-+              assigned-clock-parents = <&cru PLL_AUPLL>, <&cru PLL_AUPLL>;
-+              dmas = <&dmac0 0>, <&dmac0 1>;
-+              dma-names = "tx", "rx";
-+              power-domains = <&power RK3588_PD_AUDIO>;
-+              resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>;
-+              reset-names = "tx-m", "rx-m";
-+              rockchip,trcm-sync-tx-only;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&i2s0_lrck
-+                           &i2s0_sclk
-+                           &i2s0_sdi0
-+                           &i2s0_sdi1
-+                           &i2s0_sdi2
-+                           &i2s0_sdi3
-+                           &i2s0_sdo0
-+                           &i2s0_sdo1
-+                           &i2s0_sdo2
-+                           &i2s0_sdo3>;
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2s1_8ch: i2s@fe480000 {
-+              compatible = "rockchip,rk3588-i2s-tdm";
-+              reg = <0x0 0xfe480000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>, <&cru HCLK_I2S1_8CH>;
-+              clock-names = "mclk_tx", "mclk_rx", "hclk";
-+              dmas = <&dmac0 2>, <&dmac0 3>;
-+              dma-names = "tx", "rx";
-+              resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
-+              reset-names = "tx-m", "rx-m";
-+              rockchip,trcm-sync-tx-only;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&i2s1m0_lrck
-+                           &i2s1m0_sclk
-+                           &i2s1m0_sdi0
-+                           &i2s1m0_sdi1
-+                           &i2s1m0_sdi2
-+                           &i2s1m0_sdi3
-+                           &i2s1m0_sdo0
-+                           &i2s1m0_sdo1
-+                           &i2s1m0_sdo2
-+                           &i2s1m0_sdo3>;
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2s2_2ch: i2s@fe490000 {
-+              compatible = "rockchip,rk3588-i2s", "rockchip,rk3066-i2s";
-+              reg = <0x0 0xfe490000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>;
-+              clock-names = "i2s_clk", "i2s_hclk";
-+              assigned-clocks = <&cru CLK_I2S2_2CH_SRC>;
-+              assigned-clock-parents = <&cru PLL_AUPLL>;
-+              dmas = <&dmac1 0>, <&dmac1 1>;
-+              dma-names = "tx", "rx";
-+              power-domains = <&power RK3588_PD_AUDIO>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&i2s2m1_lrck
-+                           &i2s2m1_sclk
-+                           &i2s2m1_sdi
-+                           &i2s2m1_sdo>;
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2s3_2ch: i2s@fe4a0000 {
-+              compatible = "rockchip,rk3588-i2s", "rockchip,rk3066-i2s";
-+              reg = <0x0 0xfe4a0000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S3_2CH>, <&cru HCLK_I2S3_2CH>;
-+              clock-names = "i2s_clk", "i2s_hclk";
-+              assigned-clocks = <&cru CLK_I2S3_2CH_SRC>;
-+              assigned-clock-parents = <&cru PLL_AUPLL>;
-+              dmas = <&dmac1 2>, <&dmac1 3>;
-+              dma-names = "tx", "rx";
-+              power-domains = <&power RK3588_PD_AUDIO>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&i2s3_lrck
-+                           &i2s3_sclk
-+                           &i2s3_sdi
-+                           &i2s3_sdo>;
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      gic: interrupt-controller@fe600000 {
-+              compatible = "arm,gic-v3";
-+              reg = <0x0 0xfe600000 0 0x10000>, /* GICD */
-+                    <0x0 0xfe680000 0 0x100000>; /* GICR */
-+              interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-controller;
-+              mbi-alias = <0x0 0xfe610000>;
-+              mbi-ranges = <424 56>;
-+              msi-controller;
-+              ranges;
-+              #address-cells = <2>;
-+              #interrupt-cells = <4>;
-+              #size-cells = <2>;
-+
-+              its0: msi-controller@fe640000 {
-+                      compatible = "arm,gic-v3-its";
-+                      reg = <0x0 0xfe640000 0x0 0x20000>;
-+                      msi-controller;
-+                      #msi-cells = <1>;
-+              };
-+
-+              its1: msi-controller@fe660000 {
-+                      compatible = "arm,gic-v3-its";
-+                      reg = <0x0 0xfe660000 0x0 0x20000>;
-+                      msi-controller;
-+                      #msi-cells = <1>;
-+              };
-+
-+              ppi-partitions {
-+                      ppi_partition0: interrupt-partition-0 {
-+                              affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>;
-+                      };
-+
-+                      ppi_partition1: interrupt-partition-1 {
-+                              affinity = <&cpu_b0 &cpu_b1 &cpu_b2 &cpu_b3>;
-+                      };
-+              };
-+      };
-+
-+      dmac0: dma-controller@fea10000 {
-+              compatible = "arm,pl330", "arm,primecell";
-+              reg = <0x0 0xfea10000 0x0 0x4000>;
-+              interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH 0>;
-+              arm,pl330-periph-burst;
-+              clocks = <&cru ACLK_DMAC0>;
-+              clock-names = "apb_pclk";
-+              #dma-cells = <1>;
-+      };
-+
-+      dmac1: dma-controller@fea30000 {
-+              compatible = "arm,pl330", "arm,primecell";
-+              reg = <0x0 0xfea30000 0x0 0x4000>;
-+              interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH 0>;
-+              arm,pl330-periph-burst;
-+              clocks = <&cru ACLK_DMAC1>;
-+              clock-names = "apb_pclk";
-+              #dma-cells = <1>;
-+      };
-+
-+      i2c1: i2c@fea90000 {
-+              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
-+              reg = <0x0 0xfea90000 0x0 0x1000>;
-+              clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
-+              clock-names = "i2c", "pclk";
-+              interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH 0>;
-+              pinctrl-0 = <&i2c1m0_xfer>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2c2: i2c@feaa0000 {
-+              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
-+              reg = <0x0 0xfeaa0000 0x0 0x1000>;
-+              clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
-+              clock-names = "i2c", "pclk";
-+              interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH 0>;
-+              pinctrl-0 = <&i2c2m0_xfer>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2c3: i2c@feab0000 {
-+              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
-+              reg = <0x0 0xfeab0000 0x0 0x1000>;
-+              clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
-+              clock-names = "i2c", "pclk";
-+              interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 0>;
-+              pinctrl-0 = <&i2c3m0_xfer>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2c4: i2c@feac0000 {
-+              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
-+              reg = <0x0 0xfeac0000 0x0 0x1000>;
-+              clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
-+              clock-names = "i2c", "pclk";
-+              interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 0>;
-+              pinctrl-0 = <&i2c4m0_xfer>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2c5: i2c@fead0000 {
-+              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
-+              reg = <0x0 0xfead0000 0x0 0x1000>;
-+              clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
-+              clock-names = "i2c", "pclk";
-+              interrupts = <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 0>;
-+              pinctrl-0 = <&i2c5m0_xfer>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      timer0: timer@feae0000 {
-+              compatible = "rockchip,rk3588-timer", "rockchip,rk3288-timer";
-+              reg = <0x0 0xfeae0000 0x0 0x20>;
-+              interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru PCLK_BUSTIMER0>, <&cru CLK_BUSTIMER0>;
-+              clock-names = "pclk", "timer";
-+      };
-+
-+      wdt: watchdog@feaf0000 {
-+              compatible = "rockchip,rk3588-wdt", "snps,dw-wdt";
-+              reg = <0x0 0xfeaf0000 0x0 0x100>;
-+              clocks = <&cru TCLK_WDT0>, <&cru PCLK_WDT0>;
-+              clock-names = "tclk", "pclk";
-+              interrupts = <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH 0>;
-+      };
-+
-+      spi0: spi@feb00000 {
-+              compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
-+              reg = <0x0 0xfeb00000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
-+              clock-names = "spiclk", "apb_pclk";
-+              dmas = <&dmac0 14>, <&dmac0 15>;
-+              dma-names = "tx", "rx";
-+              num-cs = <2>;
-+              pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      spi1: spi@feb10000 {
-+              compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
-+              reg = <0x0 0xfeb10000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
-+              clock-names = "spiclk", "apb_pclk";
-+              dmas = <&dmac0 16>, <&dmac0 17>;
-+              dma-names = "tx", "rx";
-+              num-cs = <2>;
-+              pinctrl-0 = <&spi1m1_cs0 &spi1m1_cs1 &spi1m1_pins>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      spi2: spi@feb20000 {
-+              compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
-+              reg = <0x0 0xfeb20000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
-+              clock-names = "spiclk", "apb_pclk";
-+              dmas = <&dmac1 15>, <&dmac1 16>;
-+              dma-names = "tx", "rx";
-+              num-cs = <2>;
-+              pinctrl-0 = <&spi2m2_cs0 &spi2m2_cs1 &spi2m2_pins>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      spi3: spi@feb30000 {
-+              compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
-+              reg = <0x0 0xfeb30000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
-+              clock-names = "spiclk", "apb_pclk";
-+              dmas = <&dmac1 17>, <&dmac1 18>;
-+              dma-names = "tx", "rx";
-+              num-cs = <2>;
-+              pinctrl-0 = <&spi3m1_cs0 &spi3m1_cs1 &spi3m1_pins>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      uart1: serial@feb40000 {
-+              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-+              reg = <0x0 0xfeb40000 0x0 0x100>;
-+              interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
-+              clock-names = "baudclk", "apb_pclk";
-+              dmas = <&dmac0 8>, <&dmac0 9>;
-+              dma-names = "tx", "rx";
-+              pinctrl-0 = <&uart1m1_xfer>;
-+              pinctrl-names = "default";
-+              reg-io-width = <4>;
-+              reg-shift = <2>;
-+              status = "disabled";
-+      };
-+
-+      uart2: serial@feb50000 {
-+              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-+              reg = <0x0 0xfeb50000 0x0 0x100>;
-+              interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
-+              clock-names = "baudclk", "apb_pclk";
-+              dmas = <&dmac0 10>, <&dmac0 11>;
-+              dma-names = "tx", "rx";
-+              pinctrl-0 = <&uart2m1_xfer>;
-+              pinctrl-names = "default";
-+              reg-io-width = <4>;
-+              reg-shift = <2>;
-+              status = "disabled";
-+      };
-+
-+      uart3: serial@feb60000 {
-+              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-+              reg = <0x0 0xfeb60000 0x0 0x100>;
-+              interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
-+              clock-names = "baudclk", "apb_pclk";
-+              dmas = <&dmac0 12>, <&dmac0 13>;
-+              dma-names = "tx", "rx";
-+              pinctrl-0 = <&uart3m1_xfer>;
-+              pinctrl-names = "default";
-+              reg-io-width = <4>;
-+              reg-shift = <2>;
-+              status = "disabled";
-+      };
-+
-+      uart4: serial@feb70000 {
-+              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-+              reg = <0x0 0xfeb70000 0x0 0x100>;
-+              interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
-+              clock-names = "baudclk", "apb_pclk";
-+              dmas = <&dmac1 9>, <&dmac1 10>;
-+              dma-names = "tx", "rx";
-+              pinctrl-0 = <&uart4m1_xfer>;
-+              pinctrl-names = "default";
-+              reg-io-width = <4>;
-+              reg-shift = <2>;
-+              status = "disabled";
-+      };
-+
-+      uart5: serial@feb80000 {
-+              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-+              reg = <0x0 0xfeb80000 0x0 0x100>;
-+              interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
-+              clock-names = "baudclk", "apb_pclk";
-+              dmas = <&dmac1 11>, <&dmac1 12>;
-+              dma-names = "tx", "rx";
-+              pinctrl-0 = <&uart5m1_xfer>;
-+              pinctrl-names = "default";
-+              reg-io-width = <4>;
-+              reg-shift = <2>;
-+              status = "disabled";
-+      };
-+
-+      uart6: serial@feb90000 {
-+              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-+              reg = <0x0 0xfeb90000 0x0 0x100>;
-+              interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
-+              clock-names = "baudclk", "apb_pclk";
-+              dmas = <&dmac1 13>, <&dmac1 14>;
-+              dma-names = "tx", "rx";
-+              pinctrl-0 = <&uart6m1_xfer>;
-+              pinctrl-names = "default";
-+              reg-io-width = <4>;
-+              reg-shift = <2>;
-+              status = "disabled";
-+      };
-+
-+      uart7: serial@feba0000 {
-+              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-+              reg = <0x0 0xfeba0000 0x0 0x100>;
-+              interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
-+              clock-names = "baudclk", "apb_pclk";
-+              dmas = <&dmac2 7>, <&dmac2 8>;
-+              dma-names = "tx", "rx";
-+              pinctrl-0 = <&uart7m1_xfer>;
-+              pinctrl-names = "default";
-+              reg-io-width = <4>;
-+              reg-shift = <2>;
-+              status = "disabled";
-+      };
-+
-+      uart8: serial@febb0000 {
-+              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-+              reg = <0x0 0xfebb0000 0x0 0x100>;
-+              interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
-+              clock-names = "baudclk", "apb_pclk";
-+              dmas = <&dmac2 9>, <&dmac2 10>;
-+              dma-names = "tx", "rx";
-+              pinctrl-0 = <&uart8m1_xfer>;
-+              pinctrl-names = "default";
-+              reg-io-width = <4>;
-+              reg-shift = <2>;
-+              status = "disabled";
-+      };
-+
-+      uart9: serial@febc0000 {
-+              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
-+              reg = <0x0 0xfebc0000 0x0 0x100>;
-+              interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
-+              clock-names = "baudclk", "apb_pclk";
-+              dmas = <&dmac2 11>, <&dmac2 12>;
-+              dma-names = "tx", "rx";
-+              pinctrl-0 = <&uart9m1_xfer>;
-+              pinctrl-names = "default";
-+              reg-io-width = <4>;
-+              reg-shift = <2>;
-+              status = "disabled";
-+      };
-+
-+      pwm4: pwm@febd0000 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebd0000 0x0 0x10>;
-+              clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm4m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm5: pwm@febd0010 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebd0010 0x0 0x10>;
-+              clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm5m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm6: pwm@febd0020 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebd0020 0x0 0x10>;
-+              clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm6m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm7: pwm@febd0030 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebd0030 0x0 0x10>;
-+              clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm7m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm8: pwm@febe0000 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebe0000 0x0 0x10>;
-+              clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm8m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm9: pwm@febe0010 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebe0010 0x0 0x10>;
-+              clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm9m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm10: pwm@febe0020 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebe0020 0x0 0x10>;
-+              clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm10m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm11: pwm@febe0030 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebe0030 0x0 0x10>;
-+              clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm11m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm12: pwm@febf0000 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebf0000 0x0 0x10>;
-+              clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm12m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm13: pwm@febf0010 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebf0010 0x0 0x10>;
-+              clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm13m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm14: pwm@febf0020 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebf0020 0x0 0x10>;
-+              clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm14m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      pwm15: pwm@febf0030 {
-+              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
-+              reg = <0x0 0xfebf0030 0x0 0x10>;
-+              clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
-+              clock-names = "pwm", "pclk";
-+              pinctrl-0 = <&pwm15m0_pins>;
-+              pinctrl-names = "default";
-+              #pwm-cells = <3>;
-+              status = "disabled";
-+      };
-+
-+      tsadc: tsadc@fec00000 {
-+              compatible = "rockchip,rk3588-tsadc";
-+              reg = <0x0 0xfec00000 0x0 0x400>;
-+              interrupts = <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
-+              clock-names = "tsadc", "apb_pclk";
-+              assigned-clocks = <&cru CLK_TSADC>;
-+              assigned-clock-rates = <2000000>;
-+              resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>;
-+              reset-names = "tsadc-apb", "tsadc";
-+              rockchip,hw-tshut-temp = <120000>;
-+              rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
-+              rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
-+              pinctrl-0 = <&tsadc_gpio_func>;
-+              pinctrl-1 = <&tsadc_shut>;
-+              pinctrl-names = "gpio", "otpout";
-+              #thermal-sensor-cells = <1>;
-+              status = "disabled";
-+      };
-+
-+      saradc: adc@fec10000 {
-+              compatible = "rockchip,rk3588-saradc";
-+              reg = <0x0 0xfec10000 0x0 0x10000>;
-+              interrupts = <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH 0>;
-+              #io-channel-cells = <1>;
-+              clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
-+              clock-names = "saradc", "apb_pclk";
-+              resets = <&cru SRST_P_SARADC>;
-+              reset-names = "saradc-apb";
-+              status = "disabled";
-+      };
-+
-+      i2c6: i2c@fec80000 {
-+              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
-+              reg = <0x0 0xfec80000 0x0 0x1000>;
-+              clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>;
-+              clock-names = "i2c", "pclk";
-+              interrupts = <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 0>;
-+              pinctrl-0 = <&i2c6m0_xfer>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2c7: i2c@fec90000 {
-+              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
-+              reg = <0x0 0xfec90000 0x0 0x1000>;
-+              clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>;
-+              clock-names = "i2c", "pclk";
-+              interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 0>;
-+              pinctrl-0 = <&i2c7m0_xfer>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2c8: i2c@feca0000 {
-+              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
-+              reg = <0x0 0xfeca0000 0x0 0x1000>;
-+              clocks = <&cru CLK_I2C8>, <&cru PCLK_I2C8>;
-+              clock-names = "i2c", "pclk";
-+              interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH 0>;
-+              pinctrl-0 = <&i2c8m0_xfer>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      spi4: spi@fecb0000 {
-+              compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
-+              reg = <0x0 0xfecb0000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru CLK_SPI4>, <&cru PCLK_SPI4>;
-+              clock-names = "spiclk", "apb_pclk";
-+              dmas = <&dmac2 13>, <&dmac2 14>;
-+              dma-names = "tx", "rx";
-+              num-cs = <2>;
-+              pinctrl-0 = <&spi4m0_cs0 &spi4m0_cs1 &spi4m0_pins>;
-+              pinctrl-names = "default";
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      otp: efuse@fecc0000 {
-+              compatible = "rockchip,rk3588-otp";
-+              reg = <0x0 0xfecc0000 0x0 0x400>;
-+              clocks = <&cru CLK_OTPC_NS>, <&cru PCLK_OTPC_NS>,
-+                       <&cru CLK_OTP_PHY_G>, <&cru CLK_OTPC_ARB>;
-+              clock-names = "otp", "apb_pclk", "phy", "arb";
-+              resets = <&cru SRST_OTPC_NS>, <&cru SRST_P_OTPC_NS>,
-+                       <&cru SRST_OTPC_ARB>;
-+              reset-names = "otp", "apb", "arb";
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+
-+              cpu_code: cpu-code@2 {
-+                      reg = <0x02 0x2>;
-+              };
-+
-+              otp_id: id@7 {
-+                      reg = <0x07 0x10>;
-+              };
-+
-+              cpub0_leakage: cpu-leakage@17 {
-+                      reg = <0x17 0x1>;
-+              };
-+
-+              cpub1_leakage: cpu-leakage@18 {
-+                      reg = <0x18 0x1>;
-+              };
-+
-+              cpul_leakage: cpu-leakage@19 {
-+                      reg = <0x19 0x1>;
-+              };
-+
-+              log_leakage: log-leakage@1a {
-+                      reg = <0x1a 0x1>;
-+              };
-+
-+              gpu_leakage: gpu-leakage@1b {
-+                      reg = <0x1b 0x1>;
-+              };
-+
-+              otp_cpu_version: cpu-version@1c {
-+                      reg = <0x1c 0x1>;
-+                      bits = <3 3>;
-+              };
-+
-+              npu_leakage: npu-leakage@28 {
-+                      reg = <0x28 0x1>;
-+              };
-+
-+              codec_leakage: codec-leakage@29 {
-+                      reg = <0x29 0x1>;
-+              };
-+      };
-+
-+      dmac2: dma-controller@fed10000 {
-+              compatible = "arm,pl330", "arm,primecell";
-+              reg = <0x0 0xfed10000 0x0 0x4000>;
-+              interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH 0>;
-+              arm,pl330-periph-burst;
-+              clocks = <&cru ACLK_DMAC2>;
-+              clock-names = "apb_pclk";
-+              #dma-cells = <1>;
-+      };
-+
-+      hdptxphy_hdmi0: phy@fed60000 {
-+              compatible = "rockchip,rk3588-hdptx-phy";
-+              reg = <0x0 0xfed60000 0x0 0x2000>;
-+              clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX0>;
-+              clock-names = "ref", "apb";
-+              #phy-cells = <0>;
-+              resets = <&cru SRST_HDPTX0>, <&cru SRST_P_HDPTX0>,
-+                       <&cru SRST_HDPTX0_INIT>, <&cru SRST_HDPTX0_CMN>,
-+                       <&cru SRST_HDPTX0_LANE>, <&cru SRST_HDPTX0_ROPLL>,
-+                       <&cru SRST_HDPTX0_LCPLL>;
-+              reset-names = "phy", "apb", "init", "cmn", "lane", "ropll",
-+                            "lcpll";
-+              rockchip,grf = <&hdptxphy0_grf>;
-+              status = "disabled";
-+      };
-+
-+      usbdp_phy0: phy@fed80000 {
-+              compatible = "rockchip,rk3588-usbdp-phy";
-+              reg = <0x0 0xfed80000 0x0 0x10000>;
-+              #phy-cells = <1>;
-+              clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>,
-+                       <&cru CLK_USBDP_PHY0_IMMORTAL>,
-+                       <&cru PCLK_USBDPPHY0>,
-+                       <&u2phy0>;
-+              clock-names = "refclk", "immortal", "pclk", "utmi";
-+              resets = <&cru SRST_USBDP_COMBO_PHY0_INIT>,
-+                       <&cru SRST_USBDP_COMBO_PHY0_CMN>,
-+                       <&cru SRST_USBDP_COMBO_PHY0_LANE>,
-+                       <&cru SRST_USBDP_COMBO_PHY0_PCS>,
-+                       <&cru SRST_P_USBDPPHY0>;
-+              reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb";
-+              rockchip,u2phy-grf = <&usb2phy0_grf>;
-+              rockchip,usb-grf = <&usb_grf>;
-+              rockchip,usbdpphy-grf = <&usbdpphy0_grf>;
-+              rockchip,vo-grf = <&vo0_grf>;
-+              status = "disabled";
-+      };
-+
-+      combphy0_ps: phy@fee00000 {
-+              compatible = "rockchip,rk3588-naneng-combphy";
-+              reg = <0x0 0xfee00000 0x0 0x100>;
-+              clocks = <&cru CLK_REF_PIPE_PHY0>, <&cru PCLK_PCIE_COMBO_PIPE_PHY0>,
-+                       <&cru PCLK_PHP_ROOT>;
-+              clock-names = "ref", "apb", "pipe";
-+              assigned-clocks = <&cru CLK_REF_PIPE_PHY0>;
-+              assigned-clock-rates = <100000000>;
-+              #phy-cells = <1>;
-+              resets = <&cru SRST_REF_PIPE_PHY0>, <&cru SRST_P_PCIE2_PHY0>;
-+              reset-names = "phy", "apb";
-+              rockchip,pipe-grf = <&php_grf>;
-+              rockchip,pipe-phy-grf = <&pipe_phy0_grf>;
-+              status = "disabled";
-+      };
-+
-+      combphy2_psu: phy@fee20000 {
-+              compatible = "rockchip,rk3588-naneng-combphy";
-+              reg = <0x0 0xfee20000 0x0 0x100>;
-+              clocks = <&cru CLK_REF_PIPE_PHY2>, <&cru PCLK_PCIE_COMBO_PIPE_PHY2>,
-+                       <&cru PCLK_PHP_ROOT>;
-+              clock-names = "ref", "apb", "pipe";
-+              assigned-clocks = <&cru CLK_REF_PIPE_PHY2>;
-+              assigned-clock-rates = <100000000>;
-+              #phy-cells = <1>;
-+              resets = <&cru SRST_REF_PIPE_PHY2>, <&cru SRST_P_PCIE2_PHY2>;
-+              reset-names = "phy", "apb";
-+              rockchip,pipe-grf = <&php_grf>;
-+              rockchip,pipe-phy-grf = <&pipe_phy2_grf>;
-+              status = "disabled";
-+      };
-+
-+      system_sram2: sram@ff001000 {
-+              compatible = "mmio-sram";
-+              reg = <0x0 0xff001000 0x0 0xef000>;
-+              ranges = <0x0 0x0 0xff001000 0xef000>;
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+      };
-+
-+      pinctrl: pinctrl {
-+              compatible = "rockchip,rk3588-pinctrl";
-+              ranges;
-+              rockchip,grf = <&ioc>;
-+              #address-cells = <2>;
-+              #size-cells = <2>;
-+
-+              gpio0: gpio@fd8a0000 {
-+                      compatible = "rockchip,gpio-bank";
-+                      reg = <0x0 0xfd8a0000 0x0 0x100>;
-+                      interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>;
-+                      gpio-controller;
-+                      gpio-ranges = <&pinctrl 0 0 32>;
-+                      interrupt-controller;
-+                      #gpio-cells = <2>;
-+                      #interrupt-cells = <2>;
-+              };
-+
-+              gpio1: gpio@fec20000 {
-+                      compatible = "rockchip,gpio-bank";
-+                      reg = <0x0 0xfec20000 0x0 0x100>;
-+                      interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
-+                      gpio-controller;
-+                      gpio-ranges = <&pinctrl 0 32 32>;
-+                      interrupt-controller;
-+                      #gpio-cells = <2>;
-+                      #interrupt-cells = <2>;
-+              };
-+
-+              gpio2: gpio@fec30000 {
-+                      compatible = "rockchip,gpio-bank";
-+                      reg = <0x0 0xfec30000 0x0 0x100>;
-+                      interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
-+                      gpio-controller;
-+                      gpio-ranges = <&pinctrl 0 64 32>;
-+                      interrupt-controller;
-+                      #gpio-cells = <2>;
-+                      #interrupt-cells = <2>;
-+              };
-+
-+              gpio3: gpio@fec40000 {
-+                      compatible = "rockchip,gpio-bank";
-+                      reg = <0x0 0xfec40000 0x0 0x100>;
-+                      interrupts = <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
-+                      gpio-controller;
-+                      gpio-ranges = <&pinctrl 0 96 32>;
-+                      interrupt-controller;
-+                      #gpio-cells = <2>;
-+                      #interrupt-cells = <2>;
-+              };
-+
-+              gpio4: gpio@fec50000 {
-+                      compatible = "rockchip,gpio-bank";
-+                      reg = <0x0 0xfec50000 0x0 0x100>;
-+                      interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
-+                      gpio-controller;
-+                      gpio-ranges = <&pinctrl 0 128 32>;
-+                      interrupt-controller;
-+                      #gpio-cells = <2>;
-+                      #interrupt-cells = <2>;
-+              };
-+      };
-+};
-+
-+#include "rk3588-base-pinctrl.dtsi"
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-extra.dtsi
-@@ -0,0 +1,413 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
-+ */
-+
-+#include "rk3588-base.dtsi"
-+#include "rk3588-extra-pinctrl.dtsi"
-+
-+/ {
-+      usb_host1_xhci: usb@fc400000 {
-+              compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
-+              reg = <0x0 0xfc400000 0x0 0x400000>;
-+              interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru REF_CLK_USB3OTG1>, <&cru SUSPEND_CLK_USB3OTG1>,
-+                       <&cru ACLK_USB3OTG1>;
-+              clock-names = "ref_clk", "suspend_clk", "bus_clk";
-+              dr_mode = "otg";
-+              phys = <&u2phy1_otg>, <&usbdp_phy1 PHY_TYPE_USB3>;
-+              phy-names = "usb2-phy", "usb3-phy";
-+              phy_type = "utmi_wide";
-+              power-domains = <&power RK3588_PD_USB>;
-+              resets = <&cru SRST_A_USB3OTG1>;
-+              snps,dis_enblslpm_quirk;
-+              snps,dis-u2-freeclk-exists-quirk;
-+              snps,dis-del-phy-power-chg-quirk;
-+              snps,dis-tx-ipgap-linecheck-quirk;
-+              status = "disabled";
-+      };
-+
-+      pcie30_phy_grf: syscon@fd5b8000 {
-+              compatible = "rockchip,rk3588-pcie3-phy-grf", "syscon";
-+              reg = <0x0 0xfd5b8000 0x0 0x10000>;
-+      };
-+
-+      pipe_phy1_grf: syscon@fd5c0000 {
-+              compatible = "rockchip,rk3588-pipe-phy-grf", "syscon";
-+              reg = <0x0 0xfd5c0000 0x0 0x100>;
-+      };
-+
-+      usbdpphy1_grf: syscon@fd5cc000 {
-+              compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
-+              reg = <0x0 0xfd5cc000 0x0 0x4000>;
-+      };
-+
-+      usb2phy1_grf: syscon@fd5d4000 {
-+              compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
-+              reg = <0x0 0xfd5d4000 0x0 0x4000>;
-+              #address-cells = <1>;
-+              #size-cells = <1>;
-+
-+              u2phy1: usb2phy@4000 {
-+                      compatible = "rockchip,rk3588-usb2phy";
-+                      reg = <0x4000 0x10>;
-+                      #clock-cells = <0>;
-+                      clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
-+                      clock-names = "phyclk";
-+                      clock-output-names = "usb480m_phy1";
-+                      interrupts = <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH 0>;
-+                      resets = <&cru SRST_OTGPHY_U3_1>, <&cru SRST_P_USB2PHY_U3_1_GRF0>;
-+                      reset-names = "phy", "apb";
-+                      status = "disabled";
-+
-+                      u2phy1_otg: otg-port {
-+                              #phy-cells = <0>;
-+                              status = "disabled";
-+                      };
-+              };
-+      };
-+
-+      i2s8_8ch: i2s@fddc8000 {
-+              compatible = "rockchip,rk3588-i2s-tdm";
-+              reg = <0x0 0xfddc8000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S8_8CH_TX>, <&cru MCLK_I2S8_8CH_TX>, <&cru HCLK_I2S8_8CH>;
-+              clock-names = "mclk_tx", "mclk_rx", "hclk";
-+              assigned-clocks = <&cru CLK_I2S8_8CH_TX_SRC>;
-+              assigned-clock-parents = <&cru PLL_AUPLL>;
-+              dmas = <&dmac2 22>;
-+              dma-names = "tx";
-+              power-domains = <&power RK3588_PD_VO0>;
-+              resets = <&cru SRST_M_I2S8_8CH_TX>;
-+              reset-names = "tx-m";
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2s6_8ch: i2s@fddf4000 {
-+              compatible = "rockchip,rk3588-i2s-tdm";
-+              reg = <0x0 0xfddf4000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S6_8CH_TX>, <&cru MCLK_I2S6_8CH_TX>, <&cru HCLK_I2S6_8CH>;
-+              clock-names = "mclk_tx", "mclk_rx", "hclk";
-+              assigned-clocks = <&cru CLK_I2S6_8CH_TX_SRC>;
-+              assigned-clock-parents = <&cru PLL_AUPLL>;
-+              dmas = <&dmac2 4>;
-+              dma-names = "tx";
-+              power-domains = <&power RK3588_PD_VO1>;
-+              resets = <&cru SRST_M_I2S6_8CH_TX>;
-+              reset-names = "tx-m";
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2s7_8ch: i2s@fddf8000 {
-+              compatible = "rockchip,rk3588-i2s-tdm";
-+              reg = <0x0 0xfddf8000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S7_8CH_RX>, <&cru MCLK_I2S7_8CH_RX>, <&cru HCLK_I2S7_8CH>;
-+              clock-names = "mclk_tx", "mclk_rx", "hclk";
-+              assigned-clocks = <&cru CLK_I2S7_8CH_RX_SRC>;
-+              assigned-clock-parents = <&cru PLL_AUPLL>;
-+              dmas = <&dmac2 21>;
-+              dma-names = "rx";
-+              power-domains = <&power RK3588_PD_VO1>;
-+              resets = <&cru SRST_M_I2S7_8CH_RX>;
-+              reset-names = "rx-m";
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      i2s10_8ch: i2s@fde00000 {
-+              compatible = "rockchip,rk3588-i2s-tdm";
-+              reg = <0x0 0xfde00000 0x0 0x1000>;
-+              interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru MCLK_I2S10_8CH_RX>, <&cru MCLK_I2S10_8CH_RX>, <&cru HCLK_I2S10_8CH>;
-+              clock-names = "mclk_tx", "mclk_rx", "hclk";
-+              assigned-clocks = <&cru CLK_I2S10_8CH_RX_SRC>;
-+              assigned-clock-parents = <&cru PLL_AUPLL>;
-+              dmas = <&dmac2 24>;
-+              dma-names = "rx";
-+              power-domains = <&power RK3588_PD_VO1>;
-+              resets = <&cru SRST_M_I2S10_8CH_RX>;
-+              reset-names = "rx-m";
-+              #sound-dai-cells = <0>;
-+              status = "disabled";
-+      };
-+
-+      pcie3x4: pcie@fe150000 {
-+              compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
-+              #address-cells = <3>;
-+              #size-cells = <2>;
-+              bus-range = <0x00 0x0f>;
-+              clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>,
-+                       <&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>,
-+                       <&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>;
-+              clock-names = "aclk_mst", "aclk_slv",
-+                            "aclk_dbi", "pclk",
-+                            "aux", "pipe";
-+              device_type = "pci";
-+              interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "sys", "pmc", "msg", "legacy", "err";
-+              #interrupt-cells = <1>;
-+              interrupt-map-mask = <0 0 0 7>;
-+              interrupt-map = <0 0 0 1 &pcie3x4_intc 0>,
-+                              <0 0 0 2 &pcie3x4_intc 1>,
-+                              <0 0 0 3 &pcie3x4_intc 2>,
-+                              <0 0 0 4 &pcie3x4_intc 3>;
-+              linux,pci-domain = <0>;
-+              max-link-speed = <3>;
-+              msi-map = <0x0000 &its1 0x0000 0x1000>;
-+              num-lanes = <4>;
-+              phys = <&pcie30phy>;
-+              phy-names = "pcie-phy";
-+              power-domains = <&power RK3588_PD_PCIE>;
-+              ranges = <0x01000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x00100000>,
-+                       <0x02000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0x00e00000>,
-+                       <0x03000000 0x0 0x40000000 0x9 0x00000000 0x0 0x40000000>;
-+              reg = <0xa 0x40000000 0x0 0x00400000>,
-+                    <0x0 0xfe150000 0x0 0x00010000>,
-+                    <0x0 0xf0000000 0x0 0x00100000>;
-+              reg-names = "dbi", "apb", "config";
-+              resets = <&cru SRST_PCIE0_POWER_UP>, <&cru SRST_P_PCIE0>;
-+              reset-names = "pwr", "pipe";
-+              status = "disabled";
-+
-+              pcie3x4_intc: legacy-interrupt-controller {
-+                      interrupt-controller;
-+                      #address-cells = <0>;
-+                      #interrupt-cells = <1>;
-+                      interrupt-parent = <&gic>;
-+                      interrupts = <GIC_SPI 260 IRQ_TYPE_EDGE_RISING 0>;
-+              };
-+      };
-+
-+      pcie3x2: pcie@fe160000 {
-+              compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
-+              #address-cells = <3>;
-+              #size-cells = <2>;
-+              bus-range = <0x10 0x1f>;
-+              clocks = <&cru ACLK_PCIE_2L_MSTR>, <&cru ACLK_PCIE_2L_SLV>,
-+                       <&cru ACLK_PCIE_2L_DBI>, <&cru PCLK_PCIE_2L>,
-+                       <&cru CLK_PCIE_AUX1>, <&cru CLK_PCIE2L_PIPE>;
-+              clock-names = "aclk_mst", "aclk_slv",
-+                            "aclk_dbi", "pclk",
-+                            "aux", "pipe";
-+              device_type = "pci";
-+              interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "sys", "pmc", "msg", "legacy", "err";
-+              #interrupt-cells = <1>;
-+              interrupt-map-mask = <0 0 0 7>;
-+              interrupt-map = <0 0 0 1 &pcie3x2_intc 0>,
-+                              <0 0 0 2 &pcie3x2_intc 1>,
-+                              <0 0 0 3 &pcie3x2_intc 2>,
-+                              <0 0 0 4 &pcie3x2_intc 3>;
-+              linux,pci-domain = <1>;
-+              max-link-speed = <3>;
-+              msi-map = <0x1000 &its1 0x1000 0x1000>;
-+              num-lanes = <2>;
-+              phys = <&pcie30phy>;
-+              phy-names = "pcie-phy";
-+              power-domains = <&power RK3588_PD_PCIE>;
-+              ranges = <0x01000000 0x0 0xf1100000 0x0 0xf1100000 0x0 0x00100000>,
-+                       <0x02000000 0x0 0xf1200000 0x0 0xf1200000 0x0 0x00e00000>,
-+                       <0x03000000 0x0 0x40000000 0x9 0x40000000 0x0 0x40000000>;
-+              reg = <0xa 0x40400000 0x0 0x00400000>,
-+                    <0x0 0xfe160000 0x0 0x00010000>,
-+                    <0x0 0xf1000000 0x0 0x00100000>;
-+              reg-names = "dbi", "apb", "config";
-+              resets = <&cru SRST_PCIE1_POWER_UP>, <&cru SRST_P_PCIE1>;
-+              reset-names = "pwr", "pipe";
-+              status = "disabled";
-+
-+              pcie3x2_intc: legacy-interrupt-controller {
-+                      interrupt-controller;
-+                      #address-cells = <0>;
-+                      #interrupt-cells = <1>;
-+                      interrupt-parent = <&gic>;
-+                      interrupts = <GIC_SPI 255 IRQ_TYPE_EDGE_RISING 0>;
-+              };
-+      };
-+
-+      pcie2x1l0: pcie@fe170000 {
-+              compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
-+              bus-range = <0x20 0x2f>;
-+              clocks = <&cru ACLK_PCIE_1L0_MSTR>, <&cru ACLK_PCIE_1L0_SLV>,
-+                       <&cru ACLK_PCIE_1L0_DBI>, <&cru PCLK_PCIE_1L0>,
-+                       <&cru CLK_PCIE_AUX2>, <&cru CLK_PCIE1L0_PIPE>;
-+              clock-names = "aclk_mst", "aclk_slv",
-+                            "aclk_dbi", "pclk",
-+                            "aux", "pipe";
-+              device_type = "pci";
-+              interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "sys", "pmc", "msg", "legacy", "err";
-+              #interrupt-cells = <1>;
-+              interrupt-map-mask = <0 0 0 7>;
-+              interrupt-map = <0 0 0 1 &pcie2x1l0_intc 0>,
-+                              <0 0 0 2 &pcie2x1l0_intc 1>,
-+                              <0 0 0 3 &pcie2x1l0_intc 2>,
-+                              <0 0 0 4 &pcie2x1l0_intc 3>;
-+              linux,pci-domain = <2>;
-+              max-link-speed = <2>;
-+              msi-map = <0x2000 &its0 0x2000 0x1000>;
-+              num-lanes = <1>;
-+              phys = <&combphy1_ps PHY_TYPE_PCIE>;
-+              phy-names = "pcie-phy";
-+              power-domains = <&power RK3588_PD_PCIE>;
-+              ranges = <0x01000000 0x0 0xf2100000 0x0 0xf2100000 0x0 0x00100000>,
-+                       <0x02000000 0x0 0xf2200000 0x0 0xf2200000 0x0 0x00e00000>,
-+                       <0x03000000 0x0 0x40000000 0x9 0x80000000 0x0 0x40000000>;
-+              reg = <0xa 0x40800000 0x0 0x00400000>,
-+                    <0x0 0xfe170000 0x0 0x00010000>,
-+                    <0x0 0xf2000000 0x0 0x00100000>;
-+              reg-names = "dbi", "apb", "config";
-+              resets = <&cru SRST_PCIE2_POWER_UP>, <&cru SRST_P_PCIE2>;
-+              reset-names = "pwr", "pipe";
-+              #address-cells = <3>;
-+              #size-cells = <2>;
-+              status = "disabled";
-+
-+              pcie2x1l0_intc: legacy-interrupt-controller {
-+                      interrupt-controller;
-+                      #address-cells = <0>;
-+                      #interrupt-cells = <1>;
-+                      interrupt-parent = <&gic>;
-+                      interrupts = <GIC_SPI 240 IRQ_TYPE_EDGE_RISING 0>;
-+              };
-+      };
-+
-+      gmac0: ethernet@fe1b0000 {
-+              compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a";
-+              reg = <0x0 0xfe1b0000 0x0 0x10000>;
-+              interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH 0>,
-+                           <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH 0>;
-+              interrupt-names = "macirq", "eth_wake_irq";
-+              clocks = <&cru CLK_GMAC_125M>, <&cru CLK_GMAC_50M>,
-+                       <&cru PCLK_GMAC0>, <&cru ACLK_GMAC0>,
-+                       <&cru CLK_GMAC0_PTP_REF>;
-+              clock-names = "stmmaceth", "clk_mac_ref",
-+                            "pclk_mac", "aclk_mac",
-+                            "ptp_ref";
-+              power-domains = <&power RK3588_PD_GMAC>;
-+              resets = <&cru SRST_A_GMAC0>;
-+              reset-names = "stmmaceth";
-+              rockchip,grf = <&sys_grf>;
-+              rockchip,php-grf = <&php_grf>;
-+              snps,axi-config = <&gmac0_stmmac_axi_setup>;
-+              snps,mixed-burst;
-+              snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
-+              snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
-+              snps,tso;
-+              status = "disabled";
-+
-+              mdio0: mdio {
-+                      compatible = "snps,dwmac-mdio";
-+                      #address-cells = <0x1>;
-+                      #size-cells = <0x0>;
-+              };
-+
-+              gmac0_stmmac_axi_setup: stmmac-axi-config {
-+                      snps,blen = <0 0 0 0 16 8 4>;
-+                      snps,wr_osr_lmt = <4>;
-+                      snps,rd_osr_lmt = <8>;
-+              };
-+
-+              gmac0_mtl_rx_setup: rx-queues-config {
-+                      snps,rx-queues-to-use = <2>;
-+                      queue0 {};
-+                      queue1 {};
-+              };
-+
-+              gmac0_mtl_tx_setup: tx-queues-config {
-+                      snps,tx-queues-to-use = <2>;
-+                      queue0 {};
-+                      queue1 {};
-+              };
-+      };
-+
-+      sata1: sata@fe220000 {
-+              compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci";
-+              reg = <0 0xfe220000 0 0x1000>;
-+              interrupts = <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH 0>;
-+              clocks = <&cru ACLK_SATA1>, <&cru CLK_PMALIVE1>,
-+                       <&cru CLK_RXOOB1>, <&cru CLK_PIPEPHY1_REF>,
-+                       <&cru CLK_PIPEPHY1_PIPE_ASIC_G>;
-+              clock-names = "sata", "pmalive", "rxoob", "ref", "asic";
-+              ports-implemented = <0x1>;
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+              status = "disabled";
-+
-+              sata-port@0 {
-+                      reg = <0>;
-+                      hba-port-cap = <HBA_PORT_FBSCP>;
-+                      phys = <&combphy1_ps PHY_TYPE_SATA>;
-+                      phy-names = "sata-phy";
-+                      snps,rx-ts-max = <32>;
-+                      snps,tx-ts-max = <32>;
-+              };
-+      };
-+
-+      usbdp_phy1: phy@fed90000 {
-+              compatible = "rockchip,rk3588-usbdp-phy";
-+              reg = <0x0 0xfed90000 0x0 0x10000>;
-+              #phy-cells = <1>;
-+              clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>,
-+                       <&cru CLK_USBDP_PHY1_IMMORTAL>,
-+                       <&cru PCLK_USBDPPHY1>,
-+                       <&u2phy1>;
-+              clock-names = "refclk", "immortal", "pclk", "utmi";
-+              resets = <&cru SRST_USBDP_COMBO_PHY1_INIT>,
-+                       <&cru SRST_USBDP_COMBO_PHY1_CMN>,
-+                       <&cru SRST_USBDP_COMBO_PHY1_LANE>,
-+                       <&cru SRST_USBDP_COMBO_PHY1_PCS>,
-+                       <&cru SRST_P_USBDPPHY1>;
-+              reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb";
-+              rockchip,u2phy-grf = <&usb2phy1_grf>;
-+              rockchip,usb-grf = <&usb_grf>;
-+              rockchip,usbdpphy-grf = <&usbdpphy1_grf>;
-+              rockchip,vo-grf = <&vo0_grf>;
-+              status = "disabled";
-+      };
-+
-+      combphy1_ps: phy@fee10000 {
-+              compatible = "rockchip,rk3588-naneng-combphy";
-+              reg = <0x0 0xfee10000 0x0 0x100>;
-+              clocks = <&cru CLK_REF_PIPE_PHY1>, <&cru PCLK_PCIE_COMBO_PIPE_PHY1>,
-+                       <&cru PCLK_PHP_ROOT>;
-+              clock-names = "ref", "apb", "pipe";
-+              assigned-clocks = <&cru CLK_REF_PIPE_PHY1>;
-+              assigned-clock-rates = <100000000>;
-+              #phy-cells = <1>;
-+              resets = <&cru SRST_REF_PIPE_PHY1>, <&cru SRST_P_PCIE2_PHY1>;
-+              reset-names = "phy", "apb";
-+              rockchip,pipe-grf = <&php_grf>;
-+              rockchip,pipe-phy-grf = <&pipe_phy1_grf>;
-+              status = "disabled";
-+      };
-+
-+      pcie30phy: phy@fee80000 {
-+              compatible = "rockchip,rk3588-pcie3-phy";
-+              reg = <0x0 0xfee80000 0x0 0x20000>;
-+              #phy-cells = <0>;
-+              clocks = <&cru PCLK_PCIE_COMBO_PIPE_PHY>;
-+              clock-names = "pclk";
-+              resets = <&cru SRST_PCIE30_PHY>;
-+              reset-names = "phy";
-+              rockchip,pipe-grf = <&php_grf>;
-+              rockchip,phy-grf = <&pcie30_phy_grf>;
-+              status = "disabled";
-+      };
-+};
---- a/arch/arm64/boot/dts/rockchip/rk3588.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588.dtsi
-@@ -1,413 +1,7 @@
- // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
- /*
-- * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
-+ * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
-+ *
-  */
--#include "rk3588s.dtsi"
--#include "rk3588-pinctrl.dtsi"
--
--/ {
--      usb_host1_xhci: usb@fc400000 {
--              compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
--              reg = <0x0 0xfc400000 0x0 0x400000>;
--              interrupts = <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru REF_CLK_USB3OTG1>, <&cru SUSPEND_CLK_USB3OTG1>,
--                       <&cru ACLK_USB3OTG1>;
--              clock-names = "ref_clk", "suspend_clk", "bus_clk";
--              dr_mode = "otg";
--              phys = <&u2phy1_otg>, <&usbdp_phy1 PHY_TYPE_USB3>;
--              phy-names = "usb2-phy", "usb3-phy";
--              phy_type = "utmi_wide";
--              power-domains = <&power RK3588_PD_USB>;
--              resets = <&cru SRST_A_USB3OTG1>;
--              snps,dis_enblslpm_quirk;
--              snps,dis-u2-freeclk-exists-quirk;
--              snps,dis-del-phy-power-chg-quirk;
--              snps,dis-tx-ipgap-linecheck-quirk;
--              status = "disabled";
--      };
--
--      pcie30_phy_grf: syscon@fd5b8000 {
--              compatible = "rockchip,rk3588-pcie3-phy-grf", "syscon";
--              reg = <0x0 0xfd5b8000 0x0 0x10000>;
--      };
--
--      pipe_phy1_grf: syscon@fd5c0000 {
--              compatible = "rockchip,rk3588-pipe-phy-grf", "syscon";
--              reg = <0x0 0xfd5c0000 0x0 0x100>;
--      };
--
--      usbdpphy1_grf: syscon@fd5cc000 {
--              compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
--              reg = <0x0 0xfd5cc000 0x0 0x4000>;
--      };
--
--      usb2phy1_grf: syscon@fd5d4000 {
--              compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
--              reg = <0x0 0xfd5d4000 0x0 0x4000>;
--              #address-cells = <1>;
--              #size-cells = <1>;
--
--              u2phy1: usb2phy@4000 {
--                      compatible = "rockchip,rk3588-usb2phy";
--                      reg = <0x4000 0x10>;
--                      #clock-cells = <0>;
--                      clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
--                      clock-names = "phyclk";
--                      clock-output-names = "usb480m_phy1";
--                      interrupts = <GIC_SPI 394 IRQ_TYPE_LEVEL_HIGH 0>;
--                      resets = <&cru SRST_OTGPHY_U3_1>, <&cru SRST_P_USB2PHY_U3_1_GRF0>;
--                      reset-names = "phy", "apb";
--                      status = "disabled";
--
--                      u2phy1_otg: otg-port {
--                              #phy-cells = <0>;
--                              status = "disabled";
--                      };
--              };
--      };
--
--      i2s8_8ch: i2s@fddc8000 {
--              compatible = "rockchip,rk3588-i2s-tdm";
--              reg = <0x0 0xfddc8000 0x0 0x1000>;
--              interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S8_8CH_TX>, <&cru MCLK_I2S8_8CH_TX>, <&cru HCLK_I2S8_8CH>;
--              clock-names = "mclk_tx", "mclk_rx", "hclk";
--              assigned-clocks = <&cru CLK_I2S8_8CH_TX_SRC>;
--              assigned-clock-parents = <&cru PLL_AUPLL>;
--              dmas = <&dmac2 22>;
--              dma-names = "tx";
--              power-domains = <&power RK3588_PD_VO0>;
--              resets = <&cru SRST_M_I2S8_8CH_TX>;
--              reset-names = "tx-m";
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      i2s6_8ch: i2s@fddf4000 {
--              compatible = "rockchip,rk3588-i2s-tdm";
--              reg = <0x0 0xfddf4000 0x0 0x1000>;
--              interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S6_8CH_TX>, <&cru MCLK_I2S6_8CH_TX>, <&cru HCLK_I2S6_8CH>;
--              clock-names = "mclk_tx", "mclk_rx", "hclk";
--              assigned-clocks = <&cru CLK_I2S6_8CH_TX_SRC>;
--              assigned-clock-parents = <&cru PLL_AUPLL>;
--              dmas = <&dmac2 4>;
--              dma-names = "tx";
--              power-domains = <&power RK3588_PD_VO1>;
--              resets = <&cru SRST_M_I2S6_8CH_TX>;
--              reset-names = "tx-m";
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      i2s7_8ch: i2s@fddf8000 {
--              compatible = "rockchip,rk3588-i2s-tdm";
--              reg = <0x0 0xfddf8000 0x0 0x1000>;
--              interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S7_8CH_RX>, <&cru MCLK_I2S7_8CH_RX>, <&cru HCLK_I2S7_8CH>;
--              clock-names = "mclk_tx", "mclk_rx", "hclk";
--              assigned-clocks = <&cru CLK_I2S7_8CH_RX_SRC>;
--              assigned-clock-parents = <&cru PLL_AUPLL>;
--              dmas = <&dmac2 21>;
--              dma-names = "rx";
--              power-domains = <&power RK3588_PD_VO1>;
--              resets = <&cru SRST_M_I2S7_8CH_RX>;
--              reset-names = "rx-m";
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      i2s10_8ch: i2s@fde00000 {
--              compatible = "rockchip,rk3588-i2s-tdm";
--              reg = <0x0 0xfde00000 0x0 0x1000>;
--              interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S10_8CH_RX>, <&cru MCLK_I2S10_8CH_RX>, <&cru HCLK_I2S10_8CH>;
--              clock-names = "mclk_tx", "mclk_rx", "hclk";
--              assigned-clocks = <&cru CLK_I2S10_8CH_RX_SRC>;
--              assigned-clock-parents = <&cru PLL_AUPLL>;
--              dmas = <&dmac2 24>;
--              dma-names = "rx";
--              power-domains = <&power RK3588_PD_VO1>;
--              resets = <&cru SRST_M_I2S10_8CH_RX>;
--              reset-names = "rx-m";
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      pcie3x4: pcie@fe150000 {
--              compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
--              #address-cells = <3>;
--              #size-cells = <2>;
--              bus-range = <0x00 0x0f>;
--              clocks = <&cru ACLK_PCIE_4L_MSTR>, <&cru ACLK_PCIE_4L_SLV>,
--                       <&cru ACLK_PCIE_4L_DBI>, <&cru PCLK_PCIE_4L>,
--                       <&cru CLK_PCIE_AUX0>, <&cru CLK_PCIE4L_PIPE>;
--              clock-names = "aclk_mst", "aclk_slv",
--                            "aclk_dbi", "pclk",
--                            "aux", "pipe";
--              device_type = "pci";
--              interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 262 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 261 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 260 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "sys", "pmc", "msg", "legacy", "err";
--              #interrupt-cells = <1>;
--              interrupt-map-mask = <0 0 0 7>;
--              interrupt-map = <0 0 0 1 &pcie3x4_intc 0>,
--                              <0 0 0 2 &pcie3x4_intc 1>,
--                              <0 0 0 3 &pcie3x4_intc 2>,
--                              <0 0 0 4 &pcie3x4_intc 3>;
--              linux,pci-domain = <0>;
--              max-link-speed = <3>;
--              msi-map = <0x0000 &its1 0x0000 0x1000>;
--              num-lanes = <4>;
--              phys = <&pcie30phy>;
--              phy-names = "pcie-phy";
--              power-domains = <&power RK3588_PD_PCIE>;
--              ranges = <0x01000000 0x0 0xf0100000 0x0 0xf0100000 0x0 0x00100000>,
--                       <0x02000000 0x0 0xf0200000 0x0 0xf0200000 0x0 0x00e00000>,
--                       <0x03000000 0x0 0x40000000 0x9 0x00000000 0x0 0x40000000>;
--              reg = <0xa 0x40000000 0x0 0x00400000>,
--                    <0x0 0xfe150000 0x0 0x00010000>,
--                    <0x0 0xf0000000 0x0 0x00100000>;
--              reg-names = "dbi", "apb", "config";
--              resets = <&cru SRST_PCIE0_POWER_UP>, <&cru SRST_P_PCIE0>;
--              reset-names = "pwr", "pipe";
--              status = "disabled";
--
--              pcie3x4_intc: legacy-interrupt-controller {
--                      interrupt-controller;
--                      #address-cells = <0>;
--                      #interrupt-cells = <1>;
--                      interrupt-parent = <&gic>;
--                      interrupts = <GIC_SPI 260 IRQ_TYPE_EDGE_RISING 0>;
--              };
--      };
--
--      pcie3x2: pcie@fe160000 {
--              compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
--              #address-cells = <3>;
--              #size-cells = <2>;
--              bus-range = <0x10 0x1f>;
--              clocks = <&cru ACLK_PCIE_2L_MSTR>, <&cru ACLK_PCIE_2L_SLV>,
--                       <&cru ACLK_PCIE_2L_DBI>, <&cru PCLK_PCIE_2L>,
--                       <&cru CLK_PCIE_AUX1>, <&cru CLK_PCIE2L_PIPE>;
--              clock-names = "aclk_mst", "aclk_slv",
--                            "aclk_dbi", "pclk",
--                            "aux", "pipe";
--              device_type = "pci";
--              interrupts = <GIC_SPI 258 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 257 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 255 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 254 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "sys", "pmc", "msg", "legacy", "err";
--              #interrupt-cells = <1>;
--              interrupt-map-mask = <0 0 0 7>;
--              interrupt-map = <0 0 0 1 &pcie3x2_intc 0>,
--                              <0 0 0 2 &pcie3x2_intc 1>,
--                              <0 0 0 3 &pcie3x2_intc 2>,
--                              <0 0 0 4 &pcie3x2_intc 3>;
--              linux,pci-domain = <1>;
--              max-link-speed = <3>;
--              msi-map = <0x1000 &its1 0x1000 0x1000>;
--              num-lanes = <2>;
--              phys = <&pcie30phy>;
--              phy-names = "pcie-phy";
--              power-domains = <&power RK3588_PD_PCIE>;
--              ranges = <0x01000000 0x0 0xf1100000 0x0 0xf1100000 0x0 0x00100000>,
--                       <0x02000000 0x0 0xf1200000 0x0 0xf1200000 0x0 0x00e00000>,
--                       <0x03000000 0x0 0x40000000 0x9 0x40000000 0x0 0x40000000>;
--              reg = <0xa 0x40400000 0x0 0x00400000>,
--                    <0x0 0xfe160000 0x0 0x00010000>,
--                    <0x0 0xf1000000 0x0 0x00100000>;
--              reg-names = "dbi", "apb", "config";
--              resets = <&cru SRST_PCIE1_POWER_UP>, <&cru SRST_P_PCIE1>;
--              reset-names = "pwr", "pipe";
--              status = "disabled";
--
--              pcie3x2_intc: legacy-interrupt-controller {
--                      interrupt-controller;
--                      #address-cells = <0>;
--                      #interrupt-cells = <1>;
--                      interrupt-parent = <&gic>;
--                      interrupts = <GIC_SPI 255 IRQ_TYPE_EDGE_RISING 0>;
--              };
--      };
--
--      pcie2x1l0: pcie@fe170000 {
--              compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
--              bus-range = <0x20 0x2f>;
--              clocks = <&cru ACLK_PCIE_1L0_MSTR>, <&cru ACLK_PCIE_1L0_SLV>,
--                       <&cru ACLK_PCIE_1L0_DBI>, <&cru PCLK_PCIE_1L0>,
--                       <&cru CLK_PCIE_AUX2>, <&cru CLK_PCIE1L0_PIPE>;
--              clock-names = "aclk_mst", "aclk_slv",
--                            "aclk_dbi", "pclk",
--                            "aux", "pipe";
--              device_type = "pci";
--              interrupts = <GIC_SPI 243 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 242 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 241 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 240 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "sys", "pmc", "msg", "legacy", "err";
--              #interrupt-cells = <1>;
--              interrupt-map-mask = <0 0 0 7>;
--              interrupt-map = <0 0 0 1 &pcie2x1l0_intc 0>,
--                              <0 0 0 2 &pcie2x1l0_intc 1>,
--                              <0 0 0 3 &pcie2x1l0_intc 2>,
--                              <0 0 0 4 &pcie2x1l0_intc 3>;
--              linux,pci-domain = <2>;
--              max-link-speed = <2>;
--              msi-map = <0x2000 &its0 0x2000 0x1000>;
--              num-lanes = <1>;
--              phys = <&combphy1_ps PHY_TYPE_PCIE>;
--              phy-names = "pcie-phy";
--              power-domains = <&power RK3588_PD_PCIE>;
--              ranges = <0x01000000 0x0 0xf2100000 0x0 0xf2100000 0x0 0x00100000>,
--                       <0x02000000 0x0 0xf2200000 0x0 0xf2200000 0x0 0x00e00000>,
--                       <0x03000000 0x0 0x40000000 0x9 0x80000000 0x0 0x40000000>;
--              reg = <0xa 0x40800000 0x0 0x00400000>,
--                    <0x0 0xfe170000 0x0 0x00010000>,
--                    <0x0 0xf2000000 0x0 0x00100000>;
--              reg-names = "dbi", "apb", "config";
--              resets = <&cru SRST_PCIE2_POWER_UP>, <&cru SRST_P_PCIE2>;
--              reset-names = "pwr", "pipe";
--              #address-cells = <3>;
--              #size-cells = <2>;
--              status = "disabled";
--
--              pcie2x1l0_intc: legacy-interrupt-controller {
--                      interrupt-controller;
--                      #address-cells = <0>;
--                      #interrupt-cells = <1>;
--                      interrupt-parent = <&gic>;
--                      interrupts = <GIC_SPI 240 IRQ_TYPE_EDGE_RISING 0>;
--              };
--      };
--
--      gmac0: ethernet@fe1b0000 {
--              compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a";
--              reg = <0x0 0xfe1b0000 0x0 0x10000>;
--              interrupts = <GIC_SPI 227 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 226 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "macirq", "eth_wake_irq";
--              clocks = <&cru CLK_GMAC_125M>, <&cru CLK_GMAC_50M>,
--                       <&cru PCLK_GMAC0>, <&cru ACLK_GMAC0>,
--                       <&cru CLK_GMAC0_PTP_REF>;
--              clock-names = "stmmaceth", "clk_mac_ref",
--                            "pclk_mac", "aclk_mac",
--                            "ptp_ref";
--              power-domains = <&power RK3588_PD_GMAC>;
--              resets = <&cru SRST_A_GMAC0>;
--              reset-names = "stmmaceth";
--              rockchip,grf = <&sys_grf>;
--              rockchip,php-grf = <&php_grf>;
--              snps,axi-config = <&gmac0_stmmac_axi_setup>;
--              snps,mixed-burst;
--              snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
--              snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
--              snps,tso;
--              status = "disabled";
--
--              mdio0: mdio {
--                      compatible = "snps,dwmac-mdio";
--                      #address-cells = <0x1>;
--                      #size-cells = <0x0>;
--              };
--
--              gmac0_stmmac_axi_setup: stmmac-axi-config {
--                      snps,blen = <0 0 0 0 16 8 4>;
--                      snps,wr_osr_lmt = <4>;
--                      snps,rd_osr_lmt = <8>;
--              };
--
--              gmac0_mtl_rx_setup: rx-queues-config {
--                      snps,rx-queues-to-use = <2>;
--                      queue0 {};
--                      queue1 {};
--              };
--
--              gmac0_mtl_tx_setup: tx-queues-config {
--                      snps,tx-queues-to-use = <2>;
--                      queue0 {};
--                      queue1 {};
--              };
--      };
--
--      sata1: sata@fe220000 {
--              compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci";
--              reg = <0 0xfe220000 0 0x1000>;
--              interrupts = <GIC_SPI 274 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru ACLK_SATA1>, <&cru CLK_PMALIVE1>,
--                       <&cru CLK_RXOOB1>, <&cru CLK_PIPEPHY1_REF>,
--                       <&cru CLK_PIPEPHY1_PIPE_ASIC_G>;
--              clock-names = "sata", "pmalive", "rxoob", "ref", "asic";
--              ports-implemented = <0x1>;
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--
--              sata-port@0 {
--                      reg = <0>;
--                      hba-port-cap = <HBA_PORT_FBSCP>;
--                      phys = <&combphy1_ps PHY_TYPE_SATA>;
--                      phy-names = "sata-phy";
--                      snps,rx-ts-max = <32>;
--                      snps,tx-ts-max = <32>;
--              };
--      };
--
--      usbdp_phy1: phy@fed90000 {
--              compatible = "rockchip,rk3588-usbdp-phy";
--              reg = <0x0 0xfed90000 0x0 0x10000>;
--              #phy-cells = <1>;
--              clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>,
--                       <&cru CLK_USBDP_PHY1_IMMORTAL>,
--                       <&cru PCLK_USBDPPHY1>,
--                       <&u2phy1>;
--              clock-names = "refclk", "immortal", "pclk", "utmi";
--              resets = <&cru SRST_USBDP_COMBO_PHY1_INIT>,
--                       <&cru SRST_USBDP_COMBO_PHY1_CMN>,
--                       <&cru SRST_USBDP_COMBO_PHY1_LANE>,
--                       <&cru SRST_USBDP_COMBO_PHY1_PCS>,
--                       <&cru SRST_P_USBDPPHY1>;
--              reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb";
--              rockchip,u2phy-grf = <&usb2phy1_grf>;
--              rockchip,usb-grf = <&usb_grf>;
--              rockchip,usbdpphy-grf = <&usbdpphy1_grf>;
--              rockchip,vo-grf = <&vo0_grf>;
--              status = "disabled";
--      };
--
--      combphy1_ps: phy@fee10000 {
--              compatible = "rockchip,rk3588-naneng-combphy";
--              reg = <0x0 0xfee10000 0x0 0x100>;
--              clocks = <&cru CLK_REF_PIPE_PHY1>, <&cru PCLK_PCIE_COMBO_PIPE_PHY1>,
--                       <&cru PCLK_PHP_ROOT>;
--              clock-names = "ref", "apb", "pipe";
--              assigned-clocks = <&cru CLK_REF_PIPE_PHY1>;
--              assigned-clock-rates = <100000000>;
--              #phy-cells = <1>;
--              resets = <&cru SRST_REF_PIPE_PHY1>, <&cru SRST_P_PCIE2_PHY1>;
--              reset-names = "phy", "apb";
--              rockchip,pipe-grf = <&php_grf>;
--              rockchip,pipe-phy-grf = <&pipe_phy1_grf>;
--              status = "disabled";
--      };
--
--      pcie30phy: phy@fee80000 {
--              compatible = "rockchip,rk3588-pcie3-phy";
--              reg = <0x0 0xfee80000 0x0 0x20000>;
--              #phy-cells = <0>;
--              clocks = <&cru PCLK_PCIE_COMBO_PIPE_PHY>;
--              clock-names = "pclk";
--              resets = <&cru SRST_PCIE30_PHY>;
--              reset-names = "phy";
--              rockchip,pipe-grf = <&php_grf>;
--              rockchip,phy-grf = <&pcie30_phy_grf>;
--              status = "disabled";
--      };
--};
-+#include "rk3588-extra.dtsi"
---- a/arch/arm64/boot/dts/rockchip/rk3588j.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588j.dtsi
-@@ -4,4 +4,4 @@
-  *
-  */
--#include "rk3588.dtsi"
-+#include "rk3588-extra.dtsi"
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -1,2670 +1,7 @@
- // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
- /*
-- * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
-+ * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
-+ *
-  */
--#include <dt-bindings/clock/rockchip,rk3588-cru.h>
--#include <dt-bindings/interrupt-controller/arm-gic.h>
--#include <dt-bindings/interrupt-controller/irq.h>
--#include <dt-bindings/power/rk3588-power.h>
--#include <dt-bindings/reset/rockchip,rk3588-cru.h>
--#include <dt-bindings/phy/phy.h>
--#include <dt-bindings/ata/ahci.h>
--
--/ {
--      compatible = "rockchip,rk3588";
--
--      interrupt-parent = <&gic>;
--      #address-cells = <2>;
--      #size-cells = <2>;
--
--      aliases {
--              gpio0 = &gpio0;
--              gpio1 = &gpio1;
--              gpio2 = &gpio2;
--              gpio3 = &gpio3;
--              gpio4 = &gpio4;
--              i2c0 = &i2c0;
--              i2c1 = &i2c1;
--              i2c2 = &i2c2;
--              i2c3 = &i2c3;
--              i2c4 = &i2c4;
--              i2c5 = &i2c5;
--              i2c6 = &i2c6;
--              i2c7 = &i2c7;
--              i2c8 = &i2c8;
--              serial0 = &uart0;
--              serial1 = &uart1;
--              serial2 = &uart2;
--              serial3 = &uart3;
--              serial4 = &uart4;
--              serial5 = &uart5;
--              serial6 = &uart6;
--              serial7 = &uart7;
--              serial8 = &uart8;
--              serial9 = &uart9;
--              spi0 = &spi0;
--              spi1 = &spi1;
--              spi2 = &spi2;
--              spi3 = &spi3;
--              spi4 = &spi4;
--      };
--
--      cpus {
--              #address-cells = <1>;
--              #size-cells = <0>;
--
--              cpu-map {
--                      cluster0 {
--                              core0 {
--                                      cpu = <&cpu_l0>;
--                              };
--                              core1 {
--                                      cpu = <&cpu_l1>;
--                              };
--                              core2 {
--                                      cpu = <&cpu_l2>;
--                              };
--                              core3 {
--                                      cpu = <&cpu_l3>;
--                              };
--                      };
--                      cluster1 {
--                              core0 {
--                                      cpu = <&cpu_b0>;
--                              };
--                              core1 {
--                                      cpu = <&cpu_b1>;
--                              };
--                      };
--                      cluster2 {
--                              core0 {
--                                      cpu = <&cpu_b2>;
--                              };
--                              core1 {
--                                      cpu = <&cpu_b3>;
--                              };
--                      };
--              };
--
--              cpu_l0: cpu@0 {
--                      device_type = "cpu";
--                      compatible = "arm,cortex-a55";
--                      reg = <0x0>;
--                      enable-method = "psci";
--                      capacity-dmips-mhz = <530>;
--                      clocks = <&scmi_clk SCMI_CLK_CPUL>;
--                      assigned-clocks = <&scmi_clk SCMI_CLK_CPUL>;
--                      assigned-clock-rates = <816000000>;
--                      cpu-idle-states = <&CPU_SLEEP>;
--                      i-cache-size = <32768>;
--                      i-cache-line-size = <64>;
--                      i-cache-sets = <128>;
--                      d-cache-size = <32768>;
--                      d-cache-line-size = <64>;
--                      d-cache-sets = <128>;
--                      next-level-cache = <&l2_cache_l0>;
--                      dynamic-power-coefficient = <228>;
--                      #cooling-cells = <2>;
--              };
--
--              cpu_l1: cpu@100 {
--                      device_type = "cpu";
--                      compatible = "arm,cortex-a55";
--                      reg = <0x100>;
--                      enable-method = "psci";
--                      capacity-dmips-mhz = <530>;
--                      clocks = <&scmi_clk SCMI_CLK_CPUL>;
--                      cpu-idle-states = <&CPU_SLEEP>;
--                      i-cache-size = <32768>;
--                      i-cache-line-size = <64>;
--                      i-cache-sets = <128>;
--                      d-cache-size = <32768>;
--                      d-cache-line-size = <64>;
--                      d-cache-sets = <128>;
--                      next-level-cache = <&l2_cache_l1>;
--                      dynamic-power-coefficient = <228>;
--                      #cooling-cells = <2>;
--              };
--
--              cpu_l2: cpu@200 {
--                      device_type = "cpu";
--                      compatible = "arm,cortex-a55";
--                      reg = <0x200>;
--                      enable-method = "psci";
--                      capacity-dmips-mhz = <530>;
--                      clocks = <&scmi_clk SCMI_CLK_CPUL>;
--                      cpu-idle-states = <&CPU_SLEEP>;
--                      i-cache-size = <32768>;
--                      i-cache-line-size = <64>;
--                      i-cache-sets = <128>;
--                      d-cache-size = <32768>;
--                      d-cache-line-size = <64>;
--                      d-cache-sets = <128>;
--                      next-level-cache = <&l2_cache_l2>;
--                      dynamic-power-coefficient = <228>;
--                      #cooling-cells = <2>;
--              };
--
--              cpu_l3: cpu@300 {
--                      device_type = "cpu";
--                      compatible = "arm,cortex-a55";
--                      reg = <0x300>;
--                      enable-method = "psci";
--                      capacity-dmips-mhz = <530>;
--                      clocks = <&scmi_clk SCMI_CLK_CPUL>;
--                      cpu-idle-states = <&CPU_SLEEP>;
--                      i-cache-size = <32768>;
--                      i-cache-line-size = <64>;
--                      i-cache-sets = <128>;
--                      d-cache-size = <32768>;
--                      d-cache-line-size = <64>;
--                      d-cache-sets = <128>;
--                      next-level-cache = <&l2_cache_l3>;
--                      dynamic-power-coefficient = <228>;
--                      #cooling-cells = <2>;
--              };
--
--              cpu_b0: cpu@400 {
--                      device_type = "cpu";
--                      compatible = "arm,cortex-a76";
--                      reg = <0x400>;
--                      enable-method = "psci";
--                      capacity-dmips-mhz = <1024>;
--                      clocks = <&scmi_clk SCMI_CLK_CPUB01>;
--                      assigned-clocks = <&scmi_clk SCMI_CLK_CPUB01>;
--                      assigned-clock-rates = <816000000>;
--                      cpu-idle-states = <&CPU_SLEEP>;
--                      i-cache-size = <65536>;
--                      i-cache-line-size = <64>;
--                      i-cache-sets = <256>;
--                      d-cache-size = <65536>;
--                      d-cache-line-size = <64>;
--                      d-cache-sets = <256>;
--                      next-level-cache = <&l2_cache_b0>;
--                      dynamic-power-coefficient = <416>;
--                      #cooling-cells = <2>;
--              };
--
--              cpu_b1: cpu@500 {
--                      device_type = "cpu";
--                      compatible = "arm,cortex-a76";
--                      reg = <0x500>;
--                      enable-method = "psci";
--                      capacity-dmips-mhz = <1024>;
--                      clocks = <&scmi_clk SCMI_CLK_CPUB01>;
--                      cpu-idle-states = <&CPU_SLEEP>;
--                      i-cache-size = <65536>;
--                      i-cache-line-size = <64>;
--                      i-cache-sets = <256>;
--                      d-cache-size = <65536>;
--                      d-cache-line-size = <64>;
--                      d-cache-sets = <256>;
--                      next-level-cache = <&l2_cache_b1>;
--                      dynamic-power-coefficient = <416>;
--                      #cooling-cells = <2>;
--              };
--
--              cpu_b2: cpu@600 {
--                      device_type = "cpu";
--                      compatible = "arm,cortex-a76";
--                      reg = <0x600>;
--                      enable-method = "psci";
--                      capacity-dmips-mhz = <1024>;
--                      clocks = <&scmi_clk SCMI_CLK_CPUB23>;
--                      assigned-clocks = <&scmi_clk SCMI_CLK_CPUB23>;
--                      assigned-clock-rates = <816000000>;
--                      cpu-idle-states = <&CPU_SLEEP>;
--                      i-cache-size = <65536>;
--                      i-cache-line-size = <64>;
--                      i-cache-sets = <256>;
--                      d-cache-size = <65536>;
--                      d-cache-line-size = <64>;
--                      d-cache-sets = <256>;
--                      next-level-cache = <&l2_cache_b2>;
--                      dynamic-power-coefficient = <416>;
--                      #cooling-cells = <2>;
--              };
--
--              cpu_b3: cpu@700 {
--                      device_type = "cpu";
--                      compatible = "arm,cortex-a76";
--                      reg = <0x700>;
--                      enable-method = "psci";
--                      capacity-dmips-mhz = <1024>;
--                      clocks = <&scmi_clk SCMI_CLK_CPUB23>;
--                      cpu-idle-states = <&CPU_SLEEP>;
--                      i-cache-size = <65536>;
--                      i-cache-line-size = <64>;
--                      i-cache-sets = <256>;
--                      d-cache-size = <65536>;
--                      d-cache-line-size = <64>;
--                      d-cache-sets = <256>;
--                      next-level-cache = <&l2_cache_b3>;
--                      dynamic-power-coefficient = <416>;
--                      #cooling-cells = <2>;
--              };
--
--              idle-states {
--                      entry-method = "psci";
--                      CPU_SLEEP: cpu-sleep {
--                              compatible = "arm,idle-state";
--                              local-timer-stop;
--                              arm,psci-suspend-param = <0x0010000>;
--                              entry-latency-us = <100>;
--                              exit-latency-us = <120>;
--                              min-residency-us = <1000>;
--                      };
--              };
--
--              l2_cache_l0: l2-cache-l0 {
--                      compatible = "cache";
--                      cache-size = <131072>;
--                      cache-line-size = <64>;
--                      cache-sets = <512>;
--                      cache-level = <2>;
--                      cache-unified;
--                      next-level-cache = <&l3_cache>;
--              };
--
--              l2_cache_l1: l2-cache-l1 {
--                      compatible = "cache";
--                      cache-size = <131072>;
--                      cache-line-size = <64>;
--                      cache-sets = <512>;
--                      cache-level = <2>;
--                      cache-unified;
--                      next-level-cache = <&l3_cache>;
--              };
--
--              l2_cache_l2: l2-cache-l2 {
--                      compatible = "cache";
--                      cache-size = <131072>;
--                      cache-line-size = <64>;
--                      cache-sets = <512>;
--                      cache-level = <2>;
--                      cache-unified;
--                      next-level-cache = <&l3_cache>;
--              };
--
--              l2_cache_l3: l2-cache-l3 {
--                      compatible = "cache";
--                      cache-size = <131072>;
--                      cache-line-size = <64>;
--                      cache-sets = <512>;
--                      cache-level = <2>;
--                      cache-unified;
--                      next-level-cache = <&l3_cache>;
--              };
--
--              l2_cache_b0: l2-cache-b0 {
--                      compatible = "cache";
--                      cache-size = <524288>;
--                      cache-line-size = <64>;
--                      cache-sets = <1024>;
--                      cache-level = <2>;
--                      cache-unified;
--                      next-level-cache = <&l3_cache>;
--              };
--
--              l2_cache_b1: l2-cache-b1 {
--                      compatible = "cache";
--                      cache-size = <524288>;
--                      cache-line-size = <64>;
--                      cache-sets = <1024>;
--                      cache-level = <2>;
--                      cache-unified;
--                      next-level-cache = <&l3_cache>;
--              };
--
--              l2_cache_b2: l2-cache-b2 {
--                      compatible = "cache";
--                      cache-size = <524288>;
--                      cache-line-size = <64>;
--                      cache-sets = <1024>;
--                      cache-level = <2>;
--                      cache-unified;
--                      next-level-cache = <&l3_cache>;
--              };
--
--              l2_cache_b3: l2-cache-b3 {
--                      compatible = "cache";
--                      cache-size = <524288>;
--                      cache-line-size = <64>;
--                      cache-sets = <1024>;
--                      cache-level = <2>;
--                      cache-unified;
--                      next-level-cache = <&l3_cache>;
--              };
--
--              l3_cache: l3-cache {
--                      compatible = "cache";
--                      cache-size = <3145728>;
--                      cache-line-size = <64>;
--                      cache-sets = <4096>;
--                      cache-level = <3>;
--                      cache-unified;
--              };
--      };
--
--      display_subsystem: display-subsystem {
--              compatible = "rockchip,display-subsystem";
--              ports = <&vop_out>;
--      };
--
--      firmware {
--              optee: optee {
--                      compatible = "linaro,optee-tz";
--                      method = "smc";
--              };
--
--              scmi: scmi {
--                      compatible = "arm,scmi-smc";
--                      arm,smc-id = <0x82000010>;
--                      shmem = <&scmi_shmem>;
--                      #address-cells = <1>;
--                      #size-cells = <0>;
--
--                      scmi_clk: protocol@14 {
--                              reg = <0x14>;
--                              #clock-cells = <1>;
--                      };
--
--                      scmi_reset: protocol@16 {
--                              reg = <0x16>;
--                              #reset-cells = <1>;
--                      };
--              };
--      };
--
--      pmu-a55 {
--              compatible = "arm,cortex-a55-pmu";
--              interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition0>;
--      };
--
--      pmu-a76 {
--              compatible = "arm,cortex-a76-pmu";
--              interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH &ppi_partition1>;
--      };
--
--      psci {
--              compatible = "arm,psci-1.0";
--              method = "smc";
--      };
--
--      spll: clock-0 {
--              compatible = "fixed-clock";
--              clock-frequency = <702000000>;
--              clock-output-names = "spll";
--              #clock-cells = <0>;
--      };
--
--      timer {
--              compatible = "arm,armv8-timer";
--              interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_PPI 14 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_PPI 11 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_PPI 10 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_PPI 12 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt";
--      };
--
--      xin24m: clock-1 {
--              compatible = "fixed-clock";
--              clock-frequency = <24000000>;
--              clock-output-names = "xin24m";
--              #clock-cells = <0>;
--      };
--
--      xin32k: clock-2 {
--              compatible = "fixed-clock";
--              clock-frequency = <32768>;
--              clock-output-names = "xin32k";
--              #clock-cells = <0>;
--      };
--
--      pmu_sram: sram@10f000 {
--              compatible = "mmio-sram";
--              reg = <0x0 0x0010f000 0x0 0x100>;
--              ranges = <0 0x0 0x0010f000 0x100>;
--              #address-cells = <1>;
--              #size-cells = <1>;
--
--              scmi_shmem: sram@0 {
--                      compatible = "arm,scmi-shmem";
--                      reg = <0x0 0x100>;
--              };
--      };
--
--      gpu: gpu@fb000000 {
--              compatible = "rockchip,rk3588-mali", "arm,mali-valhall-csf";
--              reg = <0x0 0xfb000000 0x0 0x200000>;
--              #cooling-cells = <2>;
--              assigned-clocks = <&scmi_clk SCMI_CLK_GPU>;
--              assigned-clock-rates = <200000000>;
--              clocks = <&cru CLK_GPU>, <&cru CLK_GPU_COREGROUP>,
--                       <&cru CLK_GPU_STACKS>;
--              clock-names = "core", "coregroup", "stacks";
--              dynamic-power-coefficient = <2982>;
--              interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "job", "mmu", "gpu";
--              operating-points-v2 = <&gpu_opp_table>;
--              power-domains = <&power RK3588_PD_GPU>;
--              status = "disabled";
--
--              gpu_opp_table: opp-table {
--                      compatible = "operating-points-v2";
--
--                      opp-300000000 {
--                              opp-hz = /bits/ 64 <300000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-400000000 {
--                              opp-hz = /bits/ 64 <400000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-500000000 {
--                              opp-hz = /bits/ 64 <500000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-600000000 {
--                              opp-hz = /bits/ 64 <600000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-700000000 {
--                              opp-hz = /bits/ 64 <700000000>;
--                              opp-microvolt = <700000 700000 850000>;
--                      };
--                      opp-800000000 {
--                              opp-hz = /bits/ 64 <800000000>;
--                              opp-microvolt = <750000 750000 850000>;
--                      };
--                      opp-900000000 {
--                              opp-hz = /bits/ 64 <900000000>;
--                              opp-microvolt = <800000 800000 850000>;
--                      };
--                      opp-1000000000 {
--                              opp-hz = /bits/ 64 <1000000000>;
--                              opp-microvolt = <850000 850000 850000>;
--                      };
--              };
--      };
--
--      usb_host0_xhci: usb@fc000000 {
--              compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
--              reg = <0x0 0xfc000000 0x0 0x400000>;
--              interrupts = <GIC_SPI 220 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru REF_CLK_USB3OTG0>, <&cru SUSPEND_CLK_USB3OTG0>,
--                       <&cru ACLK_USB3OTG0>;
--              clock-names = "ref_clk", "suspend_clk", "bus_clk";
--              dr_mode = "otg";
--              phys = <&u2phy0_otg>, <&usbdp_phy0 PHY_TYPE_USB3>;
--              phy-names = "usb2-phy", "usb3-phy";
--              phy_type = "utmi_wide";
--              power-domains = <&power RK3588_PD_USB>;
--              resets = <&cru SRST_A_USB3OTG0>;
--              snps,dis_enblslpm_quirk;
--              snps,dis-u1-entry-quirk;
--              snps,dis-u2-entry-quirk;
--              snps,dis-u2-freeclk-exists-quirk;
--              snps,dis-del-phy-power-chg-quirk;
--              snps,dis-tx-ipgap-linecheck-quirk;
--              status = "disabled";
--      };
--
--      usb_host0_ehci: usb@fc800000 {
--              compatible = "rockchip,rk3588-ehci", "generic-ehci";
--              reg = <0x0 0xfc800000 0x0 0x40000>;
--              interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>, <&cru ACLK_USB>, <&u2phy2>;
--              phys = <&u2phy2_host>;
--              phy-names = "usb";
--              power-domains = <&power RK3588_PD_USB>;
--              status = "disabled";
--      };
--
--      usb_host0_ohci: usb@fc840000 {
--              compatible = "rockchip,rk3588-ohci", "generic-ohci";
--              reg = <0x0 0xfc840000 0x0 0x40000>;
--              interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru HCLK_HOST0>, <&cru HCLK_HOST_ARB0>, <&cru ACLK_USB>, <&u2phy2>;
--              phys = <&u2phy2_host>;
--              phy-names = "usb";
--              power-domains = <&power RK3588_PD_USB>;
--              status = "disabled";
--      };
--
--      usb_host1_ehci: usb@fc880000 {
--              compatible = "rockchip,rk3588-ehci", "generic-ehci";
--              reg = <0x0 0xfc880000 0x0 0x40000>;
--              interrupts = <GIC_SPI 218 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>, <&cru ACLK_USB>, <&u2phy3>;
--              phys = <&u2phy3_host>;
--              phy-names = "usb";
--              power-domains = <&power RK3588_PD_USB>;
--              status = "disabled";
--      };
--
--      usb_host1_ohci: usb@fc8c0000 {
--              compatible = "rockchip,rk3588-ohci", "generic-ohci";
--              reg = <0x0 0xfc8c0000 0x0 0x40000>;
--              interrupts = <GIC_SPI 219 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru HCLK_HOST1>, <&cru HCLK_HOST_ARB1>, <&cru ACLK_USB>, <&u2phy3>;
--              phys = <&u2phy3_host>;
--              phy-names = "usb";
--              power-domains = <&power RK3588_PD_USB>;
--              status = "disabled";
--      };
--
--      usb_host2_xhci: usb@fcd00000 {
--              compatible = "rockchip,rk3588-dwc3", "snps,dwc3";
--              reg = <0x0 0xfcd00000 0x0 0x400000>;
--              interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru REF_CLK_USB3OTG2>, <&cru SUSPEND_CLK_USB3OTG2>,
--                       <&cru ACLK_USB3OTG2>, <&cru CLK_UTMI_OTG2>,
--                       <&cru CLK_PIPEPHY2_PIPE_U3_G>;
--              clock-names = "ref_clk", "suspend_clk", "bus_clk", "utmi", "pipe";
--              dr_mode = "host";
--              phys = <&combphy2_psu PHY_TYPE_USB3>;
--              phy-names = "usb3-phy";
--              phy_type = "utmi_wide";
--              resets = <&cru SRST_A_USB3OTG2>;
--              snps,dis_enblslpm_quirk;
--              snps,dis-u2-freeclk-exists-quirk;
--              snps,dis-del-phy-power-chg-quirk;
--              snps,dis-tx-ipgap-linecheck-quirk;
--              snps,dis_rxdet_inp3_quirk;
--              status = "disabled";
--      };
--
--      mmu600_pcie: iommu@fc900000 {
--              compatible = "arm,smmu-v3";
--              reg = <0x0 0xfc900000 0x0 0x200000>;
--              interrupts = <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "eventq", "gerror", "priq", "cmdq-sync";
--              #iommu-cells = <1>;
--              status = "disabled";
--      };
--
--      mmu600_php: iommu@fcb00000 {
--              compatible = "arm,smmu-v3";
--              reg = <0x0 0xfcb00000 0x0 0x200000>;
--              interrupts = <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "eventq", "gerror", "priq", "cmdq-sync";
--              #iommu-cells = <1>;
--              status = "disabled";
--      };
--
--      pmu1grf: syscon@fd58a000 {
--              compatible = "rockchip,rk3588-pmugrf", "syscon", "simple-mfd";
--              reg = <0x0 0xfd58a000 0x0 0x10000>;
--      };
--
--      sys_grf: syscon@fd58c000 {
--              compatible = "rockchip,rk3588-sys-grf", "syscon";
--              reg = <0x0 0xfd58c000 0x0 0x1000>;
--      };
--
--      vop_grf: syscon@fd5a4000 {
--              compatible = "rockchip,rk3588-vop-grf", "syscon";
--              reg = <0x0 0xfd5a4000 0x0 0x2000>;
--      };
--
--      vo0_grf: syscon@fd5a6000 {
--              compatible = "rockchip,rk3588-vo-grf", "syscon";
--              reg = <0x0 0xfd5a6000 0x0 0x2000>;
--              clocks = <&cru PCLK_VO0GRF>;
--      };
--
--      vo1_grf: syscon@fd5a8000 {
--              compatible = "rockchip,rk3588-vo-grf", "syscon";
--              reg = <0x0 0xfd5a8000 0x0 0x100>;
--              clocks = <&cru PCLK_VO1GRF>;
--      };
--
--      usb_grf: syscon@fd5ac000 {
--              compatible = "rockchip,rk3588-usb-grf", "syscon";
--              reg = <0x0 0xfd5ac000 0x0 0x4000>;
--      };
--
--      php_grf: syscon@fd5b0000 {
--              compatible = "rockchip,rk3588-php-grf", "syscon";
--              reg = <0x0 0xfd5b0000 0x0 0x1000>;
--      };
--
--      pipe_phy0_grf: syscon@fd5bc000 {
--              compatible = "rockchip,rk3588-pipe-phy-grf", "syscon";
--              reg = <0x0 0xfd5bc000 0x0 0x100>;
--      };
--
--      pipe_phy2_grf: syscon@fd5c4000 {
--              compatible = "rockchip,rk3588-pipe-phy-grf", "syscon";
--              reg = <0x0 0xfd5c4000 0x0 0x100>;
--      };
--
--      usbdpphy0_grf: syscon@fd5c8000 {
--              compatible = "rockchip,rk3588-usbdpphy-grf", "syscon";
--              reg = <0x0 0xfd5c8000 0x0 0x4000>;
--      };
--
--      usb2phy0_grf: syscon@fd5d0000 {
--              compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
--              reg = <0x0 0xfd5d0000 0x0 0x4000>;
--              #address-cells = <1>;
--              #size-cells = <1>;
--
--              u2phy0: usb2phy@0 {
--                      compatible = "rockchip,rk3588-usb2phy";
--                      reg = <0x0 0x10>;
--                      #clock-cells = <0>;
--                      clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
--                      clock-names = "phyclk";
--                      clock-output-names = "usb480m_phy0";
--                      interrupts = <GIC_SPI 393 IRQ_TYPE_LEVEL_HIGH 0>;
--                      resets = <&cru SRST_OTGPHY_U3_0>, <&cru SRST_P_USB2PHY_U3_0_GRF0>;
--                      reset-names = "phy", "apb";
--                      status = "disabled";
--
--                      u2phy0_otg: otg-port {
--                              #phy-cells = <0>;
--                              status = "disabled";
--                      };
--              };
--      };
--
--      usb2phy2_grf: syscon@fd5d8000 {
--              compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
--              reg = <0x0 0xfd5d8000 0x0 0x4000>;
--              #address-cells = <1>;
--              #size-cells = <1>;
--
--              u2phy2: usb2phy@8000 {
--                      compatible = "rockchip,rk3588-usb2phy";
--                      reg = <0x8000 0x10>;
--                      #clock-cells = <0>;
--                      clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
--                      clock-names = "phyclk";
--                      clock-output-names = "usb480m_phy2";
--                      interrupts = <GIC_SPI 391 IRQ_TYPE_LEVEL_HIGH 0>;
--                      resets = <&cru SRST_OTGPHY_U2_0>, <&cru SRST_P_USB2PHY_U2_0_GRF0>;
--                      reset-names = "phy", "apb";
--                      status = "disabled";
--
--                      u2phy2_host: host-port {
--                              #phy-cells = <0>;
--                              status = "disabled";
--                      };
--              };
--      };
--
--      usb2phy3_grf: syscon@fd5dc000 {
--              compatible = "rockchip,rk3588-usb2phy-grf", "syscon", "simple-mfd";
--              reg = <0x0 0xfd5dc000 0x0 0x4000>;
--              #address-cells = <1>;
--              #size-cells = <1>;
--
--              u2phy3: usb2phy@c000 {
--                      compatible = "rockchip,rk3588-usb2phy";
--                      reg = <0xc000 0x10>;
--                      #clock-cells = <0>;
--                      clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>;
--                      clock-names = "phyclk";
--                      clock-output-names = "usb480m_phy3";
--                      interrupts = <GIC_SPI 392 IRQ_TYPE_LEVEL_HIGH 0>;
--                      resets = <&cru SRST_OTGPHY_U2_1>, <&cru SRST_P_USB2PHY_U2_1_GRF0>;
--                      reset-names = "phy", "apb";
--                      status = "disabled";
--
--                      u2phy3_host: host-port {
--                              #phy-cells = <0>;
--                              status = "disabled";
--                      };
--              };
--      };
--
--      hdptxphy0_grf: syscon@fd5e0000 {
--              compatible = "rockchip,rk3588-hdptxphy-grf", "syscon";
--              reg = <0x0 0xfd5e0000 0x0 0x100>;
--      };
--
--      ioc: syscon@fd5f0000 {
--              compatible = "rockchip,rk3588-ioc", "syscon";
--              reg = <0x0 0xfd5f0000 0x0 0x10000>;
--      };
--
--      system_sram1: sram@fd600000 {
--              compatible = "mmio-sram";
--              reg = <0x0 0xfd600000 0x0 0x100000>;
--              ranges = <0x0 0x0 0xfd600000 0x100000>;
--              #address-cells = <1>;
--              #size-cells = <1>;
--      };
--
--      cru: clock-controller@fd7c0000 {
--              compatible = "rockchip,rk3588-cru";
--              reg = <0x0 0xfd7c0000 0x0 0x5c000>;
--              assigned-clocks =
--                      <&cru PLL_PPLL>, <&cru PLL_AUPLL>,
--                      <&cru PLL_NPLL>, <&cru PLL_GPLL>,
--                      <&cru ACLK_CENTER_ROOT>,
--                      <&cru HCLK_CENTER_ROOT>, <&cru ACLK_CENTER_LOW_ROOT>,
--                      <&cru ACLK_TOP_ROOT>, <&cru PCLK_TOP_ROOT>,
--                      <&cru ACLK_LOW_TOP_ROOT>, <&cru PCLK_PMU0_ROOT>,
--                      <&cru HCLK_PMU_CM0_ROOT>, <&cru ACLK_VOP>,
--                      <&cru ACLK_BUS_ROOT>, <&cru CLK_150M_SRC>,
--                      <&cru CLK_GPU>;
--              assigned-clock-rates =
--                      <1100000000>, <786432000>,
--                      <850000000>, <1188000000>,
--                      <702000000>,
--                      <400000000>, <500000000>,
--                      <800000000>, <100000000>,
--                      <400000000>, <100000000>,
--                      <200000000>, <500000000>,
--                      <375000000>, <150000000>,
--                      <200000000>;
--              rockchip,grf = <&php_grf>;
--              #clock-cells = <1>;
--              #reset-cells = <1>;
--      };
--
--      i2c0: i2c@fd880000 {
--              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
--              reg = <0x0 0xfd880000 0x0 0x1000>;
--              interrupts = <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru CLK_I2C0>, <&cru PCLK_I2C0>;
--              clock-names = "i2c", "pclk";
--              pinctrl-0 = <&i2c0m0_xfer>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      uart0: serial@fd890000 {
--              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
--              reg = <0x0 0xfd890000 0x0 0x100>;
--              interrupts = <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_UART0>, <&cru PCLK_UART0>;
--              clock-names = "baudclk", "apb_pclk";
--              dmas = <&dmac0 6>, <&dmac0 7>;
--              dma-names = "tx", "rx";
--              pinctrl-0 = <&uart0m1_xfer>;
--              pinctrl-names = "default";
--              reg-shift = <2>;
--              reg-io-width = <4>;
--              status = "disabled";
--      };
--
--      pwm0: pwm@fd8b0000 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfd8b0000 0x0 0x10>;
--              clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm0m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm1: pwm@fd8b0010 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfd8b0010 0x0 0x10>;
--              clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm1m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm2: pwm@fd8b0020 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfd8b0020 0x0 0x10>;
--              clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm2m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm3: pwm@fd8b0030 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfd8b0030 0x0 0x10>;
--              clocks = <&cru CLK_PMU1PWM>, <&cru PCLK_PMU1PWM>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm3m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pmu: power-management@fd8d8000 {
--              compatible = "rockchip,rk3588-pmu", "syscon", "simple-mfd";
--              reg = <0x0 0xfd8d8000 0x0 0x400>;
--
--              power: power-controller {
--                      compatible = "rockchip,rk3588-power-controller";
--                      #address-cells = <1>;
--                      #power-domain-cells = <1>;
--                      #size-cells = <0>;
--                      status = "okay";
--
--                      /* These power domains are grouped by VD_NPU */
--                      power-domain@RK3588_PD_NPU {
--                              reg = <RK3588_PD_NPU>;
--                              #power-domain-cells = <0>;
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--
--                              power-domain@RK3588_PD_NPUTOP {
--                                      reg = <RK3588_PD_NPUTOP>;
--                                      clocks = <&cru HCLK_NPU_ROOT>,
--                                               <&cru PCLK_NPU_ROOT>,
--                                               <&cru CLK_NPU_DSU0>,
--                                               <&cru HCLK_NPU_CM0_ROOT>;
--                                      pm_qos = <&qos_npu0_mwr>,
--                                               <&qos_npu0_mro>,
--                                               <&qos_mcu_npu>;
--                                      #power-domain-cells = <0>;
--                                      #address-cells = <1>;
--                                      #size-cells = <0>;
--
--                                      power-domain@RK3588_PD_NPU1 {
--                                              reg = <RK3588_PD_NPU1>;
--                                              clocks = <&cru HCLK_NPU_ROOT>,
--                                                       <&cru PCLK_NPU_ROOT>,
--                                                       <&cru CLK_NPU_DSU0>;
--                                              pm_qos = <&qos_npu1>;
--                                              #power-domain-cells = <0>;
--                                      };
--                                      power-domain@RK3588_PD_NPU2 {
--                                              reg = <RK3588_PD_NPU2>;
--                                              clocks = <&cru HCLK_NPU_ROOT>,
--                                                       <&cru PCLK_NPU_ROOT>,
--                                                       <&cru CLK_NPU_DSU0>;
--                                              pm_qos = <&qos_npu2>;
--                                              #power-domain-cells = <0>;
--                                      };
--                              };
--                      };
--                      /* These power domains are grouped by VD_GPU */
--                      power-domain@RK3588_PD_GPU {
--                              reg = <RK3588_PD_GPU>;
--                              clocks = <&cru CLK_GPU>,
--                                       <&cru CLK_GPU_COREGROUP>,
--                                       <&cru CLK_GPU_STACKS>;
--                              pm_qos = <&qos_gpu_m0>,
--                                       <&qos_gpu_m1>,
--                                       <&qos_gpu_m2>,
--                                       <&qos_gpu_m3>;
--                              #power-domain-cells = <0>;
--                      };
--                      /* These power domains are grouped by VD_VCODEC */
--                      power-domain@RK3588_PD_VCODEC {
--                              reg = <RK3588_PD_VCODEC>;
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              #power-domain-cells = <0>;
--
--                              power-domain@RK3588_PD_RKVDEC0 {
--                                      reg = <RK3588_PD_RKVDEC0>;
--                                      clocks = <&cru HCLK_RKVDEC0>,
--                                               <&cru HCLK_VDPU_ROOT>,
--                                               <&cru ACLK_VDPU_ROOT>,
--                                               <&cru ACLK_RKVDEC0>,
--                                               <&cru ACLK_RKVDEC_CCU>;
--                                      pm_qos = <&qos_rkvdec0>;
--                                      #power-domain-cells = <0>;
--                              };
--                              power-domain@RK3588_PD_RKVDEC1 {
--                                      reg = <RK3588_PD_RKVDEC1>;
--                                      clocks = <&cru HCLK_RKVDEC1>,
--                                               <&cru HCLK_VDPU_ROOT>,
--                                               <&cru ACLK_VDPU_ROOT>,
--                                               <&cru ACLK_RKVDEC1>;
--                                      pm_qos = <&qos_rkvdec1>;
--                                      #power-domain-cells = <0>;
--                              };
--                              power-domain@RK3588_PD_VENC0 {
--                                      reg = <RK3588_PD_VENC0>;
--                                      clocks = <&cru HCLK_RKVENC0>,
--                                               <&cru ACLK_RKVENC0>;
--                                      pm_qos = <&qos_rkvenc0_m0ro>,
--                                               <&qos_rkvenc0_m1ro>,
--                                               <&qos_rkvenc0_m2wo>;
--                                      #address-cells = <1>;
--                                      #size-cells = <0>;
--                                      #power-domain-cells = <0>;
--
--                                      power-domain@RK3588_PD_VENC1 {
--                                              reg = <RK3588_PD_VENC1>;
--                                              clocks = <&cru HCLK_RKVENC1>,
--                                                       <&cru HCLK_RKVENC0>,
--                                                       <&cru ACLK_RKVENC0>,
--                                                       <&cru ACLK_RKVENC1>;
--                                              pm_qos = <&qos_rkvenc1_m0ro>,
--                                                       <&qos_rkvenc1_m1ro>,
--                                                       <&qos_rkvenc1_m2wo>;
--                                              #power-domain-cells = <0>;
--                                      };
--                              };
--                      };
--                      /* These power domains are grouped by VD_LOGIC */
--                      power-domain@RK3588_PD_VDPU {
--                              reg = <RK3588_PD_VDPU>;
--                              clocks = <&cru HCLK_VDPU_ROOT>,
--                                       <&cru ACLK_VDPU_LOW_ROOT>,
--                                       <&cru ACLK_VDPU_ROOT>,
--                                       <&cru ACLK_JPEG_DECODER_ROOT>,
--                                       <&cru ACLK_IEP2P0>,
--                                       <&cru HCLK_IEP2P0>,
--                                       <&cru ACLK_JPEG_ENCODER0>,
--                                       <&cru HCLK_JPEG_ENCODER0>,
--                                       <&cru ACLK_JPEG_ENCODER1>,
--                                       <&cru HCLK_JPEG_ENCODER1>,
--                                       <&cru ACLK_JPEG_ENCODER2>,
--                                       <&cru HCLK_JPEG_ENCODER2>,
--                                       <&cru ACLK_JPEG_ENCODER3>,
--                                       <&cru HCLK_JPEG_ENCODER3>,
--                                       <&cru ACLK_JPEG_DECODER>,
--                                       <&cru HCLK_JPEG_DECODER>,
--                                       <&cru ACLK_RGA2>,
--                                       <&cru HCLK_RGA2>;
--                              pm_qos = <&qos_iep>,
--                                       <&qos_jpeg_dec>,
--                                       <&qos_jpeg_enc0>,
--                                       <&qos_jpeg_enc1>,
--                                       <&qos_jpeg_enc2>,
--                                       <&qos_jpeg_enc3>,
--                                       <&qos_rga2_mro>,
--                                       <&qos_rga2_mwo>;
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              #power-domain-cells = <0>;
--
--
--                              power-domain@RK3588_PD_AV1 {
--                                      reg = <RK3588_PD_AV1>;
--                                      clocks = <&cru PCLK_AV1>,
--                                               <&cru ACLK_AV1>,
--                                               <&cru HCLK_VDPU_ROOT>;
--                                      pm_qos = <&qos_av1>;
--                                      #power-domain-cells = <0>;
--                              };
--                              power-domain@RK3588_PD_RKVDEC0 {
--                                      reg = <RK3588_PD_RKVDEC0>;
--                                      clocks = <&cru HCLK_RKVDEC0>,
--                                               <&cru HCLK_VDPU_ROOT>,
--                                               <&cru ACLK_VDPU_ROOT>,
--                                               <&cru ACLK_RKVDEC0>;
--                                      pm_qos = <&qos_rkvdec0>;
--                                      #power-domain-cells = <0>;
--                              };
--                              power-domain@RK3588_PD_RKVDEC1 {
--                                      reg = <RK3588_PD_RKVDEC1>;
--                                      clocks = <&cru HCLK_RKVDEC1>,
--                                               <&cru HCLK_VDPU_ROOT>,
--                                               <&cru ACLK_VDPU_ROOT>;
--                                      pm_qos = <&qos_rkvdec1>;
--                                      #power-domain-cells = <0>;
--                              };
--                              power-domain@RK3588_PD_RGA30 {
--                                      reg = <RK3588_PD_RGA30>;
--                                      clocks = <&cru ACLK_RGA3_0>,
--                                               <&cru HCLK_RGA3_0>;
--                                      pm_qos = <&qos_rga3_0>;
--                                      #power-domain-cells = <0>;
--                              };
--                      };
--                      power-domain@RK3588_PD_VOP {
--                              reg = <RK3588_PD_VOP>;
--                              clocks = <&cru PCLK_VOP_ROOT>,
--                                       <&cru HCLK_VOP_ROOT>,
--                                       <&cru ACLK_VOP>;
--                              pm_qos = <&qos_vop_m0>,
--                                       <&qos_vop_m1>;
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              #power-domain-cells = <0>;
--
--                              power-domain@RK3588_PD_VO0 {
--                                      reg = <RK3588_PD_VO0>;
--                                      clocks = <&cru PCLK_VO0_ROOT>,
--                                               <&cru PCLK_VO0_S_ROOT>,
--                                               <&cru HCLK_VO0_S_ROOT>,
--                                               <&cru ACLK_VO0_ROOT>,
--                                               <&cru HCLK_HDCP0>,
--                                               <&cru ACLK_HDCP0>,
--                                               <&cru HCLK_VOP_ROOT>;
--                                      pm_qos = <&qos_hdcp0>;
--                                      #power-domain-cells = <0>;
--                              };
--                      };
--                      power-domain@RK3588_PD_VO1 {
--                              reg = <RK3588_PD_VO1>;
--                              clocks = <&cru PCLK_VO1_ROOT>,
--                                       <&cru PCLK_VO1_S_ROOT>,
--                                       <&cru HCLK_VO1_S_ROOT>,
--                                       <&cru HCLK_HDCP1>,
--                                       <&cru ACLK_HDCP1>,
--                                       <&cru ACLK_HDMIRX_ROOT>,
--                                       <&cru HCLK_VO1USB_TOP_ROOT>;
--                              pm_qos = <&qos_hdcp1>,
--                                       <&qos_hdmirx>;
--                              #power-domain-cells = <0>;
--                      };
--                      power-domain@RK3588_PD_VI {
--                              reg = <RK3588_PD_VI>;
--                              clocks = <&cru HCLK_VI_ROOT>,
--                                       <&cru PCLK_VI_ROOT>,
--                                       <&cru HCLK_ISP0>,
--                                       <&cru ACLK_ISP0>,
--                                       <&cru HCLK_VICAP>,
--                                       <&cru ACLK_VICAP>;
--                              pm_qos = <&qos_isp0_mro>,
--                                       <&qos_isp0_mwo>,
--                                       <&qos_vicap_m0>,
--                                       <&qos_vicap_m1>;
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              #power-domain-cells = <0>;
--
--                              power-domain@RK3588_PD_ISP1 {
--                                      reg = <RK3588_PD_ISP1>;
--                                      clocks = <&cru HCLK_ISP1>,
--                                               <&cru ACLK_ISP1>,
--                                               <&cru HCLK_VI_ROOT>,
--                                               <&cru PCLK_VI_ROOT>;
--                                      pm_qos = <&qos_isp1_mwo>,
--                                               <&qos_isp1_mro>;
--                                      #power-domain-cells = <0>;
--                              };
--                              power-domain@RK3588_PD_FEC {
--                                      reg = <RK3588_PD_FEC>;
--                                      clocks = <&cru HCLK_FISHEYE0>,
--                                               <&cru ACLK_FISHEYE0>,
--                                               <&cru HCLK_FISHEYE1>,
--                                               <&cru ACLK_FISHEYE1>,
--                                               <&cru PCLK_VI_ROOT>;
--                                      pm_qos = <&qos_fisheye0>,
--                                               <&qos_fisheye1>;
--                                      #power-domain-cells = <0>;
--                              };
--                      };
--                      power-domain@RK3588_PD_RGA31 {
--                              reg = <RK3588_PD_RGA31>;
--                              clocks = <&cru HCLK_RGA3_1>,
--                                       <&cru ACLK_RGA3_1>;
--                              pm_qos = <&qos_rga3_1>;
--                              #power-domain-cells = <0>;
--                      };
--                      power-domain@RK3588_PD_USB {
--                              reg = <RK3588_PD_USB>;
--                              clocks = <&cru PCLK_PHP_ROOT>,
--                                       <&cru ACLK_USB_ROOT>,
--                                       <&cru ACLK_USB>,
--                                       <&cru HCLK_USB_ROOT>,
--                                       <&cru HCLK_HOST0>,
--                                       <&cru HCLK_HOST_ARB0>,
--                                       <&cru HCLK_HOST1>,
--                                       <&cru HCLK_HOST_ARB1>;
--                              pm_qos = <&qos_usb3_0>,
--                                       <&qos_usb3_1>,
--                                       <&qos_usb2host_0>,
--                                       <&qos_usb2host_1>;
--                              #power-domain-cells = <0>;
--                      };
--                      power-domain@RK3588_PD_GMAC {
--                              reg = <RK3588_PD_GMAC>;
--                              clocks = <&cru PCLK_PHP_ROOT>,
--                                       <&cru ACLK_PCIE_ROOT>,
--                                       <&cru ACLK_PHP_ROOT>;
--                              #power-domain-cells = <0>;
--                      };
--                      power-domain@RK3588_PD_PCIE {
--                              reg = <RK3588_PD_PCIE>;
--                              clocks = <&cru PCLK_PHP_ROOT>,
--                                       <&cru ACLK_PCIE_ROOT>,
--                                       <&cru ACLK_PHP_ROOT>;
--                              #power-domain-cells = <0>;
--                      };
--                      power-domain@RK3588_PD_SDIO {
--                              reg = <RK3588_PD_SDIO>;
--                              clocks = <&cru HCLK_SDIO>,
--                                       <&cru HCLK_NVM_ROOT>;
--                              pm_qos = <&qos_sdio>;
--                              #power-domain-cells = <0>;
--                      };
--                      power-domain@RK3588_PD_AUDIO {
--                              reg = <RK3588_PD_AUDIO>;
--                              clocks = <&cru HCLK_AUDIO_ROOT>,
--                                       <&cru PCLK_AUDIO_ROOT>;
--                              #power-domain-cells = <0>;
--                      };
--                      power-domain@RK3588_PD_SDMMC {
--                              reg = <RK3588_PD_SDMMC>;
--                              pm_qos = <&qos_sdmmc>;
--                              #power-domain-cells = <0>;
--                      };
--              };
--      };
--
--      av1d: video-codec@fdc70000 {
--              compatible = "rockchip,rk3588-av1-vpu";
--              reg = <0x0 0xfdc70000 0x0 0x800>;
--              interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "vdpu";
--              assigned-clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
--              assigned-clock-rates = <400000000>, <400000000>;
--              clocks = <&cru ACLK_AV1>, <&cru PCLK_AV1>;
--              clock-names = "aclk", "hclk";
--              power-domains = <&power RK3588_PD_AV1>;
--              resets = <&cru SRST_A_AV1>, <&cru SRST_P_AV1>, <&cru SRST_A_AV1_BIU>, <&cru SRST_P_AV1_BIU>;
--      };
--
--      vop: vop@fdd90000 {
--              compatible = "rockchip,rk3588-vop";
--              reg = <0x0 0xfdd90000 0x0 0x4200>, <0x0 0xfdd95000 0x0 0x1000>;
--              reg-names = "vop", "gamma-lut";
--              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru ACLK_VOP>,
--                       <&cru HCLK_VOP>,
--                       <&cru DCLK_VOP0>,
--                       <&cru DCLK_VOP1>,
--                       <&cru DCLK_VOP2>,
--                       <&cru DCLK_VOP3>,
--                       <&cru PCLK_VOP_ROOT>;
--              clock-names = "aclk",
--                            "hclk",
--                            "dclk_vp0",
--                            "dclk_vp1",
--                            "dclk_vp2",
--                            "dclk_vp3",
--                            "pclk_vop";
--              iommus = <&vop_mmu>;
--              power-domains = <&power RK3588_PD_VOP>;
--              rockchip,grf = <&sys_grf>;
--              rockchip,vop-grf = <&vop_grf>;
--              rockchip,vo1-grf = <&vo1_grf>;
--              rockchip,pmu = <&pmu>;
--              status = "disabled";
--
--              vop_out: ports {
--                      #address-cells = <1>;
--                      #size-cells = <0>;
--
--                      vp0: port@0 {
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              reg = <0>;
--                      };
--
--                      vp1: port@1 {
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              reg = <1>;
--                      };
--
--                      vp2: port@2 {
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              reg = <2>;
--                      };
--
--                      vp3: port@3 {
--                              #address-cells = <1>;
--                              #size-cells = <0>;
--                              reg = <3>;
--                      };
--              };
--      };
--
--      vop_mmu: iommu@fdd97e00 {
--              compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
--              reg = <0x0 0xfdd97e00 0x0 0x100>, <0x0 0xfdd97f00 0x0 0x100>;
--              interrupts = <GIC_SPI 156 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru ACLK_VOP>, <&cru HCLK_VOP>;
--              clock-names = "aclk", "iface";
--              #iommu-cells = <0>;
--              power-domains = <&power RK3588_PD_VOP>;
--              status = "disabled";
--      };
--
--      i2s4_8ch: i2s@fddc0000 {
--              compatible = "rockchip,rk3588-i2s-tdm";
--              reg = <0x0 0xfddc0000 0x0 0x1000>;
--              interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S4_8CH_TX>, <&cru MCLK_I2S4_8CH_TX>, <&cru HCLK_I2S4_8CH>;
--              clock-names = "mclk_tx", "mclk_rx", "hclk";
--              assigned-clocks = <&cru CLK_I2S4_8CH_TX_SRC>;
--              assigned-clock-parents = <&cru PLL_AUPLL>;
--              dmas = <&dmac2 0>;
--              dma-names = "tx";
--              power-domains = <&power RK3588_PD_VO0>;
--              resets = <&cru SRST_M_I2S4_8CH_TX>;
--              reset-names = "tx-m";
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      i2s5_8ch: i2s@fddf0000 {
--              compatible = "rockchip,rk3588-i2s-tdm";
--              reg = <0x0 0xfddf0000 0x0 0x1000>;
--              interrupts = <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S5_8CH_TX>, <&cru MCLK_I2S5_8CH_TX>, <&cru HCLK_I2S5_8CH>;
--              clock-names = "mclk_tx", "mclk_rx", "hclk";
--              assigned-clocks = <&cru CLK_I2S5_8CH_TX_SRC>;
--              assigned-clock-parents = <&cru PLL_AUPLL>;
--              dmas = <&dmac2 2>;
--              dma-names = "tx";
--              power-domains = <&power RK3588_PD_VO1>;
--              resets = <&cru SRST_M_I2S5_8CH_TX>;
--              reset-names = "tx-m";
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      i2s9_8ch: i2s@fddfc000 {
--              compatible = "rockchip,rk3588-i2s-tdm";
--              reg = <0x0 0xfddfc000 0x0 0x1000>;
--              interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S9_8CH_RX>, <&cru MCLK_I2S9_8CH_RX>, <&cru HCLK_I2S9_8CH>;
--              clock-names = "mclk_tx", "mclk_rx", "hclk";
--              assigned-clocks = <&cru CLK_I2S9_8CH_RX_SRC>;
--              assigned-clock-parents = <&cru PLL_AUPLL>;
--              dmas = <&dmac2 23>;
--              dma-names = "rx";
--              power-domains = <&power RK3588_PD_VO1>;
--              resets = <&cru SRST_M_I2S9_8CH_RX>;
--              reset-names = "rx-m";
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      qos_gpu_m0: qos@fdf35000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf35000 0x0 0x20>;
--      };
--
--      qos_gpu_m1: qos@fdf35200 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf35200 0x0 0x20>;
--      };
--
--      qos_gpu_m2: qos@fdf35400 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf35400 0x0 0x20>;
--      };
--
--      qos_gpu_m3: qos@fdf35600 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf35600 0x0 0x20>;
--      };
--
--      qos_rga3_1: qos@fdf36000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf36000 0x0 0x20>;
--      };
--
--      qos_sdio: qos@fdf39000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf39000 0x0 0x20>;
--      };
--
--      qos_sdmmc: qos@fdf3d800 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf3d800 0x0 0x20>;
--      };
--
--      qos_usb3_1: qos@fdf3e000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf3e000 0x0 0x20>;
--      };
--
--      qos_usb3_0: qos@fdf3e200 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf3e200 0x0 0x20>;
--      };
--
--      qos_usb2host_0: qos@fdf3e400 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf3e400 0x0 0x20>;
--      };
--
--      qos_usb2host_1: qos@fdf3e600 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf3e600 0x0 0x20>;
--      };
--
--      qos_fisheye0: qos@fdf40000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf40000 0x0 0x20>;
--      };
--
--      qos_fisheye1: qos@fdf40200 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf40200 0x0 0x20>;
--      };
--
--      qos_isp0_mro: qos@fdf40400 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf40400 0x0 0x20>;
--      };
--
--      qos_isp0_mwo: qos@fdf40500 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf40500 0x0 0x20>;
--      };
--
--      qos_vicap_m0: qos@fdf40600 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf40600 0x0 0x20>;
--      };
--
--      qos_vicap_m1: qos@fdf40800 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf40800 0x0 0x20>;
--      };
--
--      qos_isp1_mwo: qos@fdf41000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf41000 0x0 0x20>;
--      };
--
--      qos_isp1_mro: qos@fdf41100 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf41100 0x0 0x20>;
--      };
--
--      qos_rkvenc0_m0ro: qos@fdf60000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf60000 0x0 0x20>;
--      };
--
--      qos_rkvenc0_m1ro: qos@fdf60200 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf60200 0x0 0x20>;
--      };
--
--      qos_rkvenc0_m2wo: qos@fdf60400 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf60400 0x0 0x20>;
--      };
--
--      qos_rkvenc1_m0ro: qos@fdf61000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf61000 0x0 0x20>;
--      };
--
--      qos_rkvenc1_m1ro: qos@fdf61200 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf61200 0x0 0x20>;
--      };
--
--      qos_rkvenc1_m2wo: qos@fdf61400 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf61400 0x0 0x20>;
--      };
--
--      qos_rkvdec0: qos@fdf62000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf62000 0x0 0x20>;
--      };
--
--      qos_rkvdec1: qos@fdf63000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf63000 0x0 0x20>;
--      };
--
--      qos_av1: qos@fdf64000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf64000 0x0 0x20>;
--      };
--
--      qos_iep: qos@fdf66000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf66000 0x0 0x20>;
--      };
--
--      qos_jpeg_dec: qos@fdf66200 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf66200 0x0 0x20>;
--      };
--
--      qos_jpeg_enc0: qos@fdf66400 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf66400 0x0 0x20>;
--      };
--
--      qos_jpeg_enc1: qos@fdf66600 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf66600 0x0 0x20>;
--      };
--
--      qos_jpeg_enc2: qos@fdf66800 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf66800 0x0 0x20>;
--      };
--
--      qos_jpeg_enc3: qos@fdf66a00 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf66a00 0x0 0x20>;
--      };
--
--      qos_rga2_mro: qos@fdf66c00 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf66c00 0x0 0x20>;
--      };
--
--      qos_rga2_mwo: qos@fdf66e00 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf66e00 0x0 0x20>;
--      };
--
--      qos_rga3_0: qos@fdf67000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf67000 0x0 0x20>;
--      };
--
--      qos_vdpu: qos@fdf67200 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf67200 0x0 0x20>;
--      };
--
--      qos_npu1: qos@fdf70000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf70000 0x0 0x20>;
--      };
--
--      qos_npu2: qos@fdf71000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf71000 0x0 0x20>;
--      };
--
--      qos_npu0_mwr: qos@fdf72000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf72000 0x0 0x20>;
--      };
--
--      qos_npu0_mro: qos@fdf72200 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf72200 0x0 0x20>;
--      };
--
--      qos_mcu_npu: qos@fdf72400 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf72400 0x0 0x20>;
--      };
--
--      qos_hdcp0: qos@fdf80000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf80000 0x0 0x20>;
--      };
--
--      qos_hdcp1: qos@fdf81000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf81000 0x0 0x20>;
--      };
--
--      qos_hdmirx: qos@fdf81200 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf81200 0x0 0x20>;
--      };
--
--      qos_vop_m0: qos@fdf82000 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf82000 0x0 0x20>;
--      };
--
--      qos_vop_m1: qos@fdf82200 {
--              compatible = "rockchip,rk3588-qos", "syscon";
--              reg = <0x0 0xfdf82200 0x0 0x20>;
--      };
--
--      dfi: dfi@fe060000 {
--              reg = <0x00 0xfe060000 0x00 0x10000>;
--              compatible = "rockchip,rk3588-dfi";
--              interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH 0>;
--              rockchip,pmu = <&pmu1grf>;
--      };
--
--      pcie2x1l1: pcie@fe180000 {
--              compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
--              bus-range = <0x30 0x3f>;
--              clocks = <&cru ACLK_PCIE_1L1_MSTR>, <&cru ACLK_PCIE_1L1_SLV>,
--                       <&cru ACLK_PCIE_1L1_DBI>, <&cru PCLK_PCIE_1L1>,
--                       <&cru CLK_PCIE_AUX3>, <&cru CLK_PCIE1L1_PIPE>;
--              clock-names = "aclk_mst", "aclk_slv",
--                            "aclk_dbi", "pclk",
--                            "aux", "pipe";
--              device_type = "pci";
--              interrupts = <GIC_SPI 248 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 246 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 245 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 244 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "sys", "pmc", "msg", "legacy", "err";
--              #interrupt-cells = <1>;
--              interrupt-map-mask = <0 0 0 7>;
--              interrupt-map = <0 0 0 1 &pcie2x1l1_intc 0>,
--                              <0 0 0 2 &pcie2x1l1_intc 1>,
--                              <0 0 0 3 &pcie2x1l1_intc 2>,
--                              <0 0 0 4 &pcie2x1l1_intc 3>;
--              linux,pci-domain = <3>;
--              max-link-speed = <2>;
--              msi-map = <0x3000 &its0 0x3000 0x1000>;
--              num-lanes = <1>;
--              phys = <&combphy2_psu PHY_TYPE_PCIE>;
--              phy-names = "pcie-phy";
--              power-domains = <&power RK3588_PD_PCIE>;
--              ranges = <0x01000000 0x0 0xf3100000 0x0 0xf3100000 0x0 0x00100000>,
--                       <0x02000000 0x0 0xf3200000 0x0 0xf3200000 0x0 0x00e00000>,
--                       <0x03000000 0x0 0x40000000 0x9 0xc0000000 0x0 0x40000000>;
--              reg = <0xa 0x40c00000 0x0 0x00400000>,
--                    <0x0 0xfe180000 0x0 0x00010000>,
--                    <0x0 0xf3000000 0x0 0x00100000>;
--              reg-names = "dbi", "apb", "config";
--              resets = <&cru SRST_PCIE3_POWER_UP>, <&cru SRST_P_PCIE3>;
--              reset-names = "pwr", "pipe";
--              #address-cells = <3>;
--              #size-cells = <2>;
--              status = "disabled";
--
--              pcie2x1l1_intc: legacy-interrupt-controller {
--                      interrupt-controller;
--                      #address-cells = <0>;
--                      #interrupt-cells = <1>;
--                      interrupt-parent = <&gic>;
--                      interrupts = <GIC_SPI 245 IRQ_TYPE_EDGE_RISING 0>;
--              };
--      };
--
--      pcie2x1l2: pcie@fe190000 {
--              compatible = "rockchip,rk3588-pcie", "rockchip,rk3568-pcie";
--              bus-range = <0x40 0x4f>;
--              clocks = <&cru ACLK_PCIE_1L2_MSTR>, <&cru ACLK_PCIE_1L2_SLV>,
--                       <&cru ACLK_PCIE_1L2_DBI>, <&cru PCLK_PCIE_1L2>,
--                       <&cru CLK_PCIE_AUX4>, <&cru CLK_PCIE1L2_PIPE>;
--              clock-names = "aclk_mst", "aclk_slv",
--                            "aclk_dbi", "pclk",
--                            "aux", "pipe";
--              device_type = "pci";
--              interrupts = <GIC_SPI 253 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 252 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 251 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "sys", "pmc", "msg", "legacy", "err";
--              #interrupt-cells = <1>;
--              interrupt-map-mask = <0 0 0 7>;
--              interrupt-map = <0 0 0 1 &pcie2x1l2_intc 0>,
--                              <0 0 0 2 &pcie2x1l2_intc 1>,
--                              <0 0 0 3 &pcie2x1l2_intc 2>,
--                              <0 0 0 4 &pcie2x1l2_intc 3>;
--              linux,pci-domain = <4>;
--              max-link-speed = <2>;
--              msi-map = <0x4000 &its0 0x4000 0x1000>;
--              num-lanes = <1>;
--              phys = <&combphy0_ps PHY_TYPE_PCIE>;
--              phy-names = "pcie-phy";
--              power-domains = <&power RK3588_PD_PCIE>;
--              ranges = <0x01000000 0x0 0xf4100000 0x0 0xf4100000 0x0 0x00100000>,
--                       <0x02000000 0x0 0xf4200000 0x0 0xf4200000 0x0 0x00e00000>,
--                       <0x03000000 0x0 0x40000000 0xa 0x00000000 0x0 0x40000000>;
--              reg = <0xa 0x41000000 0x0 0x00400000>,
--                    <0x0 0xfe190000 0x0 0x00010000>,
--                    <0x0 0xf4000000 0x0 0x00100000>;
--              reg-names = "dbi", "apb", "config";
--              resets = <&cru SRST_PCIE4_POWER_UP>, <&cru SRST_P_PCIE4>;
--              reset-names = "pwr", "pipe";
--              #address-cells = <3>;
--              #size-cells = <2>;
--              status = "disabled";
--
--              pcie2x1l2_intc: legacy-interrupt-controller {
--                      interrupt-controller;
--                      #address-cells = <0>;
--                      #interrupt-cells = <1>;
--                      interrupt-parent = <&gic>;
--                      interrupts = <GIC_SPI 250 IRQ_TYPE_EDGE_RISING 0>;
--              };
--      };
--
--      gmac1: ethernet@fe1c0000 {
--              compatible = "rockchip,rk3588-gmac", "snps,dwmac-4.20a";
--              reg = <0x0 0xfe1c0000 0x0 0x10000>;
--              interrupts = <GIC_SPI 234 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 233 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-names = "macirq", "eth_wake_irq";
--              clocks = <&cru CLK_GMAC_125M>, <&cru CLK_GMAC_50M>,
--                       <&cru PCLK_GMAC1>, <&cru ACLK_GMAC1>,
--                       <&cru CLK_GMAC1_PTP_REF>;
--              clock-names = "stmmaceth", "clk_mac_ref",
--                            "pclk_mac", "aclk_mac",
--                            "ptp_ref";
--              power-domains = <&power RK3588_PD_GMAC>;
--              resets = <&cru SRST_A_GMAC1>;
--              reset-names = "stmmaceth";
--              rockchip,grf = <&sys_grf>;
--              rockchip,php-grf = <&php_grf>;
--              snps,axi-config = <&gmac1_stmmac_axi_setup>;
--              snps,mixed-burst;
--              snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
--              snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
--              snps,tso;
--              status = "disabled";
--
--              mdio1: mdio {
--                      compatible = "snps,dwmac-mdio";
--                      #address-cells = <0x1>;
--                      #size-cells = <0x0>;
--              };
--
--              gmac1_stmmac_axi_setup: stmmac-axi-config {
--                      snps,blen = <0 0 0 0 16 8 4>;
--                      snps,wr_osr_lmt = <4>;
--                      snps,rd_osr_lmt = <8>;
--              };
--
--              gmac1_mtl_rx_setup: rx-queues-config {
--                      snps,rx-queues-to-use = <2>;
--                      queue0 {};
--                      queue1 {};
--              };
--
--              gmac1_mtl_tx_setup: tx-queues-config {
--                      snps,tx-queues-to-use = <2>;
--                      queue0 {};
--                      queue1 {};
--              };
--      };
--
--      sata0: sata@fe210000 {
--              compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci";
--              reg = <0 0xfe210000 0 0x1000>;
--              interrupts = <GIC_SPI 273 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru ACLK_SATA0>, <&cru CLK_PMALIVE0>,
--                       <&cru CLK_RXOOB0>, <&cru CLK_PIPEPHY0_REF>,
--                       <&cru CLK_PIPEPHY0_PIPE_ASIC_G>;
--              clock-names = "sata", "pmalive", "rxoob", "ref", "asic";
--              ports-implemented = <0x1>;
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--
--              sata-port@0 {
--                      reg = <0>;
--                      hba-port-cap = <HBA_PORT_FBSCP>;
--                      phys = <&combphy0_ps PHY_TYPE_SATA>;
--                      phy-names = "sata-phy";
--                      snps,rx-ts-max = <32>;
--                      snps,tx-ts-max = <32>;
--              };
--      };
--
--      sata2: sata@fe230000 {
--              compatible = "rockchip,rk3588-dwc-ahci", "snps,dwc-ahci";
--              reg = <0 0xfe230000 0 0x1000>;
--              interrupts = <GIC_SPI 275 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru ACLK_SATA2>, <&cru CLK_PMALIVE2>,
--                       <&cru CLK_RXOOB2>, <&cru CLK_PIPEPHY2_REF>,
--                       <&cru CLK_PIPEPHY2_PIPE_ASIC_G>;
--              clock-names = "sata", "pmalive", "rxoob", "ref", "asic";
--              ports-implemented = <0x1>;
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--
--              sata-port@0 {
--                      reg = <0>;
--                      hba-port-cap = <HBA_PORT_FBSCP>;
--                      phys = <&combphy2_psu PHY_TYPE_SATA>;
--                      phy-names = "sata-phy";
--                      snps,rx-ts-max = <32>;
--                      snps,tx-ts-max = <32>;
--              };
--      };
--
--      sfc: spi@fe2b0000 {
--              compatible = "rockchip,sfc";
--              reg = <0x0 0xfe2b0000 0x0 0x4000>;
--              interrupts = <GIC_SPI 206 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_SFC>, <&cru HCLK_SFC>;
--              clock-names = "clk_sfc", "hclk_sfc";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      sdmmc: mmc@fe2c0000 {
--              compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc";
--              reg = <0x0 0xfe2c0000 0x0 0x4000>;
--              interrupts = <GIC_SPI 203 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&scmi_clk SCMI_HCLK_SD>, <&scmi_clk SCMI_CCLK_SD>,
--                       <&cru SCLK_SDMMC_DRV>, <&cru SCLK_SDMMC_SAMPLE>;
--              clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
--              fifo-depth = <0x100>;
--              max-frequency = <200000000>;
--              pinctrl-names = "default";
--              pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>;
--              power-domains = <&power RK3588_PD_SDMMC>;
--              status = "disabled";
--      };
--
--      sdio: mmc@fe2d0000 {
--              compatible = "rockchip,rk3588-dw-mshc", "rockchip,rk3288-dw-mshc";
--              reg = <0x00 0xfe2d0000 0x00 0x4000>;
--              interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru HCLK_SDIO>, <&cru CCLK_SRC_SDIO>,
--                       <&cru SCLK_SDIO_DRV>, <&cru SCLK_SDIO_SAMPLE>;
--              clock-names = "biu", "ciu", "ciu-drive", "ciu-sample";
--              fifo-depth = <0x100>;
--              max-frequency = <200000000>;
--              pinctrl-names = "default";
--              pinctrl-0 = <&sdiom1_pins>;
--              power-domains = <&power RK3588_PD_SDIO>;
--              status = "disabled";
--      };
--
--      sdhci: mmc@fe2e0000 {
--              compatible = "rockchip,rk3588-dwcmshc";
--              reg = <0x0 0xfe2e0000 0x0 0x10000>;
--              interrupts = <GIC_SPI 205 IRQ_TYPE_LEVEL_HIGH 0>;
--              assigned-clocks = <&cru BCLK_EMMC>, <&cru TMCLK_EMMC>, <&cru CCLK_EMMC>;
--              assigned-clock-rates = <200000000>, <24000000>, <200000000>;
--              clocks = <&cru CCLK_EMMC>, <&cru HCLK_EMMC>,
--                       <&cru ACLK_EMMC>, <&cru BCLK_EMMC>,
--                       <&cru TMCLK_EMMC>;
--              clock-names = "core", "bus", "axi", "block", "timer";
--              max-frequency = <200000000>;
--              pinctrl-0 = <&emmc_rstnout>, <&emmc_bus8>, <&emmc_clk>,
--                          <&emmc_cmd>, <&emmc_data_strobe>;
--              pinctrl-names = "default";
--              resets = <&cru SRST_C_EMMC>, <&cru SRST_H_EMMC>,
--                       <&cru SRST_A_EMMC>, <&cru SRST_B_EMMC>,
--                       <&cru SRST_T_EMMC>;
--              reset-names = "core", "bus", "axi", "block", "timer";
--              status = "disabled";
--      };
--
--      i2s0_8ch: i2s@fe470000 {
--              compatible = "rockchip,rk3588-i2s-tdm";
--              reg = <0x0 0xfe470000 0x0 0x1000>;
--              interrupts = <GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S0_8CH_TX>, <&cru MCLK_I2S0_8CH_RX>, <&cru HCLK_I2S0_8CH>;
--              clock-names = "mclk_tx", "mclk_rx", "hclk";
--              assigned-clocks = <&cru CLK_I2S0_8CH_TX_SRC>, <&cru CLK_I2S0_8CH_RX_SRC>;
--              assigned-clock-parents = <&cru PLL_AUPLL>, <&cru PLL_AUPLL>;
--              dmas = <&dmac0 0>, <&dmac0 1>;
--              dma-names = "tx", "rx";
--              power-domains = <&power RK3588_PD_AUDIO>;
--              resets = <&cru SRST_M_I2S0_8CH_TX>, <&cru SRST_M_I2S0_8CH_RX>;
--              reset-names = "tx-m", "rx-m";
--              rockchip,trcm-sync-tx-only;
--              pinctrl-names = "default";
--              pinctrl-0 = <&i2s0_lrck
--                           &i2s0_sclk
--                           &i2s0_sdi0
--                           &i2s0_sdi1
--                           &i2s0_sdi2
--                           &i2s0_sdi3
--                           &i2s0_sdo0
--                           &i2s0_sdo1
--                           &i2s0_sdo2
--                           &i2s0_sdo3>;
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      i2s1_8ch: i2s@fe480000 {
--              compatible = "rockchip,rk3588-i2s-tdm";
--              reg = <0x0 0xfe480000 0x0 0x1000>;
--              interrupts = <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S1_8CH_TX>, <&cru MCLK_I2S1_8CH_RX>, <&cru HCLK_I2S1_8CH>;
--              clock-names = "mclk_tx", "mclk_rx", "hclk";
--              dmas = <&dmac0 2>, <&dmac0 3>;
--              dma-names = "tx", "rx";
--              resets = <&cru SRST_M_I2S1_8CH_TX>, <&cru SRST_M_I2S1_8CH_RX>;
--              reset-names = "tx-m", "rx-m";
--              rockchip,trcm-sync-tx-only;
--              pinctrl-names = "default";
--              pinctrl-0 = <&i2s1m0_lrck
--                           &i2s1m0_sclk
--                           &i2s1m0_sdi0
--                           &i2s1m0_sdi1
--                           &i2s1m0_sdi2
--                           &i2s1m0_sdi3
--                           &i2s1m0_sdo0
--                           &i2s1m0_sdo1
--                           &i2s1m0_sdo2
--                           &i2s1m0_sdo3>;
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      i2s2_2ch: i2s@fe490000 {
--              compatible = "rockchip,rk3588-i2s", "rockchip,rk3066-i2s";
--              reg = <0x0 0xfe490000 0x0 0x1000>;
--              interrupts = <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S2_2CH>, <&cru HCLK_I2S2_2CH>;
--              clock-names = "i2s_clk", "i2s_hclk";
--              assigned-clocks = <&cru CLK_I2S2_2CH_SRC>;
--              assigned-clock-parents = <&cru PLL_AUPLL>;
--              dmas = <&dmac1 0>, <&dmac1 1>;
--              dma-names = "tx", "rx";
--              power-domains = <&power RK3588_PD_AUDIO>;
--              pinctrl-names = "default";
--              pinctrl-0 = <&i2s2m1_lrck
--                           &i2s2m1_sclk
--                           &i2s2m1_sdi
--                           &i2s2m1_sdo>;
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      i2s3_2ch: i2s@fe4a0000 {
--              compatible = "rockchip,rk3588-i2s", "rockchip,rk3066-i2s";
--              reg = <0x0 0xfe4a0000 0x0 0x1000>;
--              interrupts = <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru MCLK_I2S3_2CH>, <&cru HCLK_I2S3_2CH>;
--              clock-names = "i2s_clk", "i2s_hclk";
--              assigned-clocks = <&cru CLK_I2S3_2CH_SRC>;
--              assigned-clock-parents = <&cru PLL_AUPLL>;
--              dmas = <&dmac1 2>, <&dmac1 3>;
--              dma-names = "tx", "rx";
--              power-domains = <&power RK3588_PD_AUDIO>;
--              pinctrl-names = "default";
--              pinctrl-0 = <&i2s3_lrck
--                           &i2s3_sclk
--                           &i2s3_sdi
--                           &i2s3_sdo>;
--              #sound-dai-cells = <0>;
--              status = "disabled";
--      };
--
--      gic: interrupt-controller@fe600000 {
--              compatible = "arm,gic-v3";
--              reg = <0x0 0xfe600000 0 0x10000>, /* GICD */
--                    <0x0 0xfe680000 0 0x100000>; /* GICR */
--              interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>;
--              interrupt-controller;
--              mbi-alias = <0x0 0xfe610000>;
--              mbi-ranges = <424 56>;
--              msi-controller;
--              ranges;
--              #address-cells = <2>;
--              #interrupt-cells = <4>;
--              #size-cells = <2>;
--
--              its0: msi-controller@fe640000 {
--                      compatible = "arm,gic-v3-its";
--                      reg = <0x0 0xfe640000 0x0 0x20000>;
--                      msi-controller;
--                      #msi-cells = <1>;
--              };
--
--              its1: msi-controller@fe660000 {
--                      compatible = "arm,gic-v3-its";
--                      reg = <0x0 0xfe660000 0x0 0x20000>;
--                      msi-controller;
--                      #msi-cells = <1>;
--              };
--
--              ppi-partitions {
--                      ppi_partition0: interrupt-partition-0 {
--                              affinity = <&cpu_l0 &cpu_l1 &cpu_l2 &cpu_l3>;
--                      };
--
--                      ppi_partition1: interrupt-partition-1 {
--                              affinity = <&cpu_b0 &cpu_b1 &cpu_b2 &cpu_b3>;
--                      };
--              };
--      };
--
--      dmac0: dma-controller@fea10000 {
--              compatible = "arm,pl330", "arm,primecell";
--              reg = <0x0 0xfea10000 0x0 0x4000>;
--              interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH 0>;
--              arm,pl330-periph-burst;
--              clocks = <&cru ACLK_DMAC0>;
--              clock-names = "apb_pclk";
--              #dma-cells = <1>;
--      };
--
--      dmac1: dma-controller@fea30000 {
--              compatible = "arm,pl330", "arm,primecell";
--              reg = <0x0 0xfea30000 0x0 0x4000>;
--              interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH 0>;
--              arm,pl330-periph-burst;
--              clocks = <&cru ACLK_DMAC1>;
--              clock-names = "apb_pclk";
--              #dma-cells = <1>;
--      };
--
--      i2c1: i2c@fea90000 {
--              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
--              reg = <0x0 0xfea90000 0x0 0x1000>;
--              clocks = <&cru CLK_I2C1>, <&cru PCLK_I2C1>;
--              clock-names = "i2c", "pclk";
--              interrupts = <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH 0>;
--              pinctrl-0 = <&i2c1m0_xfer>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      i2c2: i2c@feaa0000 {
--              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
--              reg = <0x0 0xfeaa0000 0x0 0x1000>;
--              clocks = <&cru CLK_I2C2>, <&cru PCLK_I2C2>;
--              clock-names = "i2c", "pclk";
--              interrupts = <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH 0>;
--              pinctrl-0 = <&i2c2m0_xfer>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      i2c3: i2c@feab0000 {
--              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
--              reg = <0x0 0xfeab0000 0x0 0x1000>;
--              clocks = <&cru CLK_I2C3>, <&cru PCLK_I2C3>;
--              clock-names = "i2c", "pclk";
--              interrupts = <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH 0>;
--              pinctrl-0 = <&i2c3m0_xfer>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      i2c4: i2c@feac0000 {
--              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
--              reg = <0x0 0xfeac0000 0x0 0x1000>;
--              clocks = <&cru CLK_I2C4>, <&cru PCLK_I2C4>;
--              clock-names = "i2c", "pclk";
--              interrupts = <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH 0>;
--              pinctrl-0 = <&i2c4m0_xfer>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      i2c5: i2c@fead0000 {
--              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
--              reg = <0x0 0xfead0000 0x0 0x1000>;
--              clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
--              clock-names = "i2c", "pclk";
--              interrupts = <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH 0>;
--              pinctrl-0 = <&i2c5m0_xfer>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      timer0: timer@feae0000 {
--              compatible = "rockchip,rk3588-timer", "rockchip,rk3288-timer";
--              reg = <0x0 0xfeae0000 0x0 0x20>;
--              interrupts = <GIC_SPI 289 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru PCLK_BUSTIMER0>, <&cru CLK_BUSTIMER0>;
--              clock-names = "pclk", "timer";
--      };
--
--      wdt: watchdog@feaf0000 {
--              compatible = "rockchip,rk3588-wdt", "snps,dw-wdt";
--              reg = <0x0 0xfeaf0000 0x0 0x100>;
--              clocks = <&cru TCLK_WDT0>, <&cru PCLK_WDT0>;
--              clock-names = "tclk", "pclk";
--              interrupts = <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH 0>;
--      };
--
--      spi0: spi@feb00000 {
--              compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
--              reg = <0x0 0xfeb00000 0x0 0x1000>;
--              interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru CLK_SPI0>, <&cru PCLK_SPI0>;
--              clock-names = "spiclk", "apb_pclk";
--              dmas = <&dmac0 14>, <&dmac0 15>;
--              dma-names = "tx", "rx";
--              num-cs = <2>;
--              pinctrl-0 = <&spi0m0_cs0 &spi0m0_cs1 &spi0m0_pins>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      spi1: spi@feb10000 {
--              compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
--              reg = <0x0 0xfeb10000 0x0 0x1000>;
--              interrupts = <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru CLK_SPI1>, <&cru PCLK_SPI1>;
--              clock-names = "spiclk", "apb_pclk";
--              dmas = <&dmac0 16>, <&dmac0 17>;
--              dma-names = "tx", "rx";
--              num-cs = <2>;
--              pinctrl-0 = <&spi1m1_cs0 &spi1m1_cs1 &spi1m1_pins>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      spi2: spi@feb20000 {
--              compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
--              reg = <0x0 0xfeb20000 0x0 0x1000>;
--              interrupts = <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru CLK_SPI2>, <&cru PCLK_SPI2>;
--              clock-names = "spiclk", "apb_pclk";
--              dmas = <&dmac1 15>, <&dmac1 16>;
--              dma-names = "tx", "rx";
--              num-cs = <2>;
--              pinctrl-0 = <&spi2m2_cs0 &spi2m2_cs1 &spi2m2_pins>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      spi3: spi@feb30000 {
--              compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
--              reg = <0x0 0xfeb30000 0x0 0x1000>;
--              interrupts = <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru CLK_SPI3>, <&cru PCLK_SPI3>;
--              clock-names = "spiclk", "apb_pclk";
--              dmas = <&dmac1 17>, <&dmac1 18>;
--              dma-names = "tx", "rx";
--              num-cs = <2>;
--              pinctrl-0 = <&spi3m1_cs0 &spi3m1_cs1 &spi3m1_pins>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      uart1: serial@feb40000 {
--              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
--              reg = <0x0 0xfeb40000 0x0 0x100>;
--              interrupts = <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_UART1>, <&cru PCLK_UART1>;
--              clock-names = "baudclk", "apb_pclk";
--              dmas = <&dmac0 8>, <&dmac0 9>;
--              dma-names = "tx", "rx";
--              pinctrl-0 = <&uart1m1_xfer>;
--              pinctrl-names = "default";
--              reg-io-width = <4>;
--              reg-shift = <2>;
--              status = "disabled";
--      };
--
--      uart2: serial@feb50000 {
--              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
--              reg = <0x0 0xfeb50000 0x0 0x100>;
--              interrupts = <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_UART2>, <&cru PCLK_UART2>;
--              clock-names = "baudclk", "apb_pclk";
--              dmas = <&dmac0 10>, <&dmac0 11>;
--              dma-names = "tx", "rx";
--              pinctrl-0 = <&uart2m1_xfer>;
--              pinctrl-names = "default";
--              reg-io-width = <4>;
--              reg-shift = <2>;
--              status = "disabled";
--      };
--
--      uart3: serial@feb60000 {
--              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
--              reg = <0x0 0xfeb60000 0x0 0x100>;
--              interrupts = <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_UART3>, <&cru PCLK_UART3>;
--              clock-names = "baudclk", "apb_pclk";
--              dmas = <&dmac0 12>, <&dmac0 13>;
--              dma-names = "tx", "rx";
--              pinctrl-0 = <&uart3m1_xfer>;
--              pinctrl-names = "default";
--              reg-io-width = <4>;
--              reg-shift = <2>;
--              status = "disabled";
--      };
--
--      uart4: serial@feb70000 {
--              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
--              reg = <0x0 0xfeb70000 0x0 0x100>;
--              interrupts = <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_UART4>, <&cru PCLK_UART4>;
--              clock-names = "baudclk", "apb_pclk";
--              dmas = <&dmac1 9>, <&dmac1 10>;
--              dma-names = "tx", "rx";
--              pinctrl-0 = <&uart4m1_xfer>;
--              pinctrl-names = "default";
--              reg-io-width = <4>;
--              reg-shift = <2>;
--              status = "disabled";
--      };
--
--      uart5: serial@feb80000 {
--              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
--              reg = <0x0 0xfeb80000 0x0 0x100>;
--              interrupts = <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_UART5>, <&cru PCLK_UART5>;
--              clock-names = "baudclk", "apb_pclk";
--              dmas = <&dmac1 11>, <&dmac1 12>;
--              dma-names = "tx", "rx";
--              pinctrl-0 = <&uart5m1_xfer>;
--              pinctrl-names = "default";
--              reg-io-width = <4>;
--              reg-shift = <2>;
--              status = "disabled";
--      };
--
--      uart6: serial@feb90000 {
--              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
--              reg = <0x0 0xfeb90000 0x0 0x100>;
--              interrupts = <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_UART6>, <&cru PCLK_UART6>;
--              clock-names = "baudclk", "apb_pclk";
--              dmas = <&dmac1 13>, <&dmac1 14>;
--              dma-names = "tx", "rx";
--              pinctrl-0 = <&uart6m1_xfer>;
--              pinctrl-names = "default";
--              reg-io-width = <4>;
--              reg-shift = <2>;
--              status = "disabled";
--      };
--
--      uart7: serial@feba0000 {
--              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
--              reg = <0x0 0xfeba0000 0x0 0x100>;
--              interrupts = <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_UART7>, <&cru PCLK_UART7>;
--              clock-names = "baudclk", "apb_pclk";
--              dmas = <&dmac2 7>, <&dmac2 8>;
--              dma-names = "tx", "rx";
--              pinctrl-0 = <&uart7m1_xfer>;
--              pinctrl-names = "default";
--              reg-io-width = <4>;
--              reg-shift = <2>;
--              status = "disabled";
--      };
--
--      uart8: serial@febb0000 {
--              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
--              reg = <0x0 0xfebb0000 0x0 0x100>;
--              interrupts = <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_UART8>, <&cru PCLK_UART8>;
--              clock-names = "baudclk", "apb_pclk";
--              dmas = <&dmac2 9>, <&dmac2 10>;
--              dma-names = "tx", "rx";
--              pinctrl-0 = <&uart8m1_xfer>;
--              pinctrl-names = "default";
--              reg-io-width = <4>;
--              reg-shift = <2>;
--              status = "disabled";
--      };
--
--      uart9: serial@febc0000 {
--              compatible = "rockchip,rk3588-uart", "snps,dw-apb-uart";
--              reg = <0x0 0xfebc0000 0x0 0x100>;
--              interrupts = <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru SCLK_UART9>, <&cru PCLK_UART9>;
--              clock-names = "baudclk", "apb_pclk";
--              dmas = <&dmac2 11>, <&dmac2 12>;
--              dma-names = "tx", "rx";
--              pinctrl-0 = <&uart9m1_xfer>;
--              pinctrl-names = "default";
--              reg-io-width = <4>;
--              reg-shift = <2>;
--              status = "disabled";
--      };
--
--      pwm4: pwm@febd0000 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebd0000 0x0 0x10>;
--              clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm4m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm5: pwm@febd0010 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebd0010 0x0 0x10>;
--              clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm5m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm6: pwm@febd0020 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebd0020 0x0 0x10>;
--              clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm6m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm7: pwm@febd0030 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebd0030 0x0 0x10>;
--              clocks = <&cru CLK_PWM1>, <&cru PCLK_PWM1>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm7m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm8: pwm@febe0000 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebe0000 0x0 0x10>;
--              clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm8m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm9: pwm@febe0010 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebe0010 0x0 0x10>;
--              clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm9m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm10: pwm@febe0020 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebe0020 0x0 0x10>;
--              clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm10m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm11: pwm@febe0030 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebe0030 0x0 0x10>;
--              clocks = <&cru CLK_PWM2>, <&cru PCLK_PWM2>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm11m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm12: pwm@febf0000 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebf0000 0x0 0x10>;
--              clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm12m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm13: pwm@febf0010 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebf0010 0x0 0x10>;
--              clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm13m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm14: pwm@febf0020 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebf0020 0x0 0x10>;
--              clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm14m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      pwm15: pwm@febf0030 {
--              compatible = "rockchip,rk3588-pwm", "rockchip,rk3328-pwm";
--              reg = <0x0 0xfebf0030 0x0 0x10>;
--              clocks = <&cru CLK_PWM3>, <&cru PCLK_PWM3>;
--              clock-names = "pwm", "pclk";
--              pinctrl-0 = <&pwm15m0_pins>;
--              pinctrl-names = "default";
--              #pwm-cells = <3>;
--              status = "disabled";
--      };
--
--      tsadc: tsadc@fec00000 {
--              compatible = "rockchip,rk3588-tsadc";
--              reg = <0x0 0xfec00000 0x0 0x400>;
--              interrupts = <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru CLK_TSADC>, <&cru PCLK_TSADC>;
--              clock-names = "tsadc", "apb_pclk";
--              assigned-clocks = <&cru CLK_TSADC>;
--              assigned-clock-rates = <2000000>;
--              resets = <&cru SRST_P_TSADC>, <&cru SRST_TSADC>;
--              reset-names = "tsadc-apb", "tsadc";
--              rockchip,hw-tshut-temp = <120000>;
--              rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
--              rockchip,hw-tshut-polarity = <0>; /* tshut polarity 0:LOW 1:HIGH */
--              pinctrl-0 = <&tsadc_gpio_func>;
--              pinctrl-1 = <&tsadc_shut>;
--              pinctrl-names = "gpio", "otpout";
--              #thermal-sensor-cells = <1>;
--              status = "disabled";
--      };
--
--      saradc: adc@fec10000 {
--              compatible = "rockchip,rk3588-saradc";
--              reg = <0x0 0xfec10000 0x0 0x10000>;
--              interrupts = <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH 0>;
--              #io-channel-cells = <1>;
--              clocks = <&cru CLK_SARADC>, <&cru PCLK_SARADC>;
--              clock-names = "saradc", "apb_pclk";
--              resets = <&cru SRST_P_SARADC>;
--              reset-names = "saradc-apb";
--              status = "disabled";
--      };
--
--      i2c6: i2c@fec80000 {
--              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
--              reg = <0x0 0xfec80000 0x0 0x1000>;
--              clocks = <&cru CLK_I2C6>, <&cru PCLK_I2C6>;
--              clock-names = "i2c", "pclk";
--              interrupts = <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH 0>;
--              pinctrl-0 = <&i2c6m0_xfer>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      i2c7: i2c@fec90000 {
--              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
--              reg = <0x0 0xfec90000 0x0 0x1000>;
--              clocks = <&cru CLK_I2C7>, <&cru PCLK_I2C7>;
--              clock-names = "i2c", "pclk";
--              interrupts = <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH 0>;
--              pinctrl-0 = <&i2c7m0_xfer>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      i2c8: i2c@feca0000 {
--              compatible = "rockchip,rk3588-i2c", "rockchip,rk3399-i2c";
--              reg = <0x0 0xfeca0000 0x0 0x1000>;
--              clocks = <&cru CLK_I2C8>, <&cru PCLK_I2C8>;
--              clock-names = "i2c", "pclk";
--              interrupts = <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH 0>;
--              pinctrl-0 = <&i2c8m0_xfer>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      spi4: spi@fecb0000 {
--              compatible = "rockchip,rk3588-spi", "rockchip,rk3066-spi";
--              reg = <0x0 0xfecb0000 0x0 0x1000>;
--              interrupts = <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH 0>;
--              clocks = <&cru CLK_SPI4>, <&cru PCLK_SPI4>;
--              clock-names = "spiclk", "apb_pclk";
--              dmas = <&dmac2 13>, <&dmac2 14>;
--              dma-names = "tx", "rx";
--              num-cs = <2>;
--              pinctrl-0 = <&spi4m0_cs0 &spi4m0_cs1 &spi4m0_pins>;
--              pinctrl-names = "default";
--              #address-cells = <1>;
--              #size-cells = <0>;
--              status = "disabled";
--      };
--
--      otp: efuse@fecc0000 {
--              compatible = "rockchip,rk3588-otp";
--              reg = <0x0 0xfecc0000 0x0 0x400>;
--              clocks = <&cru CLK_OTPC_NS>, <&cru PCLK_OTPC_NS>,
--                       <&cru CLK_OTP_PHY_G>, <&cru CLK_OTPC_ARB>;
--              clock-names = "otp", "apb_pclk", "phy", "arb";
--              resets = <&cru SRST_OTPC_NS>, <&cru SRST_P_OTPC_NS>,
--                       <&cru SRST_OTPC_ARB>;
--              reset-names = "otp", "apb", "arb";
--              #address-cells = <1>;
--              #size-cells = <1>;
--
--              cpu_code: cpu-code@2 {
--                      reg = <0x02 0x2>;
--              };
--
--              otp_id: id@7 {
--                      reg = <0x07 0x10>;
--              };
--
--              cpub0_leakage: cpu-leakage@17 {
--                      reg = <0x17 0x1>;
--              };
--
--              cpub1_leakage: cpu-leakage@18 {
--                      reg = <0x18 0x1>;
--              };
--
--              cpul_leakage: cpu-leakage@19 {
--                      reg = <0x19 0x1>;
--              };
--
--              log_leakage: log-leakage@1a {
--                      reg = <0x1a 0x1>;
--              };
--
--              gpu_leakage: gpu-leakage@1b {
--                      reg = <0x1b 0x1>;
--              };
--
--              otp_cpu_version: cpu-version@1c {
--                      reg = <0x1c 0x1>;
--                      bits = <3 3>;
--              };
--
--              npu_leakage: npu-leakage@28 {
--                      reg = <0x28 0x1>;
--              };
--
--              codec_leakage: codec-leakage@29 {
--                      reg = <0x29 0x1>;
--              };
--      };
--
--      dmac2: dma-controller@fed10000 {
--              compatible = "arm,pl330", "arm,primecell";
--              reg = <0x0 0xfed10000 0x0 0x4000>;
--              interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH 0>,
--                           <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH 0>;
--              arm,pl330-periph-burst;
--              clocks = <&cru ACLK_DMAC2>;
--              clock-names = "apb_pclk";
--              #dma-cells = <1>;
--      };
--
--      hdptxphy_hdmi0: phy@fed60000 {
--              compatible = "rockchip,rk3588-hdptx-phy";
--              reg = <0x0 0xfed60000 0x0 0x2000>;
--              clocks = <&cru CLK_USB2PHY_HDPTXRXPHY_REF>, <&cru PCLK_HDPTX0>;
--              clock-names = "ref", "apb";
--              #phy-cells = <0>;
--              resets = <&cru SRST_HDPTX0>, <&cru SRST_P_HDPTX0>,
--                       <&cru SRST_HDPTX0_INIT>, <&cru SRST_HDPTX0_CMN>,
--                       <&cru SRST_HDPTX0_LANE>, <&cru SRST_HDPTX0_ROPLL>,
--                       <&cru SRST_HDPTX0_LCPLL>;
--              reset-names = "phy", "apb", "init", "cmn", "lane", "ropll",
--                            "lcpll";
--              rockchip,grf = <&hdptxphy0_grf>;
--              status = "disabled";
--      };
--
--      usbdp_phy0: phy@fed80000 {
--              compatible = "rockchip,rk3588-usbdp-phy";
--              reg = <0x0 0xfed80000 0x0 0x10000>;
--              #phy-cells = <1>;
--              clocks = <&cru CLK_USBDPPHY_MIPIDCPPHY_REF>,
--                       <&cru CLK_USBDP_PHY0_IMMORTAL>,
--                       <&cru PCLK_USBDPPHY0>,
--                       <&u2phy0>;
--              clock-names = "refclk", "immortal", "pclk", "utmi";
--              resets = <&cru SRST_USBDP_COMBO_PHY0_INIT>,
--                       <&cru SRST_USBDP_COMBO_PHY0_CMN>,
--                       <&cru SRST_USBDP_COMBO_PHY0_LANE>,
--                       <&cru SRST_USBDP_COMBO_PHY0_PCS>,
--                       <&cru SRST_P_USBDPPHY0>;
--              reset-names = "init", "cmn", "lane", "pcs_apb", "pma_apb";
--              rockchip,u2phy-grf = <&usb2phy0_grf>;
--              rockchip,usb-grf = <&usb_grf>;
--              rockchip,usbdpphy-grf = <&usbdpphy0_grf>;
--              rockchip,vo-grf = <&vo0_grf>;
--              status = "disabled";
--      };
--
--      combphy0_ps: phy@fee00000 {
--              compatible = "rockchip,rk3588-naneng-combphy";
--              reg = <0x0 0xfee00000 0x0 0x100>;
--              clocks = <&cru CLK_REF_PIPE_PHY0>, <&cru PCLK_PCIE_COMBO_PIPE_PHY0>,
--                       <&cru PCLK_PHP_ROOT>;
--              clock-names = "ref", "apb", "pipe";
--              assigned-clocks = <&cru CLK_REF_PIPE_PHY0>;
--              assigned-clock-rates = <100000000>;
--              #phy-cells = <1>;
--              resets = <&cru SRST_REF_PIPE_PHY0>, <&cru SRST_P_PCIE2_PHY0>;
--              reset-names = "phy", "apb";
--              rockchip,pipe-grf = <&php_grf>;
--              rockchip,pipe-phy-grf = <&pipe_phy0_grf>;
--              status = "disabled";
--      };
--
--      combphy2_psu: phy@fee20000 {
--              compatible = "rockchip,rk3588-naneng-combphy";
--              reg = <0x0 0xfee20000 0x0 0x100>;
--              clocks = <&cru CLK_REF_PIPE_PHY2>, <&cru PCLK_PCIE_COMBO_PIPE_PHY2>,
--                       <&cru PCLK_PHP_ROOT>;
--              clock-names = "ref", "apb", "pipe";
--              assigned-clocks = <&cru CLK_REF_PIPE_PHY2>;
--              assigned-clock-rates = <100000000>;
--              #phy-cells = <1>;
--              resets = <&cru SRST_REF_PIPE_PHY2>, <&cru SRST_P_PCIE2_PHY2>;
--              reset-names = "phy", "apb";
--              rockchip,pipe-grf = <&php_grf>;
--              rockchip,pipe-phy-grf = <&pipe_phy2_grf>;
--              status = "disabled";
--      };
--
--      system_sram2: sram@ff001000 {
--              compatible = "mmio-sram";
--              reg = <0x0 0xff001000 0x0 0xef000>;
--              ranges = <0x0 0x0 0xff001000 0xef000>;
--              #address-cells = <1>;
--              #size-cells = <1>;
--      };
--
--      pinctrl: pinctrl {
--              compatible = "rockchip,rk3588-pinctrl";
--              ranges;
--              rockchip,grf = <&ioc>;
--              #address-cells = <2>;
--              #size-cells = <2>;
--
--              gpio0: gpio@fd8a0000 {
--                      compatible = "rockchip,gpio-bank";
--                      reg = <0x0 0xfd8a0000 0x0 0x100>;
--                      interrupts = <GIC_SPI 277 IRQ_TYPE_LEVEL_HIGH 0>;
--                      clocks = <&cru PCLK_GPIO0>, <&cru DBCLK_GPIO0>;
--                      gpio-controller;
--                      gpio-ranges = <&pinctrl 0 0 32>;
--                      interrupt-controller;
--                      #gpio-cells = <2>;
--                      #interrupt-cells = <2>;
--              };
--
--              gpio1: gpio@fec20000 {
--                      compatible = "rockchip,gpio-bank";
--                      reg = <0x0 0xfec20000 0x0 0x100>;
--                      interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH 0>;
--                      clocks = <&cru PCLK_GPIO1>, <&cru DBCLK_GPIO1>;
--                      gpio-controller;
--                      gpio-ranges = <&pinctrl 0 32 32>;
--                      interrupt-controller;
--                      #gpio-cells = <2>;
--                      #interrupt-cells = <2>;
--              };
--
--              gpio2: gpio@fec30000 {
--                      compatible = "rockchip,gpio-bank";
--                      reg = <0x0 0xfec30000 0x0 0x100>;
--                      interrupts = <GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH 0>;
--                      clocks = <&cru PCLK_GPIO2>, <&cru DBCLK_GPIO2>;
--                      gpio-controller;
--                      gpio-ranges = <&pinctrl 0 64 32>;
--                      interrupt-controller;
--                      #gpio-cells = <2>;
--                      #interrupt-cells = <2>;
--              };
--
--              gpio3: gpio@fec40000 {
--                      compatible = "rockchip,gpio-bank";
--                      reg = <0x0 0xfec40000 0x0 0x100>;
--                      interrupts = <GIC_SPI 280 IRQ_TYPE_LEVEL_HIGH 0>;
--                      clocks = <&cru PCLK_GPIO3>, <&cru DBCLK_GPIO3>;
--                      gpio-controller;
--                      gpio-ranges = <&pinctrl 0 96 32>;
--                      interrupt-controller;
--                      #gpio-cells = <2>;
--                      #interrupt-cells = <2>;
--              };
--
--              gpio4: gpio@fec50000 {
--                      compatible = "rockchip,gpio-bank";
--                      reg = <0x0 0xfec50000 0x0 0x100>;
--                      interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH 0>;
--                      clocks = <&cru PCLK_GPIO4>, <&cru DBCLK_GPIO4>;
--                      gpio-controller;
--                      gpio-ranges = <&pinctrl 0 128 32>;
--                      interrupt-controller;
--                      #gpio-cells = <2>;
--                      #interrupt-cells = <2>;
--              };
--      };
--};
--
--#include "rk3588s-pinctrl.dtsi"
-+#include "rk3588-base.dtsi"
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-base-pinctrl.dtsi
-@@ -0,0 +1,3447 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
-+ */
-+
-+#include <dt-bindings/pinctrl/rockchip.h>
-+#include "rockchip-pinconf.dtsi"
-+
-+/*
-+ * This file is auto generated by pin2dts tool, please keep these code
-+ * by adding changes at end of this file.
-+ */
-+&pinctrl {
-+      auddsm {
-+              /omit-if-no-ref/
-+              auddsm_pins: auddsm-pins {
-+                      rockchip,pins =
-+                              /* auddsm_ln */
-+                              <3 RK_PA1 4 &pcfg_pull_none>,
-+                              /* auddsm_lp */
-+                              <3 RK_PA2 4 &pcfg_pull_none>,
-+                              /* auddsm_rn */
-+                              <3 RK_PA3 4 &pcfg_pull_none>,
-+                              /* auddsm_rp */
-+                              <3 RK_PA4 4 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      bt1120 {
-+              /omit-if-no-ref/
-+              bt1120_pins: bt1120-pins {
-+                      rockchip,pins =
-+                              /* bt1120_clkout */
-+                              <4 RK_PB0 2 &pcfg_pull_none>,
-+                              /* bt1120_d0 */
-+                              <4 RK_PA0 2 &pcfg_pull_none>,
-+                              /* bt1120_d1 */
-+                              <4 RK_PA1 2 &pcfg_pull_none>,
-+                              /* bt1120_d2 */
-+                              <4 RK_PA2 2 &pcfg_pull_none>,
-+                              /* bt1120_d3 */
-+                              <4 RK_PA3 2 &pcfg_pull_none>,
-+                              /* bt1120_d4 */
-+                              <4 RK_PA4 2 &pcfg_pull_none>,
-+                              /* bt1120_d5 */
-+                              <4 RK_PA5 2 &pcfg_pull_none>,
-+                              /* bt1120_d6 */
-+                              <4 RK_PA6 2 &pcfg_pull_none>,
-+                              /* bt1120_d7 */
-+                              <4 RK_PA7 2 &pcfg_pull_none>,
-+                              /* bt1120_d8 */
-+                              <4 RK_PB2 2 &pcfg_pull_none>,
-+                              /* bt1120_d9 */
-+                              <4 RK_PB3 2 &pcfg_pull_none>,
-+                              /* bt1120_d10 */
-+                              <4 RK_PB4 2 &pcfg_pull_none>,
-+                              /* bt1120_d11 */
-+                              <4 RK_PB5 2 &pcfg_pull_none>,
-+                              /* bt1120_d12 */
-+                              <4 RK_PB6 2 &pcfg_pull_none>,
-+                              /* bt1120_d13 */
-+                              <4 RK_PB7 2 &pcfg_pull_none>,
-+                              /* bt1120_d14 */
-+                              <4 RK_PC0 2 &pcfg_pull_none>,
-+                              /* bt1120_d15 */
-+                              <4 RK_PC1 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      can0 {
-+              /omit-if-no-ref/
-+              can0m0_pins: can0m0-pins {
-+                      rockchip,pins =
-+                              /* can0_rx_m0 */
-+                              <0 RK_PC0 11 &pcfg_pull_none>,
-+                              /* can0_tx_m0 */
-+                              <0 RK_PB7 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              can0m1_pins: can0m1-pins {
-+                      rockchip,pins =
-+                              /* can0_rx_m1 */
-+                              <4 RK_PD5 9 &pcfg_pull_none>,
-+                              /* can0_tx_m1 */
-+                              <4 RK_PD4 9 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      can1 {
-+              /omit-if-no-ref/
-+              can1m0_pins: can1m0-pins {
-+                      rockchip,pins =
-+                              /* can1_rx_m0 */
-+                              <3 RK_PB5 9 &pcfg_pull_none>,
-+                              /* can1_tx_m0 */
-+                              <3 RK_PB6 9 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              can1m1_pins: can1m1-pins {
-+                      rockchip,pins =
-+                              /* can1_rx_m1 */
-+                              <4 RK_PB2 12 &pcfg_pull_none>,
-+                              /* can1_tx_m1 */
-+                              <4 RK_PB3 12 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      can2 {
-+              /omit-if-no-ref/
-+              can2m0_pins: can2m0-pins {
-+                      rockchip,pins =
-+                              /* can2_rx_m0 */
-+                              <3 RK_PC4 9 &pcfg_pull_none>,
-+                              /* can2_tx_m0 */
-+                              <3 RK_PC5 9 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              can2m1_pins: can2m1-pins {
-+                      rockchip,pins =
-+                              /* can2_rx_m1 */
-+                              <0 RK_PD4 10 &pcfg_pull_none>,
-+                              /* can2_tx_m1 */
-+                              <0 RK_PD5 10 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      cif {
-+              /omit-if-no-ref/
-+              cif_clk: cif-clk {
-+                      rockchip,pins =
-+                              /* cif_clkout */
-+                              <4 RK_PB4 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              cif_dvp_clk: cif-dvp-clk {
-+                      rockchip,pins =
-+                              /* cif_clkin */
-+                              <4 RK_PB0 1 &pcfg_pull_none>,
-+                              /* cif_href */
-+                              <4 RK_PB2 1 &pcfg_pull_none>,
-+                              /* cif_vsync */
-+                              <4 RK_PB3 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              cif_dvp_bus16: cif-dvp-bus16 {
-+                      rockchip,pins =
-+                              /* cif_d8 */
-+                              <3 RK_PC4 1 &pcfg_pull_none>,
-+                              /* cif_d9 */
-+                              <3 RK_PC5 1 &pcfg_pull_none>,
-+                              /* cif_d10 */
-+                              <3 RK_PC6 1 &pcfg_pull_none>,
-+                              /* cif_d11 */
-+                              <3 RK_PC7 1 &pcfg_pull_none>,
-+                              /* cif_d12 */
-+                              <3 RK_PD0 1 &pcfg_pull_none>,
-+                              /* cif_d13 */
-+                              <3 RK_PD1 1 &pcfg_pull_none>,
-+                              /* cif_d14 */
-+                              <3 RK_PD2 1 &pcfg_pull_none>,
-+                              /* cif_d15 */
-+                              <3 RK_PD3 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              cif_dvp_bus8: cif-dvp-bus8 {
-+                      rockchip,pins =
-+                              /* cif_d0 */
-+                              <4 RK_PA0 1 &pcfg_pull_none>,
-+                              /* cif_d1 */
-+                              <4 RK_PA1 1 &pcfg_pull_none>,
-+                              /* cif_d2 */
-+                              <4 RK_PA2 1 &pcfg_pull_none>,
-+                              /* cif_d3 */
-+                              <4 RK_PA3 1 &pcfg_pull_none>,
-+                              /* cif_d4 */
-+                              <4 RK_PA4 1 &pcfg_pull_none>,
-+                              /* cif_d5 */
-+                              <4 RK_PA5 1 &pcfg_pull_none>,
-+                              /* cif_d6 */
-+                              <4 RK_PA6 1 &pcfg_pull_none>,
-+                              /* cif_d7 */
-+                              <4 RK_PA7 1 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      clk32k {
-+              /omit-if-no-ref/
-+              clk32k_in: clk32k-in {
-+                      rockchip,pins =
-+                              /* clk32k_in */
-+                              <0 RK_PB2 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              clk32k_out0: clk32k-out0 {
-+                      rockchip,pins =
-+                              /* clk32k_out0 */
-+                              <0 RK_PB2 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      cpu {
-+              /omit-if-no-ref/
-+              cpu_pins: cpu-pins {
-+                      rockchip,pins =
-+                              /* cpu_big0_avs */
-+                              <0 RK_PD1 2 &pcfg_pull_none>,
-+                              /* cpu_big1_avs */
-+                              <0 RK_PD5 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      ddrphych0 {
-+              /omit-if-no-ref/
-+              ddrphych0_pins: ddrphych0-pins {
-+                      rockchip,pins =
-+                              /* ddrphych0_dtb0 */
-+                              <4 RK_PA0 7 &pcfg_pull_none>,
-+                              /* ddrphych0_dtb1 */
-+                              <4 RK_PA1 7 &pcfg_pull_none>,
-+                              /* ddrphych0_dtb2 */
-+                              <4 RK_PA2 7 &pcfg_pull_none>,
-+                              /* ddrphych0_dtb3 */
-+                              <4 RK_PA3 7 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      ddrphych1 {
-+              /omit-if-no-ref/
-+              ddrphych1_pins: ddrphych1-pins {
-+                      rockchip,pins =
-+                              /* ddrphych1_dtb0 */
-+                              <4 RK_PA4 7 &pcfg_pull_none>,
-+                              /* ddrphych1_dtb1 */
-+                              <4 RK_PA5 7 &pcfg_pull_none>,
-+                              /* ddrphych1_dtb2 */
-+                              <4 RK_PA6 7 &pcfg_pull_none>,
-+                              /* ddrphych1_dtb3 */
-+                              <4 RK_PA7 7 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      ddrphych2 {
-+              /omit-if-no-ref/
-+              ddrphych2_pins: ddrphych2-pins {
-+                      rockchip,pins =
-+                              /* ddrphych2_dtb0 */
-+                              <4 RK_PB0 7 &pcfg_pull_none>,
-+                              /* ddrphych2_dtb1 */
-+                              <4 RK_PB1 7 &pcfg_pull_none>,
-+                              /* ddrphych2_dtb2 */
-+                              <4 RK_PB2 7 &pcfg_pull_none>,
-+                              /* ddrphych2_dtb3 */
-+                              <4 RK_PB3 7 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      ddrphych3 {
-+              /omit-if-no-ref/
-+              ddrphych3_pins: ddrphych3-pins {
-+                      rockchip,pins =
-+                              /* ddrphych3_dtb0 */
-+                              <4 RK_PB4 7 &pcfg_pull_none>,
-+                              /* ddrphych3_dtb1 */
-+                              <4 RK_PB5 7 &pcfg_pull_none>,
-+                              /* ddrphych3_dtb2 */
-+                              <4 RK_PB6 7 &pcfg_pull_none>,
-+                              /* ddrphych3_dtb3 */
-+                              <4 RK_PB7 7 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      dp0 {
-+              /omit-if-no-ref/
-+              dp0m0_pins: dp0m0-pins {
-+                      rockchip,pins =
-+                              /* dp0_hpdin_m0 */
-+                              <4 RK_PB4 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              dp0m1_pins: dp0m1-pins {
-+                      rockchip,pins =
-+                              /* dp0_hpdin_m1 */
-+                              <0 RK_PC4 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              dp0m2_pins: dp0m2-pins {
-+                      rockchip,pins =
-+                              /* dp0_hpdin_m2 */
-+                              <1 RK_PA0 5 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      dp1 {
-+              /omit-if-no-ref/
-+              dp1m0_pins: dp1m0-pins {
-+                      rockchip,pins =
-+                              /* dp1_hpdin_m0 */
-+                              <3 RK_PD5 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              dp1m1_pins: dp1m1-pins {
-+                      rockchip,pins =
-+                              /* dp1_hpdin_m1 */
-+                              <0 RK_PC5 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              dp1m2_pins: dp1m2-pins {
-+                      rockchip,pins =
-+                              /* dp1_hpdin_m2 */
-+                              <1 RK_PA1 5 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      emmc {
-+              /omit-if-no-ref/
-+              emmc_rstnout: emmc-rstnout {
-+                      rockchip,pins =
-+                              /* emmc_rstn */
-+                              <2 RK_PA3 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              emmc_bus8: emmc-bus8 {
-+                      rockchip,pins =
-+                              /* emmc_d0 */
-+                              <2 RK_PD0 1 &pcfg_pull_up_drv_level_2>,
-+                              /* emmc_d1 */
-+                              <2 RK_PD1 1 &pcfg_pull_up_drv_level_2>,
-+                              /* emmc_d2 */
-+                              <2 RK_PD2 1 &pcfg_pull_up_drv_level_2>,
-+                              /* emmc_d3 */
-+                              <2 RK_PD3 1 &pcfg_pull_up_drv_level_2>,
-+                              /* emmc_d4 */
-+                              <2 RK_PD4 1 &pcfg_pull_up_drv_level_2>,
-+                              /* emmc_d5 */
-+                              <2 RK_PD5 1 &pcfg_pull_up_drv_level_2>,
-+                              /* emmc_d6 */
-+                              <2 RK_PD6 1 &pcfg_pull_up_drv_level_2>,
-+                              /* emmc_d7 */
-+                              <2 RK_PD7 1 &pcfg_pull_up_drv_level_2>;
-+              };
-+
-+              /omit-if-no-ref/
-+              emmc_clk: emmc-clk {
-+                      rockchip,pins =
-+                              /* emmc_clkout */
-+                              <2 RK_PA1 1 &pcfg_pull_up_drv_level_2>;
-+              };
-+
-+              /omit-if-no-ref/
-+              emmc_cmd: emmc-cmd {
-+                      rockchip,pins =
-+                              /* emmc_cmd */
-+                              <2 RK_PA0 1 &pcfg_pull_up_drv_level_2>;
-+              };
-+
-+              /omit-if-no-ref/
-+              emmc_data_strobe: emmc-data-strobe {
-+                      rockchip,pins =
-+                              /* emmc_data_strobe */
-+                              <2 RK_PA2 1 &pcfg_pull_down>;
-+              };
-+      };
-+
-+      eth1 {
-+              /omit-if-no-ref/
-+              eth1_pins: eth1-pins {
-+                      rockchip,pins =
-+                              /* eth1_refclko_25m */
-+                              <3 RK_PA6 1 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      fspi {
-+              /omit-if-no-ref/
-+              fspim0_pins: fspim0-pins {
-+                      rockchip,pins =
-+                              /* fspi_clk_m0 */
-+                              <2 RK_PA0 2 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_cs0n_m0 */
-+                              <2 RK_PD6 2 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d0_m0 */
-+                              <2 RK_PD0 2 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d1_m0 */
-+                              <2 RK_PD1 2 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d2_m0 */
-+                              <2 RK_PD2 2 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d3_m0 */
-+                              <2 RK_PD3 2 &pcfg_pull_up_drv_level_2>;
-+              };
-+
-+              /omit-if-no-ref/
-+              fspim0_cs1: fspim0-cs1 {
-+                      rockchip,pins =
-+                              /* fspi_cs1n_m0 */
-+                              <2 RK_PD7 2 &pcfg_pull_up_drv_level_2>;
-+              };
-+
-+              /omit-if-no-ref/
-+              fspim2_pins: fspim2-pins {
-+                      rockchip,pins =
-+                              /* fspi_clk_m2 */
-+                              <3 RK_PA5 5 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_cs0n_m2 */
-+                              <3 RK_PC4 2 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d0_m2 */
-+                              <3 RK_PA0 5 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d1_m2 */
-+                              <3 RK_PA1 5 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d2_m2 */
-+                              <3 RK_PA2 5 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d3_m2 */
-+                              <3 RK_PA3 5 &pcfg_pull_up_drv_level_2>;
-+              };
-+
-+              /omit-if-no-ref/
-+              fspim2_cs1: fspim2-cs1 {
-+                      rockchip,pins =
-+                              /* fspi_cs1n_m2 */
-+                              <3 RK_PC5 2 &pcfg_pull_up_drv_level_2>;
-+              };
-+      };
-+
-+      gmac1 {
-+              /omit-if-no-ref/
-+              gmac1_miim: gmac1-miim {
-+                      rockchip,pins =
-+                              /* gmac1_mdc */
-+                              <3 RK_PC2 1 &pcfg_pull_none>,
-+                              /* gmac1_mdio */
-+                              <3 RK_PC3 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac1_clkinout: gmac1-clkinout {
-+                      rockchip,pins =
-+                              /* gmac1_mclkinout */
-+                              <3 RK_PB6 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac1_rx_bus2: gmac1-rx-bus2 {
-+                      rockchip,pins =
-+                              /* gmac1_rxd0 */
-+                              <3 RK_PA7 1 &pcfg_pull_none>,
-+                              /* gmac1_rxd1 */
-+                              <3 RK_PB0 1 &pcfg_pull_none>,
-+                              /* gmac1_rxdv_crs */
-+                              <3 RK_PB1 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac1_tx_bus2: gmac1-tx-bus2 {
-+                      rockchip,pins =
-+                              /* gmac1_txd0 */
-+                              <3 RK_PB3 1 &pcfg_pull_none>,
-+                              /* gmac1_txd1 */
-+                              <3 RK_PB4 1 &pcfg_pull_none>,
-+                              /* gmac1_txen */
-+                              <3 RK_PB5 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac1_rgmii_clk: gmac1-rgmii-clk {
-+                      rockchip,pins =
-+                              /* gmac1_rxclk */
-+                              <3 RK_PA5 1 &pcfg_pull_none>,
-+                              /* gmac1_txclk */
-+                              <3 RK_PA4 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac1_rgmii_bus: gmac1-rgmii-bus {
-+                      rockchip,pins =
-+                              /* gmac1_rxd2 */
-+                              <3 RK_PA2 1 &pcfg_pull_none>,
-+                              /* gmac1_rxd3 */
-+                              <3 RK_PA3 1 &pcfg_pull_none>,
-+                              /* gmac1_txd2 */
-+                              <3 RK_PA0 1 &pcfg_pull_none>,
-+                              /* gmac1_txd3 */
-+                              <3 RK_PA1 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac1_ppsclk: gmac1-ppsclk {
-+                      rockchip,pins =
-+                              /* gmac1_ppsclk */
-+                              <3 RK_PC1 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac1_ppstrig: gmac1-ppstrig {
-+                      rockchip,pins =
-+                              /* gmac1_ppstrig */
-+                              <3 RK_PC0 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac1_ptp_ref_clk: gmac1-ptp-ref-clk {
-+                      rockchip,pins =
-+                              /* gmac1_ptp_ref_clk */
-+                              <3 RK_PB7 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac1_txer: gmac1-txer {
-+                      rockchip,pins =
-+                              /* gmac1_txer */
-+                              <3 RK_PB2 1 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      gpu {
-+              /omit-if-no-ref/
-+              gpu_pins: gpu-pins {
-+                      rockchip,pins =
-+                              /* gpu_avs */
-+                              <0 RK_PC5 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      hdmi {
-+              /omit-if-no-ref/
-+              hdmim0_rx_cec: hdmim0-rx-cec {
-+                      rockchip,pins =
-+                              /* hdmim0_rx_cec */
-+                              <4 RK_PB5 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim0_rx_hpdin: hdmim0-rx-hpdin {
-+                      rockchip,pins =
-+                              /* hdmim0_rx_hpdin */
-+                              <4 RK_PB6 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim0_rx_scl: hdmim0-rx-scl {
-+                      rockchip,pins =
-+                              /* hdmim0_rx_scl */
-+                              <0 RK_PD2 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim0_rx_sda: hdmim0-rx-sda {
-+                      rockchip,pins =
-+                              /* hdmim0_rx_sda */
-+                              <0 RK_PD1 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim0_tx0_cec: hdmim0-tx0-cec {
-+                      rockchip,pins =
-+                              /* hdmim0_tx0_cec */
-+                              <4 RK_PC1 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim0_tx0_hpd: hdmim0-tx0-hpd {
-+                      rockchip,pins =
-+                              /* hdmim0_tx0_hpd */
-+                              <1 RK_PA5 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim0_tx0_scl: hdmim0-tx0-scl {
-+                      rockchip,pins =
-+                              /* hdmim0_tx0_scl */
-+                              <4 RK_PB7 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim0_tx0_sda: hdmim0-tx0-sda {
-+                      rockchip,pins =
-+                              /* hdmim0_tx0_sda */
-+                              <4 RK_PC0 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim0_tx1_hpd: hdmim0-tx1-hpd {
-+                      rockchip,pins =
-+                              /* hdmim0_tx1_hpd */
-+                              <1 RK_PA6 5 &pcfg_pull_none>;
-+              };
-+              /omit-if-no-ref/
-+              hdmim1_rx_cec: hdmim1-rx-cec {
-+                      rockchip,pins =
-+                              /* hdmim1_rx_cec */
-+                              <3 RK_PD1 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_rx_hpdin: hdmim1-rx-hpdin {
-+                      rockchip,pins =
-+                              /* hdmim1_rx_hpdin */
-+                              <3 RK_PD4 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_rx_scl: hdmim1-rx-scl {
-+                      rockchip,pins =
-+                              /* hdmim1_rx_scl */
-+                              <3 RK_PD2 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_rx_sda: hdmim1-rx-sda {
-+                      rockchip,pins =
-+                              /* hdmim1_rx_sda */
-+                              <3 RK_PD3 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_tx0_cec: hdmim1-tx0-cec {
-+                      rockchip,pins =
-+                              /* hdmim1_tx0_cec */
-+                              <0 RK_PD1 13 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_tx0_hpd: hdmim1-tx0-hpd {
-+                      rockchip,pins =
-+                              /* hdmim1_tx0_hpd */
-+                              <3 RK_PD4 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_tx0_scl: hdmim1-tx0-scl {
-+                      rockchip,pins =
-+                              /* hdmim1_tx0_scl */
-+                              <0 RK_PD5 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_tx0_sda: hdmim1-tx0-sda {
-+                      rockchip,pins =
-+                              /* hdmim1_tx0_sda */
-+                              <0 RK_PD4 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_tx1_cec: hdmim1-tx1-cec {
-+                      rockchip,pins =
-+                              /* hdmim1_tx1_cec */
-+                              <0 RK_PD2 13 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_tx1_hpd: hdmim1-tx1-hpd {
-+                      rockchip,pins =
-+                              /* hdmim1_tx1_hpd */
-+                              <3 RK_PB7 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_tx1_scl: hdmim1-tx1-scl {
-+                      rockchip,pins =
-+                              /* hdmim1_tx1_scl */
-+                              <3 RK_PC6 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim1_tx1_sda: hdmim1-tx1-sda {
-+                      rockchip,pins =
-+                              /* hdmim1_tx1_sda */
-+                              <3 RK_PC5 5 &pcfg_pull_none>;
-+              };
-+              /omit-if-no-ref/
-+              hdmim2_rx_cec: hdmim2-rx-cec {
-+                      rockchip,pins =
-+                              /* hdmim2_rx_cec */
-+                              <1 RK_PB7 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim2_rx_hpdin: hdmim2-rx-hpdin {
-+                      rockchip,pins =
-+                              /* hdmim2_rx_hpdin */
-+                              <1 RK_PB6 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim2_rx_scl: hdmim2-rx-scl {
-+                      rockchip,pins =
-+                              /* hdmim2_rx_scl */
-+                              <1 RK_PD6 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim2_rx_sda: hdmim2-rx-sda {
-+                      rockchip,pins =
-+                              /* hdmim2_rx_sda */
-+                              <1 RK_PD7 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim2_tx0_scl: hdmim2-tx0-scl {
-+                      rockchip,pins =
-+                              /* hdmim2_tx0_scl */
-+                              <3 RK_PC7 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim2_tx0_sda: hdmim2-tx0-sda {
-+                      rockchip,pins =
-+                              /* hdmim2_tx0_sda */
-+                              <3 RK_PD0 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim2_tx1_cec: hdmim2-tx1-cec {
-+                      rockchip,pins =
-+                              /* hdmim2_tx1_cec */
-+                              <3 RK_PC4 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim2_tx1_scl: hdmim2-tx1-scl {
-+                      rockchip,pins =
-+                              /* hdmim2_tx1_scl */
-+                              <1 RK_PA4 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim2_tx1_sda: hdmim2-tx1-sda {
-+                      rockchip,pins =
-+                              /* hdmim2_tx1_sda */
-+                              <1 RK_PA3 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmi_debug0: hdmi-debug0 {
-+                      rockchip,pins =
-+                              /* hdmi_debug0 */
-+                              <1 RK_PA7 7 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmi_debug1: hdmi-debug1 {
-+                      rockchip,pins =
-+                              /* hdmi_debug1 */
-+                              <1 RK_PB0 7 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmi_debug2: hdmi-debug2 {
-+                      rockchip,pins =
-+                              /* hdmi_debug2 */
-+                              <1 RK_PB1 7 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmi_debug3: hdmi-debug3 {
-+                      rockchip,pins =
-+                              /* hdmi_debug3 */
-+                              <1 RK_PB2 7 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmi_debug4: hdmi-debug4 {
-+                      rockchip,pins =
-+                              /* hdmi_debug4 */
-+                              <1 RK_PB3 7 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmi_debug5: hdmi-debug5 {
-+                      rockchip,pins =
-+                              /* hdmi_debug5 */
-+                              <1 RK_PB4 7 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmi_debug6: hdmi-debug6 {
-+                      rockchip,pins =
-+                              /* hdmi_debug6 */
-+                              <1 RK_PA0 7 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      i2c0 {
-+              /omit-if-no-ref/
-+              i2c0m0_xfer: i2c0m0-xfer {
-+                      rockchip,pins =
-+                              /* i2c0_scl_m0 */
-+                              <0 RK_PB3 2 &pcfg_pull_none_smt>,
-+                              /* i2c0_sda_m0 */
-+                              <0 RK_PA6 2 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c0m2_xfer: i2c0m2-xfer {
-+                      rockchip,pins =
-+                              /* i2c0_scl_m2 */
-+                              <0 RK_PD1 3 &pcfg_pull_none_smt>,
-+                              /* i2c0_sda_m2 */
-+                              <0 RK_PD2 3 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c1 {
-+              /omit-if-no-ref/
-+              i2c1m0_xfer: i2c1m0-xfer {
-+                      rockchip,pins =
-+                              /* i2c1_scl_m0 */
-+                              <0 RK_PB5 9 &pcfg_pull_none_smt>,
-+                              /* i2c1_sda_m0 */
-+                              <0 RK_PB6 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c1m1_xfer: i2c1m1-xfer {
-+                      rockchip,pins =
-+                              /* i2c1_scl_m1 */
-+                              <0 RK_PB0 2 &pcfg_pull_none_smt>,
-+                              /* i2c1_sda_m1 */
-+                              <0 RK_PB1 2 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c1m2_xfer: i2c1m2-xfer {
-+                      rockchip,pins =
-+                              /* i2c1_scl_m2 */
-+                              <0 RK_PD4 9 &pcfg_pull_none_smt>,
-+                              /* i2c1_sda_m2 */
-+                              <0 RK_PD5 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c1m3_xfer: i2c1m3-xfer {
-+                      rockchip,pins =
-+                              /* i2c1_scl_m3 */
-+                              <2 RK_PD4 9 &pcfg_pull_none_smt>,
-+                              /* i2c1_sda_m3 */
-+                              <2 RK_PD5 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c1m4_xfer: i2c1m4-xfer {
-+                      rockchip,pins =
-+                              /* i2c1_scl_m4 */
-+                              <1 RK_PD2 9 &pcfg_pull_none_smt>,
-+                              /* i2c1_sda_m4 */
-+                              <1 RK_PD3 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c2 {
-+              /omit-if-no-ref/
-+              i2c2m0_xfer: i2c2m0-xfer {
-+                      rockchip,pins =
-+                              /* i2c2_scl_m0 */
-+                              <0 RK_PB7 9 &pcfg_pull_none_smt>,
-+                              /* i2c2_sda_m0 */
-+                              <0 RK_PC0 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c2m2_xfer: i2c2m2-xfer {
-+                      rockchip,pins =
-+                              /* i2c2_scl_m2 */
-+                              <2 RK_PA3 9 &pcfg_pull_none_smt>,
-+                              /* i2c2_sda_m2 */
-+                              <2 RK_PA2 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c2m3_xfer: i2c2m3-xfer {
-+                      rockchip,pins =
-+                              /* i2c2_scl_m3 */
-+                              <1 RK_PC5 9 &pcfg_pull_none_smt>,
-+                              /* i2c2_sda_m3 */
-+                              <1 RK_PC4 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c2m4_xfer: i2c2m4-xfer {
-+                      rockchip,pins =
-+                              /* i2c2_scl_m4 */
-+                              <1 RK_PA1 9 &pcfg_pull_none_smt>,
-+                              /* i2c2_sda_m4 */
-+                              <1 RK_PA0 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c3 {
-+              /omit-if-no-ref/
-+              i2c3m0_xfer: i2c3m0-xfer {
-+                      rockchip,pins =
-+                              /* i2c3_scl_m0 */
-+                              <1 RK_PC1 9 &pcfg_pull_none_smt>,
-+                              /* i2c3_sda_m0 */
-+                              <1 RK_PC0 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c3m1_xfer: i2c3m1-xfer {
-+                      rockchip,pins =
-+                              /* i2c3_scl_m1 */
-+                              <3 RK_PB7 9 &pcfg_pull_none_smt>,
-+                              /* i2c3_sda_m1 */
-+                              <3 RK_PC0 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c3m2_xfer: i2c3m2-xfer {
-+                      rockchip,pins =
-+                              /* i2c3_scl_m2 */
-+                              <4 RK_PA4 9 &pcfg_pull_none_smt>,
-+                              /* i2c3_sda_m2 */
-+                              <4 RK_PA5 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c3m4_xfer: i2c3m4-xfer {
-+                      rockchip,pins =
-+                              /* i2c3_scl_m4 */
-+                              <4 RK_PD0 9 &pcfg_pull_none_smt>,
-+                              /* i2c3_sda_m4 */
-+                              <4 RK_PD1 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c4 {
-+              /omit-if-no-ref/
-+              i2c4m0_xfer: i2c4m0-xfer {
-+                      rockchip,pins =
-+                              /* i2c4_scl_m0 */
-+                              <3 RK_PA6 9 &pcfg_pull_none_smt>,
-+                              /* i2c4_sda_m0 */
-+                              <3 RK_PA5 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c4m2_xfer: i2c4m2-xfer {
-+                      rockchip,pins =
-+                              /* i2c4_scl_m2 */
-+                              <0 RK_PC5 9 &pcfg_pull_none_smt>,
-+                              /* i2c4_sda_m2 */
-+                              <0 RK_PC4 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c4m3_xfer: i2c4m3-xfer {
-+                      rockchip,pins =
-+                              /* i2c4_scl_m3 */
-+                              <1 RK_PA3 9 &pcfg_pull_none_smt>,
-+                              /* i2c4_sda_m3 */
-+                              <1 RK_PA2 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c4m4_xfer: i2c4m4-xfer {
-+                      rockchip,pins =
-+                              /* i2c4_scl_m4 */
-+                              <1 RK_PC7 9 &pcfg_pull_none_smt>,
-+                              /* i2c4_sda_m4 */
-+                              <1 RK_PC6 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c5 {
-+              /omit-if-no-ref/
-+              i2c5m0_xfer: i2c5m0-xfer {
-+                      rockchip,pins =
-+                              /* i2c5_scl_m0 */
-+                              <3 RK_PC7 9 &pcfg_pull_none_smt>,
-+                              /* i2c5_sda_m0 */
-+                              <3 RK_PD0 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c5m1_xfer: i2c5m1-xfer {
-+                      rockchip,pins =
-+                              /* i2c5_scl_m1 */
-+                              <4 RK_PB6 9 &pcfg_pull_none_smt>,
-+                              /* i2c5_sda_m1 */
-+                              <4 RK_PB7 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c5m2_xfer: i2c5m2-xfer {
-+                      rockchip,pins =
-+                              /* i2c5_scl_m2 */
-+                              <4 RK_PA6 9 &pcfg_pull_none_smt>,
-+                              /* i2c5_sda_m2 */
-+                              <4 RK_PA7 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c5m3_xfer: i2c5m3-xfer {
-+                      rockchip,pins =
-+                              /* i2c5_scl_m3 */
-+                              <1 RK_PB6 9 &pcfg_pull_none_smt>,
-+                              /* i2c5_sda_m3 */
-+                              <1 RK_PB7 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c6 {
-+              /omit-if-no-ref/
-+              i2c6m0_xfer: i2c6m0-xfer {
-+                      rockchip,pins =
-+                              /* i2c6_scl_m0 */
-+                              <0 RK_PD0 9 &pcfg_pull_none_smt>,
-+                              /* i2c6_sda_m0 */
-+                              <0 RK_PC7 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c6m1_xfer: i2c6m1-xfer {
-+                      rockchip,pins =
-+                              /* i2c6_scl_m1 */
-+                              <1 RK_PC3 9 &pcfg_pull_none_smt>,
-+                              /* i2c6_sda_m1 */
-+                              <1 RK_PC2 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c6m3_xfer: i2c6m3-xfer {
-+                      rockchip,pins =
-+                              /* i2c6_scl_m3 */
-+                              <4 RK_PB1 9 &pcfg_pull_none_smt>,
-+                              /* i2c6_sda_m3 */
-+                              <4 RK_PB0 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c6m4_xfer: i2c6m4-xfer {
-+                      rockchip,pins =
-+                              /* i2c6_scl_m4 */
-+                              <3 RK_PA1 9 &pcfg_pull_none_smt>,
-+                              /* i2c6_sda_m4 */
-+                              <3 RK_PA0 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c7 {
-+              /omit-if-no-ref/
-+              i2c7m0_xfer: i2c7m0-xfer {
-+                      rockchip,pins =
-+                              /* i2c7_scl_m0 */
-+                              <1 RK_PD0 9 &pcfg_pull_none_smt>,
-+                              /* i2c7_sda_m0 */
-+                              <1 RK_PD1 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c7m2_xfer: i2c7m2-xfer {
-+                      rockchip,pins =
-+                              /* i2c7_scl_m2 */
-+                              <3 RK_PD2 9 &pcfg_pull_none_smt>,
-+                              /* i2c7_sda_m2 */
-+                              <3 RK_PD3 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c7m3_xfer: i2c7m3-xfer {
-+                      rockchip,pins =
-+                              /* i2c7_scl_m3 */
-+                              <4 RK_PB2 9 &pcfg_pull_none_smt>,
-+                              /* i2c7_sda_m3 */
-+                              <4 RK_PB3 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c8 {
-+              /omit-if-no-ref/
-+              i2c8m0_xfer: i2c8m0-xfer {
-+                      rockchip,pins =
-+                              /* i2c8_scl_m0 */
-+                              <4 RK_PD2 9 &pcfg_pull_none_smt>,
-+                              /* i2c8_sda_m0 */
-+                              <4 RK_PD3 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c8m2_xfer: i2c8m2-xfer {
-+                      rockchip,pins =
-+                              /* i2c8_scl_m2 */
-+                              <1 RK_PD6 9 &pcfg_pull_none_smt>,
-+                              /* i2c8_sda_m2 */
-+                              <1 RK_PD7 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c8m3_xfer: i2c8m3-xfer {
-+                      rockchip,pins =
-+                              /* i2c8_scl_m3 */
-+                              <4 RK_PC0 9 &pcfg_pull_none_smt>,
-+                              /* i2c8_sda_m3 */
-+                              <4 RK_PC1 9 &pcfg_pull_none_smt>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2c8m4_xfer: i2c8m4-xfer {
-+                      rockchip,pins =
-+                              /* i2c8_scl_m4 */
-+                              <3 RK_PC2 9 &pcfg_pull_none_smt>,
-+                              /* i2c8_sda_m4 */
-+                              <3 RK_PC3 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2s0 {
-+              /omit-if-no-ref/
-+              i2s0_lrck: i2s0-lrck {
-+                      rockchip,pins =
-+                              /* i2s0_lrck */
-+                              <1 RK_PC5 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s0_mclk: i2s0-mclk {
-+                      rockchip,pins =
-+                              /* i2s0_mclk */
-+                              <1 RK_PC2 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s0_sclk: i2s0-sclk {
-+                      rockchip,pins =
-+                              /* i2s0_sclk */
-+                              <1 RK_PC3 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s0_sdi0: i2s0-sdi0 {
-+                      rockchip,pins =
-+                              /* i2s0_sdi0 */
-+                              <1 RK_PD4 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s0_sdi1: i2s0-sdi1 {
-+                      rockchip,pins =
-+                              /* i2s0_sdi1 */
-+                              <1 RK_PD3 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s0_sdi2: i2s0-sdi2 {
-+                      rockchip,pins =
-+                              /* i2s0_sdi2 */
-+                              <1 RK_PD2 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s0_sdi3: i2s0-sdi3 {
-+                      rockchip,pins =
-+                              /* i2s0_sdi3 */
-+                              <1 RK_PD1 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s0_sdo0: i2s0-sdo0 {
-+                      rockchip,pins =
-+                              /* i2s0_sdo0 */
-+                              <1 RK_PC7 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s0_sdo1: i2s0-sdo1 {
-+                      rockchip,pins =
-+                              /* i2s0_sdo1 */
-+                              <1 RK_PD0 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s0_sdo2: i2s0-sdo2 {
-+                      rockchip,pins =
-+                              /* i2s0_sdo2 */
-+                              <1 RK_PD1 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s0_sdo3: i2s0-sdo3 {
-+                      rockchip,pins =
-+                              /* i2s0_sdo3 */
-+                              <1 RK_PD2 1 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      i2s1 {
-+              /omit-if-no-ref/
-+              i2s1m0_lrck: i2s1m0-lrck {
-+                      rockchip,pins =
-+                              /* i2s1m0_lrck */
-+                              <4 RK_PA2 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m0_mclk: i2s1m0-mclk {
-+                      rockchip,pins =
-+                              /* i2s1m0_mclk */
-+                              <4 RK_PA0 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m0_sclk: i2s1m0-sclk {
-+                      rockchip,pins =
-+                              /* i2s1m0_sclk */
-+                              <4 RK_PA1 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m0_sdi0: i2s1m0-sdi0 {
-+                      rockchip,pins =
-+                              /* i2s1m0_sdi0 */
-+                              <4 RK_PA5 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m0_sdi1: i2s1m0-sdi1 {
-+                      rockchip,pins =
-+                              /* i2s1m0_sdi1 */
-+                              <4 RK_PA6 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m0_sdi2: i2s1m0-sdi2 {
-+                      rockchip,pins =
-+                              /* i2s1m0_sdi2 */
-+                              <4 RK_PA7 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m0_sdi3: i2s1m0-sdi3 {
-+                      rockchip,pins =
-+                              /* i2s1m0_sdi3 */
-+                              <4 RK_PB0 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m0_sdo0: i2s1m0-sdo0 {
-+                      rockchip,pins =
-+                              /* i2s1m0_sdo0 */
-+                              <4 RK_PB1 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m0_sdo1: i2s1m0-sdo1 {
-+                      rockchip,pins =
-+                              /* i2s1m0_sdo1 */
-+                              <4 RK_PB2 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m0_sdo2: i2s1m0-sdo2 {
-+                      rockchip,pins =
-+                              /* i2s1m0_sdo2 */
-+                              <4 RK_PB3 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m0_sdo3: i2s1m0-sdo3 {
-+                      rockchip,pins =
-+                              /* i2s1m0_sdo3 */
-+                              <4 RK_PB4 3 &pcfg_pull_none>;
-+              };
-+              /omit-if-no-ref/
-+              i2s1m1_lrck: i2s1m1-lrck {
-+                      rockchip,pins =
-+                              /* i2s1m1_lrck */
-+                              <0 RK_PB7 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m1_mclk: i2s1m1-mclk {
-+                      rockchip,pins =
-+                              /* i2s1m1_mclk */
-+                              <0 RK_PB5 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m1_sclk: i2s1m1-sclk {
-+                      rockchip,pins =
-+                              /* i2s1m1_sclk */
-+                              <0 RK_PB6 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m1_sdi0: i2s1m1-sdi0 {
-+                      rockchip,pins =
-+                              /* i2s1m1_sdi0 */
-+                              <0 RK_PC5 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m1_sdi1: i2s1m1-sdi1 {
-+                      rockchip,pins =
-+                              /* i2s1m1_sdi1 */
-+                              <0 RK_PC6 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m1_sdi2: i2s1m1-sdi2 {
-+                      rockchip,pins =
-+                              /* i2s1m1_sdi2 */
-+                              <0 RK_PC7 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m1_sdi3: i2s1m1-sdi3 {
-+                      rockchip,pins =
-+                              /* i2s1m1_sdi3 */
-+                              <0 RK_PD0 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m1_sdo0: i2s1m1-sdo0 {
-+                      rockchip,pins =
-+                              /* i2s1m1_sdo0 */
-+                              <0 RK_PD1 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m1_sdo1: i2s1m1-sdo1 {
-+                      rockchip,pins =
-+                              /* i2s1m1_sdo1 */
-+                              <0 RK_PD2 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m1_sdo2: i2s1m1-sdo2 {
-+                      rockchip,pins =
-+                              /* i2s1m1_sdo2 */
-+                              <0 RK_PD4 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s1m1_sdo3: i2s1m1-sdo3 {
-+                      rockchip,pins =
-+                              /* i2s1m1_sdo3 */
-+                              <0 RK_PD5 1 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      i2s2 {
-+              /omit-if-no-ref/
-+              i2s2m0_lrck: i2s2m0-lrck {
-+                      rockchip,pins =
-+                              /* i2s2m0_lrck */
-+                              <2 RK_PC0 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_mclk: i2s2m0-mclk {
-+                      rockchip,pins =
-+                              /* i2s2m0_mclk */
-+                              <2 RK_PB6 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_sclk: i2s2m0-sclk {
-+                      rockchip,pins =
-+                              /* i2s2m0_sclk */
-+                              <2 RK_PB7 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_sdi: i2s2m0-sdi {
-+                      rockchip,pins =
-+                              /* i2s2m0_sdi */
-+                              <2 RK_PC3 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_sdo: i2s2m0-sdo {
-+                      rockchip,pins =
-+                              /* i2s2m0_sdo */
-+                              <4 RK_PC3 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m1_lrck: i2s2m1-lrck {
-+                      rockchip,pins =
-+                              /* i2s2m1_lrck */
-+                              <3 RK_PB6 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m1_mclk: i2s2m1-mclk {
-+                      rockchip,pins =
-+                              /* i2s2m1_mclk */
-+                              <3 RK_PB4 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m1_sclk: i2s2m1-sclk {
-+                      rockchip,pins =
-+                              /* i2s2m1_sclk */
-+                              <3 RK_PB5 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m1_sdi: i2s2m1-sdi {
-+                      rockchip,pins =
-+                              /* i2s2m1_sdi */
-+                              <3 RK_PB2 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m1_sdo: i2s2m1-sdo {
-+                      rockchip,pins =
-+                              /* i2s2m1_sdo */
-+                              <3 RK_PB3 3 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      i2s3 {
-+              /omit-if-no-ref/
-+              i2s3_lrck: i2s3-lrck {
-+                      rockchip,pins =
-+                              /* i2s3_lrck */
-+                              <3 RK_PA2 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s3_mclk: i2s3-mclk {
-+                      rockchip,pins =
-+                              /* i2s3_mclk */
-+                              <3 RK_PA0 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s3_sclk: i2s3-sclk {
-+                      rockchip,pins =
-+                              /* i2s3_sclk */
-+                              <3 RK_PA1 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s3_sdi: i2s3-sdi {
-+                      rockchip,pins =
-+                              /* i2s3_sdi */
-+                              <3 RK_PA4 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s3_sdo: i2s3-sdo {
-+                      rockchip,pins =
-+                              /* i2s3_sdo */
-+                              <3 RK_PA3 3 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      jtag {
-+              /omit-if-no-ref/
-+              jtagm0_pins: jtagm0-pins {
-+                      rockchip,pins =
-+                              /* jtag_tck_m0 */
-+                              <4 RK_PD2 5 &pcfg_pull_none>,
-+                              /* jtag_tms_m0 */
-+                              <4 RK_PD3 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              jtagm1_pins: jtagm1-pins {
-+                      rockchip,pins =
-+                              /* jtag_tck_m1 */
-+                              <4 RK_PD0 5 &pcfg_pull_none>,
-+                              /* jtag_tms_m1 */
-+                              <4 RK_PD1 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              jtagm2_pins: jtagm2-pins {
-+                      rockchip,pins =
-+                              /* jtag_tck_m2 */
-+                              <0 RK_PB5 2 &pcfg_pull_none>,
-+                              /* jtag_tms_m2 */
-+                              <0 RK_PB6 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      litcpu {
-+              /omit-if-no-ref/
-+              litcpu_pins: litcpu-pins {
-+                      rockchip,pins =
-+                              /* litcpu_avs */
-+                              <0 RK_PD3 1 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      mcu {
-+              /omit-if-no-ref/
-+              mcum0_pins: mcum0-pins {
-+                      rockchip,pins =
-+                              /* mcu_jtag_tck_m0 */
-+                              <4 RK_PD4 5 &pcfg_pull_none>,
-+                              /* mcu_jtag_tms_m0 */
-+                              <4 RK_PD5 5 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mcum1_pins: mcum1-pins {
-+                      rockchip,pins =
-+                              /* mcu_jtag_tck_m1 */
-+                              <3 RK_PD4 6 &pcfg_pull_none>,
-+                              /* mcu_jtag_tms_m1 */
-+                              <3 RK_PD5 6 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      mipi {
-+              /omit-if-no-ref/
-+              mipim0_camera0_clk: mipim0-camera0-clk {
-+                      rockchip,pins =
-+                              /* mipim0_camera0_clk */
-+                              <4 RK_PB1 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipim0_camera1_clk: mipim0-camera1-clk {
-+                      rockchip,pins =
-+                              /* mipim0_camera1_clk */
-+                              <1 RK_PB6 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipim0_camera2_clk: mipim0-camera2-clk {
-+                      rockchip,pins =
-+                              /* mipim0_camera2_clk */
-+                              <1 RK_PB7 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipim0_camera3_clk: mipim0-camera3-clk {
-+                      rockchip,pins =
-+                              /* mipim0_camera3_clk */
-+                              <1 RK_PD6 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipim0_camera4_clk: mipim0-camera4-clk {
-+                      rockchip,pins =
-+                              /* mipim0_camera4_clk */
-+                              <1 RK_PD7 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipim1_camera0_clk: mipim1-camera0-clk {
-+                      rockchip,pins =
-+                              /* mipim1_camera0_clk */
-+                              <3 RK_PA5 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipim1_camera1_clk: mipim1-camera1-clk {
-+                      rockchip,pins =
-+                              /* mipim1_camera1_clk */
-+                              <3 RK_PA6 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipim1_camera2_clk: mipim1-camera2-clk {
-+                      rockchip,pins =
-+                              /* mipim1_camera2_clk */
-+                              <3 RK_PA7 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipim1_camera3_clk: mipim1-camera3-clk {
-+                      rockchip,pins =
-+                              /* mipim1_camera3_clk */
-+                              <3 RK_PB0 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipim1_camera4_clk: mipim1-camera4-clk {
-+                      rockchip,pins =
-+                              /* mipim1_camera4_clk */
-+                              <3 RK_PB1 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipi_te0: mipi-te0 {
-+                      rockchip,pins =
-+                              /* mipi_te0 */
-+                              <3 RK_PC2 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              mipi_te1: mipi-te1 {
-+                      rockchip,pins =
-+                              /* mipi_te1 */
-+                              <3 RK_PC3 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      npu {
-+              /omit-if-no-ref/
-+              npu_pins: npu-pins {
-+                      rockchip,pins =
-+                              /* npu_avs */
-+                              <0 RK_PC6 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pcie20x1 {
-+              /omit-if-no-ref/
-+              pcie20x1m0_pins: pcie20x1m0-pins {
-+                      rockchip,pins =
-+                              /* pcie20x1_2_clkreqn_m0 */
-+                              <3 RK_PC7 4 &pcfg_pull_none>,
-+                              /* pcie20x1_2_perstn_m0 */
-+                              <3 RK_PD1 4 &pcfg_pull_none>,
-+                              /* pcie20x1_2_waken_m0 */
-+                              <3 RK_PD0 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie20x1m1_pins: pcie20x1m1-pins {
-+                      rockchip,pins =
-+                              /* pcie20x1_2_clkreqn_m1 */
-+                              <4 RK_PB7 4 &pcfg_pull_none>,
-+                              /* pcie20x1_2_perstn_m1 */
-+                              <4 RK_PC1 4 &pcfg_pull_none>,
-+                              /* pcie20x1_2_waken_m1 */
-+                              <4 RK_PC0 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie20x1_2_button_rstn: pcie20x1-2-button-rstn {
-+                      rockchip,pins =
-+                              /* pcie20x1_2_button_rstn */
-+                              <4 RK_PB3 4 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pcie30phy {
-+              /omit-if-no-ref/
-+              pcie30phy_pins: pcie30phy-pins {
-+                      rockchip,pins =
-+                              /* pcie30phy_dtb0 */
-+                              <1 RK_PC4 4 &pcfg_pull_none>,
-+                              /* pcie30phy_dtb1 */
-+                              <1 RK_PD1 4 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pcie30x1 {
-+              /omit-if-no-ref/
-+              pcie30x1m0_pins: pcie30x1m0-pins {
-+                      rockchip,pins =
-+                              /* pcie30x1_0_clkreqn_m0 */
-+                              <0 RK_PC0 12 &pcfg_pull_none>,
-+                              /* pcie30x1_0_perstn_m0 */
-+                              <0 RK_PC5 12 &pcfg_pull_none>,
-+                              /* pcie30x1_0_waken_m0 */
-+                              <0 RK_PC4 12 &pcfg_pull_none>,
-+                              /* pcie30x1_1_clkreqn_m0 */
-+                              <0 RK_PB5 12 &pcfg_pull_none>,
-+                              /* pcie30x1_1_perstn_m0 */
-+                              <0 RK_PB7 12 &pcfg_pull_none>,
-+                              /* pcie30x1_1_waken_m0 */
-+                              <0 RK_PB6 12 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x1m1_pins: pcie30x1m1-pins {
-+                      rockchip,pins =
-+                              /* pcie30x1_0_clkreqn_m1 */
-+                              <4 RK_PA3 4 &pcfg_pull_none>,
-+                              /* pcie30x1_0_perstn_m1 */
-+                              <4 RK_PA5 4 &pcfg_pull_none>,
-+                              /* pcie30x1_0_waken_m1 */
-+                              <4 RK_PA4 4 &pcfg_pull_none>,
-+                              /* pcie30x1_1_clkreqn_m1 */
-+                              <4 RK_PA0 4 &pcfg_pull_none>,
-+                              /* pcie30x1_1_perstn_m1 */
-+                              <4 RK_PA2 4 &pcfg_pull_none>,
-+                              /* pcie30x1_1_waken_m1 */
-+                              <4 RK_PA1 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x1m2_pins: pcie30x1m2-pins {
-+                      rockchip,pins =
-+                              /* pcie30x1_0_clkreqn_m2 */
-+                              <1 RK_PB5 4 &pcfg_pull_none>,
-+                              /* pcie30x1_0_perstn_m2 */
-+                              <1 RK_PB4 4 &pcfg_pull_none>,
-+                              /* pcie30x1_0_waken_m2 */
-+                              <1 RK_PB3 4 &pcfg_pull_none>,
-+                              /* pcie30x1_1_clkreqn_m2 */
-+                              <1 RK_PA0 4 &pcfg_pull_none>,
-+                              /* pcie30x1_1_perstn_m2 */
-+                              <1 RK_PA7 4 &pcfg_pull_none>,
-+                              /* pcie30x1_1_waken_m2 */
-+                              <1 RK_PA1 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x1_0_button_rstn: pcie30x1-0-button-rstn {
-+                      rockchip,pins =
-+                              /* pcie30x1_0_button_rstn */
-+                              <4 RK_PB1 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x1_1_button_rstn: pcie30x1-1-button-rstn {
-+                      rockchip,pins =
-+                              /* pcie30x1_1_button_rstn */
-+                              <4 RK_PB2 4 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pcie30x2 {
-+              /omit-if-no-ref/
-+              pcie30x2m0_pins: pcie30x2m0-pins {
-+                      rockchip,pins =
-+                              /* pcie30x2_clkreqn_m0 */
-+                              <0 RK_PD1 12 &pcfg_pull_none>,
-+                              /* pcie30x2_perstn_m0 */
-+                              <0 RK_PD4 12 &pcfg_pull_none>,
-+                              /* pcie30x2_waken_m0 */
-+                              <0 RK_PD2 12 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x2m1_pins: pcie30x2m1-pins {
-+                      rockchip,pins =
-+                              /* pcie30x2_clkreqn_m1 */
-+                              <4 RK_PA6 4 &pcfg_pull_none>,
-+                              /* pcie30x2_perstn_m1 */
-+                              <4 RK_PB0 4 &pcfg_pull_none>,
-+                              /* pcie30x2_waken_m1 */
-+                              <4 RK_PA7 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x2m2_pins: pcie30x2m2-pins {
-+                      rockchip,pins =
-+                              /* pcie30x2_clkreqn_m2 */
-+                              <3 RK_PD2 4 &pcfg_pull_none>,
-+                              /* pcie30x2_perstn_m2 */
-+                              <3 RK_PD4 4 &pcfg_pull_none>,
-+                              /* pcie30x2_waken_m2 */
-+                              <3 RK_PD3 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x2m3_pins: pcie30x2m3-pins {
-+                      rockchip,pins =
-+                              /* pcie30x2_clkreqn_m3 */
-+                              <1 RK_PD7 4 &pcfg_pull_none>,
-+                              /* pcie30x2_perstn_m3 */
-+                              <1 RK_PB7 4 &pcfg_pull_none>,
-+                              /* pcie30x2_waken_m3 */
-+                              <1 RK_PB6 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x2_button_rstn: pcie30x2-button-rstn {
-+                      rockchip,pins =
-+                              /* pcie30x2_button_rstn */
-+                              <3 RK_PC1 4 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pcie30x4 {
-+              /omit-if-no-ref/
-+              pcie30x4m0_pins: pcie30x4m0-pins {
-+                      rockchip,pins =
-+                              /* pcie30x4_clkreqn_m0 */
-+                              <0 RK_PC6 12 &pcfg_pull_none>,
-+                              /* pcie30x4_perstn_m0 */
-+                              <0 RK_PD0 12 &pcfg_pull_none>,
-+                              /* pcie30x4_waken_m0 */
-+                              <0 RK_PC7 12 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x4m1_pins: pcie30x4m1-pins {
-+                      rockchip,pins =
-+                              /* pcie30x4_clkreqn_m1 */
-+                              <4 RK_PB4 4 &pcfg_pull_none>,
-+                              /* pcie30x4_perstn_m1 */
-+                              <4 RK_PB6 4 &pcfg_pull_none>,
-+                              /* pcie30x4_waken_m1 */
-+                              <4 RK_PB5 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x4m2_pins: pcie30x4m2-pins {
-+                      rockchip,pins =
-+                              /* pcie30x4_clkreqn_m2 */
-+                              <3 RK_PC4 4 &pcfg_pull_none>,
-+                              /* pcie30x4_perstn_m2 */
-+                              <3 RK_PC6 4 &pcfg_pull_none>,
-+                              /* pcie30x4_waken_m2 */
-+                              <3 RK_PC5 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x4m3_pins: pcie30x4m3-pins {
-+                      rockchip,pins =
-+                              /* pcie30x4_clkreqn_m3 */
-+                              <1 RK_PB0 4 &pcfg_pull_none>,
-+                              /* pcie30x4_perstn_m3 */
-+                              <1 RK_PB2 4 &pcfg_pull_none>,
-+                              /* pcie30x4_waken_m3 */
-+                              <1 RK_PB1 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pcie30x4_button_rstn: pcie30x4-button-rstn {
-+                      rockchip,pins =
-+                              /* pcie30x4_button_rstn */
-+                              <3 RK_PD5 4 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pdm0 {
-+              /omit-if-no-ref/
-+              pdm0m0_clk: pdm0m0-clk {
-+                      rockchip,pins =
-+                              /* pdm0_clk0_m0 */
-+                              <1 RK_PC6 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm0m0_clk1: pdm0m0-clk1 {
-+                      rockchip,pins =
-+                              /* pdm0m0_clk1 */
-+                              <1 RK_PC4 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm0m0_sdi0: pdm0m0-sdi0 {
-+                      rockchip,pins =
-+                              /* pdm0m0_sdi0 */
-+                              <1 RK_PD5 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm0m0_sdi1: pdm0m0-sdi1 {
-+                      rockchip,pins =
-+                              /* pdm0m0_sdi1 */
-+                              <1 RK_PD1 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm0m0_sdi2: pdm0m0-sdi2 {
-+                      rockchip,pins =
-+                              /* pdm0m0_sdi2 */
-+                              <1 RK_PD2 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm0m0_sdi3: pdm0m0-sdi3 {
-+                      rockchip,pins =
-+                              /* pdm0m0_sdi3 */
-+                              <1 RK_PD3 3 &pcfg_pull_none>;
-+              };
-+              /omit-if-no-ref/
-+              pdm0m1_clk: pdm0m1-clk {
-+                      rockchip,pins =
-+                              /* pdm0_clk0_m1 */
-+                              <0 RK_PC0 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm0m1_clk1: pdm0m1-clk1 {
-+                      rockchip,pins =
-+                              /* pdm0m1_clk1 */
-+                              <0 RK_PC4 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm0m1_sdi0: pdm0m1-sdi0 {
-+                      rockchip,pins =
-+                              /* pdm0m1_sdi0 */
-+                              <0 RK_PC7 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm0m1_sdi1: pdm0m1-sdi1 {
-+                      rockchip,pins =
-+                              /* pdm0m1_sdi1 */
-+                              <0 RK_PD0 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm0m1_sdi2: pdm0m1-sdi2 {
-+                      rockchip,pins =
-+                              /* pdm0m1_sdi2 */
-+                              <0 RK_PD4 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm0m1_sdi3: pdm0m1-sdi3 {
-+                      rockchip,pins =
-+                              /* pdm0m1_sdi3 */
-+                              <0 RK_PD6 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pdm1 {
-+              /omit-if-no-ref/
-+              pdm1m0_clk: pdm1m0-clk {
-+                      rockchip,pins =
-+                              /* pdm1_clk0_m0 */
-+                              <4 RK_PD5 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm1m0_clk1: pdm1m0-clk1 {
-+                      rockchip,pins =
-+                              /* pdm1m0_clk1 */
-+                              <4 RK_PD4 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm1m0_sdi0: pdm1m0-sdi0 {
-+                      rockchip,pins =
-+                              /* pdm1m0_sdi0 */
-+                              <4 RK_PD3 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm1m0_sdi1: pdm1m0-sdi1 {
-+                      rockchip,pins =
-+                              /* pdm1m0_sdi1 */
-+                              <4 RK_PD2 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm1m0_sdi2: pdm1m0-sdi2 {
-+                      rockchip,pins =
-+                              /* pdm1m0_sdi2 */
-+                              <4 RK_PD1 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm1m0_sdi3: pdm1m0-sdi3 {
-+                      rockchip,pins =
-+                              /* pdm1m0_sdi3 */
-+                              <4 RK_PD0 2 &pcfg_pull_none>;
-+              };
-+              /omit-if-no-ref/
-+              pdm1m1_clk: pdm1m1-clk {
-+                      rockchip,pins =
-+                              /* pdm1_clk0_m1 */
-+                              <1 RK_PB4 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm1m1_clk1: pdm1m1-clk1 {
-+                      rockchip,pins =
-+                              /* pdm1m1_clk1 */
-+                              <1 RK_PB3 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm1m1_sdi0: pdm1m1-sdi0 {
-+                      rockchip,pins =
-+                              /* pdm1m1_sdi0 */
-+                              <1 RK_PA7 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm1m1_sdi1: pdm1m1-sdi1 {
-+                      rockchip,pins =
-+                              /* pdm1m1_sdi1 */
-+                              <1 RK_PB0 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm1m1_sdi2: pdm1m1-sdi2 {
-+                      rockchip,pins =
-+                              /* pdm1m1_sdi2 */
-+                              <1 RK_PB1 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pdm1m1_sdi3: pdm1m1-sdi3 {
-+                      rockchip,pins =
-+                              /* pdm1m1_sdi3 */
-+                              <1 RK_PB2 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pmic {
-+              /omit-if-no-ref/
-+              pmic_pins: pmic-pins {
-+                      rockchip,pins =
-+                              /* pmic_int_l */
-+                              <0 RK_PA7 0 &pcfg_pull_up>,
-+                              /* pmic_sleep1 */
-+                              <0 RK_PA2 1 &pcfg_pull_none>,
-+                              /* pmic_sleep2 */
-+                              <0 RK_PA3 1 &pcfg_pull_none>,
-+                              /* pmic_sleep3 */
-+                              <0 RK_PC1 1 &pcfg_pull_none>,
-+                              /* pmic_sleep4 */
-+                              <0 RK_PC2 1 &pcfg_pull_none>,
-+                              /* pmic_sleep5 */
-+                              <0 RK_PC3 1 &pcfg_pull_none>,
-+                              /* pmic_sleep6 */
-+                              <0 RK_PD6 1 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pmu {
-+              /omit-if-no-ref/
-+              pmu_pins: pmu-pins {
-+                      rockchip,pins =
-+                              /* pmu_debug */
-+                              <0 RK_PA5 3 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm0 {
-+              /omit-if-no-ref/
-+              pwm0m0_pins: pwm0m0-pins {
-+                      rockchip,pins =
-+                              /* pwm0_m0 */
-+                              <0 RK_PB7 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm0m1_pins: pwm0m1-pins {
-+                      rockchip,pins =
-+                              /* pwm0_m1 */
-+                              <1 RK_PD2 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm0m2_pins: pwm0m2-pins {
-+                      rockchip,pins =
-+                              /* pwm0_m2 */
-+                              <1 RK_PA2 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm1 {
-+              /omit-if-no-ref/
-+              pwm1m0_pins: pwm1m0-pins {
-+                      rockchip,pins =
-+                              /* pwm1_m0 */
-+                              <0 RK_PC0 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm1m1_pins: pwm1m1-pins {
-+                      rockchip,pins =
-+                              /* pwm1_m1 */
-+                              <1 RK_PD3 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm1m2_pins: pwm1m2-pins {
-+                      rockchip,pins =
-+                              /* pwm1_m2 */
-+                              <1 RK_PA3 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm2 {
-+              /omit-if-no-ref/
-+              pwm2m0_pins: pwm2m0-pins {
-+                      rockchip,pins =
-+                              /* pwm2_m0 */
-+                              <0 RK_PC4 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm2m1_pins: pwm2m1-pins {
-+                      rockchip,pins =
-+                              /* pwm2_m1 */
-+                              <3 RK_PB1 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm3 {
-+              /omit-if-no-ref/
-+              pwm3m0_pins: pwm3m0-pins {
-+                      rockchip,pins =
-+                              /* pwm3_ir_m0 */
-+                              <0 RK_PD4 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm3m1_pins: pwm3m1-pins {
-+                      rockchip,pins =
-+                              /* pwm3_ir_m1 */
-+                              <3 RK_PB2 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm3m2_pins: pwm3m2-pins {
-+                      rockchip,pins =
-+                              /* pwm3_ir_m2 */
-+                              <1 RK_PC2 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm3m3_pins: pwm3m3-pins {
-+                      rockchip,pins =
-+                              /* pwm3_ir_m3 */
-+                              <1 RK_PA7 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm4 {
-+              /omit-if-no-ref/
-+              pwm4m0_pins: pwm4m0-pins {
-+                      rockchip,pins =
-+                              /* pwm4_m0 */
-+                              <0 RK_PC5 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm5 {
-+              /omit-if-no-ref/
-+              pwm5m0_pins: pwm5m0-pins {
-+                      rockchip,pins =
-+                              /* pwm5_m0 */
-+                              <0 RK_PB1 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm5m1_pins: pwm5m1-pins {
-+                      rockchip,pins =
-+                              /* pwm5_m1 */
-+                              <0 RK_PC6 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm6 {
-+              /omit-if-no-ref/
-+              pwm6m0_pins: pwm6m0-pins {
-+                      rockchip,pins =
-+                              /* pwm6_m0 */
-+                              <0 RK_PC7 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm6m1_pins: pwm6m1-pins {
-+                      rockchip,pins =
-+                              /* pwm6_m1 */
-+                              <4 RK_PC1 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm7 {
-+              /omit-if-no-ref/
-+              pwm7m0_pins: pwm7m0-pins {
-+                      rockchip,pins =
-+                              /* pwm7_ir_m0 */
-+                              <0 RK_PD0 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm7m1_pins: pwm7m1-pins {
-+                      rockchip,pins =
-+                              /* pwm7_ir_m1 */
-+                              <4 RK_PD4 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm7m2_pins: pwm7m2-pins {
-+                      rockchip,pins =
-+                              /* pwm7_ir_m2 */
-+                              <1 RK_PC3 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm8 {
-+              /omit-if-no-ref/
-+              pwm8m0_pins: pwm8m0-pins {
-+                      rockchip,pins =
-+                              /* pwm8_m0 */
-+                              <3 RK_PA7 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm8m1_pins: pwm8m1-pins {
-+                      rockchip,pins =
-+                              /* pwm8_m1 */
-+                              <4 RK_PD0 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm8m2_pins: pwm8m2-pins {
-+                      rockchip,pins =
-+                              /* pwm8_m2 */
-+                              <3 RK_PD0 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm9 {
-+              /omit-if-no-ref/
-+              pwm9m0_pins: pwm9m0-pins {
-+                      rockchip,pins =
-+                              /* pwm9_m0 */
-+                              <3 RK_PB0 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm9m1_pins: pwm9m1-pins {
-+                      rockchip,pins =
-+                              /* pwm9_m1 */
-+                              <4 RK_PD1 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm9m2_pins: pwm9m2-pins {
-+                      rockchip,pins =
-+                              /* pwm9_m2 */
-+                              <3 RK_PD1 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm10 {
-+              /omit-if-no-ref/
-+              pwm10m0_pins: pwm10m0-pins {
-+                      rockchip,pins =
-+                              /* pwm10_m0 */
-+                              <3 RK_PA0 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm10m1_pins: pwm10m1-pins {
-+                      rockchip,pins =
-+                              /* pwm10_m1 */
-+                              <4 RK_PD3 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm10m2_pins: pwm10m2-pins {
-+                      rockchip,pins =
-+                              /* pwm10_m2 */
-+                              <3 RK_PD3 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm11 {
-+              /omit-if-no-ref/
-+              pwm11m0_pins: pwm11m0-pins {
-+                      rockchip,pins =
-+                              /* pwm11_ir_m0 */
-+                              <3 RK_PA1 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm11m1_pins: pwm11m1-pins {
-+                      rockchip,pins =
-+                              /* pwm11_ir_m1 */
-+                              <4 RK_PB4 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm11m2_pins: pwm11m2-pins {
-+                      rockchip,pins =
-+                              /* pwm11_ir_m2 */
-+                              <1 RK_PC4 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm11m3_pins: pwm11m3-pins {
-+                      rockchip,pins =
-+                              /* pwm11_ir_m3 */
-+                              <3 RK_PD5 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm12 {
-+              /omit-if-no-ref/
-+              pwm12m0_pins: pwm12m0-pins {
-+                      rockchip,pins =
-+                              /* pwm12_m0 */
-+                              <3 RK_PB5 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm12m1_pins: pwm12m1-pins {
-+                      rockchip,pins =
-+                              /* pwm12_m1 */
-+                              <4 RK_PB5 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm13 {
-+              /omit-if-no-ref/
-+              pwm13m0_pins: pwm13m0-pins {
-+                      rockchip,pins =
-+                              /* pwm13_m0 */
-+                              <3 RK_PB6 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm13m1_pins: pwm13m1-pins {
-+                      rockchip,pins =
-+                              /* pwm13_m1 */
-+                              <4 RK_PB6 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm13m2_pins: pwm13m2-pins {
-+                      rockchip,pins =
-+                              /* pwm13_m2 */
-+                              <1 RK_PB7 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm14 {
-+              /omit-if-no-ref/
-+              pwm14m0_pins: pwm14m0-pins {
-+                      rockchip,pins =
-+                              /* pwm14_m0 */
-+                              <3 RK_PC2 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm14m1_pins: pwm14m1-pins {
-+                      rockchip,pins =
-+                              /* pwm14_m1 */
-+                              <4 RK_PB2 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm14m2_pins: pwm14m2-pins {
-+                      rockchip,pins =
-+                              /* pwm14_m2 */
-+                              <1 RK_PD6 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm15 {
-+              /omit-if-no-ref/
-+              pwm15m0_pins: pwm15m0-pins {
-+                      rockchip,pins =
-+                              /* pwm15_ir_m0 */
-+                              <3 RK_PC3 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm15m1_pins: pwm15m1-pins {
-+                      rockchip,pins =
-+                              /* pwm15_ir_m1 */
-+                              <4 RK_PB3 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm15m2_pins: pwm15m2-pins {
-+                      rockchip,pins =
-+                              /* pwm15_ir_m2 */
-+                              <1 RK_PC6 11 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              pwm15m3_pins: pwm15m3-pins {
-+                      rockchip,pins =
-+                              /* pwm15_ir_m3 */
-+                              <1 RK_PD7 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      refclk {
-+              /omit-if-no-ref/
-+              refclk_pins: refclk-pins {
-+                      rockchip,pins =
-+                              /* refclk_out */
-+                              <0 RK_PA0 1 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      sata {
-+              /omit-if-no-ref/
-+              sata_pins: sata-pins {
-+                      rockchip,pins =
-+                              /* sata_cp_pod */
-+                              <0 RK_PC6 13 &pcfg_pull_none>,
-+                              /* sata_cpdet */
-+                              <0 RK_PD4 13 &pcfg_pull_none>,
-+                              /* sata_mp_switch */
-+                              <0 RK_PD5 13 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      sata0 {
-+              /omit-if-no-ref/
-+              sata0m0_pins: sata0m0-pins {
-+                      rockchip,pins =
-+                              /* sata0_act_led_m0 */
-+                              <4 RK_PB6 6 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              sata0m1_pins: sata0m1-pins {
-+                      rockchip,pins =
-+                              /* sata0_act_led_m1 */
-+                              <1 RK_PB3 6 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      sata1 {
-+              /omit-if-no-ref/
-+              sata1m0_pins: sata1m0-pins {
-+                      rockchip,pins =
-+                              /* sata1_act_led_m0 */
-+                              <4 RK_PB5 6 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              sata1m1_pins: sata1m1-pins {
-+                      rockchip,pins =
-+                              /* sata1_act_led_m1 */
-+                              <1 RK_PA1 6 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      sata2 {
-+              /omit-if-no-ref/
-+              sata2m0_pins: sata2m0-pins {
-+                      rockchip,pins =
-+                              /* sata2_act_led_m0 */
-+                              <4 RK_PB1 6 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              sata2m1_pins: sata2m1-pins {
-+                      rockchip,pins =
-+                              /* sata2_act_led_m1 */
-+                              <1 RK_PB7 6 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      sdio {
-+              /omit-if-no-ref/
-+              sdiom1_pins: sdiom1-pins {
-+                      rockchip,pins =
-+                              /* sdio_clk_m1 */
-+                              <3 RK_PA5 2 &pcfg_pull_none>,
-+                              /* sdio_cmd_m1 */
-+                              <3 RK_PA4 2 &pcfg_pull_none>,
-+                              /* sdio_d0_m1 */
-+                              <3 RK_PA0 2 &pcfg_pull_none>,
-+                              /* sdio_d1_m1 */
-+                              <3 RK_PA1 2 &pcfg_pull_none>,
-+                              /* sdio_d2_m1 */
-+                              <3 RK_PA2 2 &pcfg_pull_none>,
-+                              /* sdio_d3_m1 */
-+                              <3 RK_PA3 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      sdmmc {
-+              /omit-if-no-ref/
-+              sdmmc_bus4: sdmmc-bus4 {
-+                      rockchip,pins =
-+                              /* sdmmc_d0 */
-+                              <4 RK_PD0 1 &pcfg_pull_up_drv_level_2>,
-+                              /* sdmmc_d1 */
-+                              <4 RK_PD1 1 &pcfg_pull_up_drv_level_2>,
-+                              /* sdmmc_d2 */
-+                              <4 RK_PD2 1 &pcfg_pull_up_drv_level_2>,
-+                              /* sdmmc_d3 */
-+                              <4 RK_PD3 1 &pcfg_pull_up_drv_level_2>;
-+              };
-+
-+              /omit-if-no-ref/
-+              sdmmc_clk: sdmmc-clk {
-+                      rockchip,pins =
-+                              /* sdmmc_clk */
-+                              <4 RK_PD5 1 &pcfg_pull_up_drv_level_2>;
-+              };
-+
-+              /omit-if-no-ref/
-+              sdmmc_cmd: sdmmc-cmd {
-+                      rockchip,pins =
-+                              /* sdmmc_cmd */
-+                              <4 RK_PD4 1 &pcfg_pull_up_drv_level_2>;
-+              };
-+
-+              /omit-if-no-ref/
-+              sdmmc_det: sdmmc-det {
-+                      rockchip,pins =
-+                              /* sdmmc_det */
-+                              <0 RK_PA4 1 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              sdmmc_pwren: sdmmc-pwren {
-+                      rockchip,pins =
-+                              /* sdmmc_pwren */
-+                              <0 RK_PA5 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      spdif0 {
-+              /omit-if-no-ref/
-+              spdif0m0_tx: spdif0m0-tx {
-+                      rockchip,pins =
-+                              /* spdif0m0_tx */
-+                              <1 RK_PB6 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spdif0m1_tx: spdif0m1-tx {
-+                      rockchip,pins =
-+                              /* spdif0m1_tx */
-+                              <4 RK_PB4 6 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      spdif1 {
-+              /omit-if-no-ref/
-+              spdif1m0_tx: spdif1m0-tx {
-+                      rockchip,pins =
-+                              /* spdif1m0_tx */
-+                              <1 RK_PB7 3 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spdif1m1_tx: spdif1m1-tx {
-+                      rockchip,pins =
-+                              /* spdif1m1_tx */
-+                              <4 RK_PB1 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spdif1m2_tx: spdif1m2-tx {
-+                      rockchip,pins =
-+                              /* spdif1m2_tx */
-+                              <4 RK_PC1 3 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      spi0 {
-+              /omit-if-no-ref/
-+              spi0m0_pins: spi0m0-pins {
-+                      rockchip,pins =
-+                              /* spi0_clk_m0 */
-+                              <0 RK_PC6 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi0_miso_m0 */
-+                              <0 RK_PC7 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi0_mosi_m0 */
-+                              <0 RK_PC0 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi0m0_cs0: spi0m0-cs0 {
-+                      rockchip,pins =
-+                              /* spi0_cs0_m0 */
-+                              <0 RK_PD1 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi0m0_cs1: spi0m0-cs1 {
-+                      rockchip,pins =
-+                              /* spi0_cs1_m0 */
-+                              <0 RK_PB7 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+              /omit-if-no-ref/
-+              spi0m1_pins: spi0m1-pins {
-+                      rockchip,pins =
-+                              /* spi0_clk_m1 */
-+                              <4 RK_PA2 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi0_miso_m1 */
-+                              <4 RK_PA0 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi0_mosi_m1 */
-+                              <4 RK_PA1 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi0m1_cs0: spi0m1-cs0 {
-+                      rockchip,pins =
-+                              /* spi0_cs0_m1 */
-+                              <4 RK_PB2 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi0m1_cs1: spi0m1-cs1 {
-+                      rockchip,pins =
-+                              /* spi0_cs1_m1 */
-+                              <4 RK_PB1 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+              /omit-if-no-ref/
-+              spi0m2_pins: spi0m2-pins {
-+                      rockchip,pins =
-+                              /* spi0_clk_m2 */
-+                              <1 RK_PB3 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi0_miso_m2 */
-+                              <1 RK_PB1 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi0_mosi_m2 */
-+                              <1 RK_PB2 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi0m2_cs0: spi0m2-cs0 {
-+                      rockchip,pins =
-+                              /* spi0_cs0_m2 */
-+                              <1 RK_PB4 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi0m2_cs1: spi0m2-cs1 {
-+                      rockchip,pins =
-+                              /* spi0_cs1_m2 */
-+                              <1 RK_PB5 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+              /omit-if-no-ref/
-+              spi0m3_pins: spi0m3-pins {
-+                      rockchip,pins =
-+                              /* spi0_clk_m3 */
-+                              <3 RK_PD3 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi0_miso_m3 */
-+                              <3 RK_PD1 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi0_mosi_m3 */
-+                              <3 RK_PD2 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi0m3_cs0: spi0m3-cs0 {
-+                      rockchip,pins =
-+                              /* spi0_cs0_m3 */
-+                              <3 RK_PD4 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi0m3_cs1: spi0m3-cs1 {
-+                      rockchip,pins =
-+                              /* spi0_cs1_m3 */
-+                              <3 RK_PD5 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+      };
-+
-+      spi1 {
-+              /omit-if-no-ref/
-+              spi1m1_pins: spi1m1-pins {
-+                      rockchip,pins =
-+                              /* spi1_clk_m1 */
-+                              <3 RK_PC1 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi1_miso_m1 */
-+                              <3 RK_PC0 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi1_mosi_m1 */
-+                              <3 RK_PB7 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi1m1_cs0: spi1m1-cs0 {
-+                      rockchip,pins =
-+                              /* spi1_cs0_m1 */
-+                              <3 RK_PC2 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi1m1_cs1: spi1m1-cs1 {
-+                      rockchip,pins =
-+                              /* spi1_cs1_m1 */
-+                              <3 RK_PC3 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi1m2_pins: spi1m2-pins {
-+                      rockchip,pins =
-+                              /* spi1_clk_m2 */
-+                              <1 RK_PD2 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi1_miso_m2 */
-+                              <1 RK_PD0 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi1_mosi_m2 */
-+                              <1 RK_PD1 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi1m2_cs0: spi1m2-cs0 {
-+                      rockchip,pins =
-+                              /* spi1_cs0_m2 */
-+                              <1 RK_PD3 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi1m2_cs1: spi1m2-cs1 {
-+                      rockchip,pins =
-+                              /* spi1_cs1_m2 */
-+                              <1 RK_PD5 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+      };
-+
-+      spi2 {
-+              /omit-if-no-ref/
-+              spi2m0_pins: spi2m0-pins {
-+                      rockchip,pins =
-+                              /* spi2_clk_m0 */
-+                              <1 RK_PA6 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi2_miso_m0 */
-+                              <1 RK_PA4 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi2_mosi_m0 */
-+                              <1 RK_PA5 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi2m0_cs0: spi2m0-cs0 {
-+                      rockchip,pins =
-+                              /* spi2_cs0_m0 */
-+                              <1 RK_PA7 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi2m0_cs1: spi2m0-cs1 {
-+                      rockchip,pins =
-+                              /* spi2_cs1_m0 */
-+                              <1 RK_PB0 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi2m1_pins: spi2m1-pins {
-+                      rockchip,pins =
-+                              /* spi2_clk_m1 */
-+                              <4 RK_PA6 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi2_miso_m1 */
-+                              <4 RK_PA4 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi2_mosi_m1 */
-+                              <4 RK_PA5 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi2m1_cs0: spi2m1-cs0 {
-+                      rockchip,pins =
-+                              /* spi2_cs0_m1 */
-+                              <4 RK_PA7 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi2m1_cs1: spi2m1-cs1 {
-+                      rockchip,pins =
-+                              /* spi2_cs1_m1 */
-+                              <4 RK_PB0 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi2m2_pins: spi2m2-pins {
-+                      rockchip,pins =
-+                              /* spi2_clk_m2 */
-+                              <0 RK_PA5 1 &pcfg_pull_up_drv_level_1>,
-+                              /* spi2_miso_m2 */
-+                              <0 RK_PB3 1 &pcfg_pull_up_drv_level_1>,
-+                              /* spi2_mosi_m2 */
-+                              <0 RK_PA6 1 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi2m2_cs0: spi2m2-cs0 {
-+                      rockchip,pins =
-+                              /* spi2_cs0_m2 */
-+                              <0 RK_PB1 1 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi2m2_cs1: spi2m2-cs1 {
-+                      rockchip,pins =
-+                              /* spi2_cs1_m2 */
-+                              <0 RK_PB0 1 &pcfg_pull_up_drv_level_1>;
-+              };
-+      };
-+
-+      spi3 {
-+              /omit-if-no-ref/
-+              spi3m1_pins: spi3m1-pins {
-+                      rockchip,pins =
-+                              /* spi3_clk_m1 */
-+                              <4 RK_PB7 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi3_miso_m1 */
-+                              <4 RK_PB5 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi3_mosi_m1 */
-+                              <4 RK_PB6 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi3m1_cs0: spi3m1-cs0 {
-+                      rockchip,pins =
-+                              /* spi3_cs0_m1 */
-+                              <4 RK_PC0 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi3m1_cs1: spi3m1-cs1 {
-+                      rockchip,pins =
-+                              /* spi3_cs1_m1 */
-+                              <4 RK_PC1 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi3m2_pins: spi3m2-pins {
-+                      rockchip,pins =
-+                              /* spi3_clk_m2 */
-+                              <0 RK_PD3 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi3_miso_m2 */
-+                              <0 RK_PD0 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi3_mosi_m2 */
-+                              <0 RK_PD2 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi3m2_cs0: spi3m2-cs0 {
-+                      rockchip,pins =
-+                              /* spi3_cs0_m2 */
-+                              <0 RK_PD4 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi3m2_cs1: spi3m2-cs1 {
-+                      rockchip,pins =
-+                              /* spi3_cs1_m2 */
-+                              <0 RK_PD5 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi3m3_pins: spi3m3-pins {
-+                      rockchip,pins =
-+                              /* spi3_clk_m3 */
-+                              <3 RK_PD0 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi3_miso_m3 */
-+                              <3 RK_PC6 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi3_mosi_m3 */
-+                              <3 RK_PC7 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi3m3_cs0: spi3m3-cs0 {
-+                      rockchip,pins =
-+                              /* spi3_cs0_m3 */
-+                              <3 RK_PC4 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi3m3_cs1: spi3m3-cs1 {
-+                      rockchip,pins =
-+                              /* spi3_cs1_m3 */
-+                              <3 RK_PC5 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+      };
-+
-+      spi4 {
-+              /omit-if-no-ref/
-+              spi4m0_pins: spi4m0-pins {
-+                      rockchip,pins =
-+                              /* spi4_clk_m0 */
-+                              <1 RK_PC2 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi4_miso_m0 */
-+                              <1 RK_PC0 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi4_mosi_m0 */
-+                              <1 RK_PC1 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi4m0_cs0: spi4m0-cs0 {
-+                      rockchip,pins =
-+                              /* spi4_cs0_m0 */
-+                              <1 RK_PC3 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi4m0_cs1: spi4m0-cs1 {
-+                      rockchip,pins =
-+                              /* spi4_cs1_m0 */
-+                              <1 RK_PC4 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi4m1_pins: spi4m1-pins {
-+                      rockchip,pins =
-+                              /* spi4_clk_m1 */
-+                              <3 RK_PA2 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi4_miso_m1 */
-+                              <3 RK_PA0 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi4_mosi_m1 */
-+                              <3 RK_PA1 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi4m1_cs0: spi4m1-cs0 {
-+                      rockchip,pins =
-+                              /* spi4_cs0_m1 */
-+                              <3 RK_PA3 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi4m1_cs1: spi4m1-cs1 {
-+                      rockchip,pins =
-+                              /* spi4_cs1_m1 */
-+                              <3 RK_PA4 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi4m2_pins: spi4m2-pins {
-+                      rockchip,pins =
-+                              /* spi4_clk_m2 */
-+                              <1 RK_PA2 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi4_miso_m2 */
-+                              <1 RK_PA0 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi4_mosi_m2 */
-+                              <1 RK_PA1 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi4m2_cs0: spi4m2-cs0 {
-+                      rockchip,pins =
-+                              /* spi4_cs0_m2 */
-+                              <1 RK_PA3 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+      };
-+
-+      tsadc {
-+              /omit-if-no-ref/
-+              tsadcm1_shut: tsadcm1-shut {
-+                      rockchip,pins =
-+                              /* tsadcm1_shut */
-+                              <0 RK_PA2 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              tsadc_shut: tsadc-shut {
-+                      rockchip,pins =
-+                              /* tsadc_shut */
-+                              <0 RK_PA1 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              tsadc_shut_org: tsadc-shut-org {
-+                      rockchip,pins =
-+                              /* tsadc_shut_org */
-+                              <0 RK_PA1 1 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      uart0 {
-+              /omit-if-no-ref/
-+              uart0m0_xfer: uart0m0-xfer {
-+                      rockchip,pins =
-+                              /* uart0_rx_m0 */
-+                              <0 RK_PC4 4 &pcfg_pull_up>,
-+                              /* uart0_tx_m0 */
-+                              <0 RK_PC5 4 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart0m1_xfer: uart0m1-xfer {
-+                      rockchip,pins =
-+                              /* uart0_rx_m1 */
-+                              <0 RK_PB0 4 &pcfg_pull_up>,
-+                              /* uart0_tx_m1 */
-+                              <0 RK_PB1 4 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart0m2_xfer: uart0m2-xfer {
-+                      rockchip,pins =
-+                              /* uart0_rx_m2 */
-+                              <4 RK_PA4 10 &pcfg_pull_up>,
-+                              /* uart0_tx_m2 */
-+                              <4 RK_PA3 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart0_ctsn: uart0-ctsn {
-+                      rockchip,pins =
-+                              /* uart0_ctsn */
-+                              <0 RK_PD1 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart0_rtsn: uart0-rtsn {
-+                      rockchip,pins =
-+                              /* uart0_rtsn */
-+                              <0 RK_PC6 4 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      uart1 {
-+              /omit-if-no-ref/
-+              uart1m1_xfer: uart1m1-xfer {
-+                      rockchip,pins =
-+                              /* uart1_rx_m1 */
-+                              <1 RK_PB7 10 &pcfg_pull_up>,
-+                              /* uart1_tx_m1 */
-+                              <1 RK_PB6 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart1m1_ctsn: uart1m1-ctsn {
-+                      rockchip,pins =
-+                              /* uart1m1_ctsn */
-+                              <1 RK_PD7 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart1m1_rtsn: uart1m1-rtsn {
-+                      rockchip,pins =
-+                              /* uart1m1_rtsn */
-+                              <1 RK_PD6 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart1m2_xfer: uart1m2-xfer {
-+                      rockchip,pins =
-+                              /* uart1_rx_m2 */
-+                              <0 RK_PD2 10 &pcfg_pull_up>,
-+                              /* uart1_tx_m2 */
-+                              <0 RK_PD1 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart1m2_ctsn: uart1m2-ctsn {
-+                      rockchip,pins =
-+                              /* uart1m2_ctsn */
-+                              <0 RK_PD0 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart1m2_rtsn: uart1m2-rtsn {
-+                      rockchip,pins =
-+                              /* uart1m2_rtsn */
-+                              <0 RK_PC7 10 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      uart2 {
-+              /omit-if-no-ref/
-+              uart2m0_xfer: uart2m0-xfer {
-+                      rockchip,pins =
-+                              /* uart2_rx_m0 */
-+                              <0 RK_PB6 10 &pcfg_pull_up>,
-+                              /* uart2_tx_m0 */
-+                              <0 RK_PB5 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart2m1_xfer: uart2m1-xfer {
-+                      rockchip,pins =
-+                              /* uart2_rx_m1 */
-+                              <4 RK_PD1 10 &pcfg_pull_up>,
-+                              /* uart2_tx_m1 */
-+                              <4 RK_PD0 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart2m2_xfer: uart2m2-xfer {
-+                      rockchip,pins =
-+                              /* uart2_rx_m2 */
-+                              <3 RK_PB2 10 &pcfg_pull_up>,
-+                              /* uart2_tx_m2 */
-+                              <3 RK_PB1 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart2_ctsn: uart2-ctsn {
-+                      rockchip,pins =
-+                              /* uart2_ctsn */
-+                              <3 RK_PB4 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart2_rtsn: uart2-rtsn {
-+                      rockchip,pins =
-+                              /* uart2_rtsn */
-+                              <3 RK_PB3 10 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      uart3 {
-+              /omit-if-no-ref/
-+              uart3m0_xfer: uart3m0-xfer {
-+                      rockchip,pins =
-+                              /* uart3_rx_m0 */
-+                              <1 RK_PC0 10 &pcfg_pull_up>,
-+                              /* uart3_tx_m0 */
-+                              <1 RK_PC1 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart3m1_xfer: uart3m1-xfer {
-+                      rockchip,pins =
-+                              /* uart3_rx_m1 */
-+                              <3 RK_PB6 10 &pcfg_pull_up>,
-+                              /* uart3_tx_m1 */
-+                              <3 RK_PB5 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart3m2_xfer: uart3m2-xfer {
-+                      rockchip,pins =
-+                              /* uart3_rx_m2 */
-+                              <4 RK_PA6 10 &pcfg_pull_up>,
-+                              /* uart3_tx_m2 */
-+                              <4 RK_PA5 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart3_ctsn: uart3-ctsn {
-+                      rockchip,pins =
-+                              /* uart3_ctsn */
-+                              <1 RK_PC3 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart3_rtsn: uart3-rtsn {
-+                      rockchip,pins =
-+                              /* uart3_rtsn */
-+                              <1 RK_PC2 10 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      uart4 {
-+              /omit-if-no-ref/
-+              uart4m0_xfer: uart4m0-xfer {
-+                      rockchip,pins =
-+                              /* uart4_rx_m0 */
-+                              <1 RK_PD3 10 &pcfg_pull_up>,
-+                              /* uart4_tx_m0 */
-+                              <1 RK_PD2 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart4m1_xfer: uart4m1-xfer {
-+                      rockchip,pins =
-+                              /* uart4_rx_m1 */
-+                              <3 RK_PD0 10 &pcfg_pull_up>,
-+                              /* uart4_tx_m1 */
-+                              <3 RK_PD1 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart4m2_xfer: uart4m2-xfer {
-+                      rockchip,pins =
-+                              /* uart4_rx_m2 */
-+                              <1 RK_PB2 10 &pcfg_pull_up>,
-+                              /* uart4_tx_m2 */
-+                              <1 RK_PB3 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart4_ctsn: uart4-ctsn {
-+                      rockchip,pins =
-+                              /* uart4_ctsn */
-+                              <1 RK_PC7 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart4_rtsn: uart4-rtsn {
-+                      rockchip,pins =
-+                              /* uart4_rtsn */
-+                              <1 RK_PC5 10 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      uart5 {
-+              /omit-if-no-ref/
-+              uart5m0_xfer: uart5m0-xfer {
-+                      rockchip,pins =
-+                              /* uart5_rx_m0 */
-+                              <4 RK_PD4 10 &pcfg_pull_up>,
-+                              /* uart5_tx_m0 */
-+                              <4 RK_PD5 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart5m0_ctsn: uart5m0-ctsn {
-+                      rockchip,pins =
-+                              /* uart5m0_ctsn */
-+                              <4 RK_PD2 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart5m0_rtsn: uart5m0-rtsn {
-+                      rockchip,pins =
-+                              /* uart5m0_rtsn */
-+                              <4 RK_PD3 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart5m1_xfer: uart5m1-xfer {
-+                      rockchip,pins =
-+                              /* uart5_rx_m1 */
-+                              <3 RK_PC5 10 &pcfg_pull_up>,
-+                              /* uart5_tx_m1 */
-+                              <3 RK_PC4 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart5m1_ctsn: uart5m1-ctsn {
-+                      rockchip,pins =
-+                              /* uart5m1_ctsn */
-+                              <2 RK_PA2 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart5m1_rtsn: uart5m1-rtsn {
-+                      rockchip,pins =
-+                              /* uart5m1_rtsn */
-+                              <2 RK_PA3 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart5m2_xfer: uart5m2-xfer {
-+                      rockchip,pins =
-+                              /* uart5_rx_m2 */
-+                              <2 RK_PD4 10 &pcfg_pull_up>,
-+                              /* uart5_tx_m2 */
-+                              <2 RK_PD5 10 &pcfg_pull_up>;
-+              };
-+      };
-+
-+      uart6 {
-+              /omit-if-no-ref/
-+              uart6m1_xfer: uart6m1-xfer {
-+                      rockchip,pins =
-+                              /* uart6_rx_m1 */
-+                              <1 RK_PA0 10 &pcfg_pull_up>,
-+                              /* uart6_tx_m1 */
-+                              <1 RK_PA1 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart6m1_ctsn: uart6m1-ctsn {
-+                      rockchip,pins =
-+                              /* uart6m1_ctsn */
-+                              <1 RK_PA3 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart6m1_rtsn: uart6m1-rtsn {
-+                      rockchip,pins =
-+                              /* uart6m1_rtsn */
-+                              <1 RK_PA2 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart6m2_xfer: uart6m2-xfer {
-+                      rockchip,pins =
-+                              /* uart6_rx_m2 */
-+                              <1 RK_PD1 10 &pcfg_pull_up>,
-+                              /* uart6_tx_m2 */
-+                              <1 RK_PD0 10 &pcfg_pull_up>;
-+              };
-+      };
-+
-+      uart7 {
-+              /omit-if-no-ref/
-+              uart7m1_xfer: uart7m1-xfer {
-+                      rockchip,pins =
-+                              /* uart7_rx_m1 */
-+                              <3 RK_PC1 10 &pcfg_pull_up>,
-+                              /* uart7_tx_m1 */
-+                              <3 RK_PC0 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart7m1_ctsn: uart7m1-ctsn {
-+                      rockchip,pins =
-+                              /* uart7m1_ctsn */
-+                              <3 RK_PC3 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart7m1_rtsn: uart7m1-rtsn {
-+                      rockchip,pins =
-+                              /* uart7m1_rtsn */
-+                              <3 RK_PC2 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart7m2_xfer: uart7m2-xfer {
-+                      rockchip,pins =
-+                              /* uart7_rx_m2 */
-+                              <1 RK_PB4 10 &pcfg_pull_up>,
-+                              /* uart7_tx_m2 */
-+                              <1 RK_PB5 10 &pcfg_pull_up>;
-+              };
-+      };
-+
-+      uart8 {
-+              /omit-if-no-ref/
-+              uart8m0_xfer: uart8m0-xfer {
-+                      rockchip,pins =
-+                              /* uart8_rx_m0 */
-+                              <4 RK_PB1 10 &pcfg_pull_up>,
-+                              /* uart8_tx_m0 */
-+                              <4 RK_PB0 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart8m0_ctsn: uart8m0-ctsn {
-+                      rockchip,pins =
-+                              /* uart8m0_ctsn */
-+                              <4 RK_PB3 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart8m0_rtsn: uart8m0-rtsn {
-+                      rockchip,pins =
-+                              /* uart8m0_rtsn */
-+                              <4 RK_PB2 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart8m1_xfer: uart8m1-xfer {
-+                      rockchip,pins =
-+                              /* uart8_rx_m1 */
-+                              <3 RK_PA3 10 &pcfg_pull_up>,
-+                              /* uart8_tx_m1 */
-+                              <3 RK_PA2 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart8m1_ctsn: uart8m1-ctsn {
-+                      rockchip,pins =
-+                              /* uart8m1_ctsn */
-+                              <3 RK_PA5 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart8m1_rtsn: uart8m1-rtsn {
-+                      rockchip,pins =
-+                              /* uart8m1_rtsn */
-+                              <3 RK_PA4 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart8_xfer: uart8-xfer {
-+                      rockchip,pins =
-+                              /* uart8_rx_ */
-+                              <4 RK_PB1 10 &pcfg_pull_up>;
-+              };
-+      };
-+
-+      uart9 {
-+              /omit-if-no-ref/
-+              uart9m0_xfer: uart9m0-xfer {
-+                      rockchip,pins =
-+                              /* uart9_rx_m0 */
-+                              <2 RK_PC4 10 &pcfg_pull_up>,
-+                              /* uart9_tx_m0 */
-+                              <2 RK_PC2 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart9m1_xfer: uart9m1-xfer {
-+                      rockchip,pins =
-+                              /* uart9_rx_m1 */
-+                              <4 RK_PB5 10 &pcfg_pull_up>,
-+                              /* uart9_tx_m1 */
-+                              <4 RK_PB4 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart9m1_ctsn: uart9m1-ctsn {
-+                      rockchip,pins =
-+                              /* uart9m1_ctsn */
-+                              <4 RK_PA1 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart9m1_rtsn: uart9m1-rtsn {
-+                      rockchip,pins =
-+                              /* uart9m1_rtsn */
-+                              <4 RK_PA0 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart9m2_xfer: uart9m2-xfer {
-+                      rockchip,pins =
-+                              /* uart9_rx_m2 */
-+                              <3 RK_PD4 10 &pcfg_pull_up>,
-+                              /* uart9_tx_m2 */
-+                              <3 RK_PD5 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart9m2_ctsn: uart9m2-ctsn {
-+                      rockchip,pins =
-+                              /* uart9m2_ctsn */
-+                              <3 RK_PD3 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart9m2_rtsn: uart9m2-rtsn {
-+                      rockchip,pins =
-+                              /* uart9m2_rtsn */
-+                              <3 RK_PD2 10 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      vop {
-+              /omit-if-no-ref/
-+              vop_pins: vop-pins {
-+                      rockchip,pins =
-+                              /* vop_post_empty */
-+                              <1 RK_PA2 1 &pcfg_pull_none>;
-+              };
-+      };
-+};
-+
-+/*
-+ * This part is edited handly.
-+ */
-+&pinctrl {
-+      bt656 {
-+              /omit-if-no-ref/
-+              bt656_pins: bt656-pins {
-+                      rockchip,pins =
-+                              /* bt1120_clkout */
-+                              <4 RK_PB0 2 &pcfg_pull_none_drv_level_2>,
-+                              /* bt1120_d0 */
-+                              <4 RK_PA0 2 &pcfg_pull_none_drv_level_2>,
-+                              /* bt1120_d1 */
-+                              <4 RK_PA1 2 &pcfg_pull_none_drv_level_2>,
-+                              /* bt1120_d2 */
-+                              <4 RK_PA2 2 &pcfg_pull_none_drv_level_2>,
-+                              /* bt1120_d3 */
-+                              <4 RK_PA3 2 &pcfg_pull_none_drv_level_2>,
-+                              /* bt1120_d4 */
-+                              <4 RK_PA4 2 &pcfg_pull_none_drv_level_2>,
-+                              /* bt1120_d5 */
-+                              <4 RK_PA5 2 &pcfg_pull_none_drv_level_2>,
-+                              /* bt1120_d6 */
-+                              <4 RK_PA6 2 &pcfg_pull_none_drv_level_2>,
-+                              /* bt1120_d7 */
-+                              <4 RK_PA7 2 &pcfg_pull_none_drv_level_2>;
-+              };
-+      };
-+
-+      gpio-func {
-+              /omit-if-no-ref/
-+              tsadc_gpio_func: tsadc-gpio-func {
-+                      rockchip,pins =
-+                              <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+};
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-extra-pinctrl.dtsi
-@@ -0,0 +1,516 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
-+ */
-+
-+#include <dt-bindings/pinctrl/rockchip.h>
-+#include "rockchip-pinconf.dtsi"
-+
-+/*
-+ * This file is auto generated by pin2dts tool, please keep these code
-+ * by adding changes at end of this file.
-+ */
-+&pinctrl {
-+      clk32k {
-+              /omit-if-no-ref/
-+              clk32k_out1: clk32k-out1 {
-+                      rockchip,pins =
-+                              /* clk32k_out1 */
-+                              <2 RK_PC5 1 &pcfg_pull_none>;
-+              };
-+
-+      };
-+
-+      eth0 {
-+              /omit-if-no-ref/
-+              eth0_pins: eth0-pins {
-+                      rockchip,pins =
-+                              /* eth0_refclko_25m */
-+                              <2 RK_PC3 1 &pcfg_pull_none>;
-+              };
-+
-+      };
-+
-+      fspi {
-+              /omit-if-no-ref/
-+              fspim1_pins: fspim1-pins {
-+                      rockchip,pins =
-+                              /* fspi_clk_m1 */
-+                              <2 RK_PB3 3 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_cs0n_m1 */
-+                              <2 RK_PB4 3 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d0_m1 */
-+                              <2 RK_PA6 3 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d1_m1 */
-+                              <2 RK_PA7 3 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d2_m1 */
-+                              <2 RK_PB0 3 &pcfg_pull_up_drv_level_2>,
-+                              /* fspi_d3_m1 */
-+                              <2 RK_PB1 3 &pcfg_pull_up_drv_level_2>;
-+              };
-+
-+              /omit-if-no-ref/
-+              fspim1_cs1: fspim1-cs1 {
-+                      rockchip,pins =
-+                              /* fspi_cs1n_m1 */
-+                              <2 RK_PB5 3 &pcfg_pull_up_drv_level_2>;
-+              };
-+      };
-+
-+      gmac0 {
-+              /omit-if-no-ref/
-+              gmac0_miim: gmac0-miim {
-+                      rockchip,pins =
-+                              /* gmac0_mdc */
-+                              <4 RK_PC4 1 &pcfg_pull_none>,
-+                              /* gmac0_mdio */
-+                              <4 RK_PC5 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac0_clkinout: gmac0-clkinout {
-+                      rockchip,pins =
-+                              /* gmac0_mclkinout */
-+                              <4 RK_PC3 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac0_rx_bus2: gmac0-rx-bus2 {
-+                      rockchip,pins =
-+                              /* gmac0_rxd0 */
-+                              <2 RK_PC1 1 &pcfg_pull_none>,
-+                              /* gmac0_rxd1 */
-+                              <2 RK_PC2 1 &pcfg_pull_none>,
-+                              /* gmac0_rxdv_crs */
-+                              <4 RK_PC2 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac0_tx_bus2: gmac0-tx-bus2 {
-+                      rockchip,pins =
-+                              /* gmac0_txd0 */
-+                              <2 RK_PB6 1 &pcfg_pull_none>,
-+                              /* gmac0_txd1 */
-+                              <2 RK_PB7 1 &pcfg_pull_none>,
-+                              /* gmac0_txen */
-+                              <2 RK_PC0 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac0_rgmii_clk: gmac0-rgmii-clk {
-+                      rockchip,pins =
-+                              /* gmac0_rxclk */
-+                              <2 RK_PB0 1 &pcfg_pull_none>,
-+                              /* gmac0_txclk */
-+                              <2 RK_PB3 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac0_rgmii_bus: gmac0-rgmii-bus {
-+                      rockchip,pins =
-+                              /* gmac0_rxd2 */
-+                              <2 RK_PA6 1 &pcfg_pull_none>,
-+                              /* gmac0_rxd3 */
-+                              <2 RK_PA7 1 &pcfg_pull_none>,
-+                              /* gmac0_txd2 */
-+                              <2 RK_PB1 1 &pcfg_pull_none>,
-+                              /* gmac0_txd3 */
-+                              <2 RK_PB2 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac0_ppsclk: gmac0-ppsclk {
-+                      rockchip,pins =
-+                              /* gmac0_ppsclk */
-+                              <2 RK_PC4 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac0_ppstring: gmac0-ppstring {
-+                      rockchip,pins =
-+                              /* gmac0_ppstring */
-+                              <2 RK_PB5 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac0_ptp_refclk: gmac0-ptp-refclk {
-+                      rockchip,pins =
-+                              /* gmac0_ptp_refclk */
-+                              <2 RK_PB4 1 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              gmac0_txer: gmac0-txer {
-+                      rockchip,pins =
-+                              /* gmac0_txer */
-+                              <4 RK_PC6 1 &pcfg_pull_none>;
-+              };
-+
-+      };
-+
-+      hdmi {
-+              /omit-if-no-ref/
-+              hdmim0_tx1_cec: hdmim0-tx1-cec {
-+                      rockchip,pins =
-+                              /* hdmim0_tx1_cec */
-+                              <2 RK_PC4 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim0_tx1_scl: hdmim0-tx1-scl {
-+                      rockchip,pins =
-+                              /* hdmim0_tx1_scl */
-+                              <2 RK_PB5 4 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              hdmim0_tx1_sda: hdmim0-tx1-sda {
-+                      rockchip,pins =
-+                              /* hdmim0_tx1_sda */
-+                              <2 RK_PB4 4 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      i2c0 {
-+              /omit-if-no-ref/
-+              i2c0m1_xfer: i2c0m1-xfer {
-+                      rockchip,pins =
-+                              /* i2c0_scl_m1 */
-+                              <4 RK_PC5 9 &pcfg_pull_none_smt>,
-+                              /* i2c0_sda_m1 */
-+                              <4 RK_PC6 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c2 {
-+              /omit-if-no-ref/
-+              i2c2m1_xfer: i2c2m1-xfer {
-+                      rockchip,pins =
-+                              /* i2c2_scl_m1 */
-+                              <2 RK_PC1 9 &pcfg_pull_none_smt>,
-+                              /* i2c2_sda_m1 */
-+                              <2 RK_PC0 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c3 {
-+              /omit-if-no-ref/
-+              i2c3m3_xfer: i2c3m3-xfer {
-+                      rockchip,pins =
-+                              /* i2c3_scl_m3 */
-+                              <2 RK_PB2 9 &pcfg_pull_none_smt>,
-+                              /* i2c3_sda_m3 */
-+                              <2 RK_PB3 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c4 {
-+              /omit-if-no-ref/
-+              i2c4m1_xfer: i2c4m1-xfer {
-+                      rockchip,pins =
-+                              /* i2c4_scl_m1 */
-+                              <2 RK_PB5 9 &pcfg_pull_none_smt>,
-+                              /* i2c4_sda_m1 */
-+                              <2 RK_PB4 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c5 {
-+              /omit-if-no-ref/
-+              i2c5m4_xfer: i2c5m4-xfer {
-+                      rockchip,pins =
-+                              /* i2c5_scl_m4 */
-+                              <2 RK_PB6 9 &pcfg_pull_none_smt>,
-+                              /* i2c5_sda_m4 */
-+                              <2 RK_PB7 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c6 {
-+              /omit-if-no-ref/
-+              i2c6m2_xfer: i2c6m2-xfer {
-+                      rockchip,pins =
-+                              /* i2c6_scl_m2 */
-+                              <2 RK_PC3 9 &pcfg_pull_none_smt>,
-+                              /* i2c6_sda_m2 */
-+                              <2 RK_PC2 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c7 {
-+              /omit-if-no-ref/
-+              i2c7m1_xfer: i2c7m1-xfer {
-+                      rockchip,pins =
-+                              /* i2c7_scl_m1 */
-+                              <4 RK_PC3 9 &pcfg_pull_none_smt>,
-+                              /* i2c7_sda_m1 */
-+                              <4 RK_PC4 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2c8 {
-+              /omit-if-no-ref/
-+              i2c8m1_xfer: i2c8m1-xfer {
-+                      rockchip,pins =
-+                              /* i2c8_scl_m1 */
-+                              <2 RK_PB0 9 &pcfg_pull_none_smt>,
-+                              /* i2c8_sda_m1 */
-+                              <2 RK_PB1 9 &pcfg_pull_none_smt>;
-+              };
-+      };
-+
-+      i2s2 {
-+              /omit-if-no-ref/
-+              i2s2m0_lrck: i2s2m0-lrck {
-+                      rockchip,pins =
-+                              /* i2s2m0_lrck */
-+                              <2 RK_PC0 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_mclk: i2s2m0-mclk {
-+                      rockchip,pins =
-+                              /* i2s2m0_mclk */
-+                              <2 RK_PB6 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_sclk: i2s2m0-sclk {
-+                      rockchip,pins =
-+                              /* i2s2m0_sclk */
-+                              <2 RK_PB7 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_sdi: i2s2m0-sdi {
-+                      rockchip,pins =
-+                              /* i2s2m0_sdi */
-+                              <2 RK_PC3 2 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              i2s2m0_sdo: i2s2m0-sdo {
-+                      rockchip,pins =
-+                              /* i2s2m0_sdo */
-+                              <4 RK_PC3 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm2 {
-+              /omit-if-no-ref/
-+              pwm2m2_pins: pwm2m2-pins {
-+                      rockchip,pins =
-+                              /* pwm2_m2 */
-+                              <4 RK_PC2 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm4 {
-+              /omit-if-no-ref/
-+              pwm4m1_pins: pwm4m1-pins {
-+                      rockchip,pins =
-+                              /* pwm4_m1 */
-+                              <4 RK_PC3 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm5 {
-+              /omit-if-no-ref/
-+              pwm5m2_pins: pwm5m2-pins {
-+                      rockchip,pins =
-+                              /* pwm5_m2 */
-+                              <4 RK_PC4 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm6 {
-+              /omit-if-no-ref/
-+              pwm6m2_pins: pwm6m2-pins {
-+                      rockchip,pins =
-+                              /* pwm6_m2 */
-+                              <4 RK_PC5 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      pwm7 {
-+              /omit-if-no-ref/
-+              pwm7m3_pins: pwm7m3-pins {
-+                      rockchip,pins =
-+                              /* pwm7_ir_m3 */
-+                              <4 RK_PC6 11 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      sdio {
-+              /omit-if-no-ref/
-+              sdiom0_pins: sdiom0-pins {
-+                      rockchip,pins =
-+                              /* sdio_clk_m0 */
-+                              <2 RK_PB3 2 &pcfg_pull_none>,
-+                              /* sdio_cmd_m0 */
-+                              <2 RK_PB2 2 &pcfg_pull_none>,
-+                              /* sdio_d0_m0 */
-+                              <2 RK_PA6 2 &pcfg_pull_none>,
-+                              /* sdio_d1_m0 */
-+                              <2 RK_PA7 2 &pcfg_pull_none>,
-+                              /* sdio_d2_m0 */
-+                              <2 RK_PB0 2 &pcfg_pull_none>,
-+                              /* sdio_d3_m0 */
-+                              <2 RK_PB1 2 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      spi1 {
-+              /omit-if-no-ref/
-+              spi1m0_pins: spi1m0-pins {
-+                      rockchip,pins =
-+                              /* spi1_clk_m0 */
-+                              <2 RK_PC0 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi1_miso_m0 */
-+                              <2 RK_PC1 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi1_mosi_m0 */
-+                              <2 RK_PC2 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi1m0_cs0: spi1m0-cs0 {
-+                      rockchip,pins =
-+                              /* spi1_cs0_m0 */
-+                              <2 RK_PC3 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi1m0_cs1: spi1m0-cs1 {
-+                      rockchip,pins =
-+                              /* spi1_cs1_m0 */
-+                              <2 RK_PC4 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+      };
-+
-+      spi3 {
-+              /omit-if-no-ref/
-+              spi3m0_pins: spi3m0-pins {
-+                      rockchip,pins =
-+                              /* spi3_clk_m0 */
-+                              <4 RK_PC6 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi3_miso_m0 */
-+                              <4 RK_PC4 8 &pcfg_pull_up_drv_level_1>,
-+                              /* spi3_mosi_m0 */
-+                              <4 RK_PC5 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi3m0_cs0: spi3m0-cs0 {
-+                      rockchip,pins =
-+                              /* spi3_cs0_m0 */
-+                              <4 RK_PC2 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+
-+              /omit-if-no-ref/
-+              spi3m0_cs1: spi3m0-cs1 {
-+                      rockchip,pins =
-+                              /* spi3_cs1_m0 */
-+                              <4 RK_PC3 8 &pcfg_pull_up_drv_level_1>;
-+              };
-+      };
-+
-+      uart1 {
-+              /omit-if-no-ref/
-+              uart1m0_xfer: uart1m0-xfer {
-+                      rockchip,pins =
-+                              /* uart1_rx_m0 */
-+                              <2 RK_PB6 10 &pcfg_pull_up>,
-+                              /* uart1_tx_m0 */
-+                              <2 RK_PB7 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart1m0_ctsn: uart1m0-ctsn {
-+                      rockchip,pins =
-+                              /* uart1m0_ctsn */
-+                              <2 RK_PC1 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart1m0_rtsn: uart1m0-rtsn {
-+                      rockchip,pins =
-+                              /* uart1m0_rtsn */
-+                              <2 RK_PC0 10 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      uart6 {
-+              /omit-if-no-ref/
-+              uart6m0_xfer: uart6m0-xfer {
-+                      rockchip,pins =
-+                              /* uart6_rx_m0 */
-+                              <2 RK_PA6 10 &pcfg_pull_up>,
-+                              /* uart6_tx_m0 */
-+                              <2 RK_PA7 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart6m0_ctsn: uart6m0-ctsn {
-+                      rockchip,pins =
-+                              /* uart6m0_ctsn */
-+                              <2 RK_PB1 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart6m0_rtsn: uart6m0-rtsn {
-+                      rockchip,pins =
-+                              /* uart6m0_rtsn */
-+                              <2 RK_PB0 10 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      uart7 {
-+              /omit-if-no-ref/
-+              uart7m0_xfer: uart7m0-xfer {
-+                      rockchip,pins =
-+                              /* uart7_rx_m0 */
-+                              <2 RK_PB4 10 &pcfg_pull_up>,
-+                              /* uart7_tx_m0 */
-+                              <2 RK_PB5 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart7m0_ctsn: uart7m0-ctsn {
-+                      rockchip,pins =
-+                              /* uart7m0_ctsn */
-+                              <4 RK_PC6 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart7m0_rtsn: uart7m0-rtsn {
-+                      rockchip,pins =
-+                              /* uart7m0_rtsn */
-+                              <4 RK_PC2 10 &pcfg_pull_none>;
-+              };
-+      };
-+
-+      uart9 {
-+              /omit-if-no-ref/
-+              uart9m0_xfer: uart9m0-xfer {
-+                      rockchip,pins =
-+                              /* uart9_rx_m0 */
-+                              <2 RK_PC4 10 &pcfg_pull_up>,
-+                              /* uart9_tx_m0 */
-+                              <2 RK_PC2 10 &pcfg_pull_up>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart9m0_ctsn: uart9m0-ctsn {
-+                      rockchip,pins =
-+                              /* uart9m0_ctsn */
-+                              <4 RK_PC5 10 &pcfg_pull_none>;
-+              };
-+
-+              /omit-if-no-ref/
-+              uart9m0_rtsn: uart9m0-rtsn {
-+                      rockchip,pins =
-+                              /* uart9m0_rtsn */
-+                              <4 RK_PC4 10 &pcfg_pull_none>;
-+              };
-+      };
-+};
---- a/arch/arm64/boot/dts/rockchip/rk3588-pinctrl.dtsi
-+++ /dev/null
-@@ -1,516 +0,0 @@
--// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
--/*
-- * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
-- */
--
--#include <dt-bindings/pinctrl/rockchip.h>
--#include "rockchip-pinconf.dtsi"
--
--/*
-- * This file is auto generated by pin2dts tool, please keep these code
-- * by adding changes at end of this file.
-- */
--&pinctrl {
--      clk32k {
--              /omit-if-no-ref/
--              clk32k_out1: clk32k-out1 {
--                      rockchip,pins =
--                              /* clk32k_out1 */
--                              <2 RK_PC5 1 &pcfg_pull_none>;
--              };
--
--      };
--
--      eth0 {
--              /omit-if-no-ref/
--              eth0_pins: eth0-pins {
--                      rockchip,pins =
--                              /* eth0_refclko_25m */
--                              <2 RK_PC3 1 &pcfg_pull_none>;
--              };
--
--      };
--
--      fspi {
--              /omit-if-no-ref/
--              fspim1_pins: fspim1-pins {
--                      rockchip,pins =
--                              /* fspi_clk_m1 */
--                              <2 RK_PB3 3 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_cs0n_m1 */
--                              <2 RK_PB4 3 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d0_m1 */
--                              <2 RK_PA6 3 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d1_m1 */
--                              <2 RK_PA7 3 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d2_m1 */
--                              <2 RK_PB0 3 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d3_m1 */
--                              <2 RK_PB1 3 &pcfg_pull_up_drv_level_2>;
--              };
--
--              /omit-if-no-ref/
--              fspim1_cs1: fspim1-cs1 {
--                      rockchip,pins =
--                              /* fspi_cs1n_m1 */
--                              <2 RK_PB5 3 &pcfg_pull_up_drv_level_2>;
--              };
--      };
--
--      gmac0 {
--              /omit-if-no-ref/
--              gmac0_miim: gmac0-miim {
--                      rockchip,pins =
--                              /* gmac0_mdc */
--                              <4 RK_PC4 1 &pcfg_pull_none>,
--                              /* gmac0_mdio */
--                              <4 RK_PC5 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac0_clkinout: gmac0-clkinout {
--                      rockchip,pins =
--                              /* gmac0_mclkinout */
--                              <4 RK_PC3 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac0_rx_bus2: gmac0-rx-bus2 {
--                      rockchip,pins =
--                              /* gmac0_rxd0 */
--                              <2 RK_PC1 1 &pcfg_pull_none>,
--                              /* gmac0_rxd1 */
--                              <2 RK_PC2 1 &pcfg_pull_none>,
--                              /* gmac0_rxdv_crs */
--                              <4 RK_PC2 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac0_tx_bus2: gmac0-tx-bus2 {
--                      rockchip,pins =
--                              /* gmac0_txd0 */
--                              <2 RK_PB6 1 &pcfg_pull_none>,
--                              /* gmac0_txd1 */
--                              <2 RK_PB7 1 &pcfg_pull_none>,
--                              /* gmac0_txen */
--                              <2 RK_PC0 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac0_rgmii_clk: gmac0-rgmii-clk {
--                      rockchip,pins =
--                              /* gmac0_rxclk */
--                              <2 RK_PB0 1 &pcfg_pull_none>,
--                              /* gmac0_txclk */
--                              <2 RK_PB3 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac0_rgmii_bus: gmac0-rgmii-bus {
--                      rockchip,pins =
--                              /* gmac0_rxd2 */
--                              <2 RK_PA6 1 &pcfg_pull_none>,
--                              /* gmac0_rxd3 */
--                              <2 RK_PA7 1 &pcfg_pull_none>,
--                              /* gmac0_txd2 */
--                              <2 RK_PB1 1 &pcfg_pull_none>,
--                              /* gmac0_txd3 */
--                              <2 RK_PB2 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac0_ppsclk: gmac0-ppsclk {
--                      rockchip,pins =
--                              /* gmac0_ppsclk */
--                              <2 RK_PC4 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac0_ppstring: gmac0-ppstring {
--                      rockchip,pins =
--                              /* gmac0_ppstring */
--                              <2 RK_PB5 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac0_ptp_refclk: gmac0-ptp-refclk {
--                      rockchip,pins =
--                              /* gmac0_ptp_refclk */
--                              <2 RK_PB4 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac0_txer: gmac0-txer {
--                      rockchip,pins =
--                              /* gmac0_txer */
--                              <4 RK_PC6 1 &pcfg_pull_none>;
--              };
--
--      };
--
--      hdmi {
--              /omit-if-no-ref/
--              hdmim0_tx1_cec: hdmim0-tx1-cec {
--                      rockchip,pins =
--                              /* hdmim0_tx1_cec */
--                              <2 RK_PC4 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim0_tx1_scl: hdmim0-tx1-scl {
--                      rockchip,pins =
--                              /* hdmim0_tx1_scl */
--                              <2 RK_PB5 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim0_tx1_sda: hdmim0-tx1-sda {
--                      rockchip,pins =
--                              /* hdmim0_tx1_sda */
--                              <2 RK_PB4 4 &pcfg_pull_none>;
--              };
--      };
--
--      i2c0 {
--              /omit-if-no-ref/
--              i2c0m1_xfer: i2c0m1-xfer {
--                      rockchip,pins =
--                              /* i2c0_scl_m1 */
--                              <4 RK_PC5 9 &pcfg_pull_none_smt>,
--                              /* i2c0_sda_m1 */
--                              <4 RK_PC6 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c2 {
--              /omit-if-no-ref/
--              i2c2m1_xfer: i2c2m1-xfer {
--                      rockchip,pins =
--                              /* i2c2_scl_m1 */
--                              <2 RK_PC1 9 &pcfg_pull_none_smt>,
--                              /* i2c2_sda_m1 */
--                              <2 RK_PC0 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c3 {
--              /omit-if-no-ref/
--              i2c3m3_xfer: i2c3m3-xfer {
--                      rockchip,pins =
--                              /* i2c3_scl_m3 */
--                              <2 RK_PB2 9 &pcfg_pull_none_smt>,
--                              /* i2c3_sda_m3 */
--                              <2 RK_PB3 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c4 {
--              /omit-if-no-ref/
--              i2c4m1_xfer: i2c4m1-xfer {
--                      rockchip,pins =
--                              /* i2c4_scl_m1 */
--                              <2 RK_PB5 9 &pcfg_pull_none_smt>,
--                              /* i2c4_sda_m1 */
--                              <2 RK_PB4 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c5 {
--              /omit-if-no-ref/
--              i2c5m4_xfer: i2c5m4-xfer {
--                      rockchip,pins =
--                              /* i2c5_scl_m4 */
--                              <2 RK_PB6 9 &pcfg_pull_none_smt>,
--                              /* i2c5_sda_m4 */
--                              <2 RK_PB7 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c6 {
--              /omit-if-no-ref/
--              i2c6m2_xfer: i2c6m2-xfer {
--                      rockchip,pins =
--                              /* i2c6_scl_m2 */
--                              <2 RK_PC3 9 &pcfg_pull_none_smt>,
--                              /* i2c6_sda_m2 */
--                              <2 RK_PC2 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c7 {
--              /omit-if-no-ref/
--              i2c7m1_xfer: i2c7m1-xfer {
--                      rockchip,pins =
--                              /* i2c7_scl_m1 */
--                              <4 RK_PC3 9 &pcfg_pull_none_smt>,
--                              /* i2c7_sda_m1 */
--                              <4 RK_PC4 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c8 {
--              /omit-if-no-ref/
--              i2c8m1_xfer: i2c8m1-xfer {
--                      rockchip,pins =
--                              /* i2c8_scl_m1 */
--                              <2 RK_PB0 9 &pcfg_pull_none_smt>,
--                              /* i2c8_sda_m1 */
--                              <2 RK_PB1 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2s2 {
--              /omit-if-no-ref/
--              i2s2m0_lrck: i2s2m0-lrck {
--                      rockchip,pins =
--                              /* i2s2m0_lrck */
--                              <2 RK_PC0 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m0_mclk: i2s2m0-mclk {
--                      rockchip,pins =
--                              /* i2s2m0_mclk */
--                              <2 RK_PB6 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m0_sclk: i2s2m0-sclk {
--                      rockchip,pins =
--                              /* i2s2m0_sclk */
--                              <2 RK_PB7 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m0_sdi: i2s2m0-sdi {
--                      rockchip,pins =
--                              /* i2s2m0_sdi */
--                              <2 RK_PC3 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m0_sdo: i2s2m0-sdo {
--                      rockchip,pins =
--                              /* i2s2m0_sdo */
--                              <4 RK_PC3 2 &pcfg_pull_none>;
--              };
--      };
--
--      pwm2 {
--              /omit-if-no-ref/
--              pwm2m2_pins: pwm2m2-pins {
--                      rockchip,pins =
--                              /* pwm2_m2 */
--                              <4 RK_PC2 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm4 {
--              /omit-if-no-ref/
--              pwm4m1_pins: pwm4m1-pins {
--                      rockchip,pins =
--                              /* pwm4_m1 */
--                              <4 RK_PC3 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm5 {
--              /omit-if-no-ref/
--              pwm5m2_pins: pwm5m2-pins {
--                      rockchip,pins =
--                              /* pwm5_m2 */
--                              <4 RK_PC4 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm6 {
--              /omit-if-no-ref/
--              pwm6m2_pins: pwm6m2-pins {
--                      rockchip,pins =
--                              /* pwm6_m2 */
--                              <4 RK_PC5 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm7 {
--              /omit-if-no-ref/
--              pwm7m3_pins: pwm7m3-pins {
--                      rockchip,pins =
--                              /* pwm7_ir_m3 */
--                              <4 RK_PC6 11 &pcfg_pull_none>;
--              };
--      };
--
--      sdio {
--              /omit-if-no-ref/
--              sdiom0_pins: sdiom0-pins {
--                      rockchip,pins =
--                              /* sdio_clk_m0 */
--                              <2 RK_PB3 2 &pcfg_pull_none>,
--                              /* sdio_cmd_m0 */
--                              <2 RK_PB2 2 &pcfg_pull_none>,
--                              /* sdio_d0_m0 */
--                              <2 RK_PA6 2 &pcfg_pull_none>,
--                              /* sdio_d1_m0 */
--                              <2 RK_PA7 2 &pcfg_pull_none>,
--                              /* sdio_d2_m0 */
--                              <2 RK_PB0 2 &pcfg_pull_none>,
--                              /* sdio_d3_m0 */
--                              <2 RK_PB1 2 &pcfg_pull_none>;
--              };
--      };
--
--      spi1 {
--              /omit-if-no-ref/
--              spi1m0_pins: spi1m0-pins {
--                      rockchip,pins =
--                              /* spi1_clk_m0 */
--                              <2 RK_PC0 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi1_miso_m0 */
--                              <2 RK_PC1 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi1_mosi_m0 */
--                              <2 RK_PC2 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi1m0_cs0: spi1m0-cs0 {
--                      rockchip,pins =
--                              /* spi1_cs0_m0 */
--                              <2 RK_PC3 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi1m0_cs1: spi1m0-cs1 {
--                      rockchip,pins =
--                              /* spi1_cs1_m0 */
--                              <2 RK_PC4 8 &pcfg_pull_up_drv_level_1>;
--              };
--      };
--
--      spi3 {
--              /omit-if-no-ref/
--              spi3m0_pins: spi3m0-pins {
--                      rockchip,pins =
--                              /* spi3_clk_m0 */
--                              <4 RK_PC6 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi3_miso_m0 */
--                              <4 RK_PC4 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi3_mosi_m0 */
--                              <4 RK_PC5 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi3m0_cs0: spi3m0-cs0 {
--                      rockchip,pins =
--                              /* spi3_cs0_m0 */
--                              <4 RK_PC2 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi3m0_cs1: spi3m0-cs1 {
--                      rockchip,pins =
--                              /* spi3_cs1_m0 */
--                              <4 RK_PC3 8 &pcfg_pull_up_drv_level_1>;
--              };
--      };
--
--      uart1 {
--              /omit-if-no-ref/
--              uart1m0_xfer: uart1m0-xfer {
--                      rockchip,pins =
--                              /* uart1_rx_m0 */
--                              <2 RK_PB6 10 &pcfg_pull_up>,
--                              /* uart1_tx_m0 */
--                              <2 RK_PB7 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart1m0_ctsn: uart1m0-ctsn {
--                      rockchip,pins =
--                              /* uart1m0_ctsn */
--                              <2 RK_PC1 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart1m0_rtsn: uart1m0-rtsn {
--                      rockchip,pins =
--                              /* uart1m0_rtsn */
--                              <2 RK_PC0 10 &pcfg_pull_none>;
--              };
--      };
--
--      uart6 {
--              /omit-if-no-ref/
--              uart6m0_xfer: uart6m0-xfer {
--                      rockchip,pins =
--                              /* uart6_rx_m0 */
--                              <2 RK_PA6 10 &pcfg_pull_up>,
--                              /* uart6_tx_m0 */
--                              <2 RK_PA7 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart6m0_ctsn: uart6m0-ctsn {
--                      rockchip,pins =
--                              /* uart6m0_ctsn */
--                              <2 RK_PB1 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart6m0_rtsn: uart6m0-rtsn {
--                      rockchip,pins =
--                              /* uart6m0_rtsn */
--                              <2 RK_PB0 10 &pcfg_pull_none>;
--              };
--      };
--
--      uart7 {
--              /omit-if-no-ref/
--              uart7m0_xfer: uart7m0-xfer {
--                      rockchip,pins =
--                              /* uart7_rx_m0 */
--                              <2 RK_PB4 10 &pcfg_pull_up>,
--                              /* uart7_tx_m0 */
--                              <2 RK_PB5 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart7m0_ctsn: uart7m0-ctsn {
--                      rockchip,pins =
--                              /* uart7m0_ctsn */
--                              <4 RK_PC6 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart7m0_rtsn: uart7m0-rtsn {
--                      rockchip,pins =
--                              /* uart7m0_rtsn */
--                              <4 RK_PC2 10 &pcfg_pull_none>;
--              };
--      };
--
--      uart9 {
--              /omit-if-no-ref/
--              uart9m0_xfer: uart9m0-xfer {
--                      rockchip,pins =
--                              /* uart9_rx_m0 */
--                              <2 RK_PC4 10 &pcfg_pull_up>,
--                              /* uart9_tx_m0 */
--                              <2 RK_PC2 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart9m0_ctsn: uart9m0-ctsn {
--                      rockchip,pins =
--                              /* uart9m0_ctsn */
--                              <4 RK_PC5 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart9m0_rtsn: uart9m0-rtsn {
--                      rockchip,pins =
--                              /* uart9m0_rtsn */
--                              <4 RK_PC4 10 &pcfg_pull_none>;
--              };
--      };
--};
---- a/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi
-+++ /dev/null
-@@ -1,3447 +0,0 @@
--// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
--/*
-- * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
-- */
--
--#include <dt-bindings/pinctrl/rockchip.h>
--#include "rockchip-pinconf.dtsi"
--
--/*
-- * This file is auto generated by pin2dts tool, please keep these code
-- * by adding changes at end of this file.
-- */
--&pinctrl {
--      auddsm {
--              /omit-if-no-ref/
--              auddsm_pins: auddsm-pins {
--                      rockchip,pins =
--                              /* auddsm_ln */
--                              <3 RK_PA1 4 &pcfg_pull_none>,
--                              /* auddsm_lp */
--                              <3 RK_PA2 4 &pcfg_pull_none>,
--                              /* auddsm_rn */
--                              <3 RK_PA3 4 &pcfg_pull_none>,
--                              /* auddsm_rp */
--                              <3 RK_PA4 4 &pcfg_pull_none>;
--              };
--      };
--
--      bt1120 {
--              /omit-if-no-ref/
--              bt1120_pins: bt1120-pins {
--                      rockchip,pins =
--                              /* bt1120_clkout */
--                              <4 RK_PB0 2 &pcfg_pull_none>,
--                              /* bt1120_d0 */
--                              <4 RK_PA0 2 &pcfg_pull_none>,
--                              /* bt1120_d1 */
--                              <4 RK_PA1 2 &pcfg_pull_none>,
--                              /* bt1120_d2 */
--                              <4 RK_PA2 2 &pcfg_pull_none>,
--                              /* bt1120_d3 */
--                              <4 RK_PA3 2 &pcfg_pull_none>,
--                              /* bt1120_d4 */
--                              <4 RK_PA4 2 &pcfg_pull_none>,
--                              /* bt1120_d5 */
--                              <4 RK_PA5 2 &pcfg_pull_none>,
--                              /* bt1120_d6 */
--                              <4 RK_PA6 2 &pcfg_pull_none>,
--                              /* bt1120_d7 */
--                              <4 RK_PA7 2 &pcfg_pull_none>,
--                              /* bt1120_d8 */
--                              <4 RK_PB2 2 &pcfg_pull_none>,
--                              /* bt1120_d9 */
--                              <4 RK_PB3 2 &pcfg_pull_none>,
--                              /* bt1120_d10 */
--                              <4 RK_PB4 2 &pcfg_pull_none>,
--                              /* bt1120_d11 */
--                              <4 RK_PB5 2 &pcfg_pull_none>,
--                              /* bt1120_d12 */
--                              <4 RK_PB6 2 &pcfg_pull_none>,
--                              /* bt1120_d13 */
--                              <4 RK_PB7 2 &pcfg_pull_none>,
--                              /* bt1120_d14 */
--                              <4 RK_PC0 2 &pcfg_pull_none>,
--                              /* bt1120_d15 */
--                              <4 RK_PC1 2 &pcfg_pull_none>;
--              };
--      };
--
--      can0 {
--              /omit-if-no-ref/
--              can0m0_pins: can0m0-pins {
--                      rockchip,pins =
--                              /* can0_rx_m0 */
--                              <0 RK_PC0 11 &pcfg_pull_none>,
--                              /* can0_tx_m0 */
--                              <0 RK_PB7 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              can0m1_pins: can0m1-pins {
--                      rockchip,pins =
--                              /* can0_rx_m1 */
--                              <4 RK_PD5 9 &pcfg_pull_none>,
--                              /* can0_tx_m1 */
--                              <4 RK_PD4 9 &pcfg_pull_none>;
--              };
--      };
--
--      can1 {
--              /omit-if-no-ref/
--              can1m0_pins: can1m0-pins {
--                      rockchip,pins =
--                              /* can1_rx_m0 */
--                              <3 RK_PB5 9 &pcfg_pull_none>,
--                              /* can1_tx_m0 */
--                              <3 RK_PB6 9 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              can1m1_pins: can1m1-pins {
--                      rockchip,pins =
--                              /* can1_rx_m1 */
--                              <4 RK_PB2 12 &pcfg_pull_none>,
--                              /* can1_tx_m1 */
--                              <4 RK_PB3 12 &pcfg_pull_none>;
--              };
--      };
--
--      can2 {
--              /omit-if-no-ref/
--              can2m0_pins: can2m0-pins {
--                      rockchip,pins =
--                              /* can2_rx_m0 */
--                              <3 RK_PC4 9 &pcfg_pull_none>,
--                              /* can2_tx_m0 */
--                              <3 RK_PC5 9 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              can2m1_pins: can2m1-pins {
--                      rockchip,pins =
--                              /* can2_rx_m1 */
--                              <0 RK_PD4 10 &pcfg_pull_none>,
--                              /* can2_tx_m1 */
--                              <0 RK_PD5 10 &pcfg_pull_none>;
--              };
--      };
--
--      cif {
--              /omit-if-no-ref/
--              cif_clk: cif-clk {
--                      rockchip,pins =
--                              /* cif_clkout */
--                              <4 RK_PB4 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              cif_dvp_clk: cif-dvp-clk {
--                      rockchip,pins =
--                              /* cif_clkin */
--                              <4 RK_PB0 1 &pcfg_pull_none>,
--                              /* cif_href */
--                              <4 RK_PB2 1 &pcfg_pull_none>,
--                              /* cif_vsync */
--                              <4 RK_PB3 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              cif_dvp_bus16: cif-dvp-bus16 {
--                      rockchip,pins =
--                              /* cif_d8 */
--                              <3 RK_PC4 1 &pcfg_pull_none>,
--                              /* cif_d9 */
--                              <3 RK_PC5 1 &pcfg_pull_none>,
--                              /* cif_d10 */
--                              <3 RK_PC6 1 &pcfg_pull_none>,
--                              /* cif_d11 */
--                              <3 RK_PC7 1 &pcfg_pull_none>,
--                              /* cif_d12 */
--                              <3 RK_PD0 1 &pcfg_pull_none>,
--                              /* cif_d13 */
--                              <3 RK_PD1 1 &pcfg_pull_none>,
--                              /* cif_d14 */
--                              <3 RK_PD2 1 &pcfg_pull_none>,
--                              /* cif_d15 */
--                              <3 RK_PD3 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              cif_dvp_bus8: cif-dvp-bus8 {
--                      rockchip,pins =
--                              /* cif_d0 */
--                              <4 RK_PA0 1 &pcfg_pull_none>,
--                              /* cif_d1 */
--                              <4 RK_PA1 1 &pcfg_pull_none>,
--                              /* cif_d2 */
--                              <4 RK_PA2 1 &pcfg_pull_none>,
--                              /* cif_d3 */
--                              <4 RK_PA3 1 &pcfg_pull_none>,
--                              /* cif_d4 */
--                              <4 RK_PA4 1 &pcfg_pull_none>,
--                              /* cif_d5 */
--                              <4 RK_PA5 1 &pcfg_pull_none>,
--                              /* cif_d6 */
--                              <4 RK_PA6 1 &pcfg_pull_none>,
--                              /* cif_d7 */
--                              <4 RK_PA7 1 &pcfg_pull_none>;
--              };
--      };
--
--      clk32k {
--              /omit-if-no-ref/
--              clk32k_in: clk32k-in {
--                      rockchip,pins =
--                              /* clk32k_in */
--                              <0 RK_PB2 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              clk32k_out0: clk32k-out0 {
--                      rockchip,pins =
--                              /* clk32k_out0 */
--                              <0 RK_PB2 2 &pcfg_pull_none>;
--              };
--      };
--
--      cpu {
--              /omit-if-no-ref/
--              cpu_pins: cpu-pins {
--                      rockchip,pins =
--                              /* cpu_big0_avs */
--                              <0 RK_PD1 2 &pcfg_pull_none>,
--                              /* cpu_big1_avs */
--                              <0 RK_PD5 2 &pcfg_pull_none>;
--              };
--      };
--
--      ddrphych0 {
--              /omit-if-no-ref/
--              ddrphych0_pins: ddrphych0-pins {
--                      rockchip,pins =
--                              /* ddrphych0_dtb0 */
--                              <4 RK_PA0 7 &pcfg_pull_none>,
--                              /* ddrphych0_dtb1 */
--                              <4 RK_PA1 7 &pcfg_pull_none>,
--                              /* ddrphych0_dtb2 */
--                              <4 RK_PA2 7 &pcfg_pull_none>,
--                              /* ddrphych0_dtb3 */
--                              <4 RK_PA3 7 &pcfg_pull_none>;
--              };
--      };
--
--      ddrphych1 {
--              /omit-if-no-ref/
--              ddrphych1_pins: ddrphych1-pins {
--                      rockchip,pins =
--                              /* ddrphych1_dtb0 */
--                              <4 RK_PA4 7 &pcfg_pull_none>,
--                              /* ddrphych1_dtb1 */
--                              <4 RK_PA5 7 &pcfg_pull_none>,
--                              /* ddrphych1_dtb2 */
--                              <4 RK_PA6 7 &pcfg_pull_none>,
--                              /* ddrphych1_dtb3 */
--                              <4 RK_PA7 7 &pcfg_pull_none>;
--              };
--      };
--
--      ddrphych2 {
--              /omit-if-no-ref/
--              ddrphych2_pins: ddrphych2-pins {
--                      rockchip,pins =
--                              /* ddrphych2_dtb0 */
--                              <4 RK_PB0 7 &pcfg_pull_none>,
--                              /* ddrphych2_dtb1 */
--                              <4 RK_PB1 7 &pcfg_pull_none>,
--                              /* ddrphych2_dtb2 */
--                              <4 RK_PB2 7 &pcfg_pull_none>,
--                              /* ddrphych2_dtb3 */
--                              <4 RK_PB3 7 &pcfg_pull_none>;
--              };
--      };
--
--      ddrphych3 {
--              /omit-if-no-ref/
--              ddrphych3_pins: ddrphych3-pins {
--                      rockchip,pins =
--                              /* ddrphych3_dtb0 */
--                              <4 RK_PB4 7 &pcfg_pull_none>,
--                              /* ddrphych3_dtb1 */
--                              <4 RK_PB5 7 &pcfg_pull_none>,
--                              /* ddrphych3_dtb2 */
--                              <4 RK_PB6 7 &pcfg_pull_none>,
--                              /* ddrphych3_dtb3 */
--                              <4 RK_PB7 7 &pcfg_pull_none>;
--              };
--      };
--
--      dp0 {
--              /omit-if-no-ref/
--              dp0m0_pins: dp0m0-pins {
--                      rockchip,pins =
--                              /* dp0_hpdin_m0 */
--                              <4 RK_PB4 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              dp0m1_pins: dp0m1-pins {
--                      rockchip,pins =
--                              /* dp0_hpdin_m1 */
--                              <0 RK_PC4 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              dp0m2_pins: dp0m2-pins {
--                      rockchip,pins =
--                              /* dp0_hpdin_m2 */
--                              <1 RK_PA0 5 &pcfg_pull_none>;
--              };
--      };
--
--      dp1 {
--              /omit-if-no-ref/
--              dp1m0_pins: dp1m0-pins {
--                      rockchip,pins =
--                              /* dp1_hpdin_m0 */
--                              <3 RK_PD5 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              dp1m1_pins: dp1m1-pins {
--                      rockchip,pins =
--                              /* dp1_hpdin_m1 */
--                              <0 RK_PC5 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              dp1m2_pins: dp1m2-pins {
--                      rockchip,pins =
--                              /* dp1_hpdin_m2 */
--                              <1 RK_PA1 5 &pcfg_pull_none>;
--              };
--      };
--
--      emmc {
--              /omit-if-no-ref/
--              emmc_rstnout: emmc-rstnout {
--                      rockchip,pins =
--                              /* emmc_rstn */
--                              <2 RK_PA3 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              emmc_bus8: emmc-bus8 {
--                      rockchip,pins =
--                              /* emmc_d0 */
--                              <2 RK_PD0 1 &pcfg_pull_up_drv_level_2>,
--                              /* emmc_d1 */
--                              <2 RK_PD1 1 &pcfg_pull_up_drv_level_2>,
--                              /* emmc_d2 */
--                              <2 RK_PD2 1 &pcfg_pull_up_drv_level_2>,
--                              /* emmc_d3 */
--                              <2 RK_PD3 1 &pcfg_pull_up_drv_level_2>,
--                              /* emmc_d4 */
--                              <2 RK_PD4 1 &pcfg_pull_up_drv_level_2>,
--                              /* emmc_d5 */
--                              <2 RK_PD5 1 &pcfg_pull_up_drv_level_2>,
--                              /* emmc_d6 */
--                              <2 RK_PD6 1 &pcfg_pull_up_drv_level_2>,
--                              /* emmc_d7 */
--                              <2 RK_PD7 1 &pcfg_pull_up_drv_level_2>;
--              };
--
--              /omit-if-no-ref/
--              emmc_clk: emmc-clk {
--                      rockchip,pins =
--                              /* emmc_clkout */
--                              <2 RK_PA1 1 &pcfg_pull_up_drv_level_2>;
--              };
--
--              /omit-if-no-ref/
--              emmc_cmd: emmc-cmd {
--                      rockchip,pins =
--                              /* emmc_cmd */
--                              <2 RK_PA0 1 &pcfg_pull_up_drv_level_2>;
--              };
--
--              /omit-if-no-ref/
--              emmc_data_strobe: emmc-data-strobe {
--                      rockchip,pins =
--                              /* emmc_data_strobe */
--                              <2 RK_PA2 1 &pcfg_pull_down>;
--              };
--      };
--
--      eth1 {
--              /omit-if-no-ref/
--              eth1_pins: eth1-pins {
--                      rockchip,pins =
--                              /* eth1_refclko_25m */
--                              <3 RK_PA6 1 &pcfg_pull_none>;
--              };
--      };
--
--      fspi {
--              /omit-if-no-ref/
--              fspim0_pins: fspim0-pins {
--                      rockchip,pins =
--                              /* fspi_clk_m0 */
--                              <2 RK_PA0 2 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_cs0n_m0 */
--                              <2 RK_PD6 2 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d0_m0 */
--                              <2 RK_PD0 2 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d1_m0 */
--                              <2 RK_PD1 2 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d2_m0 */
--                              <2 RK_PD2 2 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d3_m0 */
--                              <2 RK_PD3 2 &pcfg_pull_up_drv_level_2>;
--              };
--
--              /omit-if-no-ref/
--              fspim0_cs1: fspim0-cs1 {
--                      rockchip,pins =
--                              /* fspi_cs1n_m0 */
--                              <2 RK_PD7 2 &pcfg_pull_up_drv_level_2>;
--              };
--
--              /omit-if-no-ref/
--              fspim2_pins: fspim2-pins {
--                      rockchip,pins =
--                              /* fspi_clk_m2 */
--                              <3 RK_PA5 5 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_cs0n_m2 */
--                              <3 RK_PC4 2 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d0_m2 */
--                              <3 RK_PA0 5 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d1_m2 */
--                              <3 RK_PA1 5 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d2_m2 */
--                              <3 RK_PA2 5 &pcfg_pull_up_drv_level_2>,
--                              /* fspi_d3_m2 */
--                              <3 RK_PA3 5 &pcfg_pull_up_drv_level_2>;
--              };
--
--              /omit-if-no-ref/
--              fspim2_cs1: fspim2-cs1 {
--                      rockchip,pins =
--                              /* fspi_cs1n_m2 */
--                              <3 RK_PC5 2 &pcfg_pull_up_drv_level_2>;
--              };
--      };
--
--      gmac1 {
--              /omit-if-no-ref/
--              gmac1_miim: gmac1-miim {
--                      rockchip,pins =
--                              /* gmac1_mdc */
--                              <3 RK_PC2 1 &pcfg_pull_none>,
--                              /* gmac1_mdio */
--                              <3 RK_PC3 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac1_clkinout: gmac1-clkinout {
--                      rockchip,pins =
--                              /* gmac1_mclkinout */
--                              <3 RK_PB6 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac1_rx_bus2: gmac1-rx-bus2 {
--                      rockchip,pins =
--                              /* gmac1_rxd0 */
--                              <3 RK_PA7 1 &pcfg_pull_none>,
--                              /* gmac1_rxd1 */
--                              <3 RK_PB0 1 &pcfg_pull_none>,
--                              /* gmac1_rxdv_crs */
--                              <3 RK_PB1 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac1_tx_bus2: gmac1-tx-bus2 {
--                      rockchip,pins =
--                              /* gmac1_txd0 */
--                              <3 RK_PB3 1 &pcfg_pull_none>,
--                              /* gmac1_txd1 */
--                              <3 RK_PB4 1 &pcfg_pull_none>,
--                              /* gmac1_txen */
--                              <3 RK_PB5 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac1_rgmii_clk: gmac1-rgmii-clk {
--                      rockchip,pins =
--                              /* gmac1_rxclk */
--                              <3 RK_PA5 1 &pcfg_pull_none>,
--                              /* gmac1_txclk */
--                              <3 RK_PA4 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac1_rgmii_bus: gmac1-rgmii-bus {
--                      rockchip,pins =
--                              /* gmac1_rxd2 */
--                              <3 RK_PA2 1 &pcfg_pull_none>,
--                              /* gmac1_rxd3 */
--                              <3 RK_PA3 1 &pcfg_pull_none>,
--                              /* gmac1_txd2 */
--                              <3 RK_PA0 1 &pcfg_pull_none>,
--                              /* gmac1_txd3 */
--                              <3 RK_PA1 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac1_ppsclk: gmac1-ppsclk {
--                      rockchip,pins =
--                              /* gmac1_ppsclk */
--                              <3 RK_PC1 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac1_ppstrig: gmac1-ppstrig {
--                      rockchip,pins =
--                              /* gmac1_ppstrig */
--                              <3 RK_PC0 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac1_ptp_ref_clk: gmac1-ptp-ref-clk {
--                      rockchip,pins =
--                              /* gmac1_ptp_ref_clk */
--                              <3 RK_PB7 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              gmac1_txer: gmac1-txer {
--                      rockchip,pins =
--                              /* gmac1_txer */
--                              <3 RK_PB2 1 &pcfg_pull_none>;
--              };
--      };
--
--      gpu {
--              /omit-if-no-ref/
--              gpu_pins: gpu-pins {
--                      rockchip,pins =
--                              /* gpu_avs */
--                              <0 RK_PC5 2 &pcfg_pull_none>;
--              };
--      };
--
--      hdmi {
--              /omit-if-no-ref/
--              hdmim0_rx_cec: hdmim0-rx-cec {
--                      rockchip,pins =
--                              /* hdmim0_rx_cec */
--                              <4 RK_PB5 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim0_rx_hpdin: hdmim0-rx-hpdin {
--                      rockchip,pins =
--                              /* hdmim0_rx_hpdin */
--                              <4 RK_PB6 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim0_rx_scl: hdmim0-rx-scl {
--                      rockchip,pins =
--                              /* hdmim0_rx_scl */
--                              <0 RK_PD2 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim0_rx_sda: hdmim0-rx-sda {
--                      rockchip,pins =
--                              /* hdmim0_rx_sda */
--                              <0 RK_PD1 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim0_tx0_cec: hdmim0-tx0-cec {
--                      rockchip,pins =
--                              /* hdmim0_tx0_cec */
--                              <4 RK_PC1 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim0_tx0_hpd: hdmim0-tx0-hpd {
--                      rockchip,pins =
--                              /* hdmim0_tx0_hpd */
--                              <1 RK_PA5 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim0_tx0_scl: hdmim0-tx0-scl {
--                      rockchip,pins =
--                              /* hdmim0_tx0_scl */
--                              <4 RK_PB7 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim0_tx0_sda: hdmim0-tx0-sda {
--                      rockchip,pins =
--                              /* hdmim0_tx0_sda */
--                              <4 RK_PC0 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim0_tx1_hpd: hdmim0-tx1-hpd {
--                      rockchip,pins =
--                              /* hdmim0_tx1_hpd */
--                              <1 RK_PA6 5 &pcfg_pull_none>;
--              };
--              /omit-if-no-ref/
--              hdmim1_rx_cec: hdmim1-rx-cec {
--                      rockchip,pins =
--                              /* hdmim1_rx_cec */
--                              <3 RK_PD1 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_rx_hpdin: hdmim1-rx-hpdin {
--                      rockchip,pins =
--                              /* hdmim1_rx_hpdin */
--                              <3 RK_PD4 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_rx_scl: hdmim1-rx-scl {
--                      rockchip,pins =
--                              /* hdmim1_rx_scl */
--                              <3 RK_PD2 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_rx_sda: hdmim1-rx-sda {
--                      rockchip,pins =
--                              /* hdmim1_rx_sda */
--                              <3 RK_PD3 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_tx0_cec: hdmim1-tx0-cec {
--                      rockchip,pins =
--                              /* hdmim1_tx0_cec */
--                              <0 RK_PD1 13 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_tx0_hpd: hdmim1-tx0-hpd {
--                      rockchip,pins =
--                              /* hdmim1_tx0_hpd */
--                              <3 RK_PD4 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_tx0_scl: hdmim1-tx0-scl {
--                      rockchip,pins =
--                              /* hdmim1_tx0_scl */
--                              <0 RK_PD5 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_tx0_sda: hdmim1-tx0-sda {
--                      rockchip,pins =
--                              /* hdmim1_tx0_sda */
--                              <0 RK_PD4 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_tx1_cec: hdmim1-tx1-cec {
--                      rockchip,pins =
--                              /* hdmim1_tx1_cec */
--                              <0 RK_PD2 13 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_tx1_hpd: hdmim1-tx1-hpd {
--                      rockchip,pins =
--                              /* hdmim1_tx1_hpd */
--                              <3 RK_PB7 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_tx1_scl: hdmim1-tx1-scl {
--                      rockchip,pins =
--                              /* hdmim1_tx1_scl */
--                              <3 RK_PC6 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim1_tx1_sda: hdmim1-tx1-sda {
--                      rockchip,pins =
--                              /* hdmim1_tx1_sda */
--                              <3 RK_PC5 5 &pcfg_pull_none>;
--              };
--              /omit-if-no-ref/
--              hdmim2_rx_cec: hdmim2-rx-cec {
--                      rockchip,pins =
--                              /* hdmim2_rx_cec */
--                              <1 RK_PB7 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim2_rx_hpdin: hdmim2-rx-hpdin {
--                      rockchip,pins =
--                              /* hdmim2_rx_hpdin */
--                              <1 RK_PB6 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim2_rx_scl: hdmim2-rx-scl {
--                      rockchip,pins =
--                              /* hdmim2_rx_scl */
--                              <1 RK_PD6 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim2_rx_sda: hdmim2-rx-sda {
--                      rockchip,pins =
--                              /* hdmim2_rx_sda */
--                              <1 RK_PD7 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim2_tx0_scl: hdmim2-tx0-scl {
--                      rockchip,pins =
--                              /* hdmim2_tx0_scl */
--                              <3 RK_PC7 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim2_tx0_sda: hdmim2-tx0-sda {
--                      rockchip,pins =
--                              /* hdmim2_tx0_sda */
--                              <3 RK_PD0 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim2_tx1_cec: hdmim2-tx1-cec {
--                      rockchip,pins =
--                              /* hdmim2_tx1_cec */
--                              <3 RK_PC4 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim2_tx1_scl: hdmim2-tx1-scl {
--                      rockchip,pins =
--                              /* hdmim2_tx1_scl */
--                              <1 RK_PA4 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmim2_tx1_sda: hdmim2-tx1-sda {
--                      rockchip,pins =
--                              /* hdmim2_tx1_sda */
--                              <1 RK_PA3 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmi_debug0: hdmi-debug0 {
--                      rockchip,pins =
--                              /* hdmi_debug0 */
--                              <1 RK_PA7 7 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmi_debug1: hdmi-debug1 {
--                      rockchip,pins =
--                              /* hdmi_debug1 */
--                              <1 RK_PB0 7 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmi_debug2: hdmi-debug2 {
--                      rockchip,pins =
--                              /* hdmi_debug2 */
--                              <1 RK_PB1 7 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmi_debug3: hdmi-debug3 {
--                      rockchip,pins =
--                              /* hdmi_debug3 */
--                              <1 RK_PB2 7 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmi_debug4: hdmi-debug4 {
--                      rockchip,pins =
--                              /* hdmi_debug4 */
--                              <1 RK_PB3 7 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmi_debug5: hdmi-debug5 {
--                      rockchip,pins =
--                              /* hdmi_debug5 */
--                              <1 RK_PB4 7 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              hdmi_debug6: hdmi-debug6 {
--                      rockchip,pins =
--                              /* hdmi_debug6 */
--                              <1 RK_PA0 7 &pcfg_pull_none>;
--              };
--      };
--
--      i2c0 {
--              /omit-if-no-ref/
--              i2c0m0_xfer: i2c0m0-xfer {
--                      rockchip,pins =
--                              /* i2c0_scl_m0 */
--                              <0 RK_PB3 2 &pcfg_pull_none_smt>,
--                              /* i2c0_sda_m0 */
--                              <0 RK_PA6 2 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c0m2_xfer: i2c0m2-xfer {
--                      rockchip,pins =
--                              /* i2c0_scl_m2 */
--                              <0 RK_PD1 3 &pcfg_pull_none_smt>,
--                              /* i2c0_sda_m2 */
--                              <0 RK_PD2 3 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c1 {
--              /omit-if-no-ref/
--              i2c1m0_xfer: i2c1m0-xfer {
--                      rockchip,pins =
--                              /* i2c1_scl_m0 */
--                              <0 RK_PB5 9 &pcfg_pull_none_smt>,
--                              /* i2c1_sda_m0 */
--                              <0 RK_PB6 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c1m1_xfer: i2c1m1-xfer {
--                      rockchip,pins =
--                              /* i2c1_scl_m1 */
--                              <0 RK_PB0 2 &pcfg_pull_none_smt>,
--                              /* i2c1_sda_m1 */
--                              <0 RK_PB1 2 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c1m2_xfer: i2c1m2-xfer {
--                      rockchip,pins =
--                              /* i2c1_scl_m2 */
--                              <0 RK_PD4 9 &pcfg_pull_none_smt>,
--                              /* i2c1_sda_m2 */
--                              <0 RK_PD5 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c1m3_xfer: i2c1m3-xfer {
--                      rockchip,pins =
--                              /* i2c1_scl_m3 */
--                              <2 RK_PD4 9 &pcfg_pull_none_smt>,
--                              /* i2c1_sda_m3 */
--                              <2 RK_PD5 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c1m4_xfer: i2c1m4-xfer {
--                      rockchip,pins =
--                              /* i2c1_scl_m4 */
--                              <1 RK_PD2 9 &pcfg_pull_none_smt>,
--                              /* i2c1_sda_m4 */
--                              <1 RK_PD3 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c2 {
--              /omit-if-no-ref/
--              i2c2m0_xfer: i2c2m0-xfer {
--                      rockchip,pins =
--                              /* i2c2_scl_m0 */
--                              <0 RK_PB7 9 &pcfg_pull_none_smt>,
--                              /* i2c2_sda_m0 */
--                              <0 RK_PC0 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c2m2_xfer: i2c2m2-xfer {
--                      rockchip,pins =
--                              /* i2c2_scl_m2 */
--                              <2 RK_PA3 9 &pcfg_pull_none_smt>,
--                              /* i2c2_sda_m2 */
--                              <2 RK_PA2 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c2m3_xfer: i2c2m3-xfer {
--                      rockchip,pins =
--                              /* i2c2_scl_m3 */
--                              <1 RK_PC5 9 &pcfg_pull_none_smt>,
--                              /* i2c2_sda_m3 */
--                              <1 RK_PC4 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c2m4_xfer: i2c2m4-xfer {
--                      rockchip,pins =
--                              /* i2c2_scl_m4 */
--                              <1 RK_PA1 9 &pcfg_pull_none_smt>,
--                              /* i2c2_sda_m4 */
--                              <1 RK_PA0 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c3 {
--              /omit-if-no-ref/
--              i2c3m0_xfer: i2c3m0-xfer {
--                      rockchip,pins =
--                              /* i2c3_scl_m0 */
--                              <1 RK_PC1 9 &pcfg_pull_none_smt>,
--                              /* i2c3_sda_m0 */
--                              <1 RK_PC0 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c3m1_xfer: i2c3m1-xfer {
--                      rockchip,pins =
--                              /* i2c3_scl_m1 */
--                              <3 RK_PB7 9 &pcfg_pull_none_smt>,
--                              /* i2c3_sda_m1 */
--                              <3 RK_PC0 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c3m2_xfer: i2c3m2-xfer {
--                      rockchip,pins =
--                              /* i2c3_scl_m2 */
--                              <4 RK_PA4 9 &pcfg_pull_none_smt>,
--                              /* i2c3_sda_m2 */
--                              <4 RK_PA5 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c3m4_xfer: i2c3m4-xfer {
--                      rockchip,pins =
--                              /* i2c3_scl_m4 */
--                              <4 RK_PD0 9 &pcfg_pull_none_smt>,
--                              /* i2c3_sda_m4 */
--                              <4 RK_PD1 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c4 {
--              /omit-if-no-ref/
--              i2c4m0_xfer: i2c4m0-xfer {
--                      rockchip,pins =
--                              /* i2c4_scl_m0 */
--                              <3 RK_PA6 9 &pcfg_pull_none_smt>,
--                              /* i2c4_sda_m0 */
--                              <3 RK_PA5 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c4m2_xfer: i2c4m2-xfer {
--                      rockchip,pins =
--                              /* i2c4_scl_m2 */
--                              <0 RK_PC5 9 &pcfg_pull_none_smt>,
--                              /* i2c4_sda_m2 */
--                              <0 RK_PC4 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c4m3_xfer: i2c4m3-xfer {
--                      rockchip,pins =
--                              /* i2c4_scl_m3 */
--                              <1 RK_PA3 9 &pcfg_pull_none_smt>,
--                              /* i2c4_sda_m3 */
--                              <1 RK_PA2 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c4m4_xfer: i2c4m4-xfer {
--                      rockchip,pins =
--                              /* i2c4_scl_m4 */
--                              <1 RK_PC7 9 &pcfg_pull_none_smt>,
--                              /* i2c4_sda_m4 */
--                              <1 RK_PC6 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c5 {
--              /omit-if-no-ref/
--              i2c5m0_xfer: i2c5m0-xfer {
--                      rockchip,pins =
--                              /* i2c5_scl_m0 */
--                              <3 RK_PC7 9 &pcfg_pull_none_smt>,
--                              /* i2c5_sda_m0 */
--                              <3 RK_PD0 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c5m1_xfer: i2c5m1-xfer {
--                      rockchip,pins =
--                              /* i2c5_scl_m1 */
--                              <4 RK_PB6 9 &pcfg_pull_none_smt>,
--                              /* i2c5_sda_m1 */
--                              <4 RK_PB7 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c5m2_xfer: i2c5m2-xfer {
--                      rockchip,pins =
--                              /* i2c5_scl_m2 */
--                              <4 RK_PA6 9 &pcfg_pull_none_smt>,
--                              /* i2c5_sda_m2 */
--                              <4 RK_PA7 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c5m3_xfer: i2c5m3-xfer {
--                      rockchip,pins =
--                              /* i2c5_scl_m3 */
--                              <1 RK_PB6 9 &pcfg_pull_none_smt>,
--                              /* i2c5_sda_m3 */
--                              <1 RK_PB7 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c6 {
--              /omit-if-no-ref/
--              i2c6m0_xfer: i2c6m0-xfer {
--                      rockchip,pins =
--                              /* i2c6_scl_m0 */
--                              <0 RK_PD0 9 &pcfg_pull_none_smt>,
--                              /* i2c6_sda_m0 */
--                              <0 RK_PC7 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c6m1_xfer: i2c6m1-xfer {
--                      rockchip,pins =
--                              /* i2c6_scl_m1 */
--                              <1 RK_PC3 9 &pcfg_pull_none_smt>,
--                              /* i2c6_sda_m1 */
--                              <1 RK_PC2 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c6m3_xfer: i2c6m3-xfer {
--                      rockchip,pins =
--                              /* i2c6_scl_m3 */
--                              <4 RK_PB1 9 &pcfg_pull_none_smt>,
--                              /* i2c6_sda_m3 */
--                              <4 RK_PB0 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c6m4_xfer: i2c6m4-xfer {
--                      rockchip,pins =
--                              /* i2c6_scl_m4 */
--                              <3 RK_PA1 9 &pcfg_pull_none_smt>,
--                              /* i2c6_sda_m4 */
--                              <3 RK_PA0 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c7 {
--              /omit-if-no-ref/
--              i2c7m0_xfer: i2c7m0-xfer {
--                      rockchip,pins =
--                              /* i2c7_scl_m0 */
--                              <1 RK_PD0 9 &pcfg_pull_none_smt>,
--                              /* i2c7_sda_m0 */
--                              <1 RK_PD1 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c7m2_xfer: i2c7m2-xfer {
--                      rockchip,pins =
--                              /* i2c7_scl_m2 */
--                              <3 RK_PD2 9 &pcfg_pull_none_smt>,
--                              /* i2c7_sda_m2 */
--                              <3 RK_PD3 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c7m3_xfer: i2c7m3-xfer {
--                      rockchip,pins =
--                              /* i2c7_scl_m3 */
--                              <4 RK_PB2 9 &pcfg_pull_none_smt>,
--                              /* i2c7_sda_m3 */
--                              <4 RK_PB3 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2c8 {
--              /omit-if-no-ref/
--              i2c8m0_xfer: i2c8m0-xfer {
--                      rockchip,pins =
--                              /* i2c8_scl_m0 */
--                              <4 RK_PD2 9 &pcfg_pull_none_smt>,
--                              /* i2c8_sda_m0 */
--                              <4 RK_PD3 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c8m2_xfer: i2c8m2-xfer {
--                      rockchip,pins =
--                              /* i2c8_scl_m2 */
--                              <1 RK_PD6 9 &pcfg_pull_none_smt>,
--                              /* i2c8_sda_m2 */
--                              <1 RK_PD7 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c8m3_xfer: i2c8m3-xfer {
--                      rockchip,pins =
--                              /* i2c8_scl_m3 */
--                              <4 RK_PC0 9 &pcfg_pull_none_smt>,
--                              /* i2c8_sda_m3 */
--                              <4 RK_PC1 9 &pcfg_pull_none_smt>;
--              };
--
--              /omit-if-no-ref/
--              i2c8m4_xfer: i2c8m4-xfer {
--                      rockchip,pins =
--                              /* i2c8_scl_m4 */
--                              <3 RK_PC2 9 &pcfg_pull_none_smt>,
--                              /* i2c8_sda_m4 */
--                              <3 RK_PC3 9 &pcfg_pull_none_smt>;
--              };
--      };
--
--      i2s0 {
--              /omit-if-no-ref/
--              i2s0_lrck: i2s0-lrck {
--                      rockchip,pins =
--                              /* i2s0_lrck */
--                              <1 RK_PC5 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s0_mclk: i2s0-mclk {
--                      rockchip,pins =
--                              /* i2s0_mclk */
--                              <1 RK_PC2 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s0_sclk: i2s0-sclk {
--                      rockchip,pins =
--                              /* i2s0_sclk */
--                              <1 RK_PC3 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s0_sdi0: i2s0-sdi0 {
--                      rockchip,pins =
--                              /* i2s0_sdi0 */
--                              <1 RK_PD4 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s0_sdi1: i2s0-sdi1 {
--                      rockchip,pins =
--                              /* i2s0_sdi1 */
--                              <1 RK_PD3 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s0_sdi2: i2s0-sdi2 {
--                      rockchip,pins =
--                              /* i2s0_sdi2 */
--                              <1 RK_PD2 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s0_sdi3: i2s0-sdi3 {
--                      rockchip,pins =
--                              /* i2s0_sdi3 */
--                              <1 RK_PD1 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s0_sdo0: i2s0-sdo0 {
--                      rockchip,pins =
--                              /* i2s0_sdo0 */
--                              <1 RK_PC7 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s0_sdo1: i2s0-sdo1 {
--                      rockchip,pins =
--                              /* i2s0_sdo1 */
--                              <1 RK_PD0 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s0_sdo2: i2s0-sdo2 {
--                      rockchip,pins =
--                              /* i2s0_sdo2 */
--                              <1 RK_PD1 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s0_sdo3: i2s0-sdo3 {
--                      rockchip,pins =
--                              /* i2s0_sdo3 */
--                              <1 RK_PD2 1 &pcfg_pull_none>;
--              };
--      };
--
--      i2s1 {
--              /omit-if-no-ref/
--              i2s1m0_lrck: i2s1m0-lrck {
--                      rockchip,pins =
--                              /* i2s1m0_lrck */
--                              <4 RK_PA2 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m0_mclk: i2s1m0-mclk {
--                      rockchip,pins =
--                              /* i2s1m0_mclk */
--                              <4 RK_PA0 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m0_sclk: i2s1m0-sclk {
--                      rockchip,pins =
--                              /* i2s1m0_sclk */
--                              <4 RK_PA1 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m0_sdi0: i2s1m0-sdi0 {
--                      rockchip,pins =
--                              /* i2s1m0_sdi0 */
--                              <4 RK_PA5 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m0_sdi1: i2s1m0-sdi1 {
--                      rockchip,pins =
--                              /* i2s1m0_sdi1 */
--                              <4 RK_PA6 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m0_sdi2: i2s1m0-sdi2 {
--                      rockchip,pins =
--                              /* i2s1m0_sdi2 */
--                              <4 RK_PA7 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m0_sdi3: i2s1m0-sdi3 {
--                      rockchip,pins =
--                              /* i2s1m0_sdi3 */
--                              <4 RK_PB0 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m0_sdo0: i2s1m0-sdo0 {
--                      rockchip,pins =
--                              /* i2s1m0_sdo0 */
--                              <4 RK_PB1 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m0_sdo1: i2s1m0-sdo1 {
--                      rockchip,pins =
--                              /* i2s1m0_sdo1 */
--                              <4 RK_PB2 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m0_sdo2: i2s1m0-sdo2 {
--                      rockchip,pins =
--                              /* i2s1m0_sdo2 */
--                              <4 RK_PB3 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m0_sdo3: i2s1m0-sdo3 {
--                      rockchip,pins =
--                              /* i2s1m0_sdo3 */
--                              <4 RK_PB4 3 &pcfg_pull_none>;
--              };
--              /omit-if-no-ref/
--              i2s1m1_lrck: i2s1m1-lrck {
--                      rockchip,pins =
--                              /* i2s1m1_lrck */
--                              <0 RK_PB7 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m1_mclk: i2s1m1-mclk {
--                      rockchip,pins =
--                              /* i2s1m1_mclk */
--                              <0 RK_PB5 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m1_sclk: i2s1m1-sclk {
--                      rockchip,pins =
--                              /* i2s1m1_sclk */
--                              <0 RK_PB6 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m1_sdi0: i2s1m1-sdi0 {
--                      rockchip,pins =
--                              /* i2s1m1_sdi0 */
--                              <0 RK_PC5 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m1_sdi1: i2s1m1-sdi1 {
--                      rockchip,pins =
--                              /* i2s1m1_sdi1 */
--                              <0 RK_PC6 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m1_sdi2: i2s1m1-sdi2 {
--                      rockchip,pins =
--                              /* i2s1m1_sdi2 */
--                              <0 RK_PC7 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m1_sdi3: i2s1m1-sdi3 {
--                      rockchip,pins =
--                              /* i2s1m1_sdi3 */
--                              <0 RK_PD0 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m1_sdo0: i2s1m1-sdo0 {
--                      rockchip,pins =
--                              /* i2s1m1_sdo0 */
--                              <0 RK_PD1 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m1_sdo1: i2s1m1-sdo1 {
--                      rockchip,pins =
--                              /* i2s1m1_sdo1 */
--                              <0 RK_PD2 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m1_sdo2: i2s1m1-sdo2 {
--                      rockchip,pins =
--                              /* i2s1m1_sdo2 */
--                              <0 RK_PD4 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s1m1_sdo3: i2s1m1-sdo3 {
--                      rockchip,pins =
--                              /* i2s1m1_sdo3 */
--                              <0 RK_PD5 1 &pcfg_pull_none>;
--              };
--      };
--
--      i2s2 {
--              /omit-if-no-ref/
--              i2s2m0_lrck: i2s2m0-lrck {
--                      rockchip,pins =
--                              /* i2s2m0_lrck */
--                              <2 RK_PC0 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m0_mclk: i2s2m0-mclk {
--                      rockchip,pins =
--                              /* i2s2m0_mclk */
--                              <2 RK_PB6 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m0_sclk: i2s2m0-sclk {
--                      rockchip,pins =
--                              /* i2s2m0_sclk */
--                              <2 RK_PB7 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m0_sdi: i2s2m0-sdi {
--                      rockchip,pins =
--                              /* i2s2m0_sdi */
--                              <2 RK_PC3 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m0_sdo: i2s2m0-sdo {
--                      rockchip,pins =
--                              /* i2s2m0_sdo */
--                              <4 RK_PC3 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m1_lrck: i2s2m1-lrck {
--                      rockchip,pins =
--                              /* i2s2m1_lrck */
--                              <3 RK_PB6 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m1_mclk: i2s2m1-mclk {
--                      rockchip,pins =
--                              /* i2s2m1_mclk */
--                              <3 RK_PB4 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m1_sclk: i2s2m1-sclk {
--                      rockchip,pins =
--                              /* i2s2m1_sclk */
--                              <3 RK_PB5 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m1_sdi: i2s2m1-sdi {
--                      rockchip,pins =
--                              /* i2s2m1_sdi */
--                              <3 RK_PB2 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s2m1_sdo: i2s2m1-sdo {
--                      rockchip,pins =
--                              /* i2s2m1_sdo */
--                              <3 RK_PB3 3 &pcfg_pull_none>;
--              };
--      };
--
--      i2s3 {
--              /omit-if-no-ref/
--              i2s3_lrck: i2s3-lrck {
--                      rockchip,pins =
--                              /* i2s3_lrck */
--                              <3 RK_PA2 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s3_mclk: i2s3-mclk {
--                      rockchip,pins =
--                              /* i2s3_mclk */
--                              <3 RK_PA0 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s3_sclk: i2s3-sclk {
--                      rockchip,pins =
--                              /* i2s3_sclk */
--                              <3 RK_PA1 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s3_sdi: i2s3-sdi {
--                      rockchip,pins =
--                              /* i2s3_sdi */
--                              <3 RK_PA4 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              i2s3_sdo: i2s3-sdo {
--                      rockchip,pins =
--                              /* i2s3_sdo */
--                              <3 RK_PA3 3 &pcfg_pull_none>;
--              };
--      };
--
--      jtag {
--              /omit-if-no-ref/
--              jtagm0_pins: jtagm0-pins {
--                      rockchip,pins =
--                              /* jtag_tck_m0 */
--                              <4 RK_PD2 5 &pcfg_pull_none>,
--                              /* jtag_tms_m0 */
--                              <4 RK_PD3 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              jtagm1_pins: jtagm1-pins {
--                      rockchip,pins =
--                              /* jtag_tck_m1 */
--                              <4 RK_PD0 5 &pcfg_pull_none>,
--                              /* jtag_tms_m1 */
--                              <4 RK_PD1 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              jtagm2_pins: jtagm2-pins {
--                      rockchip,pins =
--                              /* jtag_tck_m2 */
--                              <0 RK_PB5 2 &pcfg_pull_none>,
--                              /* jtag_tms_m2 */
--                              <0 RK_PB6 2 &pcfg_pull_none>;
--              };
--      };
--
--      litcpu {
--              /omit-if-no-ref/
--              litcpu_pins: litcpu-pins {
--                      rockchip,pins =
--                              /* litcpu_avs */
--                              <0 RK_PD3 1 &pcfg_pull_none>;
--              };
--      };
--
--      mcu {
--              /omit-if-no-ref/
--              mcum0_pins: mcum0-pins {
--                      rockchip,pins =
--                              /* mcu_jtag_tck_m0 */
--                              <4 RK_PD4 5 &pcfg_pull_none>,
--                              /* mcu_jtag_tms_m0 */
--                              <4 RK_PD5 5 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mcum1_pins: mcum1-pins {
--                      rockchip,pins =
--                              /* mcu_jtag_tck_m1 */
--                              <3 RK_PD4 6 &pcfg_pull_none>,
--                              /* mcu_jtag_tms_m1 */
--                              <3 RK_PD5 6 &pcfg_pull_none>;
--              };
--      };
--
--      mipi {
--              /omit-if-no-ref/
--              mipim0_camera0_clk: mipim0-camera0-clk {
--                      rockchip,pins =
--                              /* mipim0_camera0_clk */
--                              <4 RK_PB1 1 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipim0_camera1_clk: mipim0-camera1-clk {
--                      rockchip,pins =
--                              /* mipim0_camera1_clk */
--                              <1 RK_PB6 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipim0_camera2_clk: mipim0-camera2-clk {
--                      rockchip,pins =
--                              /* mipim0_camera2_clk */
--                              <1 RK_PB7 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipim0_camera3_clk: mipim0-camera3-clk {
--                      rockchip,pins =
--                              /* mipim0_camera3_clk */
--                              <1 RK_PD6 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipim0_camera4_clk: mipim0-camera4-clk {
--                      rockchip,pins =
--                              /* mipim0_camera4_clk */
--                              <1 RK_PD7 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipim1_camera0_clk: mipim1-camera0-clk {
--                      rockchip,pins =
--                              /* mipim1_camera0_clk */
--                              <3 RK_PA5 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipim1_camera1_clk: mipim1-camera1-clk {
--                      rockchip,pins =
--                              /* mipim1_camera1_clk */
--                              <3 RK_PA6 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipim1_camera2_clk: mipim1-camera2-clk {
--                      rockchip,pins =
--                              /* mipim1_camera2_clk */
--                              <3 RK_PA7 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipim1_camera3_clk: mipim1-camera3-clk {
--                      rockchip,pins =
--                              /* mipim1_camera3_clk */
--                              <3 RK_PB0 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipim1_camera4_clk: mipim1-camera4-clk {
--                      rockchip,pins =
--                              /* mipim1_camera4_clk */
--                              <3 RK_PB1 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipi_te0: mipi-te0 {
--                      rockchip,pins =
--                              /* mipi_te0 */
--                              <3 RK_PC2 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              mipi_te1: mipi-te1 {
--                      rockchip,pins =
--                              /* mipi_te1 */
--                              <3 RK_PC3 2 &pcfg_pull_none>;
--              };
--      };
--
--      npu {
--              /omit-if-no-ref/
--              npu_pins: npu-pins {
--                      rockchip,pins =
--                              /* npu_avs */
--                              <0 RK_PC6 2 &pcfg_pull_none>;
--              };
--      };
--
--      pcie20x1 {
--              /omit-if-no-ref/
--              pcie20x1m0_pins: pcie20x1m0-pins {
--                      rockchip,pins =
--                              /* pcie20x1_2_clkreqn_m0 */
--                              <3 RK_PC7 4 &pcfg_pull_none>,
--                              /* pcie20x1_2_perstn_m0 */
--                              <3 RK_PD1 4 &pcfg_pull_none>,
--                              /* pcie20x1_2_waken_m0 */
--                              <3 RK_PD0 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie20x1m1_pins: pcie20x1m1-pins {
--                      rockchip,pins =
--                              /* pcie20x1_2_clkreqn_m1 */
--                              <4 RK_PB7 4 &pcfg_pull_none>,
--                              /* pcie20x1_2_perstn_m1 */
--                              <4 RK_PC1 4 &pcfg_pull_none>,
--                              /* pcie20x1_2_waken_m1 */
--                              <4 RK_PC0 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie20x1_2_button_rstn: pcie20x1-2-button-rstn {
--                      rockchip,pins =
--                              /* pcie20x1_2_button_rstn */
--                              <4 RK_PB3 4 &pcfg_pull_none>;
--              };
--      };
--
--      pcie30phy {
--              /omit-if-no-ref/
--              pcie30phy_pins: pcie30phy-pins {
--                      rockchip,pins =
--                              /* pcie30phy_dtb0 */
--                              <1 RK_PC4 4 &pcfg_pull_none>,
--                              /* pcie30phy_dtb1 */
--                              <1 RK_PD1 4 &pcfg_pull_none>;
--              };
--      };
--
--      pcie30x1 {
--              /omit-if-no-ref/
--              pcie30x1m0_pins: pcie30x1m0-pins {
--                      rockchip,pins =
--                              /* pcie30x1_0_clkreqn_m0 */
--                              <0 RK_PC0 12 &pcfg_pull_none>,
--                              /* pcie30x1_0_perstn_m0 */
--                              <0 RK_PC5 12 &pcfg_pull_none>,
--                              /* pcie30x1_0_waken_m0 */
--                              <0 RK_PC4 12 &pcfg_pull_none>,
--                              /* pcie30x1_1_clkreqn_m0 */
--                              <0 RK_PB5 12 &pcfg_pull_none>,
--                              /* pcie30x1_1_perstn_m0 */
--                              <0 RK_PB7 12 &pcfg_pull_none>,
--                              /* pcie30x1_1_waken_m0 */
--                              <0 RK_PB6 12 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x1m1_pins: pcie30x1m1-pins {
--                      rockchip,pins =
--                              /* pcie30x1_0_clkreqn_m1 */
--                              <4 RK_PA3 4 &pcfg_pull_none>,
--                              /* pcie30x1_0_perstn_m1 */
--                              <4 RK_PA5 4 &pcfg_pull_none>,
--                              /* pcie30x1_0_waken_m1 */
--                              <4 RK_PA4 4 &pcfg_pull_none>,
--                              /* pcie30x1_1_clkreqn_m1 */
--                              <4 RK_PA0 4 &pcfg_pull_none>,
--                              /* pcie30x1_1_perstn_m1 */
--                              <4 RK_PA2 4 &pcfg_pull_none>,
--                              /* pcie30x1_1_waken_m1 */
--                              <4 RK_PA1 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x1m2_pins: pcie30x1m2-pins {
--                      rockchip,pins =
--                              /* pcie30x1_0_clkreqn_m2 */
--                              <1 RK_PB5 4 &pcfg_pull_none>,
--                              /* pcie30x1_0_perstn_m2 */
--                              <1 RK_PB4 4 &pcfg_pull_none>,
--                              /* pcie30x1_0_waken_m2 */
--                              <1 RK_PB3 4 &pcfg_pull_none>,
--                              /* pcie30x1_1_clkreqn_m2 */
--                              <1 RK_PA0 4 &pcfg_pull_none>,
--                              /* pcie30x1_1_perstn_m2 */
--                              <1 RK_PA7 4 &pcfg_pull_none>,
--                              /* pcie30x1_1_waken_m2 */
--                              <1 RK_PA1 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x1_0_button_rstn: pcie30x1-0-button-rstn {
--                      rockchip,pins =
--                              /* pcie30x1_0_button_rstn */
--                              <4 RK_PB1 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x1_1_button_rstn: pcie30x1-1-button-rstn {
--                      rockchip,pins =
--                              /* pcie30x1_1_button_rstn */
--                              <4 RK_PB2 4 &pcfg_pull_none>;
--              };
--      };
--
--      pcie30x2 {
--              /omit-if-no-ref/
--              pcie30x2m0_pins: pcie30x2m0-pins {
--                      rockchip,pins =
--                              /* pcie30x2_clkreqn_m0 */
--                              <0 RK_PD1 12 &pcfg_pull_none>,
--                              /* pcie30x2_perstn_m0 */
--                              <0 RK_PD4 12 &pcfg_pull_none>,
--                              /* pcie30x2_waken_m0 */
--                              <0 RK_PD2 12 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x2m1_pins: pcie30x2m1-pins {
--                      rockchip,pins =
--                              /* pcie30x2_clkreqn_m1 */
--                              <4 RK_PA6 4 &pcfg_pull_none>,
--                              /* pcie30x2_perstn_m1 */
--                              <4 RK_PB0 4 &pcfg_pull_none>,
--                              /* pcie30x2_waken_m1 */
--                              <4 RK_PA7 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x2m2_pins: pcie30x2m2-pins {
--                      rockchip,pins =
--                              /* pcie30x2_clkreqn_m2 */
--                              <3 RK_PD2 4 &pcfg_pull_none>,
--                              /* pcie30x2_perstn_m2 */
--                              <3 RK_PD4 4 &pcfg_pull_none>,
--                              /* pcie30x2_waken_m2 */
--                              <3 RK_PD3 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x2m3_pins: pcie30x2m3-pins {
--                      rockchip,pins =
--                              /* pcie30x2_clkreqn_m3 */
--                              <1 RK_PD7 4 &pcfg_pull_none>,
--                              /* pcie30x2_perstn_m3 */
--                              <1 RK_PB7 4 &pcfg_pull_none>,
--                              /* pcie30x2_waken_m3 */
--                              <1 RK_PB6 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x2_button_rstn: pcie30x2-button-rstn {
--                      rockchip,pins =
--                              /* pcie30x2_button_rstn */
--                              <3 RK_PC1 4 &pcfg_pull_none>;
--              };
--      };
--
--      pcie30x4 {
--              /omit-if-no-ref/
--              pcie30x4m0_pins: pcie30x4m0-pins {
--                      rockchip,pins =
--                              /* pcie30x4_clkreqn_m0 */
--                              <0 RK_PC6 12 &pcfg_pull_none>,
--                              /* pcie30x4_perstn_m0 */
--                              <0 RK_PD0 12 &pcfg_pull_none>,
--                              /* pcie30x4_waken_m0 */
--                              <0 RK_PC7 12 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x4m1_pins: pcie30x4m1-pins {
--                      rockchip,pins =
--                              /* pcie30x4_clkreqn_m1 */
--                              <4 RK_PB4 4 &pcfg_pull_none>,
--                              /* pcie30x4_perstn_m1 */
--                              <4 RK_PB6 4 &pcfg_pull_none>,
--                              /* pcie30x4_waken_m1 */
--                              <4 RK_PB5 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x4m2_pins: pcie30x4m2-pins {
--                      rockchip,pins =
--                              /* pcie30x4_clkreqn_m2 */
--                              <3 RK_PC4 4 &pcfg_pull_none>,
--                              /* pcie30x4_perstn_m2 */
--                              <3 RK_PC6 4 &pcfg_pull_none>,
--                              /* pcie30x4_waken_m2 */
--                              <3 RK_PC5 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x4m3_pins: pcie30x4m3-pins {
--                      rockchip,pins =
--                              /* pcie30x4_clkreqn_m3 */
--                              <1 RK_PB0 4 &pcfg_pull_none>,
--                              /* pcie30x4_perstn_m3 */
--                              <1 RK_PB2 4 &pcfg_pull_none>,
--                              /* pcie30x4_waken_m3 */
--                              <1 RK_PB1 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pcie30x4_button_rstn: pcie30x4-button-rstn {
--                      rockchip,pins =
--                              /* pcie30x4_button_rstn */
--                              <3 RK_PD5 4 &pcfg_pull_none>;
--              };
--      };
--
--      pdm0 {
--              /omit-if-no-ref/
--              pdm0m0_clk: pdm0m0-clk {
--                      rockchip,pins =
--                              /* pdm0_clk0_m0 */
--                              <1 RK_PC6 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm0m0_clk1: pdm0m0-clk1 {
--                      rockchip,pins =
--                              /* pdm0m0_clk1 */
--                              <1 RK_PC4 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm0m0_sdi0: pdm0m0-sdi0 {
--                      rockchip,pins =
--                              /* pdm0m0_sdi0 */
--                              <1 RK_PD5 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm0m0_sdi1: pdm0m0-sdi1 {
--                      rockchip,pins =
--                              /* pdm0m0_sdi1 */
--                              <1 RK_PD1 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm0m0_sdi2: pdm0m0-sdi2 {
--                      rockchip,pins =
--                              /* pdm0m0_sdi2 */
--                              <1 RK_PD2 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm0m0_sdi3: pdm0m0-sdi3 {
--                      rockchip,pins =
--                              /* pdm0m0_sdi3 */
--                              <1 RK_PD3 3 &pcfg_pull_none>;
--              };
--              /omit-if-no-ref/
--              pdm0m1_clk: pdm0m1-clk {
--                      rockchip,pins =
--                              /* pdm0_clk0_m1 */
--                              <0 RK_PC0 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm0m1_clk1: pdm0m1-clk1 {
--                      rockchip,pins =
--                              /* pdm0m1_clk1 */
--                              <0 RK_PC4 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm0m1_sdi0: pdm0m1-sdi0 {
--                      rockchip,pins =
--                              /* pdm0m1_sdi0 */
--                              <0 RK_PC7 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm0m1_sdi1: pdm0m1-sdi1 {
--                      rockchip,pins =
--                              /* pdm0m1_sdi1 */
--                              <0 RK_PD0 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm0m1_sdi2: pdm0m1-sdi2 {
--                      rockchip,pins =
--                              /* pdm0m1_sdi2 */
--                              <0 RK_PD4 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm0m1_sdi3: pdm0m1-sdi3 {
--                      rockchip,pins =
--                              /* pdm0m1_sdi3 */
--                              <0 RK_PD6 2 &pcfg_pull_none>;
--              };
--      };
--
--      pdm1 {
--              /omit-if-no-ref/
--              pdm1m0_clk: pdm1m0-clk {
--                      rockchip,pins =
--                              /* pdm1_clk0_m0 */
--                              <4 RK_PD5 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm1m0_clk1: pdm1m0-clk1 {
--                      rockchip,pins =
--                              /* pdm1m0_clk1 */
--                              <4 RK_PD4 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm1m0_sdi0: pdm1m0-sdi0 {
--                      rockchip,pins =
--                              /* pdm1m0_sdi0 */
--                              <4 RK_PD3 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm1m0_sdi1: pdm1m0-sdi1 {
--                      rockchip,pins =
--                              /* pdm1m0_sdi1 */
--                              <4 RK_PD2 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm1m0_sdi2: pdm1m0-sdi2 {
--                      rockchip,pins =
--                              /* pdm1m0_sdi2 */
--                              <4 RK_PD1 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm1m0_sdi3: pdm1m0-sdi3 {
--                      rockchip,pins =
--                              /* pdm1m0_sdi3 */
--                              <4 RK_PD0 2 &pcfg_pull_none>;
--              };
--              /omit-if-no-ref/
--              pdm1m1_clk: pdm1m1-clk {
--                      rockchip,pins =
--                              /* pdm1_clk0_m1 */
--                              <1 RK_PB4 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm1m1_clk1: pdm1m1-clk1 {
--                      rockchip,pins =
--                              /* pdm1m1_clk1 */
--                              <1 RK_PB3 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm1m1_sdi0: pdm1m1-sdi0 {
--                      rockchip,pins =
--                              /* pdm1m1_sdi0 */
--                              <1 RK_PA7 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm1m1_sdi1: pdm1m1-sdi1 {
--                      rockchip,pins =
--                              /* pdm1m1_sdi1 */
--                              <1 RK_PB0 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm1m1_sdi2: pdm1m1-sdi2 {
--                      rockchip,pins =
--                              /* pdm1m1_sdi2 */
--                              <1 RK_PB1 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pdm1m1_sdi3: pdm1m1-sdi3 {
--                      rockchip,pins =
--                              /* pdm1m1_sdi3 */
--                              <1 RK_PB2 2 &pcfg_pull_none>;
--              };
--      };
--
--      pmic {
--              /omit-if-no-ref/
--              pmic_pins: pmic-pins {
--                      rockchip,pins =
--                              /* pmic_int_l */
--                              <0 RK_PA7 0 &pcfg_pull_up>,
--                              /* pmic_sleep1 */
--                              <0 RK_PA2 1 &pcfg_pull_none>,
--                              /* pmic_sleep2 */
--                              <0 RK_PA3 1 &pcfg_pull_none>,
--                              /* pmic_sleep3 */
--                              <0 RK_PC1 1 &pcfg_pull_none>,
--                              /* pmic_sleep4 */
--                              <0 RK_PC2 1 &pcfg_pull_none>,
--                              /* pmic_sleep5 */
--                              <0 RK_PC3 1 &pcfg_pull_none>,
--                              /* pmic_sleep6 */
--                              <0 RK_PD6 1 &pcfg_pull_none>;
--              };
--      };
--
--      pmu {
--              /omit-if-no-ref/
--              pmu_pins: pmu-pins {
--                      rockchip,pins =
--                              /* pmu_debug */
--                              <0 RK_PA5 3 &pcfg_pull_none>;
--              };
--      };
--
--      pwm0 {
--              /omit-if-no-ref/
--              pwm0m0_pins: pwm0m0-pins {
--                      rockchip,pins =
--                              /* pwm0_m0 */
--                              <0 RK_PB7 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm0m1_pins: pwm0m1-pins {
--                      rockchip,pins =
--                              /* pwm0_m1 */
--                              <1 RK_PD2 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm0m2_pins: pwm0m2-pins {
--                      rockchip,pins =
--                              /* pwm0_m2 */
--                              <1 RK_PA2 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm1 {
--              /omit-if-no-ref/
--              pwm1m0_pins: pwm1m0-pins {
--                      rockchip,pins =
--                              /* pwm1_m0 */
--                              <0 RK_PC0 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm1m1_pins: pwm1m1-pins {
--                      rockchip,pins =
--                              /* pwm1_m1 */
--                              <1 RK_PD3 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm1m2_pins: pwm1m2-pins {
--                      rockchip,pins =
--                              /* pwm1_m2 */
--                              <1 RK_PA3 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm2 {
--              /omit-if-no-ref/
--              pwm2m0_pins: pwm2m0-pins {
--                      rockchip,pins =
--                              /* pwm2_m0 */
--                              <0 RK_PC4 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm2m1_pins: pwm2m1-pins {
--                      rockchip,pins =
--                              /* pwm2_m1 */
--                              <3 RK_PB1 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm3 {
--              /omit-if-no-ref/
--              pwm3m0_pins: pwm3m0-pins {
--                      rockchip,pins =
--                              /* pwm3_ir_m0 */
--                              <0 RK_PD4 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm3m1_pins: pwm3m1-pins {
--                      rockchip,pins =
--                              /* pwm3_ir_m1 */
--                              <3 RK_PB2 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm3m2_pins: pwm3m2-pins {
--                      rockchip,pins =
--                              /* pwm3_ir_m2 */
--                              <1 RK_PC2 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm3m3_pins: pwm3m3-pins {
--                      rockchip,pins =
--                              /* pwm3_ir_m3 */
--                              <1 RK_PA7 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm4 {
--              /omit-if-no-ref/
--              pwm4m0_pins: pwm4m0-pins {
--                      rockchip,pins =
--                              /* pwm4_m0 */
--                              <0 RK_PC5 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm5 {
--              /omit-if-no-ref/
--              pwm5m0_pins: pwm5m0-pins {
--                      rockchip,pins =
--                              /* pwm5_m0 */
--                              <0 RK_PB1 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm5m1_pins: pwm5m1-pins {
--                      rockchip,pins =
--                              /* pwm5_m1 */
--                              <0 RK_PC6 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm6 {
--              /omit-if-no-ref/
--              pwm6m0_pins: pwm6m0-pins {
--                      rockchip,pins =
--                              /* pwm6_m0 */
--                              <0 RK_PC7 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm6m1_pins: pwm6m1-pins {
--                      rockchip,pins =
--                              /* pwm6_m1 */
--                              <4 RK_PC1 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm7 {
--              /omit-if-no-ref/
--              pwm7m0_pins: pwm7m0-pins {
--                      rockchip,pins =
--                              /* pwm7_ir_m0 */
--                              <0 RK_PD0 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm7m1_pins: pwm7m1-pins {
--                      rockchip,pins =
--                              /* pwm7_ir_m1 */
--                              <4 RK_PD4 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm7m2_pins: pwm7m2-pins {
--                      rockchip,pins =
--                              /* pwm7_ir_m2 */
--                              <1 RK_PC3 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm8 {
--              /omit-if-no-ref/
--              pwm8m0_pins: pwm8m0-pins {
--                      rockchip,pins =
--                              /* pwm8_m0 */
--                              <3 RK_PA7 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm8m1_pins: pwm8m1-pins {
--                      rockchip,pins =
--                              /* pwm8_m1 */
--                              <4 RK_PD0 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm8m2_pins: pwm8m2-pins {
--                      rockchip,pins =
--                              /* pwm8_m2 */
--                              <3 RK_PD0 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm9 {
--              /omit-if-no-ref/
--              pwm9m0_pins: pwm9m0-pins {
--                      rockchip,pins =
--                              /* pwm9_m0 */
--                              <3 RK_PB0 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm9m1_pins: pwm9m1-pins {
--                      rockchip,pins =
--                              /* pwm9_m1 */
--                              <4 RK_PD1 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm9m2_pins: pwm9m2-pins {
--                      rockchip,pins =
--                              /* pwm9_m2 */
--                              <3 RK_PD1 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm10 {
--              /omit-if-no-ref/
--              pwm10m0_pins: pwm10m0-pins {
--                      rockchip,pins =
--                              /* pwm10_m0 */
--                              <3 RK_PA0 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm10m1_pins: pwm10m1-pins {
--                      rockchip,pins =
--                              /* pwm10_m1 */
--                              <4 RK_PD3 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm10m2_pins: pwm10m2-pins {
--                      rockchip,pins =
--                              /* pwm10_m2 */
--                              <3 RK_PD3 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm11 {
--              /omit-if-no-ref/
--              pwm11m0_pins: pwm11m0-pins {
--                      rockchip,pins =
--                              /* pwm11_ir_m0 */
--                              <3 RK_PA1 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm11m1_pins: pwm11m1-pins {
--                      rockchip,pins =
--                              /* pwm11_ir_m1 */
--                              <4 RK_PB4 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm11m2_pins: pwm11m2-pins {
--                      rockchip,pins =
--                              /* pwm11_ir_m2 */
--                              <1 RK_PC4 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm11m3_pins: pwm11m3-pins {
--                      rockchip,pins =
--                              /* pwm11_ir_m3 */
--                              <3 RK_PD5 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm12 {
--              /omit-if-no-ref/
--              pwm12m0_pins: pwm12m0-pins {
--                      rockchip,pins =
--                              /* pwm12_m0 */
--                              <3 RK_PB5 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm12m1_pins: pwm12m1-pins {
--                      rockchip,pins =
--                              /* pwm12_m1 */
--                              <4 RK_PB5 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm13 {
--              /omit-if-no-ref/
--              pwm13m0_pins: pwm13m0-pins {
--                      rockchip,pins =
--                              /* pwm13_m0 */
--                              <3 RK_PB6 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm13m1_pins: pwm13m1-pins {
--                      rockchip,pins =
--                              /* pwm13_m1 */
--                              <4 RK_PB6 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm13m2_pins: pwm13m2-pins {
--                      rockchip,pins =
--                              /* pwm13_m2 */
--                              <1 RK_PB7 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm14 {
--              /omit-if-no-ref/
--              pwm14m0_pins: pwm14m0-pins {
--                      rockchip,pins =
--                              /* pwm14_m0 */
--                              <3 RK_PC2 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm14m1_pins: pwm14m1-pins {
--                      rockchip,pins =
--                              /* pwm14_m1 */
--                              <4 RK_PB2 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm14m2_pins: pwm14m2-pins {
--                      rockchip,pins =
--                              /* pwm14_m2 */
--                              <1 RK_PD6 11 &pcfg_pull_none>;
--              };
--      };
--
--      pwm15 {
--              /omit-if-no-ref/
--              pwm15m0_pins: pwm15m0-pins {
--                      rockchip,pins =
--                              /* pwm15_ir_m0 */
--                              <3 RK_PC3 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm15m1_pins: pwm15m1-pins {
--                      rockchip,pins =
--                              /* pwm15_ir_m1 */
--                              <4 RK_PB3 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm15m2_pins: pwm15m2-pins {
--                      rockchip,pins =
--                              /* pwm15_ir_m2 */
--                              <1 RK_PC6 11 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              pwm15m3_pins: pwm15m3-pins {
--                      rockchip,pins =
--                              /* pwm15_ir_m3 */
--                              <1 RK_PD7 11 &pcfg_pull_none>;
--              };
--      };
--
--      refclk {
--              /omit-if-no-ref/
--              refclk_pins: refclk-pins {
--                      rockchip,pins =
--                              /* refclk_out */
--                              <0 RK_PA0 1 &pcfg_pull_none>;
--              };
--      };
--
--      sata {
--              /omit-if-no-ref/
--              sata_pins: sata-pins {
--                      rockchip,pins =
--                              /* sata_cp_pod */
--                              <0 RK_PC6 13 &pcfg_pull_none>,
--                              /* sata_cpdet */
--                              <0 RK_PD4 13 &pcfg_pull_none>,
--                              /* sata_mp_switch */
--                              <0 RK_PD5 13 &pcfg_pull_none>;
--              };
--      };
--
--      sata0 {
--              /omit-if-no-ref/
--              sata0m0_pins: sata0m0-pins {
--                      rockchip,pins =
--                              /* sata0_act_led_m0 */
--                              <4 RK_PB6 6 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              sata0m1_pins: sata0m1-pins {
--                      rockchip,pins =
--                              /* sata0_act_led_m1 */
--                              <1 RK_PB3 6 &pcfg_pull_none>;
--              };
--      };
--
--      sata1 {
--              /omit-if-no-ref/
--              sata1m0_pins: sata1m0-pins {
--                      rockchip,pins =
--                              /* sata1_act_led_m0 */
--                              <4 RK_PB5 6 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              sata1m1_pins: sata1m1-pins {
--                      rockchip,pins =
--                              /* sata1_act_led_m1 */
--                              <1 RK_PA1 6 &pcfg_pull_none>;
--              };
--      };
--
--      sata2 {
--              /omit-if-no-ref/
--              sata2m0_pins: sata2m0-pins {
--                      rockchip,pins =
--                              /* sata2_act_led_m0 */
--                              <4 RK_PB1 6 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              sata2m1_pins: sata2m1-pins {
--                      rockchip,pins =
--                              /* sata2_act_led_m1 */
--                              <1 RK_PB7 6 &pcfg_pull_none>;
--              };
--      };
--
--      sdio {
--              /omit-if-no-ref/
--              sdiom1_pins: sdiom1-pins {
--                      rockchip,pins =
--                              /* sdio_clk_m1 */
--                              <3 RK_PA5 2 &pcfg_pull_none>,
--                              /* sdio_cmd_m1 */
--                              <3 RK_PA4 2 &pcfg_pull_none>,
--                              /* sdio_d0_m1 */
--                              <3 RK_PA0 2 &pcfg_pull_none>,
--                              /* sdio_d1_m1 */
--                              <3 RK_PA1 2 &pcfg_pull_none>,
--                              /* sdio_d2_m1 */
--                              <3 RK_PA2 2 &pcfg_pull_none>,
--                              /* sdio_d3_m1 */
--                              <3 RK_PA3 2 &pcfg_pull_none>;
--              };
--      };
--
--      sdmmc {
--              /omit-if-no-ref/
--              sdmmc_bus4: sdmmc-bus4 {
--                      rockchip,pins =
--                              /* sdmmc_d0 */
--                              <4 RK_PD0 1 &pcfg_pull_up_drv_level_2>,
--                              /* sdmmc_d1 */
--                              <4 RK_PD1 1 &pcfg_pull_up_drv_level_2>,
--                              /* sdmmc_d2 */
--                              <4 RK_PD2 1 &pcfg_pull_up_drv_level_2>,
--                              /* sdmmc_d3 */
--                              <4 RK_PD3 1 &pcfg_pull_up_drv_level_2>;
--              };
--
--              /omit-if-no-ref/
--              sdmmc_clk: sdmmc-clk {
--                      rockchip,pins =
--                              /* sdmmc_clk */
--                              <4 RK_PD5 1 &pcfg_pull_up_drv_level_2>;
--              };
--
--              /omit-if-no-ref/
--              sdmmc_cmd: sdmmc-cmd {
--                      rockchip,pins =
--                              /* sdmmc_cmd */
--                              <4 RK_PD4 1 &pcfg_pull_up_drv_level_2>;
--              };
--
--              /omit-if-no-ref/
--              sdmmc_det: sdmmc-det {
--                      rockchip,pins =
--                              /* sdmmc_det */
--                              <0 RK_PA4 1 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              sdmmc_pwren: sdmmc-pwren {
--                      rockchip,pins =
--                              /* sdmmc_pwren */
--                              <0 RK_PA5 2 &pcfg_pull_none>;
--              };
--      };
--
--      spdif0 {
--              /omit-if-no-ref/
--              spdif0m0_tx: spdif0m0-tx {
--                      rockchip,pins =
--                              /* spdif0m0_tx */
--                              <1 RK_PB6 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              spdif0m1_tx: spdif0m1-tx {
--                      rockchip,pins =
--                              /* spdif0m1_tx */
--                              <4 RK_PB4 6 &pcfg_pull_none>;
--              };
--      };
--
--      spdif1 {
--              /omit-if-no-ref/
--              spdif1m0_tx: spdif1m0-tx {
--                      rockchip,pins =
--                              /* spdif1m0_tx */
--                              <1 RK_PB7 3 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              spdif1m1_tx: spdif1m1-tx {
--                      rockchip,pins =
--                              /* spdif1m1_tx */
--                              <4 RK_PB1 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              spdif1m2_tx: spdif1m2-tx {
--                      rockchip,pins =
--                              /* spdif1m2_tx */
--                              <4 RK_PC1 3 &pcfg_pull_none>;
--              };
--      };
--
--      spi0 {
--              /omit-if-no-ref/
--              spi0m0_pins: spi0m0-pins {
--                      rockchip,pins =
--                              /* spi0_clk_m0 */
--                              <0 RK_PC6 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi0_miso_m0 */
--                              <0 RK_PC7 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi0_mosi_m0 */
--                              <0 RK_PC0 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi0m0_cs0: spi0m0-cs0 {
--                      rockchip,pins =
--                              /* spi0_cs0_m0 */
--                              <0 RK_PD1 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi0m0_cs1: spi0m0-cs1 {
--                      rockchip,pins =
--                              /* spi0_cs1_m0 */
--                              <0 RK_PB7 8 &pcfg_pull_up_drv_level_1>;
--              };
--              /omit-if-no-ref/
--              spi0m1_pins: spi0m1-pins {
--                      rockchip,pins =
--                              /* spi0_clk_m1 */
--                              <4 RK_PA2 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi0_miso_m1 */
--                              <4 RK_PA0 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi0_mosi_m1 */
--                              <4 RK_PA1 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi0m1_cs0: spi0m1-cs0 {
--                      rockchip,pins =
--                              /* spi0_cs0_m1 */
--                              <4 RK_PB2 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi0m1_cs1: spi0m1-cs1 {
--                      rockchip,pins =
--                              /* spi0_cs1_m1 */
--                              <4 RK_PB1 8 &pcfg_pull_up_drv_level_1>;
--              };
--              /omit-if-no-ref/
--              spi0m2_pins: spi0m2-pins {
--                      rockchip,pins =
--                              /* spi0_clk_m2 */
--                              <1 RK_PB3 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi0_miso_m2 */
--                              <1 RK_PB1 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi0_mosi_m2 */
--                              <1 RK_PB2 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi0m2_cs0: spi0m2-cs0 {
--                      rockchip,pins =
--                              /* spi0_cs0_m2 */
--                              <1 RK_PB4 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi0m2_cs1: spi0m2-cs1 {
--                      rockchip,pins =
--                              /* spi0_cs1_m2 */
--                              <1 RK_PB5 8 &pcfg_pull_up_drv_level_1>;
--              };
--              /omit-if-no-ref/
--              spi0m3_pins: spi0m3-pins {
--                      rockchip,pins =
--                              /* spi0_clk_m3 */
--                              <3 RK_PD3 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi0_miso_m3 */
--                              <3 RK_PD1 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi0_mosi_m3 */
--                              <3 RK_PD2 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi0m3_cs0: spi0m3-cs0 {
--                      rockchip,pins =
--                              /* spi0_cs0_m3 */
--                              <3 RK_PD4 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi0m3_cs1: spi0m3-cs1 {
--                      rockchip,pins =
--                              /* spi0_cs1_m3 */
--                              <3 RK_PD5 8 &pcfg_pull_up_drv_level_1>;
--              };
--      };
--
--      spi1 {
--              /omit-if-no-ref/
--              spi1m1_pins: spi1m1-pins {
--                      rockchip,pins =
--                              /* spi1_clk_m1 */
--                              <3 RK_PC1 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi1_miso_m1 */
--                              <3 RK_PC0 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi1_mosi_m1 */
--                              <3 RK_PB7 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi1m1_cs0: spi1m1-cs0 {
--                      rockchip,pins =
--                              /* spi1_cs0_m1 */
--                              <3 RK_PC2 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi1m1_cs1: spi1m1-cs1 {
--                      rockchip,pins =
--                              /* spi1_cs1_m1 */
--                              <3 RK_PC3 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi1m2_pins: spi1m2-pins {
--                      rockchip,pins =
--                              /* spi1_clk_m2 */
--                              <1 RK_PD2 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi1_miso_m2 */
--                              <1 RK_PD0 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi1_mosi_m2 */
--                              <1 RK_PD1 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi1m2_cs0: spi1m2-cs0 {
--                      rockchip,pins =
--                              /* spi1_cs0_m2 */
--                              <1 RK_PD3 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi1m2_cs1: spi1m2-cs1 {
--                      rockchip,pins =
--                              /* spi1_cs1_m2 */
--                              <1 RK_PD5 8 &pcfg_pull_up_drv_level_1>;
--              };
--      };
--
--      spi2 {
--              /omit-if-no-ref/
--              spi2m0_pins: spi2m0-pins {
--                      rockchip,pins =
--                              /* spi2_clk_m0 */
--                              <1 RK_PA6 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi2_miso_m0 */
--                              <1 RK_PA4 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi2_mosi_m0 */
--                              <1 RK_PA5 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi2m0_cs0: spi2m0-cs0 {
--                      rockchip,pins =
--                              /* spi2_cs0_m0 */
--                              <1 RK_PA7 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi2m0_cs1: spi2m0-cs1 {
--                      rockchip,pins =
--                              /* spi2_cs1_m0 */
--                              <1 RK_PB0 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi2m1_pins: spi2m1-pins {
--                      rockchip,pins =
--                              /* spi2_clk_m1 */
--                              <4 RK_PA6 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi2_miso_m1 */
--                              <4 RK_PA4 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi2_mosi_m1 */
--                              <4 RK_PA5 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi2m1_cs0: spi2m1-cs0 {
--                      rockchip,pins =
--                              /* spi2_cs0_m1 */
--                              <4 RK_PA7 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi2m1_cs1: spi2m1-cs1 {
--                      rockchip,pins =
--                              /* spi2_cs1_m1 */
--                              <4 RK_PB0 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi2m2_pins: spi2m2-pins {
--                      rockchip,pins =
--                              /* spi2_clk_m2 */
--                              <0 RK_PA5 1 &pcfg_pull_up_drv_level_1>,
--                              /* spi2_miso_m2 */
--                              <0 RK_PB3 1 &pcfg_pull_up_drv_level_1>,
--                              /* spi2_mosi_m2 */
--                              <0 RK_PA6 1 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi2m2_cs0: spi2m2-cs0 {
--                      rockchip,pins =
--                              /* spi2_cs0_m2 */
--                              <0 RK_PB1 1 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi2m2_cs1: spi2m2-cs1 {
--                      rockchip,pins =
--                              /* spi2_cs1_m2 */
--                              <0 RK_PB0 1 &pcfg_pull_up_drv_level_1>;
--              };
--      };
--
--      spi3 {
--              /omit-if-no-ref/
--              spi3m1_pins: spi3m1-pins {
--                      rockchip,pins =
--                              /* spi3_clk_m1 */
--                              <4 RK_PB7 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi3_miso_m1 */
--                              <4 RK_PB5 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi3_mosi_m1 */
--                              <4 RK_PB6 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi3m1_cs0: spi3m1-cs0 {
--                      rockchip,pins =
--                              /* spi3_cs0_m1 */
--                              <4 RK_PC0 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi3m1_cs1: spi3m1-cs1 {
--                      rockchip,pins =
--                              /* spi3_cs1_m1 */
--                              <4 RK_PC1 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi3m2_pins: spi3m2-pins {
--                      rockchip,pins =
--                              /* spi3_clk_m2 */
--                              <0 RK_PD3 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi3_miso_m2 */
--                              <0 RK_PD0 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi3_mosi_m2 */
--                              <0 RK_PD2 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi3m2_cs0: spi3m2-cs0 {
--                      rockchip,pins =
--                              /* spi3_cs0_m2 */
--                              <0 RK_PD4 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi3m2_cs1: spi3m2-cs1 {
--                      rockchip,pins =
--                              /* spi3_cs1_m2 */
--                              <0 RK_PD5 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi3m3_pins: spi3m3-pins {
--                      rockchip,pins =
--                              /* spi3_clk_m3 */
--                              <3 RK_PD0 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi3_miso_m3 */
--                              <3 RK_PC6 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi3_mosi_m3 */
--                              <3 RK_PC7 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi3m3_cs0: spi3m3-cs0 {
--                      rockchip,pins =
--                              /* spi3_cs0_m3 */
--                              <3 RK_PC4 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi3m3_cs1: spi3m3-cs1 {
--                      rockchip,pins =
--                              /* spi3_cs1_m3 */
--                              <3 RK_PC5 8 &pcfg_pull_up_drv_level_1>;
--              };
--      };
--
--      spi4 {
--              /omit-if-no-ref/
--              spi4m0_pins: spi4m0-pins {
--                      rockchip,pins =
--                              /* spi4_clk_m0 */
--                              <1 RK_PC2 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi4_miso_m0 */
--                              <1 RK_PC0 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi4_mosi_m0 */
--                              <1 RK_PC1 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi4m0_cs0: spi4m0-cs0 {
--                      rockchip,pins =
--                              /* spi4_cs0_m0 */
--                              <1 RK_PC3 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi4m0_cs1: spi4m0-cs1 {
--                      rockchip,pins =
--                              /* spi4_cs1_m0 */
--                              <1 RK_PC4 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi4m1_pins: spi4m1-pins {
--                      rockchip,pins =
--                              /* spi4_clk_m1 */
--                              <3 RK_PA2 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi4_miso_m1 */
--                              <3 RK_PA0 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi4_mosi_m1 */
--                              <3 RK_PA1 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi4m1_cs0: spi4m1-cs0 {
--                      rockchip,pins =
--                              /* spi4_cs0_m1 */
--                              <3 RK_PA3 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi4m1_cs1: spi4m1-cs1 {
--                      rockchip,pins =
--                              /* spi4_cs1_m1 */
--                              <3 RK_PA4 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi4m2_pins: spi4m2-pins {
--                      rockchip,pins =
--                              /* spi4_clk_m2 */
--                              <1 RK_PA2 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi4_miso_m2 */
--                              <1 RK_PA0 8 &pcfg_pull_up_drv_level_1>,
--                              /* spi4_mosi_m2 */
--                              <1 RK_PA1 8 &pcfg_pull_up_drv_level_1>;
--              };
--
--              /omit-if-no-ref/
--              spi4m2_cs0: spi4m2-cs0 {
--                      rockchip,pins =
--                              /* spi4_cs0_m2 */
--                              <1 RK_PA3 8 &pcfg_pull_up_drv_level_1>;
--              };
--      };
--
--      tsadc {
--              /omit-if-no-ref/
--              tsadcm1_shut: tsadcm1-shut {
--                      rockchip,pins =
--                              /* tsadcm1_shut */
--                              <0 RK_PA2 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              tsadc_shut: tsadc-shut {
--                      rockchip,pins =
--                              /* tsadc_shut */
--                              <0 RK_PA1 2 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              tsadc_shut_org: tsadc-shut-org {
--                      rockchip,pins =
--                              /* tsadc_shut_org */
--                              <0 RK_PA1 1 &pcfg_pull_none>;
--              };
--      };
--
--      uart0 {
--              /omit-if-no-ref/
--              uart0m0_xfer: uart0m0-xfer {
--                      rockchip,pins =
--                              /* uart0_rx_m0 */
--                              <0 RK_PC4 4 &pcfg_pull_up>,
--                              /* uart0_tx_m0 */
--                              <0 RK_PC5 4 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart0m1_xfer: uart0m1-xfer {
--                      rockchip,pins =
--                              /* uart0_rx_m1 */
--                              <0 RK_PB0 4 &pcfg_pull_up>,
--                              /* uart0_tx_m1 */
--                              <0 RK_PB1 4 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart0m2_xfer: uart0m2-xfer {
--                      rockchip,pins =
--                              /* uart0_rx_m2 */
--                              <4 RK_PA4 10 &pcfg_pull_up>,
--                              /* uart0_tx_m2 */
--                              <4 RK_PA3 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart0_ctsn: uart0-ctsn {
--                      rockchip,pins =
--                              /* uart0_ctsn */
--                              <0 RK_PD1 4 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart0_rtsn: uart0-rtsn {
--                      rockchip,pins =
--                              /* uart0_rtsn */
--                              <0 RK_PC6 4 &pcfg_pull_none>;
--              };
--      };
--
--      uart1 {
--              /omit-if-no-ref/
--              uart1m1_xfer: uart1m1-xfer {
--                      rockchip,pins =
--                              /* uart1_rx_m1 */
--                              <1 RK_PB7 10 &pcfg_pull_up>,
--                              /* uart1_tx_m1 */
--                              <1 RK_PB6 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart1m1_ctsn: uart1m1-ctsn {
--                      rockchip,pins =
--                              /* uart1m1_ctsn */
--                              <1 RK_PD7 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart1m1_rtsn: uart1m1-rtsn {
--                      rockchip,pins =
--                              /* uart1m1_rtsn */
--                              <1 RK_PD6 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart1m2_xfer: uart1m2-xfer {
--                      rockchip,pins =
--                              /* uart1_rx_m2 */
--                              <0 RK_PD2 10 &pcfg_pull_up>,
--                              /* uart1_tx_m2 */
--                              <0 RK_PD1 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart1m2_ctsn: uart1m2-ctsn {
--                      rockchip,pins =
--                              /* uart1m2_ctsn */
--                              <0 RK_PD0 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart1m2_rtsn: uart1m2-rtsn {
--                      rockchip,pins =
--                              /* uart1m2_rtsn */
--                              <0 RK_PC7 10 &pcfg_pull_none>;
--              };
--      };
--
--      uart2 {
--              /omit-if-no-ref/
--              uart2m0_xfer: uart2m0-xfer {
--                      rockchip,pins =
--                              /* uart2_rx_m0 */
--                              <0 RK_PB6 10 &pcfg_pull_up>,
--                              /* uart2_tx_m0 */
--                              <0 RK_PB5 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart2m1_xfer: uart2m1-xfer {
--                      rockchip,pins =
--                              /* uart2_rx_m1 */
--                              <4 RK_PD1 10 &pcfg_pull_up>,
--                              /* uart2_tx_m1 */
--                              <4 RK_PD0 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart2m2_xfer: uart2m2-xfer {
--                      rockchip,pins =
--                              /* uart2_rx_m2 */
--                              <3 RK_PB2 10 &pcfg_pull_up>,
--                              /* uart2_tx_m2 */
--                              <3 RK_PB1 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart2_ctsn: uart2-ctsn {
--                      rockchip,pins =
--                              /* uart2_ctsn */
--                              <3 RK_PB4 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart2_rtsn: uart2-rtsn {
--                      rockchip,pins =
--                              /* uart2_rtsn */
--                              <3 RK_PB3 10 &pcfg_pull_none>;
--              };
--      };
--
--      uart3 {
--              /omit-if-no-ref/
--              uart3m0_xfer: uart3m0-xfer {
--                      rockchip,pins =
--                              /* uart3_rx_m0 */
--                              <1 RK_PC0 10 &pcfg_pull_up>,
--                              /* uart3_tx_m0 */
--                              <1 RK_PC1 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart3m1_xfer: uart3m1-xfer {
--                      rockchip,pins =
--                              /* uart3_rx_m1 */
--                              <3 RK_PB6 10 &pcfg_pull_up>,
--                              /* uart3_tx_m1 */
--                              <3 RK_PB5 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart3m2_xfer: uart3m2-xfer {
--                      rockchip,pins =
--                              /* uart3_rx_m2 */
--                              <4 RK_PA6 10 &pcfg_pull_up>,
--                              /* uart3_tx_m2 */
--                              <4 RK_PA5 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart3_ctsn: uart3-ctsn {
--                      rockchip,pins =
--                              /* uart3_ctsn */
--                              <1 RK_PC3 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart3_rtsn: uart3-rtsn {
--                      rockchip,pins =
--                              /* uart3_rtsn */
--                              <1 RK_PC2 10 &pcfg_pull_none>;
--              };
--      };
--
--      uart4 {
--              /omit-if-no-ref/
--              uart4m0_xfer: uart4m0-xfer {
--                      rockchip,pins =
--                              /* uart4_rx_m0 */
--                              <1 RK_PD3 10 &pcfg_pull_up>,
--                              /* uart4_tx_m0 */
--                              <1 RK_PD2 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart4m1_xfer: uart4m1-xfer {
--                      rockchip,pins =
--                              /* uart4_rx_m1 */
--                              <3 RK_PD0 10 &pcfg_pull_up>,
--                              /* uart4_tx_m1 */
--                              <3 RK_PD1 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart4m2_xfer: uart4m2-xfer {
--                      rockchip,pins =
--                              /* uart4_rx_m2 */
--                              <1 RK_PB2 10 &pcfg_pull_up>,
--                              /* uart4_tx_m2 */
--                              <1 RK_PB3 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart4_ctsn: uart4-ctsn {
--                      rockchip,pins =
--                              /* uart4_ctsn */
--                              <1 RK_PC7 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart4_rtsn: uart4-rtsn {
--                      rockchip,pins =
--                              /* uart4_rtsn */
--                              <1 RK_PC5 10 &pcfg_pull_none>;
--              };
--      };
--
--      uart5 {
--              /omit-if-no-ref/
--              uart5m0_xfer: uart5m0-xfer {
--                      rockchip,pins =
--                              /* uart5_rx_m0 */
--                              <4 RK_PD4 10 &pcfg_pull_up>,
--                              /* uart5_tx_m0 */
--                              <4 RK_PD5 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart5m0_ctsn: uart5m0-ctsn {
--                      rockchip,pins =
--                              /* uart5m0_ctsn */
--                              <4 RK_PD2 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart5m0_rtsn: uart5m0-rtsn {
--                      rockchip,pins =
--                              /* uart5m0_rtsn */
--                              <4 RK_PD3 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart5m1_xfer: uart5m1-xfer {
--                      rockchip,pins =
--                              /* uart5_rx_m1 */
--                              <3 RK_PC5 10 &pcfg_pull_up>,
--                              /* uart5_tx_m1 */
--                              <3 RK_PC4 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart5m1_ctsn: uart5m1-ctsn {
--                      rockchip,pins =
--                              /* uart5m1_ctsn */
--                              <2 RK_PA2 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart5m1_rtsn: uart5m1-rtsn {
--                      rockchip,pins =
--                              /* uart5m1_rtsn */
--                              <2 RK_PA3 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart5m2_xfer: uart5m2-xfer {
--                      rockchip,pins =
--                              /* uart5_rx_m2 */
--                              <2 RK_PD4 10 &pcfg_pull_up>,
--                              /* uart5_tx_m2 */
--                              <2 RK_PD5 10 &pcfg_pull_up>;
--              };
--      };
--
--      uart6 {
--              /omit-if-no-ref/
--              uart6m1_xfer: uart6m1-xfer {
--                      rockchip,pins =
--                              /* uart6_rx_m1 */
--                              <1 RK_PA0 10 &pcfg_pull_up>,
--                              /* uart6_tx_m1 */
--                              <1 RK_PA1 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart6m1_ctsn: uart6m1-ctsn {
--                      rockchip,pins =
--                              /* uart6m1_ctsn */
--                              <1 RK_PA3 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart6m1_rtsn: uart6m1-rtsn {
--                      rockchip,pins =
--                              /* uart6m1_rtsn */
--                              <1 RK_PA2 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart6m2_xfer: uart6m2-xfer {
--                      rockchip,pins =
--                              /* uart6_rx_m2 */
--                              <1 RK_PD1 10 &pcfg_pull_up>,
--                              /* uart6_tx_m2 */
--                              <1 RK_PD0 10 &pcfg_pull_up>;
--              };
--      };
--
--      uart7 {
--              /omit-if-no-ref/
--              uart7m1_xfer: uart7m1-xfer {
--                      rockchip,pins =
--                              /* uart7_rx_m1 */
--                              <3 RK_PC1 10 &pcfg_pull_up>,
--                              /* uart7_tx_m1 */
--                              <3 RK_PC0 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart7m1_ctsn: uart7m1-ctsn {
--                      rockchip,pins =
--                              /* uart7m1_ctsn */
--                              <3 RK_PC3 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart7m1_rtsn: uart7m1-rtsn {
--                      rockchip,pins =
--                              /* uart7m1_rtsn */
--                              <3 RK_PC2 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart7m2_xfer: uart7m2-xfer {
--                      rockchip,pins =
--                              /* uart7_rx_m2 */
--                              <1 RK_PB4 10 &pcfg_pull_up>,
--                              /* uart7_tx_m2 */
--                              <1 RK_PB5 10 &pcfg_pull_up>;
--              };
--      };
--
--      uart8 {
--              /omit-if-no-ref/
--              uart8m0_xfer: uart8m0-xfer {
--                      rockchip,pins =
--                              /* uart8_rx_m0 */
--                              <4 RK_PB1 10 &pcfg_pull_up>,
--                              /* uart8_tx_m0 */
--                              <4 RK_PB0 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart8m0_ctsn: uart8m0-ctsn {
--                      rockchip,pins =
--                              /* uart8m0_ctsn */
--                              <4 RK_PB3 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart8m0_rtsn: uart8m0-rtsn {
--                      rockchip,pins =
--                              /* uart8m0_rtsn */
--                              <4 RK_PB2 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart8m1_xfer: uart8m1-xfer {
--                      rockchip,pins =
--                              /* uart8_rx_m1 */
--                              <3 RK_PA3 10 &pcfg_pull_up>,
--                              /* uart8_tx_m1 */
--                              <3 RK_PA2 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart8m1_ctsn: uart8m1-ctsn {
--                      rockchip,pins =
--                              /* uart8m1_ctsn */
--                              <3 RK_PA5 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart8m1_rtsn: uart8m1-rtsn {
--                      rockchip,pins =
--                              /* uart8m1_rtsn */
--                              <3 RK_PA4 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart8_xfer: uart8-xfer {
--                      rockchip,pins =
--                              /* uart8_rx_ */
--                              <4 RK_PB1 10 &pcfg_pull_up>;
--              };
--      };
--
--      uart9 {
--              /omit-if-no-ref/
--              uart9m0_xfer: uart9m0-xfer {
--                      rockchip,pins =
--                              /* uart9_rx_m0 */
--                              <2 RK_PC4 10 &pcfg_pull_up>,
--                              /* uart9_tx_m0 */
--                              <2 RK_PC2 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart9m1_xfer: uart9m1-xfer {
--                      rockchip,pins =
--                              /* uart9_rx_m1 */
--                              <4 RK_PB5 10 &pcfg_pull_up>,
--                              /* uart9_tx_m1 */
--                              <4 RK_PB4 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart9m1_ctsn: uart9m1-ctsn {
--                      rockchip,pins =
--                              /* uart9m1_ctsn */
--                              <4 RK_PA1 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart9m1_rtsn: uart9m1-rtsn {
--                      rockchip,pins =
--                              /* uart9m1_rtsn */
--                              <4 RK_PA0 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart9m2_xfer: uart9m2-xfer {
--                      rockchip,pins =
--                              /* uart9_rx_m2 */
--                              <3 RK_PD4 10 &pcfg_pull_up>,
--                              /* uart9_tx_m2 */
--                              <3 RK_PD5 10 &pcfg_pull_up>;
--              };
--
--              /omit-if-no-ref/
--              uart9m2_ctsn: uart9m2-ctsn {
--                      rockchip,pins =
--                              /* uart9m2_ctsn */
--                              <3 RK_PD3 10 &pcfg_pull_none>;
--              };
--
--              /omit-if-no-ref/
--              uart9m2_rtsn: uart9m2-rtsn {
--                      rockchip,pins =
--                              /* uart9m2_rtsn */
--                              <3 RK_PD2 10 &pcfg_pull_none>;
--              };
--      };
--
--      vop {
--              /omit-if-no-ref/
--              vop_pins: vop-pins {
--                      rockchip,pins =
--                              /* vop_post_empty */
--                              <1 RK_PA2 1 &pcfg_pull_none>;
--              };
--      };
--};
--
--/*
-- * This part is edited handly.
-- */
--&pinctrl {
--      bt656 {
--              /omit-if-no-ref/
--              bt656_pins: bt656-pins {
--                      rockchip,pins =
--                              /* bt1120_clkout */
--                              <4 RK_PB0 2 &pcfg_pull_none_drv_level_2>,
--                              /* bt1120_d0 */
--                              <4 RK_PA0 2 &pcfg_pull_none_drv_level_2>,
--                              /* bt1120_d1 */
--                              <4 RK_PA1 2 &pcfg_pull_none_drv_level_2>,
--                              /* bt1120_d2 */
--                              <4 RK_PA2 2 &pcfg_pull_none_drv_level_2>,
--                              /* bt1120_d3 */
--                              <4 RK_PA3 2 &pcfg_pull_none_drv_level_2>,
--                              /* bt1120_d4 */
--                              <4 RK_PA4 2 &pcfg_pull_none_drv_level_2>,
--                              /* bt1120_d5 */
--                              <4 RK_PA5 2 &pcfg_pull_none_drv_level_2>,
--                              /* bt1120_d6 */
--                              <4 RK_PA6 2 &pcfg_pull_none_drv_level_2>,
--                              /* bt1120_d7 */
--                              <4 RK_PA7 2 &pcfg_pull_none_drv_level_2>;
--              };
--      };
--
--      gpio-func {
--              /omit-if-no-ref/
--              tsadc_gpio_func: tsadc-gpio-func {
--                      rockchip,pins =
--                              <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--      };
--};
diff --git a/target/linux/rockchip/patches-6.12/050-23-v6.11-arm64-dts-rockchip-add-thermal-zones-information-on-RK358.patch b/target/linux/rockchip/patches-6.12/050-23-v6.11-arm64-dts-rockchip-add-thermal-zones-information-on-RK358.patch
deleted file mode 100644 (file)
index 1a18eb9..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-From 510cd9e688453166b2bff3999ed21cac97385bb5 Mon Sep 17 00:00:00 2001
-From: Alexey Charkov <alchark@gmail.com>
-Date: Mon, 17 Jun 2024 22:28:51 +0400
-Subject: [PATCH] arm64: dts: rockchip: add thermal zones information on RK3588
-
-This includes the necessary device tree data to allow thermal
-monitoring on RK3588(s) using the on-chip TSADC device, along with
-trip points for automatic thermal management.
-
-Each of the CPU clusters (one for the little cores and two for
-the big cores) get a passive cooling trip point at 85C, which
-will trigger DVFS throttling of the respective cluster upon
-reaching a high temperature condition.
-
-All zones also have a critical trip point at 115C, which will
-trigger a reset.
-
-Signed-off-by: Alexey Charkov <alchark@gmail.com>
-Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-1-c1f5f3267f1e@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 153 ++++++++++++++++++
- 1 file changed, 153 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
-@@ -10,6 +10,7 @@
- #include <dt-bindings/reset/rockchip,rk3588-cru.h>
- #include <dt-bindings/phy/phy.h>
- #include <dt-bindings/ata/ahci.h>
-+#include <dt-bindings/thermal/thermal.h>
- / {
-       compatible = "rockchip,rk3588";
-@@ -2368,6 +2369,158 @@
-               status = "disabled";
-       };
-+      thermal_zones: thermal-zones {
-+              /* sensor near the center of the SoC */
-+              package_thermal: package-thermal {
-+                      polling-delay-passive = <0>;
-+                      polling-delay = <0>;
-+                      thermal-sensors = <&tsadc 0>;
-+
-+                      trips {
-+                              package_crit: package-crit {
-+                                      temperature = <115000>;
-+                                      hysteresis = <0>;
-+                                      type = "critical";
-+                              };
-+                      };
-+              };
-+
-+              /* sensor between A76 cores 0 and 1 */
-+              bigcore0_thermal: bigcore0-thermal {
-+                      polling-delay-passive = <100>;
-+                      polling-delay = <0>;
-+                      thermal-sensors = <&tsadc 1>;
-+
-+                      trips {
-+                              bigcore0_alert: bigcore0-alert {
-+                                      temperature = <85000>;
-+                                      hysteresis = <2000>;
-+                                      type = "passive";
-+                              };
-+
-+                              bigcore0_crit: bigcore0-crit {
-+                                      temperature = <115000>;
-+                                      hysteresis = <0>;
-+                                      type = "critical";
-+                              };
-+                      };
-+
-+                      cooling-maps {
-+                              map0 {
-+                                      trip = <&bigcore0_alert>;
-+                                      cooling-device =
-+                                              <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-+                                              <&cpu_b1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-+                              };
-+                      };
-+              };
-+
-+              /* sensor between A76 cores 2 and 3 */
-+              bigcore2_thermal: bigcore2-thermal {
-+                      polling-delay-passive = <100>;
-+                      polling-delay = <0>;
-+                      thermal-sensors = <&tsadc 2>;
-+
-+                      trips {
-+                              bigcore2_alert: bigcore2-alert {
-+                                      temperature = <85000>;
-+                                      hysteresis = <2000>;
-+                                      type = "passive";
-+                              };
-+
-+                              bigcore2_crit: bigcore2-crit {
-+                                      temperature = <115000>;
-+                                      hysteresis = <0>;
-+                                      type = "critical";
-+                              };
-+                      };
-+
-+                      cooling-maps {
-+                              map0 {
-+                                      trip = <&bigcore2_alert>;
-+                                      cooling-device =
-+                                              <&cpu_b2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-+                                              <&cpu_b3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-+                              };
-+                      };
-+              };
-+
-+              /* sensor between the four A55 cores */
-+              little_core_thermal: littlecore-thermal {
-+                      polling-delay-passive = <100>;
-+                      polling-delay = <0>;
-+                      thermal-sensors = <&tsadc 3>;
-+
-+                      trips {
-+                              littlecore_alert: littlecore-alert {
-+                                      temperature = <85000>;
-+                                      hysteresis = <2000>;
-+                                      type = "passive";
-+                              };
-+
-+                              littlecore_crit: littlecore-crit {
-+                                      temperature = <115000>;
-+                                      hysteresis = <0>;
-+                                      type = "critical";
-+                              };
-+                      };
-+
-+                      cooling-maps {
-+                              map0 {
-+                                      trip = <&littlecore_alert>;
-+                                      cooling-device =
-+                                              <&cpu_l0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-+                                              <&cpu_l1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-+                                              <&cpu_l2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-+                                              <&cpu_l3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-+                              };
-+                      };
-+              };
-+
-+              /* sensor near the PD_CENTER power domain */
-+              center_thermal: center-thermal {
-+                      polling-delay-passive = <0>;
-+                      polling-delay = <0>;
-+                      thermal-sensors = <&tsadc 4>;
-+
-+                      trips {
-+                              center_crit: center-crit {
-+                                      temperature = <115000>;
-+                                      hysteresis = <0>;
-+                                      type = "critical";
-+                              };
-+                      };
-+              };
-+
-+              gpu_thermal: gpu-thermal {
-+                      polling-delay-passive = <0>;
-+                      polling-delay = <0>;
-+                      thermal-sensors = <&tsadc 5>;
-+
-+                      trips {
-+                              gpu_crit: gpu-crit {
-+                                      temperature = <115000>;
-+                                      hysteresis = <0>;
-+                                      type = "critical";
-+                              };
-+                      };
-+              };
-+
-+              npu_thermal: npu-thermal {
-+                      polling-delay-passive = <0>;
-+                      polling-delay = <0>;
-+                      thermal-sensors = <&tsadc 6>;
-+
-+                      trips {
-+                              npu_crit: npu-crit {
-+                                      temperature = <115000>;
-+                                      hysteresis = <0>;
-+                                      type = "critical";
-+                              };
-+                      };
-+              };
-+      };
-+
-       tsadc: tsadc@fec00000 {
-               compatible = "rockchip,rk3588-tsadc";
-               reg = <0x0 0xfec00000 0x0 0x400>;
diff --git a/target/linux/rockchip/patches-6.12/050-24-v6.11-arm64-dts-rockchip-add-passive-GPU-cooling-on-RK3588.patch b/target/linux/rockchip/patches-6.12/050-24-v6.11-arm64-dts-rockchip-add-passive-GPU-cooling-on-RK3588.patch
deleted file mode 100644 (file)
index c7a8bb8..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-From b78f87940a79321a444083aca46ac3e8e53d1a90 Mon Sep 17 00:00:00 2001
-From: Alexey Charkov <alchark@gmail.com>
-Date: Mon, 17 Jun 2024 22:28:53 +0400
-Subject: [PATCH] arm64: dts: rockchip: add passive GPU cooling on RK3588
-
-As the GPU support on RK3588 has been merged upstream, along with OPP
-values, add a corresponding cooling map for passive cooling using the GPU.
-
-Signed-off-by: Alexey Charkov <alchark@gmail.com>
-Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-3-c1f5f3267f1e@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 16 +++++++++++++++-
- 1 file changed, 15 insertions(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
-@@ -2493,17 +2493,31 @@
-               };
-               gpu_thermal: gpu-thermal {
--                      polling-delay-passive = <0>;
-+                      polling-delay-passive = <100>;
-                       polling-delay = <0>;
-                       thermal-sensors = <&tsadc 5>;
-                       trips {
-+                              gpu_alert: gpu-alert {
-+                                      temperature = <85000>;
-+                                      hysteresis = <2000>;
-+                                      type = "passive";
-+                              };
-+
-                               gpu_crit: gpu-crit {
-                                       temperature = <115000>;
-                                       hysteresis = <0>;
-                                       type = "critical";
-                               };
-                       };
-+
-+                      cooling-maps {
-+                              map0 {
-+                                      trip = <&gpu_alert>;
-+                                      cooling-device =
-+                                              <&gpu THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-+                              };
-+                      };
-               };
-               npu_thermal: npu-thermal {
diff --git a/target/linux/rockchip/patches-6.12/050-25-v6.11-arm64-dts-rockchip-Add-OPP-data-for-CPU-cores-on-RK3588.patch b/target/linux/rockchip/patches-6.12/050-25-v6.11-arm64-dts-rockchip-Add-OPP-data-for-CPU-cores-on-RK3588.patch
deleted file mode 100644 (file)
index cb5c254..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-From 276856db91b46eaa7a4c19226c096a9dc899a3e9 Mon Sep 17 00:00:00 2001
-From: Alexey Charkov <alchark@gmail.com>
-Date: Mon, 17 Jun 2024 22:28:56 +0400
-Subject: [PATCH] arm64: dts: rockchip: Add OPP data for CPU cores on RK3588
-
-By default the CPUs on RK3588 start up in a conservative performance
-mode. Add frequency and voltage mappings to the device tree to enable
-dynamic scaling via cpufreq.
-
-OPP values are adapted from Radxa's downstream kernel for Rock 5B [1],
-stripping them down to the minimum frequency and voltage combinations
-as expected by the generic upstream cpufreq-dt driver, and also dropping
-those OPPs that don't differ in voltage but only in frequency (keeping
-the top frequency OPP in each case).
-
-Note that this patch ignores voltage scaling for the CPU memory
-interface which the downstream kernel does through a custom cpufreq
-driver, and which is why the downstream version has two sets of voltage
-values for each OPP (the second one being meant for the memory
-interface supply regulator). This is done instead via regulator
-coupling between CPU and memory interface supplies on affected boards.
-
-This has been tested on Rock 5B with u-boot 2023.11 compiled from
-Collabora's integration tree [2] with binary bl31 and appears to be
-stable both under active cooling and passive cooling (with throttling)
-
-[1] https://github.com/radxa/kernel/blob/stable-5.10-rock5/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-[2] https://gitlab.collabora.com/hardware-enablement/rockchip-3588/u-boot
-
-Signed-off-by: Alexey Charkov <alchark@gmail.com>
-Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-6-c1f5f3267f1e@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi | 149 +++++++++++++++++++
- arch/arm64/boot/dts/rockchip/rk3588.dtsi     |   1 +
- arch/arm64/boot/dts/rockchip/rk3588s.dtsi    |   1 +
- 3 files changed, 151 insertions(+)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
-
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
-@@ -0,0 +1,149 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+
-+/ {
-+      cluster0_opp_table: opp-table-cluster0 {
-+              compatible = "operating-points-v2";
-+              opp-shared;
-+
-+              opp-1008000000 {
-+                      opp-hz = /bits/ 64 <1008000000>;
-+                      opp-microvolt = <675000 675000 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1200000000 {
-+                      opp-hz = /bits/ 64 <1200000000>;
-+                      opp-microvolt = <712500 712500 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1416000000 {
-+                      opp-hz = /bits/ 64 <1416000000>;
-+                      opp-microvolt = <762500 762500 950000>;
-+                      clock-latency-ns = <40000>;
-+                      opp-suspend;
-+              };
-+              opp-1608000000 {
-+                      opp-hz = /bits/ 64 <1608000000>;
-+                      opp-microvolt = <850000 850000 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1800000000 {
-+                      opp-hz = /bits/ 64 <1800000000>;
-+                      opp-microvolt = <950000 950000 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+      };
-+
-+      cluster1_opp_table: opp-table-cluster1 {
-+              compatible = "operating-points-v2";
-+              opp-shared;
-+
-+              opp-1200000000 {
-+                      opp-hz = /bits/ 64 <1200000000>;
-+                      opp-microvolt = <675000 675000 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1416000000 {
-+                      opp-hz = /bits/ 64 <1416000000>;
-+                      opp-microvolt = <725000 725000 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1608000000 {
-+                      opp-hz = /bits/ 64 <1608000000>;
-+                      opp-microvolt = <762500 762500 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1800000000 {
-+                      opp-hz = /bits/ 64 <1800000000>;
-+                      opp-microvolt = <850000 850000 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-2016000000 {
-+                      opp-hz = /bits/ 64 <2016000000>;
-+                      opp-microvolt = <925000 925000 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-2208000000 {
-+                      opp-hz = /bits/ 64 <2208000000>;
-+                      opp-microvolt = <987500 987500 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-2400000000 {
-+                      opp-hz = /bits/ 64 <2400000000>;
-+                      opp-microvolt = <1000000 1000000 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+      };
-+
-+      cluster2_opp_table: opp-table-cluster2 {
-+              compatible = "operating-points-v2";
-+              opp-shared;
-+
-+              opp-1200000000 {
-+                      opp-hz = /bits/ 64 <1200000000>;
-+                      opp-microvolt = <675000 675000 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1416000000 {
-+                      opp-hz = /bits/ 64 <1416000000>;
-+                      opp-microvolt = <725000 725000 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1608000000 {
-+                      opp-hz = /bits/ 64 <1608000000>;
-+                      opp-microvolt = <762500 762500 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1800000000 {
-+                      opp-hz = /bits/ 64 <1800000000>;
-+                      opp-microvolt = <850000 850000 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-2016000000 {
-+                      opp-hz = /bits/ 64 <2016000000>;
-+                      opp-microvolt = <925000 925000 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-2208000000 {
-+                      opp-hz = /bits/ 64 <2208000000>;
-+                      opp-microvolt = <987500 987500 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-2400000000 {
-+                      opp-hz = /bits/ 64 <2400000000>;
-+                      opp-microvolt = <1000000 1000000 1000000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+      };
-+};
-+
-+&cpu_b0 {
-+      operating-points-v2 = <&cluster1_opp_table>;
-+};
-+
-+&cpu_b1 {
-+      operating-points-v2 = <&cluster1_opp_table>;
-+};
-+
-+&cpu_b2 {
-+      operating-points-v2 = <&cluster2_opp_table>;
-+};
-+
-+&cpu_b3 {
-+      operating-points-v2 = <&cluster2_opp_table>;
-+};
-+
-+&cpu_l0 {
-+      operating-points-v2 = <&cluster0_opp_table>;
-+};
-+
-+&cpu_l1 {
-+      operating-points-v2 = <&cluster0_opp_table>;
-+};
-+
-+&cpu_l2 {
-+      operating-points-v2 = <&cluster0_opp_table>;
-+};
-+
-+&cpu_l3 {
-+      operating-points-v2 = <&cluster0_opp_table>;
-+};
---- a/arch/arm64/boot/dts/rockchip/rk3588.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588.dtsi
-@@ -5,3 +5,4 @@
-  */
- #include "rk3588-extra.dtsi"
-+#include "rk3588-opp.dtsi"
---- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-@@ -5,3 +5,4 @@
-  */
- #include "rk3588-base.dtsi"
-+#include "rk3588-opp.dtsi"
diff --git a/target/linux/rockchip/patches-6.12/050-26-v6.11-arm64-dts-rockchip-Add-OPP-data-for-CPU-cores-on-RK3588j.patch b/target/linux/rockchip/patches-6.12/050-26-v6.11-arm64-dts-rockchip-Add-OPP-data-for-CPU-cores-on-RK3588j.patch
deleted file mode 100644 (file)
index 3b39a60..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-From 667885a6865832eb0678c7e02e47a3392f177ecb Mon Sep 17 00:00:00 2001
-From: Alexey Charkov <alchark@gmail.com>
-Date: Mon, 17 Jun 2024 22:28:57 +0400
-Subject: [PATCH] arm64: dts: rockchip: Add OPP data for CPU cores on RK3588j
-
-RK3588j is the 'industrial' variant of RK3588, and it uses a different
-set of OPPs both in terms of allowed frequencies and in terms of
-applicable voltages at each frequency setpoint.
-
-Add the OPPs that apply to RK3588j (and apparently RK3588m too) to
-enable dynamic CPU frequency scaling.
-
-OPP values are derived from Rockchip downstream sources [1] by taking
-only those OPPs which have the highest frequency for a given voltage
-level and dropping the rest (if they are included, the kernel complains
-at boot time about them being inefficient)
-
-[1] https://github.com/rockchip-linux/kernel/blob/604cec4004abe5a96c734f2fab7b74809d2d742f/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-
-Signed-off-by: Alexey Charkov <alchark@gmail.com>
-Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-7-c1f5f3267f1e@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588j.dtsi | 108 ++++++++++++++++++++++
- 1 file changed, 108 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588j.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588j.dtsi
-@@ -5,3 +5,111 @@
-  */
- #include "rk3588-extra.dtsi"
-+
-+/ {
-+      cluster0_opp_table: opp-table-cluster0 {
-+              compatible = "operating-points-v2";
-+              opp-shared;
-+
-+              opp-1416000000 {
-+                      opp-hz = /bits/ 64 <1416000000>;
-+                      opp-microvolt = <750000 750000 950000>;
-+                      clock-latency-ns = <40000>;
-+                      opp-suspend;
-+              };
-+              opp-1608000000 {
-+                      opp-hz = /bits/ 64 <1608000000>;
-+                      opp-microvolt = <887500 887500 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1704000000 {
-+                      opp-hz = /bits/ 64 <1704000000>;
-+                      opp-microvolt = <937500 937500 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+      };
-+
-+      cluster1_opp_table: opp-table-cluster1 {
-+              compatible = "operating-points-v2";
-+              opp-shared;
-+
-+              opp-1416000000 {
-+                      opp-hz = /bits/ 64 <1416000000>;
-+                      opp-microvolt = <750000 750000 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1608000000 {
-+                      opp-hz = /bits/ 64 <1608000000>;
-+                      opp-microvolt = <787500 787500 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1800000000 {
-+                      opp-hz = /bits/ 64 <1800000000>;
-+                      opp-microvolt = <875000 875000 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-2016000000 {
-+                      opp-hz = /bits/ 64 <2016000000>;
-+                      opp-microvolt = <950000 950000 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+      };
-+
-+      cluster2_opp_table: opp-table-cluster2 {
-+              compatible = "operating-points-v2";
-+              opp-shared;
-+
-+              opp-1416000000 {
-+                      opp-hz = /bits/ 64 <1416000000>;
-+                      opp-microvolt = <750000 750000 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1608000000 {
-+                      opp-hz = /bits/ 64 <1608000000>;
-+                      opp-microvolt = <787500 787500 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-1800000000 {
-+                      opp-hz = /bits/ 64 <1800000000>;
-+                      opp-microvolt = <875000 875000 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+              opp-2016000000 {
-+                      opp-hz = /bits/ 64 <2016000000>;
-+                      opp-microvolt = <950000 950000 950000>;
-+                      clock-latency-ns = <40000>;
-+              };
-+      };
-+};
-+
-+&cpu_b0 {
-+      operating-points-v2 = <&cluster1_opp_table>;
-+};
-+
-+&cpu_b1 {
-+      operating-points-v2 = <&cluster1_opp_table>;
-+};
-+
-+&cpu_b2 {
-+      operating-points-v2 = <&cluster2_opp_table>;
-+};
-+
-+&cpu_b3 {
-+      operating-points-v2 = <&cluster2_opp_table>;
-+};
-+
-+&cpu_l0 {
-+      operating-points-v2 = <&cluster0_opp_table>;
-+};
-+
-+&cpu_l1 {
-+      operating-points-v2 = <&cluster0_opp_table>;
-+};
-+
-+&cpu_l2 {
-+      operating-points-v2 = <&cluster0_opp_table>;
-+};
-+
-+&cpu_l3 {
-+      operating-points-v2 = <&cluster0_opp_table>;
-+};
diff --git a/target/linux/rockchip/patches-6.12/050-27-v6.11-arm64-dts-rockchip-Split-GPU-OPPs-of-RK3588-and-RK3588j.patch b/target/linux/rockchip/patches-6.12/050-27-v6.11-arm64-dts-rockchip-Split-GPU-OPPs-of-RK3588-and-RK3588j.patch
deleted file mode 100644 (file)
index 06befc8..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-From a7b2070505a2a09ea65fa0c8c480c97f62d1978d Mon Sep 17 00:00:00 2001
-From: Alexey Charkov <alchark@gmail.com>
-Date: Mon, 17 Jun 2024 22:28:58 +0400
-Subject: [PATCH] arm64: dts: rockchip: Split GPU OPPs of RK3588 and RK3588j
-
-RK3588j uses a different set of OPPs for its GPU, both in terms of
-allowed frequencies and in terms of voltages.
-
-Move the GPU OPPs table into per-variant .dtsi files to accommodate
-for this difference.
-
-The table for RK3588j is adapted from Rockchip downstream sources [1],
-while RK3588 one is moved verbatim into the per-variant .dtsi file.
-The values provided for RK3588 in the downstream sources match those
-in the original commit.
-
-[1] https://github.com/rockchip-linux/kernel/blob/604cec4004abe5a96c734f2fab7b74809d2d742f/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
-
-Fixes: 6fca4edb93d3 ("arm64: dts: rockchip: Add rk3588 GPU node")
-Signed-off-by: Alexey Charkov <alchark@gmail.com>
-Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-8-c1f5f3267f1e@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 38 -----------------
- arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi  | 41 +++++++++++++++++++
- arch/arm64/boot/dts/rockchip/rk3588j.dtsi     | 33 +++++++++++++++
- 3 files changed, 74 insertions(+), 38 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi
-@@ -451,46 +451,8 @@
-                            <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH 0>,
-                            <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 0>;
-               interrupt-names = "job", "mmu", "gpu";
--              operating-points-v2 = <&gpu_opp_table>;
-               power-domains = <&power RK3588_PD_GPU>;
-               status = "disabled";
--
--              gpu_opp_table: opp-table {
--                      compatible = "operating-points-v2";
--
--                      opp-300000000 {
--                              opp-hz = /bits/ 64 <300000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-400000000 {
--                              opp-hz = /bits/ 64 <400000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-500000000 {
--                              opp-hz = /bits/ 64 <500000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-600000000 {
--                              opp-hz = /bits/ 64 <600000000>;
--                              opp-microvolt = <675000 675000 850000>;
--                      };
--                      opp-700000000 {
--                              opp-hz = /bits/ 64 <700000000>;
--                              opp-microvolt = <700000 700000 850000>;
--                      };
--                      opp-800000000 {
--                              opp-hz = /bits/ 64 <800000000>;
--                              opp-microvolt = <750000 750000 850000>;
--                      };
--                      opp-900000000 {
--                              opp-hz = /bits/ 64 <900000000>;
--                              opp-microvolt = <800000 800000 850000>;
--                      };
--                      opp-1000000000 {
--                              opp-hz = /bits/ 64 <1000000000>;
--                              opp-microvolt = <850000 850000 850000>;
--                      };
--              };
-       };
-       usb_host0_xhci: usb@fc000000 {
---- a/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-opp.dtsi
-@@ -114,6 +114,43 @@
-                       clock-latency-ns = <40000>;
-               };
-       };
-+
-+      gpu_opp_table: opp-table {
-+              compatible = "operating-points-v2";
-+
-+              opp-300000000 {
-+                      opp-hz = /bits/ 64 <300000000>;
-+                      opp-microvolt = <675000 675000 850000>;
-+              };
-+              opp-400000000 {
-+                      opp-hz = /bits/ 64 <400000000>;
-+                      opp-microvolt = <675000 675000 850000>;
-+              };
-+              opp-500000000 {
-+                      opp-hz = /bits/ 64 <500000000>;
-+                      opp-microvolt = <675000 675000 850000>;
-+              };
-+              opp-600000000 {
-+                      opp-hz = /bits/ 64 <600000000>;
-+                      opp-microvolt = <675000 675000 850000>;
-+              };
-+              opp-700000000 {
-+                      opp-hz = /bits/ 64 <700000000>;
-+                      opp-microvolt = <700000 700000 850000>;
-+              };
-+              opp-800000000 {
-+                      opp-hz = /bits/ 64 <800000000>;
-+                      opp-microvolt = <750000 750000 850000>;
-+              };
-+              opp-900000000 {
-+                      opp-hz = /bits/ 64 <900000000>;
-+                      opp-microvolt = <800000 800000 850000>;
-+              };
-+              opp-1000000000 {
-+                      opp-hz = /bits/ 64 <1000000000>;
-+                      opp-microvolt = <850000 850000 850000>;
-+              };
-+      };
- };
- &cpu_b0 {
-@@ -147,3 +184,7 @@
- &cpu_l3 {
-       operating-points-v2 = <&cluster0_opp_table>;
- };
-+
-+&gpu {
-+      operating-points-v2 = <&gpu_opp_table>;
-+};
---- a/arch/arm64/boot/dts/rockchip/rk3588j.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588j.dtsi
-@@ -80,6 +80,35 @@
-                       clock-latency-ns = <40000>;
-               };
-       };
-+
-+      gpu_opp_table: opp-table {
-+              compatible = "operating-points-v2";
-+
-+              opp-300000000 {
-+                      opp-hz = /bits/ 64 <300000000>;
-+                      opp-microvolt = <750000 750000 850000>;
-+              };
-+              opp-400000000 {
-+                      opp-hz = /bits/ 64 <400000000>;
-+                      opp-microvolt = <750000 750000 850000>;
-+              };
-+              opp-500000000 {
-+                      opp-hz = /bits/ 64 <500000000>;
-+                      opp-microvolt = <750000 750000 850000>;
-+              };
-+              opp-600000000 {
-+                      opp-hz = /bits/ 64 <600000000>;
-+                      opp-microvolt = <750000 750000 850000>;
-+              };
-+              opp-700000000 {
-+                      opp-hz = /bits/ 64 <700000000>;
-+                      opp-microvolt = <750000 750000 850000>;
-+              };
-+              opp-850000000 {
-+                      opp-hz = /bits/ 64 <800000000>;
-+                      opp-microvolt = <787500 787500 850000>;
-+              };
-+      };
- };
- &cpu_b0 {
-@@ -113,3 +142,7 @@
- &cpu_l3 {
-       operating-points-v2 = <&cluster0_opp_table>;
- };
-+
-+&gpu {
-+      operating-points-v2 = <&gpu_opp_table>;
-+};
diff --git a/target/linux/rockchip/patches-6.12/051-01-v6.8-arm64-dts-rockchip-add-USB3-host-to-rock-5a.patch b/target/linux/rockchip/patches-6.12/051-01-v6.8-arm64-dts-rockchip-add-USB3-host-to-rock-5a.patch
deleted file mode 100644 (file)
index a9bf398..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From 0773a4a199aabb60afe50f5a19a6772abf4ad0bf Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Mon, 6 Nov 2023 16:54:32 +0100
-Subject: [PATCH] arm64: dts: rockchip: add USB3 host to rock-5a
-
-Enable USB3 host controller for the Radxa ROCK 5 Model A. This adds
-USB3 for the lower USB3 port (the one closer to the PCB).
-
-The upper USB3 port uses the RK3588 USB TypeC host controller, which
-use a different PHY without upstream support.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20231106155934.80838-2-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-@@ -113,6 +113,10 @@
-       };
- };
-+&combphy2_psu {
-+      status = "okay";
-+};
-+
- &cpu_b0 {
-       cpu-supply = <&vdd_cpu_big0_s0>;
- };
-@@ -734,3 +738,7 @@
- &usb_host1_ohci {
-       status = "okay";
- };
-+
-+&usb_host2_xhci {
-+      status = "okay";
-+};
diff --git a/target/linux/rockchip/patches-6.12/051-02-v6.10-arm64-dts-rockchip-add-upper-USB3-port-to-rock-5a.patch b/target/linux/rockchip/patches-6.12/051-02-v6.10-arm64-dts-rockchip-add-upper-USB3-port-to-rock-5a.patch
deleted file mode 100644 (file)
index 5c1ebb8..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-From af7ec140ddc1815bc462109792d95bcad05cfbc4 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Tue, 9 Apr 2024 00:50:36 +0200
-Subject: [PATCH] arm64: dts: rockchip: add upper USB3 port to rock-5a
-
-Enable full support (XHCI, EHCI, OHCI) for the upper USB3 port from
-Radxa Rock 5 Model A. The lower one is already supported.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240408225109.128953-10-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588s-rock-5a.dts      | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-@@ -698,6 +698,14 @@
-       };
- };
-+&u2phy0 {
-+      status = "okay";
-+};
-+
-+&u2phy0_otg {
-+      status = "okay";
-+};
-+
- &u2phy2 {
-       status = "okay";
- };
-@@ -721,6 +729,11 @@
-       status = "okay";
- };
-+&usbdp_phy0 {
-+      status = "okay";
-+      rockchip,dp-lane-mux = <2 3>;
-+};
-+
- &usb_host0_ehci {
-       status = "okay";
-       pinctrl-names = "default";
-@@ -731,6 +744,11 @@
-       status = "okay";
- };
-+&usb_host0_xhci {
-+      dr_mode = "host";
-+      status = "okay";
-+};
-+
- &usb_host1_ehci {
-       status = "okay";
- };
diff --git a/target/linux/rockchip/patches-6.12/051-03-v6.11-arm64-dts-rockchip-add-but-disabled-SFC-node-for-Radxa.patch b/target/linux/rockchip/patches-6.12/051-03-v6.11-arm64-dts-rockchip-add-but-disabled-SFC-node-for-Radxa.patch
deleted file mode 100644 (file)
index b71246f..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-From 00224650dd45e166ea6eb1593f5f064583963ccf Mon Sep 17 00:00:00 2001
-From: FUKAUMI Naoki <naoki@radxa.com>
-Date: Sun, 23 Jun 2024 11:33:28 +0900
-Subject: [PATCH] arm64: dts: rockchip: add (but disabled) SFC node for Radxa
- ROCK 5A
-
-This commit adds SFC node for Radxa ROCK 5A.
-
-since sdhci and sfc on RK3588s share pins(i.e. exclusive), it cannot
-be enabled both nodes at the same time. so status = "okay" is omitted
-here.
-
-you may be able to enable sfc (and disable sdhci) by fdt overlay.
-
-SPI NOR flash chip may vary, so use safe(lowest) spi-max-frequency.
-
-Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
-Link: https://lore.kernel.org/r/20240623023329.1044-2-naoki@radxa.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-@@ -376,6 +376,19 @@
-       status = "okay";
- };
-+&sfc {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&fspim0_pins>;
-+
-+      flash@0 {
-+              compatible = "jedec,spi-nor";
-+              reg = <0>;
-+              spi-max-frequency = <104000000>;
-+              spi-rx-bus-width = <4>;
-+              spi-tx-bus-width = <1>;
-+      };
-+};
-+
- &spi2 {
-       status = "okay";
-       assigned-clocks = <&cru CLK_SPI2>;
diff --git a/target/linux/rockchip/patches-6.12/051-04-v6.12-arm64-dts-rockchip-enable-PCIe-on-M.2-E-key-for-Radxa-ROC.patch b/target/linux/rockchip/patches-6.12/051-04-v6.12-arm64-dts-rockchip-enable-PCIe-on-M.2-E-key-for-Radxa-ROC.patch
deleted file mode 100644 (file)
index e4fe686..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-From b728d4c51f0ce9207daf502f3a85073785c46319 Mon Sep 17 00:00:00 2001
-From: FUKAUMI Naoki <naoki@radxa.com>
-Date: Mon, 26 Aug 2024 17:04:56 +0900
-Subject: [PATCH] arm64: dts: rockchip: enable PCIe on M.2 E key for Radxa ROCK
- 5A
-
-Enable pcie2x1l2 and related combphy/regulator routed to M.2 E key
-connector on Radxa ROCK 5A.
-
-Tested with Radxa Wireless Module A8:
-
-$ lspci
-0004:40:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01)
-0004:41:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8852BE PCIe 802.11ax Wireless Network Controller
-
-$ ip l
-1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
-    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
-2: end0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
-    link/ether c2:58:fc:70:55:86 brd ff:ff:ff:ff:ff:ff
-3: wlP4p65s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
-    link/ether 2c:05:47:65:5b:ed brd ff:ff:ff:ff:ff:ff
-
-$ lsusb
-Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
-Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
-Bus 001 Device 003: ID 0bda:b85b Realtek Semiconductor Corp. Bluetooth Radio
-Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
-Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
-Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
-Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
-Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
-Bus 006 Device 002: ID 0789:0336 Logitec Corp. LMD USB Device
-Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
-Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
-
-$ hciconfig
-hci0:  Type: Primary  Bus: USB
-       BD Address: 2C:05:47:65:5B:EE  ACL MTU: 1021:6  SCO MTU: 255:12
-       UP RUNNING
-       RX bytes:2698 acl:0 sco:0 events:329 errors:0
-       TX bytes:69393 acl:0 sco:0 commands:329 errors:0
-
-Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
-Link: https://lore.kernel.org/r/20240826080456.525-1-naoki@radxa.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588s-rock-5a.dts     | 30 +++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-@@ -64,6 +64,18 @@
-               regulator-max-microvolt = <12000000>;
-       };
-+      vcc3v3_wf: vcc3v3-wf-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc3v3_wf";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              enable-active-high;
-+              gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
-+              pinctrl-0 = <&pow_en>;
-+              pinctrl-names = "default";
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-       vcc5v0_host: vcc5v0-host-regulator {
-               compatible = "regulator-fixed";
-               regulator-name = "vcc5v0_host";
-@@ -113,6 +125,10 @@
-       };
- };
-+&combphy0_ps {
-+      status = "okay";
-+};
-+
- &combphy2_psu {
-       status = "okay";
- };
-@@ -292,6 +308,14 @@
-       };
- };
-+&pcie2x1l2 {
-+      pinctrl-0 = <&pcie20x1m0_pins>;
-+      pinctrl-names = "default";
-+      reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc3v3_wf>;
-+      status = "okay";
-+};
-+
- &pinctrl {
-       leds {
-               io_led: io-led {
-@@ -299,6 +323,12 @@
-               };
-       };
-+      pcie {
-+              pow_en: pow-en {
-+                      rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-       power {
-               vcc_5v0_en: vcc-5v0-en {
-                       rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
diff --git a/target/linux/rockchip/patches-6.12/052-01-v6.7-arm64-dts-rockchip-add-PCIe-network-controller-to-rock-5b.patch b/target/linux/rockchip/patches-6.12/052-01-v6.7-arm64-dts-rockchip-add-PCIe-network-controller-to-rock-5b.patch
deleted file mode 100644 (file)
index 7ce349d..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-From 42145b7a823530f57983fb6e6897f40c0be278d5 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Mon, 18 Sep 2023 16:14:49 +0200
-Subject: [PATCH] arm64: dts: rockchip: add PCIe network controller to rock-5b
-
-Enable the RTL8125 network controller, which is connected via
-PCIe.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20230918141451.131247-2-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588-rock-5b.dts      | 27 +++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -43,6 +43,15 @@
-               #cooling-cells = <2>;
-       };
-+      vcc3v3_pcie2x1l2: vcc3v3-pcie2x1l2-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc3v3_pcie2x1l2";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              startup-delay-us = <5000>;
-+              vin-supply = <&vcc_3v3_s3>;
-+      };
-+
-       vcc5v0_host: vcc5v0-host-regulator {
-               compatible = "regulator-fixed";
-               regulator-name = "vcc5v0_host";
-@@ -77,6 +86,10 @@
-       };
- };
-+&combphy0_ps {
-+      status = "okay";
-+};
-+
- &cpu_b0 {
-       cpu-supply = <&vdd_cpu_big0_s0>;
- };
-@@ -203,6 +216,14 @@
-       };
- };
-+&pcie2x1l2 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&pcie2_2_rst>;
-+      reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc3v3_pcie2x1l2>;
-+      status = "okay";
-+};
-+
- &pinctrl {
-       hym8563 {
-               hym8563_int: hym8563-int {
-@@ -216,6 +237,12 @@
-               };
-       };
-+      pcie2 {
-+              pcie2_2_rst: pcie2-2-rst {
-+                      rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-       usb {
-               vcc5v0_host_en: vcc5v0-host-en {
-                       rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
diff --git a/target/linux/rockchip/patches-6.12/052-02-v6.7-arm64-dts-rockchip-add-PCIe-for-M.2-M-key-to-rock-5b.patch b/target/linux/rockchip/patches-6.12/052-02-v6.7-arm64-dts-rockchip-add-PCIe-for-M.2-M-key-to-rock-5b.patch
deleted file mode 100644 (file)
index 456474c..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-From 199cbd5f195adbc0e70ad218cdba82f45750f11b Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Mon, 18 Sep 2023 16:14:50 +0200
-Subject: [PATCH] arm64: dts: rockchip: add PCIe for M.2 M-key to rock-5b
-
-The Radxa Rock 5B has PCIe 3x4 routed to its M.2 M-key connector
-on the board's back.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20230918141451.131247-3-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588-rock-5b.dts      | 35 +++++++++++++++++++
- 1 file changed, 35 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -52,6 +52,19 @@
-               vin-supply = <&vcc_3v3_s3>;
-       };
-+      vcc3v3_pcie30: vcc3v3-pcie30-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pcie3_vcc3v3_en>;
-+              regulator-name = "vcc3v3_pcie30";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              startup-delay-us = <5000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-       vcc5v0_host: vcc5v0-host-regulator {
-               compatible = "regulator-fixed";
-               regulator-name = "vcc5v0_host";
-@@ -224,6 +237,18 @@
-       status = "okay";
- };
-+&pcie30phy {
-+      status = "okay";
-+};
-+
-+&pcie3x4 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&pcie3_rst>;
-+      reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc3v3_pcie30>;
-+      status = "okay";
-+};
-+
- &pinctrl {
-       hym8563 {
-               hym8563_int: hym8563-int {
-@@ -243,6 +268,16 @@
-               };
-       };
-+      pcie3 {
-+              pcie3_rst: pcie3-rst {
-+                      rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              pcie3_vcc3v3_en: pcie3-vcc3v3-en {
-+                      rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-       usb {
-               vcc5v0_host_en: vcc5v0-host-en {
-                       rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
diff --git a/target/linux/rockchip/patches-6.12/052-03-v6.7-arm64-dts-rockchip-add-PCIe-for-M.2-E-Key-to-rock-5b.patch b/target/linux/rockchip/patches-6.12/052-03-v6.7-arm64-dts-rockchip-add-PCIe-for-M.2-E-Key-to-rock-5b.patch
deleted file mode 100644 (file)
index 349a17e..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-From da447ec387800bdf2df1fb1d8c1522991d025952 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Mon, 18 Sep 2023 16:14:51 +0200
-Subject: [PATCH] arm64: dts: rockchip: add PCIe for M.2 E-Key to rock-5b
-
-Enable PCIe2_0 controller and its voltage supply, which is routed
-to the M.2 E-Key on the upper side of the Radxa Rock 5B.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20230918141451.131247-4-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588-rock-5b.dts      | 35 +++++++++++++++++++
- 1 file changed, 35 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -43,6 +43,21 @@
-               #cooling-cells = <2>;
-       };
-+      vcc3v3_pcie2x1l0: vcc3v3-pcie2x1l0-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pcie2_0_vcc3v3_en>;
-+              regulator-name = "vcc3v3_pcie2x1l0";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              startup-delay-us = <50000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-       vcc3v3_pcie2x1l2: vcc3v3-pcie2x1l2-regulator {
-               compatible = "regulator-fixed";
-               regulator-name = "vcc3v3_pcie2x1l2";
-@@ -103,6 +118,10 @@
-       status = "okay";
- };
-+&combphy1_ps {
-+      status = "okay";
-+};
-+
- &cpu_b0 {
-       cpu-supply = <&vdd_cpu_big0_s0>;
- };
-@@ -229,6 +248,14 @@
-       };
- };
-+&pcie2x1l0 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&pcie2_0_rst>;
-+      reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc3v3_pcie2x1l0>;
-+      status = "okay";
-+};
-+
- &pcie2x1l2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&pcie2_2_rst>;
-@@ -263,6 +290,14 @@
-       };
-       pcie2 {
-+              pcie2_0_rst: pcie2-0-rst {
-+                      rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              pcie2_0_vcc3v3_en: pcie2-0-vcc-en {
-+                      rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-               pcie2_2_rst: pcie2-2-rst {
-                       rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
diff --git a/target/linux/rockchip/patches-6.12/052-04-v6.7-arm64-dts-rockchip-Add-sdio-node-to-rock-5b.patch b/target/linux/rockchip/patches-6.12/052-04-v6.7-arm64-dts-rockchip-Add-sdio-node-to-rock-5b.patch
deleted file mode 100644 (file)
index cdf555f..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-From 1c9a53ff7ece056eb995332f0d9523ca43fdcb5a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tam=C3=A1s=20Sz=C5=B1cs?= <tszucs@protonmail.ch>
-Date: Sun, 24 Sep 2023 20:37:45 +0000
-Subject: [PATCH] arm64: dts: rockchip: Add sdio node to rock-5b
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Enable SDIO on Radxa ROCK 5 Model B M.2 Key E. Add sdio node and alias as mmc2.
-Add regulator for the 3.3 V rail bringing it up during boot. Make sure EKEY_EN
-is muxed as GPIO.
-
-Signed-off-by: Tamás Szűcs <tszucs@protonmail.ch>
-Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20230924203740.65744-1-tszucs@protonmail.ch
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588-rock-5b.dts      | 43 +++++++++++++++++++
- 1 file changed, 43 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -12,6 +12,7 @@
-       aliases {
-               mmc0 = &sdhci;
-               mmc1 = &sdmmc;
-+              mmc2 = &sdio;
-       };
-       chosen {
-@@ -112,6 +113,21 @@
-               regulator-max-microvolt = <1100000>;
-               vin-supply = <&vcc5v0_sys>;
-       };
-+
-+      vcc3v3_wf: vcc3v3-wf-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc3v3_wf";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              enable-active-high;
-+              gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&vcc3v3_wf_en>;
-+              startup-delay-us = <50000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
- };
- &combphy0_ps {
-@@ -318,6 +334,12 @@
-                       rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
-+
-+      m2e {
-+              vcc3v3_wf_en: vcc3v3-wf-en {
-+                      rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
- };
- &pwm1 {
-@@ -354,6 +376,27 @@
-       status = "okay";
- };
-+&sdio {
-+      max-frequency = <200000000>;
-+      no-sd;
-+      no-mmc;
-+      non-removable;
-+      bus-width = <4>;
-+      cap-sdio-irq;
-+      disable-wp;
-+      keep-power-in-suspend;
-+      wakeup-source;
-+      sd-uhs-sdr12;
-+      sd-uhs-sdr25;
-+      sd-uhs-sdr50;
-+      sd-uhs-sdr104;
-+      vmmc-supply = <&vcc3v3_wf>;
-+      vqmmc-supply = <&vcc_1v8_s3>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&sdiom0_pins>;
-+      status = "okay";
-+};
-+
- &spi2 {
-       status = "okay";
-       assigned-clocks = <&cru CLK_SPI2>;
diff --git a/target/linux/rockchip/patches-6.12/052-05-v6.8-arm64-dts-rockchip-Remove-duplicate-regulator-vcc3v3_wf.patch b/target/linux/rockchip/patches-6.12/052-05-v6.8-arm64-dts-rockchip-Remove-duplicate-regulator-vcc3v3_wf.patch
deleted file mode 100644 (file)
index 3d1283d..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-From 0002c377e862140ad65b67b8b9dbf086d4578f95 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tam=C3=A1s=20Sz=C5=B1cs?= <tszucs@protonmail.ch>
-Date: Wed, 11 Oct 2023 18:18:05 +0000
-Subject: [PATCH] arm64: dts: rockchip: Remove duplicate regulator vcc3v3_wf
- from rock-5b
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Regulator for VCC3V3_WF has been added as vcc3v3_pcie2x1l0 first. Clean this up.
-
-Fixes: 1c9a53ff7ece ("arm64: dts: rockchip: Add sdio node to rock-5b")
-Signed-off-by: Tamás Szűcs <tszucs@protonmail.ch>
-Link: https://lore.kernel.org/r/20231011181757.58047-1-tszucs@protonmail.ch
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588-rock-5b.dts      | 23 +------------------
- 1 file changed, 1 insertion(+), 22 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -113,21 +113,6 @@
-               regulator-max-microvolt = <1100000>;
-               vin-supply = <&vcc5v0_sys>;
-       };
--
--      vcc3v3_wf: vcc3v3-wf-regulator {
--              compatible = "regulator-fixed";
--              regulator-name = "vcc3v3_wf";
--              regulator-always-on;
--              regulator-boot-on;
--              regulator-min-microvolt = <3300000>;
--              regulator-max-microvolt = <3300000>;
--              enable-active-high;
--              gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
--              pinctrl-names = "default";
--              pinctrl-0 = <&vcc3v3_wf_en>;
--              startup-delay-us = <50000>;
--              vin-supply = <&vcc5v0_sys>;
--      };
- };
- &combphy0_ps {
-@@ -334,12 +319,6 @@
-                       rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
--
--      m2e {
--              vcc3v3_wf_en: vcc3v3-wf-en {
--                      rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--      };
- };
- &pwm1 {
-@@ -390,7 +369,7 @@
-       sd-uhs-sdr25;
-       sd-uhs-sdr50;
-       sd-uhs-sdr104;
--      vmmc-supply = <&vcc3v3_wf>;
-+      vmmc-supply = <&vcc3v3_pcie2x1l0>;
-       vqmmc-supply = <&vcc_1v8_s3>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdiom0_pins>;
diff --git a/target/linux/rockchip/patches-6.12/052-06-v6.8-arm64-dts-rockchip-Enable-UART6-on-rock-5b.patch b/target/linux/rockchip/patches-6.12/052-06-v6.8-arm64-dts-rockchip-Enable-UART6-on-rock-5b.patch
deleted file mode 100644 (file)
index 41c108f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From a6169ab369236f15c79b45037074a2567d30b037 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Tam=C3=A1s=20Sz=C5=B1cs?= <szucst@iit.uni-miskolc.hu>
-Date: Fri, 13 Oct 2023 23:51:53 +0200
-Subject: [PATCH] arm64: dts: rockchip: Enable UART6 on rock-5b
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Enable UART lines on Radxa ROCK 5 Model B M.2 Key E.
-
-Signed-off-by: Tamás Szűcs <szucst@iit.uni-miskolc.hu>
-Link: https://lore.kernel.org/r/20231013215208.81345-1-szucst@iit.uni-miskolc.hu
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 6 ++++++
- 1 file changed, 6 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -376,6 +376,12 @@
-       status = "okay";
- };
-+&uart6 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>;
-+      status = "okay";
-+};
-+
- &spi2 {
-       status = "okay";
-       assigned-clocks = <&cru CLK_SPI2>;
diff --git a/target/linux/rockchip/patches-6.12/052-07-v6.8-arm64-dts-rockchip-add-status-LED-to-rock-5b.patch b/target/linux/rockchip/patches-6.12/052-07-v6.8-arm64-dts-rockchip-add-status-LED-to-rock-5b.patch
deleted file mode 100644 (file)
index 03d1ed8..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From 7952cbbda301f7d297c6ac761f9dfafb90205358 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Thu, 5 Oct 2023 15:40:37 +0200
-Subject: [PATCH] arm64: dts: rockchip: add status LED to rock-5b
-
-Describe the Rock 5B status LED in its device tree.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20231005134037.33231-1-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588-rock-5b.dts      | 20 +++++++++++++++++++
- 1 file changed, 20 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -3,6 +3,7 @@
- /dts-v1/;
- #include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/leds/common.h>
- #include "rk3588.dtsi"
- / {
-@@ -36,6 +37,19 @@
-               pinctrl-0 = <&hp_detect>;
-       };
-+      leds {
-+              compatible = "gpio-leds";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&led_rgb_b>;
-+
-+              led_rgb_b {
-+                      function = LED_FUNCTION_STATUS;
-+                      color = <LED_COLOR_ID_BLUE>;
-+                      gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
-+                      linux,default-trigger = "heartbeat";
-+              };
-+      };
-+
-       fan: pwm-fan {
-               compatible = "pwm-fan";
-               cooling-levels = <0 95 145 195 255>;
-@@ -284,6 +298,12 @@
-               };
-       };
-+      leds {
-+              led_rgb_b: led-rgb-b {
-+                      rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-       sound {
-               hp_detect: hp-detect {
-                       rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
diff --git a/target/linux/rockchip/patches-6.12/052-08-v6.8-arm64-dts-rockchip-add-USB3-host-to-rock-5b.patch b/target/linux/rockchip/patches-6.12/052-08-v6.8-arm64-dts-rockchip-add-USB3-host-to-rock-5b.patch
deleted file mode 100644 (file)
index b288ba8..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From f97d78b9f6cff4c680206a8c8b03f726f0dc2c8b Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Mon, 6 Nov 2023 16:54:31 +0100
-Subject: [PATCH] arm64: dts: rockchip: add USB3 host to rock-5b
-
-Enable USB3 host controller for the Radxa ROCK 5 Model B. This adds
-USB3 for the upper USB3 port (the one further away from the PCB).
-
-The lower USB3 and the USB-C ports use the RK3588 USB TypeC host
-controller, which use a different PHY without upstream support.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20231106155934.80838-1-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -137,6 +137,10 @@
-       status = "okay";
- };
-+&combphy2_psu {
-+      status = "okay";
-+};
-+
- &cpu_b0 {
-       cpu-supply = <&vdd_cpu_big0_s0>;
- };
-@@ -764,3 +768,7 @@
- &usb_host1_ohci {
-       status = "okay";
- };
-+
-+&usb_host2_xhci {
-+      status = "okay";
-+};
diff --git a/target/linux/rockchip/patches-6.12/052-09-v6.9-arm64-dts-rockchip-support-poweroff-on-the-rock-5b.patch b/target/linux/rockchip/patches-6.12/052-09-v6.9-arm64-dts-rockchip-support-poweroff-on-the-rock-5b.patch
deleted file mode 100644 (file)
index a1d2b7f..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From 7738f551173540b3daa63a91b384b167eacd24fd Mon Sep 17 00:00:00 2001
-From: John Clark <inindev@gmail.com>
-Date: Mon, 25 Dec 2023 22:28:19 +0000
-Subject: [PATCH] arm64: dts: rockchip: support poweroff on the rock-5b
-
-Allow the rock-5b to poweroff its pmic. When issuing a "shutdown -h now"
-on the rock-5b it reboots instead. Defining 'system-power-controller'
-allows the rk806 to power down.
-
-Commit c699fbfdfd54 ("arm64: dts: rockchip: Support poweroff on
-NanoPC-T6") similarly resolves this issue for the nanopc-t6.
-
-Signed-off-by: John Clark <inindev@gmail.com>
-Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20231225222859.17153-1-inindev@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -426,6 +426,8 @@
-               pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
-                           <&rk806_dvs2_null>, <&rk806_dvs3_null>;
-+              system-power-controller;
-+
-               vcc1-supply = <&vcc5v0_sys>;
-               vcc2-supply = <&vcc5v0_sys>;
-               vcc3-supply = <&vcc5v0_sys>;
diff --git a/target/linux/rockchip/patches-6.12/052-10-v6.9-arm64-dts-rockchip-correct-gpio_pwrctrl1-typo-on-rock-5b.patch b/target/linux/rockchip/patches-6.12/052-10-v6.9-arm64-dts-rockchip-correct-gpio_pwrctrl1-typo-on-rock-5b.patch
deleted file mode 100644 (file)
index 616f7a7..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-From aed6514c4e3aee843385ded4c5ee0921b51c30fa Mon Sep 17 00:00:00 2001
-From: John Clark <inindev@gmail.com>
-Date: Mon, 25 Dec 2023 22:28:20 +0000
-Subject: [PATCH] arm64: dts: rockchip: correct gpio_pwrctrl1 typo on rock-5b
-
-Both rk806_dvs1_null and rk806_dvs2_null duplicate gpio_pwrctrl2 and
-gpio_pwrctrl1 is not set. This patch sets gpio_pwrctrl1.
-
-Signed-off-by: John Clark <inindev@gmail.com>
-Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20231225222859.17153-2-inindev@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -448,7 +448,7 @@
-               #gpio-cells = <2>;
-               rk806_dvs1_null: dvs1-null-pins {
--                      pins = "gpio_pwrctrl2";
-+                      pins = "gpio_pwrctrl1";
-                       function = "pin_fun0";
-               };
diff --git a/target/linux/rockchip/patches-6.12/052-11-v6.9-arm64-dts-rockchip-add-rfkill-node-for-M-2-Key-E-WiFi-on-.patch b/target/linux/rockchip/patches-6.12/052-11-v6.9-arm64-dts-rockchip-add-rfkill-node-for-M-2-Key-E-WiFi-on-.patch
deleted file mode 100644 (file)
index 31ca0b8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From 82d40b141a4c7ab6608a84a5ce0c58b747cb7163 Mon Sep 17 00:00:00 2001
-From: Alexey Charkov <alchark@gmail.com>
-Date: Sun, 7 Jan 2024 00:26:45 +0400
-Subject: [PATCH] arm64: dts: rockchip: add rfkill node for M.2 Key E WiFi on rock-5b
-
-By default the GPIO pin that connects to the WiFi enable signal
-inside the M.2 Key E slot is driven low, resulting in impossibility
-to connect to any network. Add a DT node to expose it as an RFKILL
-device, which lets the WiFi driver or userspace toggle it as
-required.
-
-Signed-off-by: Alexey Charkov <alchark@gmail.com>
-Link: https://lore.kernel.org/r/20240106202650.22310-1-alchark@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 7 +++++++
- 1 file changed, 7 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -58,6 +58,13 @@
-               #cooling-cells = <2>;
-       };
-+      rfkill {
-+              compatible = "rfkill-gpio";
-+              label = "rfkill-pcie-wlan";
-+              radio-type = "wlan";
-+              shutdown-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
-+      };
-+
-       vcc3v3_pcie2x1l0: vcc3v3-pcie2x1l0-regulator {
-               compatible = "regulator-fixed";
-               enable-active-high;
diff --git a/target/linux/rockchip/patches-6.12/052-12-v6.10-arm64-dts-rockchip-Enable-GPU-on-rk3588-rock5b.patch b/target/linux/rockchip/patches-6.12/052-12-v6.10-arm64-dts-rockchip-Enable-GPU-on-rk3588-rock5b.patch
deleted file mode 100644 (file)
index 69c0c25..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 038347286941148b6fd0cc2c40afcd540315aa6f Mon Sep 17 00:00:00 2001
-From: Boris Brezillon <boris.brezillon@collabora.com>
-Date: Tue, 26 Mar 2024 17:52:07 +0100
-Subject: [PATCH] arm64: dts: rockchip: Enable GPU on rk3588-rock5b
-
-Enable the Mali GPU in the Rock 5B.
-
-Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240326165232.73585-4-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -180,6 +180,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/052-13-v6.10-arm64-dts-rockchip-Correct-the-model-names-for-Radxa-ROCK.patch b/target/linux/rockchip/patches-6.12/052-13-v6.10-arm64-dts-rockchip-Correct-the-model-names-for-Radxa-ROCK.patch
deleted file mode 100644 (file)
index 99e98a8..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From 45e831033f7a00a14f64afa1e34c476a9ff0f9f0 Mon Sep 17 00:00:00 2001
-From: Dragan Simic <dsimic@manjaro.org>
-Date: Thu, 18 Apr 2024 18:26:20 +0200
-Subject: [PATCH] arm64: dts: rockchip: Correct the model names for Radxa ROCK
- 5 boards
-
-Correct the descriptions of a few Radxa boards, according to the up-to-date
-documentation from Radxa and the detailed explanation from Naoki. [1]  To sum
-it up, the short naming, as specified by Radxa, is preferred.
-
-[1] https://lore.kernel.org/linux-rockchip/B26C732A4DCEA9B3+282b8775-601b-4d4a-a513-4924b7940076@radxa.com/
-
-Suggested-by: FUKAUMI Naoki <naoki@radxa.com>
-Signed-off-by: Dragan Simic <dsimic@manjaro.org>
-Link: https://lore.kernel.org/r/6931289a252dc2d6c7bfd2388835c5e98ba0d8c9.1713457260.git.dsimic@manjaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts  | 2 +-
- arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -7,7 +7,7 @@
- #include "rk3588.dtsi"
- / {
--      model = "Radxa ROCK 5 Model B";
-+      model = "Radxa ROCK 5B";
-       compatible = "radxa,rock-5b", "rockchip,rk3588";
-       aliases {
---- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-@@ -8,7 +8,7 @@
- #include "rk3588s.dtsi"
- / {
--      model = "Radxa ROCK 5 Model A";
-+      model = "Radxa ROCK 5A";
-       compatible = "radxa,rock-5a", "rockchip,rk3588s";
-       aliases {
diff --git a/target/linux/rockchip/patches-6.12/052-13-v6.10-arm64-dts-rockchip-add-lower-USB3-port-to-rock-5b.patch b/target/linux/rockchip/patches-6.12/052-13-v6.10-arm64-dts-rockchip-add-lower-USB3-port-to-rock-5b.patch
deleted file mode 100644 (file)
index 8a3fab1..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-From 494532921aacb496529d544fedfdb3a7b43dfef0 Mon Sep 17 00:00:00 2001
-From: Sebastian Reichel <sebastian.reichel@collabora.com>
-Date: Tue, 9 Apr 2024 00:50:37 +0200
-Subject: [PATCH] arm64: dts: rockchip: add lower USB3 port to rock-5b
-
-Enable full support (XHCI, EHCI, OHCI) for the lower USB3 port from
-Radxa Rock 5 Model B. The upper one is already supported.
-
-Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
-Link: https://lore.kernel.org/r/20240408225109.128953-11-sebastian.reichel@collabora.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -748,6 +748,14 @@
-       status = "okay";
- };
-+&u2phy1 {
-+      status = "okay";
-+};
-+
-+&u2phy1_otg {
-+      status = "okay";
-+};
-+
- &u2phy2 {
-       status = "okay";
- };
-@@ -767,6 +775,10 @@
-       status = "okay";
- };
-+&usbdp_phy1 {
-+      status = "okay";
-+};
-+
- &usb_host0_ehci {
-       status = "okay";
- };
-@@ -783,6 +795,11 @@
-       status = "okay";
- };
-+&usb_host1_xhci {
-+      dr_mode = "host";
-+      status = "okay";
-+};
-+
- &usb_host2_xhci {
-       status = "okay";
- };
diff --git a/target/linux/rockchip/patches-6.12/052-14-v6.11-arm64-dts-rockchip-enable-automatic-fan-control-on-Rock-5.patch b/target/linux/rockchip/patches-6.12/052-14-v6.11-arm64-dts-rockchip-enable-automatic-fan-control-on-Rock-5.patch
deleted file mode 100644 (file)
index 0b2d0a3..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-From 4a152231b050590af771fa3cc8462ed08b691a24 Mon Sep 17 00:00:00 2001
-From: Alexey Charkov <alchark@gmail.com>
-Date: Mon, 17 Jun 2024 22:28:54 +0400
-Subject: [PATCH] arm64: dts: rockchip: enable automatic fan control on Rock 5B
-
-This links the PWM fan on Radxa Rock 5B as an active cooling device
-managed automatically by the thermal subsystem, with a target SoC
-temperature of 65C and a minimum-spin interval from 55C to 65C to
-ensure airflow when the system gets warm
-
-Helped-by: Dragan Simic <dsimic@manjaro.org>
-Reviewed-by: Dragan Simic <dsimic@manjaro.org>
-Signed-off-by: Alexey Charkov <alchark@gmail.com>
-Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-4-c1f5f3267f1e@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588-rock-5b.dts      | 32 ++++++++++++++++++-
- 1 file changed, 31 insertions(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -52,7 +52,7 @@
-       fan: pwm-fan {
-               compatible = "pwm-fan";
--              cooling-levels = <0 95 145 195 255>;
-+              cooling-levels = <0 120 150 180 210 240 255>;
-               fan-supply = <&vcc5v0_sys>;
-               pwms = <&pwm1 0 50000 0>;
-               #cooling-cells = <2>;
-@@ -278,6 +278,36 @@
-               };
-       };
- };
-+
-+&package_thermal {
-+      polling-delay = <1000>;
-+
-+      trips {
-+              package_fan0: package-fan0 {
-+                      temperature = <55000>;
-+                      hysteresis = <2000>;
-+                      type = "active";
-+              };
-+
-+              package_fan1: package-fan1 {
-+                      temperature = <65000>;
-+                      hysteresis = <2000>;
-+                      type = "active";
-+              };
-+      };
-+
-+      cooling-maps {
-+              map1 {
-+                      trip = <&package_fan0>;
-+                      cooling-device = <&fan THERMAL_NO_LIMIT 1>;
-+              };
-+
-+              map2 {
-+                      trip = <&package_fan1>;
-+                      cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
-+              };
-+      };
-+};
- &pcie2x1l0 {
-       pinctrl-names = "default";
diff --git a/target/linux/rockchip/patches-6.12/052-15-v6.11-arm64-dts-rockchip-add-SFC-support-for-Radxa-ROCK-5B.patch b/target/linux/rockchip/patches-6.12/052-15-v6.11-arm64-dts-rockchip-add-SFC-support-for-Radxa-ROCK-5B.patch
deleted file mode 100644 (file)
index 043b983..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From 9204a7ecca96403ee3d61c14cb9eb87ec89b0fcd Mon Sep 17 00:00:00 2001
-From: FUKAUMI Naoki <naoki@radxa.com>
-Date: Sun, 23 Jun 2024 11:33:27 +0900
-Subject: [PATCH] arm64: dts: rockchip: add SFC support for Radxa ROCK 5B
-
-This commit adds support for SPI NOR flash on Radxa ROCK 5B.
-
-SPI NOR flash chip may vary, so use safe(lowest) spi-max-frequency.
-
-Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
-Link: https://lore.kernel.org/r/20240623023329.1044-1-naoki@radxa.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -442,6 +442,20 @@
-       status = "okay";
- };
-+&sfc {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&fspim2_pins>;
-+      status = "okay";
-+
-+      flash@0 {
-+              compatible = "jedec,spi-nor";
-+              reg = <0>;
-+              spi-max-frequency = <104000000>;
-+              spi-rx-bus-width = <4>;
-+              spi-tx-bus-width = <1>;
-+      };
-+};
-+
- &uart6 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&uart6m1_xfer &uart6m1_ctsn &uart6m1_rtsn>;
diff --git a/target/linux/rockchip/patches-6.12/053-v6.9-arm64-dts-rockchip-Add-support-for-NanoPi-R6S.patch b/target/linux/rockchip/patches-6.12/053-v6.9-arm64-dts-rockchip-Add-support-for-NanoPi-R6S.patch
deleted file mode 100644 (file)
index f31f38a..0000000
+++ /dev/null
@@ -1,792 +0,0 @@
-From f1b11f43b3e983b26d8010fc43ba6c2b979826f2 Mon Sep 17 00:00:00 2001
-From: Muhammed Efe Cetin <efectn@protonmail.com>
-Date: Sat, 30 Dec 2023 14:18:00 +0300
-Subject: [PATCH] arm64: dts: rockchip: Add support for NanoPi R6S
-
-Add basic NanoPi R6S support that comes with USB2, PCIe, SD card, eMMC
-support.
-
-Signed-off-by: Muhammed Efe Cetin <efectn@protonmail.com>
-Link: https://lore.kernel.org/r/6db3b653efc6f0a2dca8e96fdd0503906db72fb6.1703934548.git.efectn@protonmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/Makefile         |   1 +
- .../boot/dts/rockchip/rk3588s-nanopi-r6s.dts  | 764 ++++++++++++++++++
- 2 files changed, 765 insertions(+)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
-
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -109,4 +109,5 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-na
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-rock-5b.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-indiedroid-nova.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-khadas-edge2.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-nanopi-r6s.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-rock-5a.dtb
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts
-@@ -0,0 +1,764 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+
-+/dts-v1/;
-+
-+#include <dt-bindings/pinctrl/rockchip.h>
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+#include "rk3588s.dtsi"
-+
-+/ {
-+      model = "FriendlyElec NanoPi R6S";
-+      compatible = "friendlyarm,nanopi-r6s", "rockchip,rk3588s";
-+
-+      aliases {
-+              ethernet0 = &gmac1;
-+              mmc0 = &sdmmc;
-+              mmc1 = &sdhci;
-+      };
-+
-+      chosen {
-+              stdout-path = "serial2:1500000n8";
-+      };
-+
-+      adc-keys {
-+              compatible = "adc-keys";
-+              io-channels = <&saradc 0>;
-+              io-channel-names = "buttons";
-+              keyup-threshold-microvolt = <1800000>;
-+              poll-interval = <100>;
-+
-+              button-maskrom {
-+                      label = "Maskrom";
-+                      linux,code = <KEY_VENDOR>;
-+                      press-threshold-microvolt = <1800>;
-+              };
-+      };
-+
-+      gpio-keys {
-+              compatible = "gpio-keys";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&key1_pin>;
-+
-+              button-user {
-+                      label = "User";
-+                      linux,code = <BTN_1>;
-+                      gpios = <&gpio1 RK_PC0 GPIO_ACTIVE_LOW>;
-+                      debounce-interval = <50>;
-+              };
-+      };
-+
-+      leds {
-+              compatible = "gpio-leds";
-+
-+              sys_led: led-0 {
-+                      label = "sys_led";
-+                      gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
-+                      linux,default-trigger = "heartbeat";
-+                      pinctrl-names = "default";
-+                      pinctrl-0 = <&sys_led_pin>;
-+              };
-+
-+              wan_led: led-1 {
-+                      label = "wan_led";
-+                      gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
-+                      pinctrl-names = "default";
-+                      pinctrl-0 = <&wan_led_pin>;
-+              };
-+
-+              lan1_led: led-2 {
-+                      label = "lan1_led";
-+                      gpios = <&gpio1 RK_PC3 GPIO_ACTIVE_HIGH>;
-+                      pinctrl-names = "default";
-+                      pinctrl-0 = <&lan1_led_pin>;
-+              };
-+
-+              lan2_led: led-3 {
-+                      label = "lan2_led";
-+                      gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
-+                      pinctrl-names = "default";
-+                      pinctrl-0 = <&lan2_led_pin>;
-+              };
-+      };
-+
-+      vcc5v0_sys: vcc5v0-sys-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc5v0_sys";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+      };
-+
-+      vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc_1v1_nldo_s3";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <1100000>;
-+              regulator-max-microvolt = <1100000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc_3v3_s0: vcc-3v3-s0-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              regulator-name = "vcc_3v3_s0";
-+              vin-supply = <&vcc_3v3_s3>;
-+      };
-+
-+      vcc_3v3_sd_s0: vcc-3v3-sd-s0-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&sd_s0_pwr>;
-+              regulator-name = "vcc_3v3_sd_s0";
-+              regulator-boot-on;
-+              regulator-max-microvolt = <3000000>;
-+              regulator-min-microvolt = <3000000>;
-+              vin-supply = <&vcc_3v3_s3>;
-+      };
-+
-+      vcc_3v3_pcie20: vcc3v3-pcie20-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc_3v3_pcie20";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc_3v3_s3>;
-+      };
-+
-+      vcc5v0_usb: vcc5v0-usb-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc5v0_usb";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc5v0_usb_otg0: vcc5v0-usb-otg0-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&typec5v_pwren>;
-+              regulator-name = "vcc5v0_usb_otg0";
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              vin-supply = <&vcc5v0_usb>;
-+      };
-+
-+      vcc5v0_host_20: vcc5v0-host-20-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&vcc5v0_host20_en>;
-+              regulator-name = "vcc5v0_host_20";
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              vin-supply = <&vcc5v0_usb>;
-+      };
-+};
-+
-+&combphy0_ps {
-+      status = "okay";
-+};
-+
-+&combphy2_psu {
-+      status = "okay";
-+};
-+
-+&cpu_b0 {
-+      cpu-supply = <&vdd_cpu_big0_s0>;
-+};
-+
-+&cpu_b1 {
-+      cpu-supply = <&vdd_cpu_big0_s0>;
-+};
-+
-+&cpu_b2 {
-+      cpu-supply = <&vdd_cpu_big1_s0>;
-+};
-+
-+&cpu_b3 {
-+      cpu-supply = <&vdd_cpu_big1_s0>;
-+};
-+
-+&cpu_l0 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&cpu_l1 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&cpu_l2 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&cpu_l3 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&gmac1 {
-+      clock_in_out = "output";
-+      phy-handle = <&rgmii_phy1>;
-+      phy-mode = "rgmii-rxid";
-+      pinctrl-0 = <&gmac1_miim
-+                   &gmac1_tx_bus2
-+                   &gmac1_rx_bus2
-+                   &gmac1_rgmii_clk
-+                   &gmac1_rgmii_bus>;
-+      pinctrl-names = "default";
-+      tx_delay = <0x42>;
-+      status = "okay";
-+};
-+
-+&i2c0 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&i2c0m2_xfer>;
-+      status = "okay";
-+
-+      vdd_cpu_big0_s0: regulator@42 {
-+              compatible = "rockchip,rk8602";
-+              reg = <0x42>;
-+              fcs,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_cpu_big0_s0";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <550000>;
-+              regulator-max-microvolt = <1050000>;
-+              regulator-ramp-delay = <2300>;
-+              vin-supply = <&vcc5v0_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+
-+      vdd_cpu_big1_s0: regulator@43 {
-+              compatible = "rockchip,rk8603", "rockchip,rk8602";
-+              reg = <0x43>;
-+              fcs,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_cpu_big1_s0";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <550000>;
-+              regulator-max-microvolt = <1050000>;
-+              regulator-ramp-delay = <2300>;
-+              vin-supply = <&vcc5v0_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+};
-+
-+&i2c2 {
-+      status = "okay";
-+
-+      vdd_npu_s0: regulator@42 {
-+              compatible = "rockchip,rk8602";
-+              reg = <0x42>;
-+              fcs,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_npu_s0";
-+              regulator-min-microvolt = <550000>;
-+              regulator-max-microvolt = <950000>;
-+              regulator-ramp-delay = <2300>;
-+              regulator-boot-on;
-+              regulator-always-on;
-+              vin-supply = <&vcc5v0_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+};
-+
-+&i2c6 {
-+      clock-frequency = <200000>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&i2c6m0_xfer>;
-+      status = "okay";
-+
-+      hym8563: rtc@51 {
-+              compatible = "haoyu,hym8563";
-+              reg = <0x51>;
-+              #clock-cells = <0>;
-+              clock-output-names = "hym8563";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&rtc_int>;
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
-+              wakeup-source;
-+      };
-+};
-+
-+&mdio1 {
-+      rgmii_phy1: ethernet-phy@1 {
-+              compatible = "ethernet-phy-id001c.c916";
-+              reg = <0x1>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&rtl8211f_rst>;
-+              reset-assert-us = <20000>;
-+              reset-deassert-us = <100000>;
-+              reset-gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
-+      };
-+};
-+
-+&pcie2x1l1 {
-+      reset-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc_3v3_pcie20>;
-+      status = "okay";
-+};
-+
-+&pcie2x1l2 {
-+      reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc_3v3_pcie20>;
-+      status = "okay";
-+};
-+
-+&pinctrl {
-+      gpio-key {
-+              key1_pin: key1-pin {
-+                      rockchip,pins = <1 RK_PC0 RK_FUNC_GPIO &pcfg_pull_up>;
-+              };
-+      };
-+
-+      gpio-leds {
-+              sys_led_pin: sys-led-pin {
-+                      rockchip,pins =
-+                              <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              wan_led_pin: wan-led-pin {
-+                      rockchip,pins =
-+                              <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              lan1_led_pin: lan1-led-pin {
-+                      rockchip,pins =
-+                              <1 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              lan2_led_pin: lan2-led-pin {
-+                      rockchip,pins =
-+                              <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      hym8563 {
-+              rtc_int: rtc-int {
-+                      rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
-+              };
-+      };
-+
-+      sdmmc {
-+              sd_s0_pwr: sd-s0-pwr {
-+                      rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>;
-+              };
-+      };
-+
-+      usb {
-+              typec5v_pwren: typec5v-pwren {
-+                      rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              vcc5v0_host20_en: vcc5v0-host20-en {
-+                      rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      rtl8211f {
-+              rtl8211f_rst: rtl8211f-rst {
-+                      rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+};
-+
-+&saradc {
-+      vref-supply = <&avcc_1v8_s0>;
-+      status = "okay";
-+};
-+
-+&sdhci {
-+      bus-width = <8>;
-+      no-sdio;
-+      no-sd;
-+      non-removable;
-+      mmc-hs200-1_8v;
-+      status = "okay";
-+};
-+
-+&sdmmc {
-+      bus-width = <4>;
-+      cap-sd-highspeed;
-+      disable-wp;
-+      max-frequency = <150000000>;
-+      no-mmc;
-+      no-sdio;
-+      sd-uhs-sdr104;
-+      vmmc-supply = <&vcc_3v3_sd_s0>;
-+      vqmmc-supply = <&vccio_sd_s0>;
-+      status = "okay";
-+};
-+
-+&spi2 {
-+      status = "okay";
-+      assigned-clocks = <&cru CLK_SPI2>;
-+      assigned-clock-rates = <200000000>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
-+      num-cs = <1>;
-+
-+      pmic@0 {
-+              compatible = "rockchip,rk806";
-+              spi-max-frequency = <1000000>;
-+              reg = <0x0>;
-+
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
-+
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
-+                          <&rk806_dvs2_null>, <&rk806_dvs3_null>;
-+
-+              system-power-controller;
-+
-+              vcc1-supply = <&vcc5v0_sys>;
-+              vcc2-supply = <&vcc5v0_sys>;
-+              vcc3-supply = <&vcc5v0_sys>;
-+              vcc4-supply = <&vcc5v0_sys>;
-+              vcc5-supply = <&vcc5v0_sys>;
-+              vcc6-supply = <&vcc5v0_sys>;
-+              vcc7-supply = <&vcc5v0_sys>;
-+              vcc8-supply = <&vcc5v0_sys>;
-+              vcc9-supply = <&vcc5v0_sys>;
-+              vcc10-supply = <&vcc5v0_sys>;
-+              vcc11-supply = <&vcc_2v0_pldo_s3>;
-+              vcc12-supply = <&vcc5v0_sys>;
-+              vcc13-supply = <&vcc_1v1_nldo_s3>;
-+              vcc14-supply = <&vcc_1v1_nldo_s3>;
-+              vcca-supply = <&vcc5v0_sys>;
-+
-+              gpio-controller;
-+              #gpio-cells = <2>;
-+
-+              rk806_dvs1_null: dvs1-null-pins {
-+                      pins = "gpio_pwrctrl1";
-+                      function = "pin_fun0";
-+              };
-+
-+              rk806_dvs2_null: dvs2-null-pins {
-+                      pins = "gpio_pwrctrl2";
-+                      function = "pin_fun0";
-+              };
-+
-+              rk806_dvs3_null: dvs3-null-pins {
-+                      pins = "gpio_pwrctrl3";
-+                      function = "pin_fun0";
-+              };
-+
-+              regulators {
-+                      vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <550000>;
-+                              regulator-max-microvolt = <950000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_gpu_s0";
-+                              regulator-enable-ramp-delay = <400>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <550000>;
-+                              regulator-max-microvolt = <950000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_cpu_lit_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_log_s0: dcdc-reg3 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <675000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_log_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <750000>;
-+                              };
-+                      };
-+
-+                      vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <550000>;
-+                              regulator-max-microvolt = <950000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_vdenc_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_ddr_s0: dcdc-reg5 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <675000>;
-+                              regulator-max-microvolt = <900000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_ddr_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <850000>;
-+                              };
-+                      };
-+
-+                      vdd2_ddr_s3: dcdc-reg6 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-name = "vdd2_ddr_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_2v0_pldo_s3: dcdc-reg7 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <2000000>;
-+                              regulator-max-microvolt = <2000000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_2v0_pldo_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <2000000>;
-+                              };
-+                      };
-+
-+                      vcc_3v3_s3: dcdc-reg8 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+                              regulator-name = "vcc_3v3_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <3300000>;
-+                              };
-+                      };
-+
-+                      vddq_ddr_s0: dcdc-reg9 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-name = "vddq_ddr_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_1v8_s3: dcdc-reg10 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "vcc_1v8_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      avcc_1v8_s0: pldo-reg1 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "avcc_1v8_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      vcc_1v8_s0: pldo-reg2 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "vcc_1v8_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      avdd_1v2_s0: pldo-reg3 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1200000>;
-+                              regulator-max-microvolt = <1200000>;
-+                              regulator-name = "avdd_1v2_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      avcc_3v3_s0: pldo-reg4 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "avcc_3v3_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vccio_sd_s0: pldo-reg5 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <3300000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vccio_sd_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      pldo6_s3: pldo-reg6 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "pldo6_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      vdd_0v75_s3: nldo-reg1 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <750000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-name = "vdd_0v75_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <750000>;
-+                              };
-+                      };
-+
-+                      avdd_ddr_pll_s0: nldo-reg2 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <850000>;
-+                              regulator-max-microvolt = <850000>;
-+                              regulator-name = "avdd_ddr_pll_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <850000>;
-+                              };
-+                      };
-+
-+                      avdd_0v75_s0: nldo-reg3 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <750000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-name = "avdd_0v75_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      avdd_0v85_s0: nldo-reg4 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <850000>;
-+                              regulator-max-microvolt = <850000>;
-+                              regulator-name = "avdd_0v85_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_0v75_s0: nldo-reg5 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <750000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-name = "vdd_0v75_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+              };
-+      };
-+};
-+
-+&tsadc {
-+      status = "okay";
-+};
-+
-+&u2phy2 {
-+      status = "okay";
-+};
-+
-+&u2phy2_host {
-+      phy-supply = <&vcc5v0_host_20>;
-+      status = "okay";
-+};
-+
-+&uart2 {
-+      pinctrl-0 = <&uart2m0_xfer>;
-+      status = "okay";
-+};
-+
-+&usb_host0_ehci {
-+      status = "okay";
-+};
-+
-+&usb_host0_ohci {
-+      status = "okay";
-+};
diff --git a/target/linux/rockchip/patches-6.12/054-v6.9-arm64-dts-rockchip-Add-support-for-NanoPi-R6C.patch b/target/linux/rockchip/patches-6.12/054-v6.9-arm64-dts-rockchip-Add-support-for-NanoPi-R6C.patch
deleted file mode 100644 (file)
index b63c013..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-From d5f1d7437451dbd86a91747793ecd7842e0ce88f Mon Sep 17 00:00:00 2001
-From: Muhammed Efe Cetin <efectn@protonmail.com>
-Date: Sat, 30 Dec 2023 14:18:01 +0300
-Subject: [PATCH] arm64: dts: rockchip: Add support for NanoPi R6C
-
-NanoPi R6C is mostly same as R6S variant. It has M2 port instead of a
-NIC port and different led labeling.
-
-Signed-off-by: Muhammed Efe Cetin <efectn@protonmail.com>
-Link: https://lore.kernel.org/r/0f9ee0baa6c9de4d54dd6d13957ca15a63ec934f.1703934548.git.efectn@protonmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/Makefile              |  1 +
- .../arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts | 14 ++++++++++++++
- 2 files changed, 15 insertions(+)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
-
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -110,4 +110,5 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-ro
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-indiedroid-nova.dtb
- 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
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
-@@ -0,0 +1,14 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+
-+/dts-v1/;
-+
-+#include "rk3588s-nanopi-r6s.dts"
-+
-+/ {
-+      model = "FriendlyElec NanoPi R6C";
-+      compatible = "friendlyarm,nanopi-r6c", "rockchip,rk3588s";
-+};
-+
-+&lan2_led {
-+      label = "user_led";
-+};
diff --git a/target/linux/rockchip/patches-6.12/055-01-v6.8-arm64-dts-rockchip-Support-poweroff-on-NanoPC-T6.patch b/target/linux/rockchip/patches-6.12/055-01-v6.8-arm64-dts-rockchip-Support-poweroff-on-NanoPC-T6.patch
deleted file mode 100644 (file)
index e8c9924..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From c699fbfdfd54630fc51b96da577f02e7b772eb37 Mon Sep 17 00:00:00 2001
-From: Hugh Cole-Baker <sigmaris@gmail.com>
-Date: Sat, 16 Dec 2023 21:21:34 +0000
-Subject: [PATCH] arm64: dts: rockchip: Support poweroff on NanoPC-T6
-
-The RK806 on the NanoPC-T6 can be used to power on/off the whole board.
-Mark it as the system power controller.
-
-Signed-off-by: Hugh Cole-Baker <sigmaris@gmail.com>
-Link: https://lore.kernel.org/r/20231216212134.23314-1-sigmaris@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-@@ -569,6 +569,8 @@
-               pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
-                           <&rk806_dvs2_null>, <&rk806_dvs3_null>;
-+              system-power-controller;
-+
-               vcc1-supply = <&vcc4v0_sys>;
-               vcc2-supply = <&vcc4v0_sys>;
-               vcc3-supply = <&vcc4v0_sys>;
diff --git a/target/linux/rockchip/patches-6.12/055-02-v6.9-arm64-dts-rockchip-nanopc-t6-sdmmc-beautification.patch b/target/linux/rockchip/patches-6.12/055-02-v6.9-arm64-dts-rockchip-nanopc-t6-sdmmc-beautification.patch
deleted file mode 100644 (file)
index 3f5dd48..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9e1faff1cbc877903d019a7943d37ddc5042704d Mon Sep 17 00:00:00 2001
-From: John Clark <inindev@gmail.com>
-Date: Thu, 28 Dec 2023 17:29:35 +0000
-Subject: [PATCH] arm64: dts: rockchip: nanopc-t6 sdmmc beautification
-
-drop max-frequency = <200000000> as it is already defined in rk3588s.dtsi
-order no-sdio & no-mmc properties while we are here
-
-Signed-off-by: John Clark <inindev@gmail.com>
-Link: https://lore.kernel.org/r/20231228173011.2863-1-inindev@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-@@ -536,13 +536,12 @@
- };
- &sdmmc {
--      max-frequency = <200000000>;
--      no-sdio;
--      no-mmc;
-       bus-width = <4>;
-       cap-mmc-highspeed;
-       cap-sd-highspeed;
-       disable-wp;
-+      no-mmc;
-+      no-sdio;
-       sd-uhs-sdr104;
-       vmmc-supply = <&vcc_3v3_s3>;
-       vqmmc-supply = <&vccio_sd_s0>;
diff --git a/target/linux/rockchip/patches-6.12/055-03-v6.9-arm64-dts-rockchip-correct-gpio_pwrctrl1-typo-on-nanopc-t.patch b/target/linux/rockchip/patches-6.12/055-03-v6.9-arm64-dts-rockchip-correct-gpio_pwrctrl1-typo-on-nanopc-t.patch
deleted file mode 100644 (file)
index beab915..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 24559788384916041a0bbf54c32e2a16b612d247 Mon Sep 17 00:00:00 2001
-From: John Clark <inindev@gmail.com>
-Date: Mon, 25 Dec 2023 22:32:16 +0000
-Subject: [PATCH] arm64: dts: rockchip: correct gpio_pwrctrl1 typo on nanopc-t6
-
-Both rk806_dvs1_null and rk806_dvs2_null duplicate gpio_pwrctrl2 and
-gpio_pwrctrl1 is not set. This patch sets gpio_pwrctrl1.
-
-Signed-off-by: John Clark <inindev@gmail.com>
-Link: https://lore.kernel.org/r/20231225223226.17690-1-inindev@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-@@ -590,7 +590,7 @@
-               #gpio-cells = <2>;
-               rk806_dvs1_null: dvs1-null-pins {
--                      pins = "gpio_pwrctrl2";
-+                      pins = "gpio_pwrctrl1";
-                       function = "pin_fun0";
-               };
diff --git a/target/linux/rockchip/patches-6.12/055-04-v6.9-arm64-dts-rockchip-enable-NanoPC-T6-MiniPCIe-power.patch b/target/linux/rockchip/patches-6.12/055-04-v6.9-arm64-dts-rockchip-enable-NanoPC-T6-MiniPCIe-power.patch
deleted file mode 100644 (file)
index 1126bc3..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-From d235e65adf00f6db09331874c5a987b7fe18023b Mon Sep 17 00:00:00 2001
-From: Hugh Cole-Baker <sigmaris@gmail.com>
-Date: Tue, 9 Jan 2024 20:27:28 +0000
-Subject: [PATCH] arm64: dts: rockchip: enable NanoPC-T6 MiniPCIe power
-
-The NanoPC-T6 has a Mini PCIe slot intended to be used for a 4G or LTE
-modem. This slot has no PCIe functionality, only USB 2.0 pins are wired
-to the SoC, and USIM pins are wired to a SIM card slot on the board.
-Define the 3.3v supply for the slot so it can be used.
-
-Signed-off-by: Hugh Cole-Baker <sigmaris@gmail.com>
-Link: https://lore.kernel.org/r/20240109202729.54292-1-sigmaris@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-@@ -159,6 +159,18 @@
-               regulator-max-microvolt = <3300000>;
-               vin-supply = <&vcc5v0_sys>;
-       };
-+
-+      vdd_4g_3v3: vdd-4g-3v3-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pin_4g_lte_pwren>;
-+              regulator-name = "vdd_4g_3v3";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
- };
- &combphy0_ps {
-@@ -504,6 +516,10 @@
-       };
-       usb {
-+              pin_4g_lte_pwren: 4g-lte-pwren {
-+                      rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-               typec5v_pwren: typec5v-pwren {
-                       rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-@@ -884,6 +900,7 @@
- };
- &u2phy2_host {
-+      phy-supply = <&vdd_4g_3v3>;
-       status = "okay";
- };
diff --git a/target/linux/rockchip/patches-6.12/055-05-v6.9-arm64-dts-rockchip-add-sdmmc-card-detect-to-the-nanopc-t6.patch b/target/linux/rockchip/patches-6.12/055-05-v6.9-arm64-dts-rockchip-add-sdmmc-card-detect-to-the-nanopc-t6.patch
deleted file mode 100644 (file)
index 3709c10..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From d8bb6c2311b6b2aad11b937f96db1d6c3393246a Mon Sep 17 00:00:00 2001
-From: John Clark <inindev@gmail.com>
-Date: Sat, 30 Dec 2023 11:50:53 -0500
-Subject: [PATCH] arm64: dts: rockchip: add sdmmc card detect to the nanopc-t6
-
-The nanopc-t6 has an sdmmc card detect connected to gpio0_a4 which is
-active low.
-
-Signed-off-by: John Clark <inindev@gmail.com>
-Link: https://lore.kernel.org/r/20231230165053.3781-1-inindev@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-@@ -555,6 +555,7 @@
-       bus-width = <4>;
-       cap-mmc-highspeed;
-       cap-sd-highspeed;
-+      cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
-       disable-wp;
-       no-mmc;
-       no-sdio;
diff --git a/target/linux/rockchip/patches-6.12/055-06-v6.9-arm64-dts-rockchip-fix-nanopc-t6-sdmmc-regulator.patch b/target/linux/rockchip/patches-6.12/055-06-v6.9-arm64-dts-rockchip-fix-nanopc-t6-sdmmc-regulator.patch
deleted file mode 100644 (file)
index 1c17bc6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-From 6cb02674a061e4ef4f437ab60c91038d4c0d85ef Mon Sep 17 00:00:00 2001
-From: John Clark <inindev@gmail.com>
-Date: Tue, 2 Jan 2024 02:40:53 +0000
-Subject: [PATCH] arm64: dts: rockchip: fix nanopc-t6 sdmmc regulator
-
-sdmmc on the nanopc-t6 is powered by vcc3v3_sd_s0, not vcc_3v3_s3
-add the vcc3v3_sd_s0 regulator, and control it with gpio4_a5
-
-Signed-off-by: John Clark <inindev@gmail.com>
-Link: https://lore.kernel.org/r/20240102024054.1030313-1-inindev@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-@@ -160,6 +160,17 @@
-               vin-supply = <&vcc5v0_sys>;
-       };
-+      vcc3v3_sd_s0: vcc3v3-sd-s0-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-low;
-+              gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_LOW>;
-+              regulator-boot-on;
-+              regulator-max-microvolt = <3300000>;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-name = "vcc3v3_sd_s0";
-+              vin-supply = <&vcc_3v3_s3>;
-+      };
-+
-       vdd_4g_3v3: vdd-4g-3v3-regulator {
-               compatible = "regulator-fixed";
-               enable-active-high;
-@@ -560,7 +571,7 @@
-       no-mmc;
-       no-sdio;
-       sd-uhs-sdr104;
--      vmmc-supply = <&vcc_3v3_s3>;
-+      vmmc-supply = <&vcc3v3_sd_s0>;
-       vqmmc-supply = <&vccio_sd_s0>;
-       status = "okay";
- };
diff --git a/target/linux/rockchip/patches-6.12/055-08-v6.12-arm64-dts-rockchip-prepare-NanoPC-T6-for-LTS-board.patch b/target/linux/rockchip/patches-6.12/055-08-v6.12-arm64-dts-rockchip-prepare-NanoPC-T6-for-LTS-board.patch
deleted file mode 100644 (file)
index 415c34f..0000000
+++ /dev/null
@@ -1,1916 +0,0 @@
-From d14f3a4f1feabb6bb5935bf3b275a1e6bf2208eb Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Date: Thu, 29 Aug 2024 14:26:53 +0200
-Subject: [PATCH] arm64: dts: rockchip: prepare NanoPC-T6 for LTS board
-
-FriendlyELEC introduced a second version of NanoPC-T6 SBC.
-
-Create common include file and make NanoPC-T6 use it. Following
-patches will add LTS version.
-
-Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Link: https://lore.kernel.org/r/20240829-friendlyelec-nanopc-t6-lts-v6-2-edff247e8c02@linaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588-nanopc-t6.dts    | 932 +----------------
- .../boot/dts/rockchip/rk3588-nanopc-t6.dtsi   | 945 ++++++++++++++++++
- 2 files changed, 947 insertions(+), 930 deletions(-)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-@@ -2,944 +2,16 @@
- /*
-  * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
-  * Copyright (c) 2023 Thomas McKahan
-+ * Copyright (c) 2024 Linaro Ltd.
-  *
-  */
- /dts-v1/;
--#include <dt-bindings/gpio/gpio.h>
--#include <dt-bindings/pinctrl/rockchip.h>
--#include <dt-bindings/usb/pd.h>
--#include "rk3588.dtsi"
-+#include "rk3588-nanopc-t6.dtsi"
- / {
-       model = "FriendlyElec NanoPC-T6";
-       compatible = "friendlyarm,nanopc-t6", "rockchip,rk3588";
--      aliases {
--              mmc0 = &sdhci;
--              mmc1 = &sdmmc;
--      };
--
--      chosen {
--              stdout-path = "serial2:1500000n8";
--      };
--
--      leds {
--              compatible = "gpio-leds";
--
--              sys_led: led-0 {
--                      gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
--                      label = "system-led";
--                      linux,default-trigger = "heartbeat";
--                      pinctrl-names = "default";
--                      pinctrl-0 = <&sys_led_pin>;
--              };
--
--              usr_led: led-1 {
--                      gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
--                      label = "user-led";
--                      pinctrl-names = "default";
--                      pinctrl-0 = <&usr_led_pin>;
--              };
--      };
--
--      sound {
--              compatible = "simple-audio-card";
--              pinctrl-names = "default";
--              pinctrl-0 = <&hp_det>;
--
--              simple-audio-card,name = "realtek,rt5616-codec";
--              simple-audio-card,format = "i2s";
--              simple-audio-card,mclk-fs = <256>;
--
--              simple-audio-card,hp-det-gpio = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
--              simple-audio-card,hp-pin-name = "Headphones";
--
--              simple-audio-card,widgets =
--                      "Headphone", "Headphones",
--                      "Microphone", "Microphone Jack";
--              simple-audio-card,routing =
--                      "Headphones", "HPOL",
--                      "Headphones", "HPOR",
--                      "MIC1", "Microphone Jack",
--                      "Microphone Jack", "micbias1";
--
--              simple-audio-card,cpu {
--                      sound-dai = <&i2s0_8ch>;
--              };
--              simple-audio-card,codec {
--                      sound-dai = <&rt5616>;
--              };
--      };
--
--      vcc12v_dcin: vcc12v-dcin-regulator {
--              compatible = "regulator-fixed";
--              regulator-name = "vcc12v_dcin";
--              regulator-always-on;
--              regulator-boot-on;
--              regulator-min-microvolt = <12000000>;
--              regulator-max-microvolt = <12000000>;
--      };
--
--      /* vcc5v0_sys powers peripherals */
--      vcc5v0_sys: vcc5v0-sys-regulator {
--              compatible = "regulator-fixed";
--              regulator-name = "vcc5v0_sys";
--              regulator-always-on;
--              regulator-boot-on;
--              regulator-min-microvolt = <5000000>;
--              regulator-max-microvolt = <5000000>;
--              vin-supply = <&vcc12v_dcin>;
--      };
--
--      /* vcc4v0_sys powers the RK806, RK860's */
--      vcc4v0_sys: vcc4v0-sys-regulator {
--              compatible = "regulator-fixed";
--              regulator-name = "vcc4v0_sys";
--              regulator-always-on;
--              regulator-boot-on;
--              regulator-min-microvolt = <4000000>;
--              regulator-max-microvolt = <4000000>;
--              vin-supply = <&vcc12v_dcin>;
--      };
--
--      vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
--              compatible = "regulator-fixed";
--              regulator-name = "vcc-1v1-nldo-s3";
--              regulator-always-on;
--              regulator-boot-on;
--              regulator-min-microvolt = <1100000>;
--              regulator-max-microvolt = <1100000>;
--              vin-supply = <&vcc4v0_sys>;
--      };
--
--      vcc_3v3_pcie20: vcc3v3-pcie20-regulator {
--              compatible = "regulator-fixed";
--              regulator-name = "vcc_3v3_pcie20";
--              regulator-always-on;
--              regulator-boot-on;
--              regulator-min-microvolt = <3300000>;
--              regulator-max-microvolt = <3300000>;
--              vin-supply = <&vcc_3v3_s3>;
--      };
--
--      vbus5v0_typec: vbus5v0-typec-regulator {
--              compatible = "regulator-fixed";
--              enable-active-high;
--              gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
--              pinctrl-names = "default";
--              pinctrl-0 = <&typec5v_pwren>;
--              regulator-name = "vbus5v0_typec";
--              regulator-min-microvolt = <5000000>;
--              regulator-max-microvolt = <5000000>;
--              vin-supply = <&vcc5v0_sys>;
--      };
--
--      vcc3v3_pcie2x1l0: vcc3v3-pcie2x1l0-regulator {
--              compatible = "regulator-fixed";
--              enable-active-high;
--              gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
--              pinctrl-names = "default";
--              pinctrl-0 = <&pcie_m2_1_pwren>;
--              regulator-name = "vcc3v3_pcie2x1l0";
--              regulator-min-microvolt = <3300000>;
--              regulator-max-microvolt = <3300000>;
--              vin-supply = <&vcc5v0_sys>;
--      };
--
--      vcc3v3_pcie30: vcc3v3-pcie30-regulator {
--              compatible = "regulator-fixed";
--              enable-active-high;
--              gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
--              pinctrl-names = "default";
--              pinctrl-0 = <&pcie_m2_0_pwren>;
--              regulator-name = "vcc3v3_pcie30";
--              regulator-min-microvolt = <3300000>;
--              regulator-max-microvolt = <3300000>;
--              vin-supply = <&vcc5v0_sys>;
--      };
--
--      vcc3v3_sd_s0: vcc3v3-sd-s0-regulator {
--              compatible = "regulator-fixed";
--              enable-active-low;
--              gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_LOW>;
--              regulator-boot-on;
--              regulator-max-microvolt = <3300000>;
--              regulator-min-microvolt = <3300000>;
--              regulator-name = "vcc3v3_sd_s0";
--              vin-supply = <&vcc_3v3_s3>;
--      };
--
--      vdd_4g_3v3: vdd-4g-3v3-regulator {
--              compatible = "regulator-fixed";
--              enable-active-high;
--              gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
--              pinctrl-names = "default";
--              pinctrl-0 = <&pin_4g_lte_pwren>;
--              regulator-name = "vdd_4g_3v3";
--              regulator-min-microvolt = <3300000>;
--              regulator-max-microvolt = <3300000>;
--              vin-supply = <&vcc5v0_sys>;
--      };
--};
--
--&combphy0_ps {
--      status = "okay";
--};
--
--&combphy1_ps {
--      status = "okay";
--};
--
--&combphy2_psu {
--      status = "okay";
--};
--
--&cpu_l0 {
--      cpu-supply = <&vdd_cpu_lit_s0>;
--};
--
--&cpu_l1 {
--      cpu-supply = <&vdd_cpu_lit_s0>;
--};
--
--&cpu_l2 {
--      cpu-supply = <&vdd_cpu_lit_s0>;
--};
--
--&cpu_l3 {
--      cpu-supply = <&vdd_cpu_lit_s0>;
--};
--
--&cpu_b0{
--      cpu-supply = <&vdd_cpu_big0_s0>;
--};
--
--&cpu_b1{
--      cpu-supply = <&vdd_cpu_big0_s0>;
--};
--
--&cpu_b2{
--      cpu-supply = <&vdd_cpu_big1_s0>;
--};
--
--&cpu_b3{
--      cpu-supply = <&vdd_cpu_big1_s0>;
--};
--
--&gpio0 {
--      gpio-line-names = /* GPIO0 A0-A7 */
--                        "", "", "", "",
--                        "", "", "", "",
--                        /* GPIO0 B0-B7 */
--                        "", "", "", "",
--                        "", "", "", "",
--                        /* GPIO0 C0-C7 */
--                        "", "", "", "",
--                        "HEADER_10", "HEADER_08", "HEADER_32", "",
--                        /* GPIO0 D0-D7 */
--                        "", "", "", "",
--                        "", "", "", "";
--};
--
--&gpio1 {
--      gpio-line-names = /* GPIO1 A0-A7 */
--                        "HEADER_27", "HEADER_28", "", "",
--                        "", "", "", "HEADER_15",
--                        /* GPIO1 B0-B7 */
--                        "HEADER_26", "HEADER_21", "HEADER_19", "HEADER_23",
--                        "HEADER_24", "HEADER_22", "", "",
--                        /* GPIO1 C0-C7 */
--                        "", "", "", "",
--                        "", "", "", "",
--                        /* GPIO1 D0-D7 */
--                        "", "", "", "",
--                        "", "", "HEADER_05", "HEADER_03";
--};
--
--&gpio2 {
--      gpio-line-names = /* GPIO2 A0-A7 */
--                        "", "", "", "",
--                        "", "", "", "",
--                        /* GPIO2 B0-B7 */
--                        "", "", "", "",
--                        "", "", "", "",
--                        /* GPIO2 C0-C7 */
--                        "", "CSI1_11", "CSI1_12", "",
--                        "", "", "", "",
--                        /* GPIO2 D0-D7 */
--                        "", "", "", "",
--                        "", "", "", "";
--};
--
--&gpio3 {
--      gpio-line-names = /* GPIO3 A0-A7 */
--                        "HEADER_35", "HEADER_38", "HEADER_40", "HEADER_36",
--                        "HEADER_37", "", "DSI0_12", "",
--                        /* GPIO3 B0-B7 */
--                        "HEADER_33", "DSI0_10", "HEADER_07", "HEADER_16",
--                        "HEADER_18", "HEADER_29", "HEADER_31", "HEADER_12",
--                        /* GPIO3 C0-C7 */
--                        "DSI0_08", "DSI0_14", "HEADER_11", "HEADER_13",
--                        "", "", "", "",
--                        /* GPIO3 D0-D7 */
--                        "", "", "", "",
--                        "", "DSI1_10", "", "";
--};
--
--&gpio4 {
--      gpio-line-names = /* GPIO4 A0-A7 */
--                        "DSI1_08", "DSI1_14", "", "DSI1_12",
--                        "", "", "", "",
--                        /* GPIO4 B0-B7 */
--                        "", "", "", "",
--                        "", "", "", "",
--                        /* GPIO4 C0-C7 */
--                        "", "", "", "",
--                        "CSI0_11", "CSI0_12", "", "",
--                        /* GPIO4 D0-D7 */
--                        "", "", "", "",
--                        "", "", "", "";
--};
--
--&i2c0 {
--      pinctrl-names = "default";
--      pinctrl-0 = <&i2c0m2_xfer>;
--      status = "okay";
--
--      vdd_cpu_big0_s0: regulator@42 {
--              compatible = "rockchip,rk8602";
--              reg = <0x42>;
--              fcs,suspend-voltage-selector = <1>;
--              regulator-name = "vdd_cpu_big0_s0";
--              regulator-always-on;
--              regulator-boot-on;
--              regulator-min-microvolt = <550000>;
--              regulator-max-microvolt = <1050000>;
--              regulator-ramp-delay = <2300>;
--              vin-supply = <&vcc4v0_sys>;
--
--              regulator-state-mem {
--                      regulator-off-in-suspend;
--              };
--      };
--
--      vdd_cpu_big1_s0: regulator@43 {
--              compatible = "rockchip,rk8603", "rockchip,rk8602";
--              reg = <0x43>;
--              fcs,suspend-voltage-selector = <1>;
--              regulator-name = "vdd_cpu_big1_s0";
--              regulator-always-on;
--              regulator-boot-on;
--              regulator-min-microvolt = <550000>;
--              regulator-max-microvolt = <1050000>;
--              regulator-ramp-delay = <2300>;
--              vin-supply = <&vcc4v0_sys>;
--
--              regulator-state-mem {
--                      regulator-off-in-suspend;
--              };
--      };
--};
--
--&i2c2 {
--      status = "okay";
--
--      vdd_npu_s0: regulator@42 {
--              compatible = "rockchip,rk8602";
--              reg = <0x42>;
--              rockchip,suspend-voltage-selector = <1>;
--              regulator-name = "vdd_npu_s0";
--              regulator-always-on;
--              regulator-boot-on;
--              regulator-min-microvolt = <550000>;
--              regulator-max-microvolt = <950000>;
--              regulator-ramp-delay = <2300>;
--              vin-supply = <&vcc4v0_sys>;
--
--              regulator-state-mem {
--                      regulator-off-in-suspend;
--              };
--      };
--};
--
--&i2c6 {
--      clock-frequency = <200000>;
--      status = "okay";
--
--      fusb302: typec-portc@22 {
--              compatible = "fcs,fusb302";
--              reg = <0x22>;
--              interrupt-parent = <&gpio0>;
--              interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
--              pinctrl-0 = <&usbc0_int>;
--              pinctrl-names = "default";
--              vbus-supply = <&vbus5v0_typec>;
--
--              connector {
--                      compatible = "usb-c-connector";
--                      data-role = "dual";
--                      label = "USB-C";
--                      power-role = "dual";
--                      try-power-role = "sink";
--                      source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
--                      sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
--                      op-sink-microwatt = <1000000>;
--              };
--      };
--
--      hym8563: rtc@51 {
--              compatible = "haoyu,hym8563";
--              reg = <0x51>;
--              #clock-cells = <0>;
--              clock-output-names = "hym8563";
--              pinctrl-names = "default";
--              pinctrl-0 = <&hym8563_int>;
--              interrupt-parent = <&gpio0>;
--              interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
--              wakeup-source;
--      };
--};
--
--&i2c7 {
--      clock-frequency = <200000>;
--      status = "okay";
--
--      rt5616: codec@1b {
--              compatible = "realtek,rt5616";
--              reg = <0x1b>;
--              clocks = <&cru I2S0_8CH_MCLKOUT>;
--              clock-names = "mclk";
--              #sound-dai-cells = <0>;
--              assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
--              assigned-clock-rates = <12288000>;
--
--              port {
--                      rt5616_p0_0: endpoint {
--                              remote-endpoint = <&i2s0_8ch_p0_0>;
--                      };
--              };
--      };
--
--      /* connected with MIPI-CSI1 */
--};
--
--&i2c8 {
--      pinctrl-0 = <&i2c8m2_xfer>;
--};
--
--&i2s0_8ch {
--      pinctrl-names = "default";
--      pinctrl-0 = <&i2s0_lrck
--                   &i2s0_mclk
--                   &i2s0_sclk
--                   &i2s0_sdi0
--                   &i2s0_sdo0>;
--      status = "okay";
--
--      i2s0_8ch_p0: port {
--              i2s0_8ch_p0_0: endpoint {
--                      dai-format = "i2s";
--                      mclk-fs = <256>;
--                      remote-endpoint = <&rt5616_p0_0>;
--              };
--      };
--};
--
--&pcie2x1l0 {
--      reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
--      vpcie3v3-supply = <&vcc_3v3_pcie20>;
--      pinctrl-names = "default";
--      pinctrl-0 = <&pcie2_0_rst>;
--      status = "okay";
--};
--
--&pcie2x1l1 {
--      reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
--      vpcie3v3-supply = <&vcc3v3_pcie2x1l0>;
--      pinctrl-names = "default";
--      pinctrl-0 = <&pcie2_1_rst>;
--      status = "okay";
--};
--
--&pcie2x1l2 {
--      reset-gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
--      vpcie3v3-supply = <&vcc_3v3_pcie20>;
--      pinctrl-names = "default";
--      pinctrl-0 = <&pcie2_2_rst>;
--      status = "okay";
--};
--
--&pcie30phy {
--      status = "okay";
--};
--
--&pcie3x4 {
--      reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
--      vpcie3v3-supply = <&vcc3v3_pcie30>;
--      status = "okay";
--};
--
--&pinctrl {
--      gpio-leds {
--              sys_led_pin: sys-led-pin {
--                      rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--
--              usr_led_pin: usr-led-pin {
--                      rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--      };
--
--      headphone {
--              hp_det: hp-det {
--                      rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--      };
--
--      hym8563 {
--              hym8563_int: hym8563-int {
--                      rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
--              };
--      };
--
--      pcie {
--              pcie2_0_rst: pcie2-0-rst {
--                      rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--
--              pcie2_1_rst: pcie2-1-rst {
--                      rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--
--              pcie2_2_rst: pcie2-2-rst {
--                      rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--
--              pcie_m2_0_pwren: pcie-m20-pwren {
--                      rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--
--              pcie_m2_1_pwren: pcie-m21-pwren {
--                      rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--      };
--
--      usb {
--              pin_4g_lte_pwren: 4g-lte-pwren {
--                      rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--
--              typec5v_pwren: typec5v-pwren {
--                      rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--
--              usbc0_int: usbc0-int {
--                      rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
--              };
--      };
--};
--
--&pwm1 {
--      pinctrl-0 = <&pwm1m1_pins>;
--      status = "okay";
--};
--
--&saradc {
--      vref-supply = <&avcc_1v8_s0>;
--      status = "okay";
--};
--
--&sdhci {
--      bus-width = <8>;
--      no-sdio;
--      no-sd;
--      non-removable;
--      max-frequency = <200000000>;
--      mmc-hs400-1_8v;
--      mmc-hs400-enhanced-strobe;
--      status = "okay";
--};
--
--&sdmmc {
--      bus-width = <4>;
--      cap-mmc-highspeed;
--      cap-sd-highspeed;
--      cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
--      disable-wp;
--      no-mmc;
--      no-sdio;
--      sd-uhs-sdr104;
--      vmmc-supply = <&vcc3v3_sd_s0>;
--      vqmmc-supply = <&vccio_sd_s0>;
--      status = "okay";
--};
--
--&spi2 {
--      status = "okay";
--      assigned-clocks = <&cru CLK_SPI2>;
--      assigned-clock-rates = <200000000>;
--      pinctrl-names = "default";
--      pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
--      num-cs = <1>;
--
--      pmic@0 {
--              compatible = "rockchip,rk806";
--              spi-max-frequency = <1000000>;
--              reg = <0x0>;
--
--              interrupt-parent = <&gpio0>;
--              interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
--
--              pinctrl-names = "default";
--              pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
--                          <&rk806_dvs2_null>, <&rk806_dvs3_null>;
--
--              system-power-controller;
--
--              vcc1-supply = <&vcc4v0_sys>;
--              vcc2-supply = <&vcc4v0_sys>;
--              vcc3-supply = <&vcc4v0_sys>;
--              vcc4-supply = <&vcc4v0_sys>;
--              vcc5-supply = <&vcc4v0_sys>;
--              vcc6-supply = <&vcc4v0_sys>;
--              vcc7-supply = <&vcc4v0_sys>;
--              vcc8-supply = <&vcc4v0_sys>;
--              vcc9-supply = <&vcc4v0_sys>;
--              vcc10-supply = <&vcc4v0_sys>;
--              vcc11-supply = <&vcc_2v0_pldo_s3>;
--              vcc12-supply = <&vcc4v0_sys>;
--              vcc13-supply = <&vcc_1v1_nldo_s3>;
--              vcc14-supply = <&vcc_1v1_nldo_s3>;
--              vcca-supply = <&vcc4v0_sys>;
--
--              gpio-controller;
--              #gpio-cells = <2>;
--
--              rk806_dvs1_null: dvs1-null-pins {
--                      pins = "gpio_pwrctrl1";
--                      function = "pin_fun0";
--              };
--
--              rk806_dvs2_null: dvs2-null-pins {
--                      pins = "gpio_pwrctrl2";
--                      function = "pin_fun0";
--              };
--
--              rk806_dvs3_null: dvs3-null-pins {
--                      pins = "gpio_pwrctrl3";
--                      function = "pin_fun0";
--              };
--
--              regulators {
--                      vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
--                              regulator-boot-on;
--                              regulator-min-microvolt = <550000>;
--                              regulator-max-microvolt = <950000>;
--                              regulator-ramp-delay = <12500>;
--                              regulator-name = "vdd_gpu_s0";
--                              regulator-enable-ramp-delay = <400>;
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--
--                      vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <550000>;
--                              regulator-max-microvolt = <950000>;
--                              regulator-ramp-delay = <12500>;
--                              regulator-name = "vdd_cpu_lit_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--
--                      vdd_log_s0: dcdc-reg3 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <675000>;
--                              regulator-max-microvolt = <750000>;
--                              regulator-ramp-delay = <12500>;
--                              regulator-name = "vdd_log_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                                      regulator-suspend-microvolt = <750000>;
--                              };
--                      };
--
--                      vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <550000>;
--                              regulator-max-microvolt = <950000>;
--                              regulator-init-microvolt = <750000>;
--                              regulator-ramp-delay = <12500>;
--                              regulator-name = "vdd_vdenc_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--
--                      vdd_ddr_s0: dcdc-reg5 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <675000>;
--                              regulator-max-microvolt = <900000>;
--                              regulator-ramp-delay = <12500>;
--                              regulator-name = "vdd_ddr_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                                      regulator-suspend-microvolt = <850000>;
--                              };
--                      };
--
--                      vdd2_ddr_s3: dcdc-reg6 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-name = "vdd2_ddr_s3";
--
--                              regulator-state-mem {
--                                      regulator-on-in-suspend;
--                              };
--                      };
--
--                      vcc_2v0_pldo_s3: dcdc-reg7 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <2000000>;
--                              regulator-max-microvolt = <2000000>;
--                              regulator-ramp-delay = <12500>;
--                              regulator-name = "vdd_2v0_pldo_s3";
--
--                              regulator-state-mem {
--                                      regulator-on-in-suspend;
--                                      regulator-suspend-microvolt = <2000000>;
--                              };
--                      };
--
--                      vcc_3v3_s3: dcdc-reg8 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <3300000>;
--                              regulator-max-microvolt = <3300000>;
--                              regulator-name = "vcc_3v3_s3";
--
--                              regulator-state-mem {
--                                      regulator-on-in-suspend;
--                                      regulator-suspend-microvolt = <3300000>;
--                              };
--                      };
--
--                      vddq_ddr_s0: dcdc-reg9 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-name = "vddq_ddr_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--
--                      vcc_1v8_s3: dcdc-reg10 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <1800000>;
--                              regulator-max-microvolt = <1800000>;
--                              regulator-name = "vcc_1v8_s3";
--
--                              regulator-state-mem {
--                                      regulator-on-in-suspend;
--                                      regulator-suspend-microvolt = <1800000>;
--                              };
--                      };
--
--                      avcc_1v8_s0: pldo-reg1 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <1800000>;
--                              regulator-max-microvolt = <1800000>;
--                              regulator-name = "avcc_1v8_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--
--                      vcc_1v8_s0: pldo-reg2 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <1800000>;
--                              regulator-max-microvolt = <1800000>;
--                              regulator-name = "vcc_1v8_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                                      regulator-suspend-microvolt = <1800000>;
--                              };
--                      };
--
--                      avdd_1v2_s0: pldo-reg3 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <1200000>;
--                              regulator-max-microvolt = <1200000>;
--                              regulator-name = "avdd_1v2_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--
--                      vcc_3v3_s0: pldo-reg4 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <3300000>;
--                              regulator-max-microvolt = <3300000>;
--                              regulator-ramp-delay = <12500>;
--                              regulator-name = "vcc_3v3_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--
--                      vccio_sd_s0: pldo-reg5 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <1800000>;
--                              regulator-max-microvolt = <3300000>;
--                              regulator-ramp-delay = <12500>;
--                              regulator-name = "vccio_sd_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--
--                      pldo6_s3: pldo-reg6 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <1800000>;
--                              regulator-max-microvolt = <1800000>;
--                              regulator-name = "pldo6_s3";
--
--                              regulator-state-mem {
--                                      regulator-on-in-suspend;
--                                      regulator-suspend-microvolt = <1800000>;
--                              };
--                      };
--
--                      vdd_0v75_s3: nldo-reg1 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <750000>;
--                              regulator-max-microvolt = <750000>;
--                              regulator-name = "vdd_0v75_s3";
--
--                              regulator-state-mem {
--                                      regulator-on-in-suspend;
--                                      regulator-suspend-microvolt = <750000>;
--                              };
--                      };
--
--                      vdd_ddr_pll_s0: nldo-reg2 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <850000>;
--                              regulator-max-microvolt = <850000>;
--                              regulator-name = "vdd_ddr_pll_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                                      regulator-suspend-microvolt = <850000>;
--                              };
--                      };
--
--                      avdd_0v75_s0: nldo-reg3 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <750000>;
--                              regulator-max-microvolt = <750000>;
--                              regulator-name = "avdd_0v75_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--
--                      vdd_0v85_s0: nldo-reg4 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <850000>;
--                              regulator-max-microvolt = <850000>;
--                              regulator-name = "vdd_0v85_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--
--                      vdd_0v75_s0: nldo-reg5 {
--                              regulator-always-on;
--                              regulator-boot-on;
--                              regulator-min-microvolt = <750000>;
--                              regulator-max-microvolt = <750000>;
--                              regulator-name = "vdd_0v75_s0";
--
--                              regulator-state-mem {
--                                      regulator-off-in-suspend;
--                              };
--                      };
--              };
--      };
--};
--
--&tsadc {
--      status = "okay";
--};
--
--&uart2 {
--      pinctrl-0 = <&uart2m0_xfer>;
--      status = "okay";
--};
--
--&u2phy2_host {
--      phy-supply = <&vdd_4g_3v3>;
--      status = "okay";
--};
--
--&u2phy3_host {
--      status = "okay";
--};
--
--&u2phy2 {
--      status = "okay";
--};
--
--&u2phy3 {
--      status = "okay";
--};
--
--&usb_host0_ehci {
--      status = "okay";
--};
--
--&usb_host0_ohci {
--      status = "okay";
--};
--
--&usb_host1_ehci {
--      status = "okay";
--};
--
--&usb_host1_ohci {
--      status = "okay";
- };
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-@@ -0,0 +1,945 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
-+ * Copyright (c) 2023 Thomas McKahan
-+ *
-+ */
-+
-+/dts-v1/;
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/pinctrl/rockchip.h>
-+#include <dt-bindings/usb/pd.h>
-+#include "rk3588.dtsi"
-+
-+/ {
-+      model = "FriendlyElec NanoPC-T6";
-+      compatible = "friendlyarm,nanopc-t6", "rockchip,rk3588";
-+
-+      aliases {
-+              mmc0 = &sdhci;
-+              mmc1 = &sdmmc;
-+      };
-+
-+      chosen {
-+              stdout-path = "serial2:1500000n8";
-+      };
-+
-+      leds {
-+              compatible = "gpio-leds";
-+
-+              sys_led: led-0 {
-+                      gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
-+                      label = "system-led";
-+                      linux,default-trigger = "heartbeat";
-+                      pinctrl-names = "default";
-+                      pinctrl-0 = <&sys_led_pin>;
-+              };
-+
-+              usr_led: led-1 {
-+                      gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
-+                      label = "user-led";
-+                      pinctrl-names = "default";
-+                      pinctrl-0 = <&usr_led_pin>;
-+              };
-+      };
-+
-+      sound {
-+              compatible = "simple-audio-card";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&hp_det>;
-+
-+              simple-audio-card,name = "realtek,rt5616-codec";
-+              simple-audio-card,format = "i2s";
-+              simple-audio-card,mclk-fs = <256>;
-+
-+              simple-audio-card,hp-det-gpio = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
-+              simple-audio-card,hp-pin-name = "Headphones";
-+
-+              simple-audio-card,widgets =
-+                      "Headphone", "Headphones",
-+                      "Microphone", "Microphone Jack";
-+              simple-audio-card,routing =
-+                      "Headphones", "HPOL",
-+                      "Headphones", "HPOR",
-+                      "MIC1", "Microphone Jack",
-+                      "Microphone Jack", "micbias1";
-+
-+              simple-audio-card,cpu {
-+                      sound-dai = <&i2s0_8ch>;
-+              };
-+              simple-audio-card,codec {
-+                      sound-dai = <&rt5616>;
-+              };
-+      };
-+
-+      vcc12v_dcin: vcc12v-dcin-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc12v_dcin";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <12000000>;
-+              regulator-max-microvolt = <12000000>;
-+      };
-+
-+      /* vcc5v0_sys powers peripherals */
-+      vcc5v0_sys: vcc5v0-sys-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc5v0_sys";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              vin-supply = <&vcc12v_dcin>;
-+      };
-+
-+      /* vcc4v0_sys powers the RK806, RK860's */
-+      vcc4v0_sys: vcc4v0-sys-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc4v0_sys";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <4000000>;
-+              regulator-max-microvolt = <4000000>;
-+              vin-supply = <&vcc12v_dcin>;
-+      };
-+
-+      vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc-1v1-nldo-s3";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <1100000>;
-+              regulator-max-microvolt = <1100000>;
-+              vin-supply = <&vcc4v0_sys>;
-+      };
-+
-+      vcc_3v3_pcie20: vcc3v3-pcie20-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc_3v3_pcie20";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc_3v3_s3>;
-+      };
-+
-+      vbus5v0_typec: vbus5v0-typec-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&typec5v_pwren>;
-+              regulator-name = "vbus5v0_typec";
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc3v3_pcie2x1l0: vcc3v3-pcie2x1l0-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pcie_m2_1_pwren>;
-+              regulator-name = "vcc3v3_pcie2x1l0";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc3v3_pcie30: vcc3v3-pcie30-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pcie_m2_0_pwren>;
-+              regulator-name = "vcc3v3_pcie30";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc3v3_sd_s0: vcc3v3-sd-s0-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-low;
-+              gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_LOW>;
-+              regulator-boot-on;
-+              regulator-max-microvolt = <3300000>;
-+              regulator-min-microvolt = <3300000>;
-+              regulator-name = "vcc3v3_sd_s0";
-+              vin-supply = <&vcc_3v3_s3>;
-+      };
-+
-+      vdd_4g_3v3: vdd-4g-3v3-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pin_4g_lte_pwren>;
-+              regulator-name = "vdd_4g_3v3";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+};
-+
-+&combphy0_ps {
-+      status = "okay";
-+};
-+
-+&combphy1_ps {
-+      status = "okay";
-+};
-+
-+&combphy2_psu {
-+      status = "okay";
-+};
-+
-+&cpu_l0 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&cpu_l1 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&cpu_l2 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&cpu_l3 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&cpu_b0 {
-+      cpu-supply = <&vdd_cpu_big0_s0>;
-+};
-+
-+&cpu_b1 {
-+      cpu-supply = <&vdd_cpu_big0_s0>;
-+};
-+
-+&cpu_b2 {
-+      cpu-supply = <&vdd_cpu_big1_s0>;
-+};
-+
-+&cpu_b3 {
-+      cpu-supply = <&vdd_cpu_big1_s0>;
-+};
-+
-+&gpio0 {
-+      gpio-line-names = /* GPIO0 A0-A7 */
-+                        "", "", "", "",
-+                        "", "", "", "",
-+                        /* GPIO0 B0-B7 */
-+                        "", "", "", "",
-+                        "", "", "", "",
-+                        /* GPIO0 C0-C7 */
-+                        "", "", "", "",
-+                        "HEADER_10", "HEADER_08", "HEADER_32", "",
-+                        /* GPIO0 D0-D7 */
-+                        "", "", "", "",
-+                        "", "", "", "";
-+};
-+
-+&gpio1 {
-+      gpio-line-names = /* GPIO1 A0-A7 */
-+                        "HEADER_27", "HEADER_28", "", "",
-+                        "", "", "", "HEADER_15",
-+                        /* GPIO1 B0-B7 */
-+                        "HEADER_26", "HEADER_21", "HEADER_19", "HEADER_23",
-+                        "HEADER_24", "HEADER_22", "", "",
-+                        /* GPIO1 C0-C7 */
-+                        "", "", "", "",
-+                        "", "", "", "",
-+                        /* GPIO1 D0-D7 */
-+                        "", "", "", "",
-+                        "", "", "HEADER_05", "HEADER_03";
-+};
-+
-+&gpio2 {
-+      gpio-line-names = /* GPIO2 A0-A7 */
-+                        "", "", "", "",
-+                        "", "", "", "",
-+                        /* GPIO2 B0-B7 */
-+                        "", "", "", "",
-+                        "", "", "", "",
-+                        /* GPIO2 C0-C7 */
-+                        "", "CSI1_11", "CSI1_12", "",
-+                        "", "", "", "",
-+                        /* GPIO2 D0-D7 */
-+                        "", "", "", "",
-+                        "", "", "", "";
-+};
-+
-+&gpio3 {
-+      gpio-line-names = /* GPIO3 A0-A7 */
-+                        "HEADER_35", "HEADER_38", "HEADER_40", "HEADER_36",
-+                        "HEADER_37", "", "DSI0_12", "",
-+                        /* GPIO3 B0-B7 */
-+                        "HEADER_33", "DSI0_10", "HEADER_07", "HEADER_16",
-+                        "HEADER_18", "HEADER_29", "HEADER_31", "HEADER_12",
-+                        /* GPIO3 C0-C7 */
-+                        "DSI0_08", "DSI0_14", "HEADER_11", "HEADER_13",
-+                        "", "", "", "",
-+                        /* GPIO3 D0-D7 */
-+                        "", "", "", "",
-+                        "", "DSI1_10", "", "";
-+};
-+
-+&gpio4 {
-+      gpio-line-names = /* GPIO4 A0-A7 */
-+                        "DSI1_08", "DSI1_14", "", "DSI1_12",
-+                        "", "", "", "",
-+                        /* GPIO4 B0-B7 */
-+                        "", "", "", "",
-+                        "", "", "", "",
-+                        /* GPIO4 C0-C7 */
-+                        "", "", "", "",
-+                        "CSI0_11", "CSI0_12", "", "",
-+                        /* GPIO4 D0-D7 */
-+                        "", "", "", "",
-+                        "", "", "", "";
-+};
-+
-+&i2c0 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&i2c0m2_xfer>;
-+      status = "okay";
-+
-+      vdd_cpu_big0_s0: regulator@42 {
-+              compatible = "rockchip,rk8602";
-+              reg = <0x42>;
-+              fcs,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_cpu_big0_s0";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <550000>;
-+              regulator-max-microvolt = <1050000>;
-+              regulator-ramp-delay = <2300>;
-+              vin-supply = <&vcc4v0_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+
-+      vdd_cpu_big1_s0: regulator@43 {
-+              compatible = "rockchip,rk8603", "rockchip,rk8602";
-+              reg = <0x43>;
-+              fcs,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_cpu_big1_s0";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <550000>;
-+              regulator-max-microvolt = <1050000>;
-+              regulator-ramp-delay = <2300>;
-+              vin-supply = <&vcc4v0_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+};
-+
-+&i2c2 {
-+      status = "okay";
-+
-+      vdd_npu_s0: regulator@42 {
-+              compatible = "rockchip,rk8602";
-+              reg = <0x42>;
-+              rockchip,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_npu_s0";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <550000>;
-+              regulator-max-microvolt = <950000>;
-+              regulator-ramp-delay = <2300>;
-+              vin-supply = <&vcc4v0_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+};
-+
-+&i2c6 {
-+      clock-frequency = <200000>;
-+      status = "okay";
-+
-+      fusb302: typec-portc@22 {
-+              compatible = "fcs,fusb302";
-+              reg = <0x22>;
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
-+              pinctrl-0 = <&usbc0_int>;
-+              pinctrl-names = "default";
-+              vbus-supply = <&vbus5v0_typec>;
-+
-+              connector {
-+                      compatible = "usb-c-connector";
-+                      data-role = "dual";
-+                      label = "USB-C";
-+                      power-role = "dual";
-+                      try-power-role = "sink";
-+                      source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
-+                      sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
-+                      op-sink-microwatt = <1000000>;
-+              };
-+      };
-+
-+      hym8563: rtc@51 {
-+              compatible = "haoyu,hym8563";
-+              reg = <0x51>;
-+              #clock-cells = <0>;
-+              clock-output-names = "hym8563";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&hym8563_int>;
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
-+              wakeup-source;
-+      };
-+};
-+
-+&i2c7 {
-+      clock-frequency = <200000>;
-+      status = "okay";
-+
-+      rt5616: codec@1b {
-+              compatible = "realtek,rt5616";
-+              reg = <0x1b>;
-+              clocks = <&cru I2S0_8CH_MCLKOUT>;
-+              clock-names = "mclk";
-+              #sound-dai-cells = <0>;
-+              assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
-+              assigned-clock-rates = <12288000>;
-+
-+              port {
-+                      rt5616_p0_0: endpoint {
-+                              remote-endpoint = <&i2s0_8ch_p0_0>;
-+                      };
-+              };
-+      };
-+
-+      /* connected with MIPI-CSI1 */
-+};
-+
-+&i2c8 {
-+      pinctrl-0 = <&i2c8m2_xfer>;
-+};
-+
-+&i2s0_8ch {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&i2s0_lrck
-+                   &i2s0_mclk
-+                   &i2s0_sclk
-+                   &i2s0_sdi0
-+                   &i2s0_sdo0>;
-+      status = "okay";
-+
-+      i2s0_8ch_p0: port {
-+              i2s0_8ch_p0_0: endpoint {
-+                      dai-format = "i2s";
-+                      mclk-fs = <256>;
-+                      remote-endpoint = <&rt5616_p0_0>;
-+              };
-+      };
-+};
-+
-+&pcie2x1l0 {
-+      reset-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc_3v3_pcie20>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&pcie2_0_rst>;
-+      status = "okay";
-+};
-+
-+&pcie2x1l1 {
-+      reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc3v3_pcie2x1l0>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&pcie2_1_rst>;
-+      status = "okay";
-+};
-+
-+&pcie2x1l2 {
-+      reset-gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc_3v3_pcie20>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&pcie2_2_rst>;
-+      status = "okay";
-+};
-+
-+&pcie30phy {
-+      status = "okay";
-+};
-+
-+&pcie3x4 {
-+      reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc3v3_pcie30>;
-+      status = "okay";
-+};
-+
-+&pinctrl {
-+      gpio-leds {
-+              sys_led_pin: sys-led-pin {
-+                      rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              usr_led_pin: usr-led-pin {
-+                      rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      headphone {
-+              hp_det: hp-det {
-+                      rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      hym8563 {
-+              hym8563_int: hym8563-int {
-+                      rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
-+              };
-+      };
-+
-+      pcie {
-+              pcie2_0_rst: pcie2-0-rst {
-+                      rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              pcie2_1_rst: pcie2-1-rst {
-+                      rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              pcie2_2_rst: pcie2-2-rst {
-+                      rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              pcie_m2_0_pwren: pcie-m20-pwren {
-+                      rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              pcie_m2_1_pwren: pcie-m21-pwren {
-+                      rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      usb {
-+              pin_4g_lte_pwren: 4g-lte-pwren {
-+                      rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              typec5v_pwren: typec5v-pwren {
-+                      rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+
-+              usbc0_int: usbc0-int {
-+                      rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
-+              };
-+      };
-+};
-+
-+&pwm1 {
-+      pinctrl-0 = <&pwm1m1_pins>;
-+      status = "okay";
-+};
-+
-+&saradc {
-+      vref-supply = <&avcc_1v8_s0>;
-+      status = "okay";
-+};
-+
-+&sdhci {
-+      bus-width = <8>;
-+      no-sdio;
-+      no-sd;
-+      non-removable;
-+      max-frequency = <200000000>;
-+      mmc-hs400-1_8v;
-+      mmc-hs400-enhanced-strobe;
-+      status = "okay";
-+};
-+
-+&sdmmc {
-+      bus-width = <4>;
-+      cap-mmc-highspeed;
-+      cap-sd-highspeed;
-+      cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
-+      disable-wp;
-+      no-mmc;
-+      no-sdio;
-+      sd-uhs-sdr104;
-+      vmmc-supply = <&vcc3v3_sd_s0>;
-+      vqmmc-supply = <&vccio_sd_s0>;
-+      status = "okay";
-+};
-+
-+&spi2 {
-+      status = "okay";
-+      assigned-clocks = <&cru CLK_SPI2>;
-+      assigned-clock-rates = <200000000>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
-+      num-cs = <1>;
-+
-+      pmic@0 {
-+              compatible = "rockchip,rk806";
-+              spi-max-frequency = <1000000>;
-+              reg = <0x0>;
-+
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
-+
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
-+                          <&rk806_dvs2_null>, <&rk806_dvs3_null>;
-+
-+              system-power-controller;
-+
-+              vcc1-supply = <&vcc4v0_sys>;
-+              vcc2-supply = <&vcc4v0_sys>;
-+              vcc3-supply = <&vcc4v0_sys>;
-+              vcc4-supply = <&vcc4v0_sys>;
-+              vcc5-supply = <&vcc4v0_sys>;
-+              vcc6-supply = <&vcc4v0_sys>;
-+              vcc7-supply = <&vcc4v0_sys>;
-+              vcc8-supply = <&vcc4v0_sys>;
-+              vcc9-supply = <&vcc4v0_sys>;
-+              vcc10-supply = <&vcc4v0_sys>;
-+              vcc11-supply = <&vcc_2v0_pldo_s3>;
-+              vcc12-supply = <&vcc4v0_sys>;
-+              vcc13-supply = <&vcc_1v1_nldo_s3>;
-+              vcc14-supply = <&vcc_1v1_nldo_s3>;
-+              vcca-supply = <&vcc4v0_sys>;
-+
-+              gpio-controller;
-+              #gpio-cells = <2>;
-+
-+              rk806_dvs1_null: dvs1-null-pins {
-+                      pins = "gpio_pwrctrl1";
-+                      function = "pin_fun0";
-+              };
-+
-+              rk806_dvs2_null: dvs2-null-pins {
-+                      pins = "gpio_pwrctrl2";
-+                      function = "pin_fun0";
-+              };
-+
-+              rk806_dvs3_null: dvs3-null-pins {
-+                      pins = "gpio_pwrctrl3";
-+                      function = "pin_fun0";
-+              };
-+
-+              regulators {
-+                      vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <550000>;
-+                              regulator-max-microvolt = <950000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_gpu_s0";
-+                              regulator-enable-ramp-delay = <400>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <550000>;
-+                              regulator-max-microvolt = <950000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_cpu_lit_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_log_s0: dcdc-reg3 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <675000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_log_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <750000>;
-+                              };
-+                      };
-+
-+                      vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <550000>;
-+                              regulator-max-microvolt = <950000>;
-+                              regulator-init-microvolt = <750000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_vdenc_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_ddr_s0: dcdc-reg5 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <675000>;
-+                              regulator-max-microvolt = <900000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_ddr_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <850000>;
-+                              };
-+                      };
-+
-+                      vdd2_ddr_s3: dcdc-reg6 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-name = "vdd2_ddr_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_2v0_pldo_s3: dcdc-reg7 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <2000000>;
-+                              regulator-max-microvolt = <2000000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_2v0_pldo_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <2000000>;
-+                              };
-+                      };
-+
-+                      vcc_3v3_s3: dcdc-reg8 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+                              regulator-name = "vcc_3v3_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <3300000>;
-+                              };
-+                      };
-+
-+                      vddq_ddr_s0: dcdc-reg9 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-name = "vddq_ddr_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_1v8_s3: dcdc-reg10 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "vcc_1v8_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      avcc_1v8_s0: pldo-reg1 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "avcc_1v8_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_1v8_s0: pldo-reg2 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "vcc_1v8_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      avdd_1v2_s0: pldo-reg3 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1200000>;
-+                              regulator-max-microvolt = <1200000>;
-+                              regulator-name = "avdd_1v2_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_3v3_s0: pldo-reg4 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vcc_3v3_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vccio_sd_s0: pldo-reg5 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <3300000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vccio_sd_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      pldo6_s3: pldo-reg6 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "pldo6_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      vdd_0v75_s3: nldo-reg1 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <750000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-name = "vdd_0v75_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <750000>;
-+                              };
-+                      };
-+
-+                      vdd_ddr_pll_s0: nldo-reg2 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <850000>;
-+                              regulator-max-microvolt = <850000>;
-+                              regulator-name = "vdd_ddr_pll_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <850000>;
-+                              };
-+                      };
-+
-+                      avdd_0v75_s0: nldo-reg3 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <750000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-name = "avdd_0v75_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_0v85_s0: nldo-reg4 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <850000>;
-+                              regulator-max-microvolt = <850000>;
-+                              regulator-name = "vdd_0v85_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_0v75_s0: nldo-reg5 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <750000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-name = "vdd_0v75_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+              };
-+      };
-+};
-+
-+&tsadc {
-+      status = "okay";
-+};
-+
-+&uart2 {
-+      pinctrl-0 = <&uart2m0_xfer>;
-+      status = "okay";
-+};
-+
-+&u2phy2_host {
-+      phy-supply = <&vdd_4g_3v3>;
-+      status = "okay";
-+};
-+
-+&u2phy3_host {
-+      status = "okay";
-+};
-+
-+&u2phy2 {
-+      status = "okay";
-+};
-+
-+&u2phy3 {
-+      status = "okay";
-+};
-+
-+&usb_host0_ehci {
-+      status = "okay";
-+};
-+
-+&usb_host0_ohci {
-+      status = "okay";
-+};
-+
-+&usb_host1_ehci {
-+      status = "okay";
-+};
-+
-+&usb_host1_ohci {
-+      status = "okay";
-+};
diff --git a/target/linux/rockchip/patches-6.12/055-09-v6.12-arm64-dts-rockchip-move-NanoPC-T6-parts-to-DTS.patch b/target/linux/rockchip/patches-6.12/055-09-v6.12-arm64-dts-rockchip-move-NanoPC-T6-parts-to-DTS.patch
deleted file mode 100644 (file)
index ce78982..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-From aea8d84070fe0846961deb23228d9dd3f8caefb3 Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Date: Thu, 29 Aug 2024 14:26:54 +0200
-Subject: [PATCH] arm64: dts: rockchip: move NanoPC-T6 parts to DTS
-
-MiniPCIe slot is present only in first version of NanoPC-T6 (2301).
-
-Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Link: https://lore.kernel.org/r/20240829-friendlyelec-nanopc-t6-lts-v6-3-edff247e8c02@linaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588-nanopc-t6.dts    | 23 +++++++++++++++++++
- .../boot/dts/rockchip/rk3588-nanopc-t6.dtsi   | 17 --------------
- 2 files changed, 23 insertions(+), 17 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dts
-@@ -14,4 +14,27 @@
-       model = "FriendlyElec NanoPC-T6";
-       compatible = "friendlyarm,nanopc-t6", "rockchip,rk3588";
-+      vdd_4g_3v3: vdd-4g-3v3-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pin_4g_lte_pwren>;
-+              regulator-name = "vdd_4g_3v3";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+};
-+
-+&pinctrl {
-+      usb {
-+              pin_4g_lte_pwren: 4g-lte-pwren {
-+                      rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+};
-+
-+&u2phy2_host {
-+      phy-supply = <&vdd_4g_3v3>;
- };
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-@@ -170,18 +170,6 @@
-               regulator-name = "vcc3v3_sd_s0";
-               vin-supply = <&vcc_3v3_s3>;
-       };
--
--      vdd_4g_3v3: vdd-4g-3v3-regulator {
--              compatible = "regulator-fixed";
--              enable-active-high;
--              gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>;
--              pinctrl-names = "default";
--              pinctrl-0 = <&pin_4g_lte_pwren>;
--              regulator-name = "vdd_4g_3v3";
--              regulator-min-microvolt = <3300000>;
--              regulator-max-microvolt = <3300000>;
--              vin-supply = <&vcc5v0_sys>;
--      };
- };
- &combphy0_ps {
-@@ -527,10 +515,6 @@
-       };
-       usb {
--              pin_4g_lte_pwren: 4g-lte-pwren {
--                      rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
--              };
--
-               typec5v_pwren: typec5v-pwren {
-                       rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-@@ -912,7 +896,6 @@
- };
- &u2phy2_host {
--      phy-supply = <&vdd_4g_3v3>;
-       status = "okay";
- };
diff --git a/target/linux/rockchip/patches-6.12/055-10-v6.12-arm64-dts-rockchip-add-SPI-flash-on-NanoPC-T6.patch b/target/linux/rockchip/patches-6.12/055-10-v6.12-arm64-dts-rockchip-add-SPI-flash-on-NanoPC-T6.patch
deleted file mode 100644 (file)
index 61fa363..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From a22a629c63b1addcf2d81eaf30383c1deca5b7a9 Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Date: Thu, 29 Aug 2024 14:26:56 +0200
-Subject: [PATCH] arm64: dts: rockchip: add SPI flash on NanoPC-T6
-
-FriendlyELEC NanoPC-T6 has optional SPI flash chip on-board.
-It is populated with 32MB one on LTS version.
-
-Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Reviewed-by: Jonas Karlman <jonas@kwiboo.se>
-Link: https://lore.kernel.org/r/20240829-friendlyelec-nanopc-t6-lts-v6-5-edff247e8c02@linaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-@@ -560,6 +560,21 @@
-       status = "okay";
- };
-+/* optional on non-LTS, populated on LTS version */
-+&sfc {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&fspim1_pins>;
-+      status = "okay";
-+
-+      flash@0 {
-+              compatible = "jedec,spi-nor";
-+              reg = <0>;
-+              spi-max-frequency = <104000000>;
-+              spi-rx-bus-width = <4>;
-+              spi-tx-bus-width = <1>;
-+      };
-+};
-+
- &spi2 {
-       status = "okay";
-       assigned-clocks = <&cru CLK_SPI2>;
diff --git a/target/linux/rockchip/patches-6.12/055-11-v6.12-arm64-dts-rockchip-add-IR-receiver-to-NanoPC-T6.patch b/target/linux/rockchip/patches-6.12/055-11-v6.12-arm64-dts-rockchip-add-IR-receiver-to-NanoPC-T6.patch
deleted file mode 100644 (file)
index 34b2d18..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-From b70caff0f9592719b6c977e291c33192e959c9d4 Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Date: Thu, 29 Aug 2024 14:26:57 +0200
-Subject: [PATCH] arm64: dts: rockchip: add IR-receiver to NanoPC-T6
-
-FriendlyELEC NanoPC-T6 has IR receiver connected to PWM3_IR_M0 line
-which ends as GPIO0_D4.
-
-Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Link: https://lore.kernel.org/r/20240829-friendlyelec-nanopc-t6-lts-v6-6-edff247e8c02@linaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-@@ -25,6 +25,13 @@
-               stdout-path = "serial2:1500000n8";
-       };
-+      ir-receiver {
-+              compatible = "gpio-ir-receiver";
-+              gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_LOW>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&ir_receiver_pin>;
-+      };
-+
-       leds {
-               compatible = "gpio-leds";
-@@ -228,7 +235,7 @@
-                         "HEADER_10", "HEADER_08", "HEADER_32", "",
-                         /* GPIO0 D0-D7 */
-                         "", "", "", "",
--                        "", "", "", "";
-+                        "IR receiver [PWM3_IR_M0]", "", "", "";
- };
- &gpio1 {
-@@ -492,6 +499,12 @@
-               };
-       };
-+      ir-receiver {
-+              ir_receiver_pin: ir-receiver-pin {
-+                      rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-       pcie {
-               pcie2_0_rst: pcie2-0-rst {
-                       rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
diff --git a/target/linux/rockchip/patches-6.12/055-12-v6.12-arm64-dts-rockchip-enable-GPU-on-NanoPC-T6.patch b/target/linux/rockchip/patches-6.12/055-12-v6.12-arm64-dts-rockchip-enable-GPU-on-NanoPC-T6.patch
deleted file mode 100644 (file)
index 40ebd63..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From e86cbf999cda2d44f32ec622537024e3b923080d Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Date: Thu, 29 Aug 2024 14:26:58 +0200
-Subject: [PATCH] arm64: dts: rockchip: enable GPU on NanoPC-T6
-
-Enable the Mali GPU on FriendlyELEC NanoPC-T6
-
-Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Link: https://lore.kernel.org/r/20240829-friendlyelec-nanopc-t6-lts-v6-7-edff247e8c02@linaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 5 +++++
- 1 file changed, 5 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-@@ -298,6 +298,11 @@
-                         "", "", "", "";
- };
-+&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/055-13-v6.12-arm64-dts-rockchip-enable-USB-C-on-NanoPC-T6.patch b/target/linux/rockchip/patches-6.12/055-13-v6.12-arm64-dts-rockchip-enable-USB-C-on-NanoPC-T6.patch
deleted file mode 100644 (file)
index 89720c3..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-From c9ba75320e5a12dc9d574603acf29b38a920b40c Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Date: Thu, 29 Aug 2024 14:26:59 +0200
-Subject: [PATCH] arm64: dts: rockchip: enable USB-C on NanoPC-T6
-
-Enable the USB-C port on FriendlyELEC NanoPC-T6.
-
-Works one way so far but still better than before.
-
-Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Link: https://lore.kernel.org/r/20240829-friendlyelec-nanopc-t6-lts-v6-8-edff247e8c02@linaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../boot/dts/rockchip/rk3588-nanopc-t6.dtsi   | 76 ++++++++++++++++++-
- 1 file changed, 72 insertions(+), 4 deletions(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-@@ -137,6 +137,8 @@
-               gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&typec5v_pwren>;
-+              regulator-always-on;
-+              regulator-boot-on;
-               regulator-name = "vbus5v0_typec";
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-@@ -381,11 +383,34 @@
-                       compatible = "usb-c-connector";
-                       data-role = "dual";
-                       label = "USB-C";
--                      power-role = "dual";
--                      try-power-role = "sink";
-+                      power-role = "source";
-                       source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
--                      sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
--                      op-sink-microwatt = <1000000>;
-+
-+                      ports {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+
-+                              port@0 {
-+                                      reg = <0>;
-+                                      usbc0_hs: endpoint {
-+                                              remote-endpoint = <&usb_host0_xhci_drd_sw>;
-+                                      };
-+                              };
-+
-+                              port@1 {
-+                                      reg = <1>;
-+                                      usbc0_ss: endpoint {
-+                                              remote-endpoint = <&usbdp_phy0_typec_ss>;
-+                                      };
-+                              };
-+
-+                              port@2 {
-+                                      reg = <2>;
-+                                      usbc0_sbu: endpoint {
-+                                              remote-endpoint = <&usbdp_phy0_typec_sbu>;
-+                                      };
-+                              };
-+                      };
-               };
-       };
-@@ -928,6 +953,14 @@
-       status = "okay";
- };
-+&u2phy0 {
-+      status = "okay";
-+};
-+
-+&u2phy0_otg {
-+      status = "okay";
-+};
-+
- &u2phy2_host {
-       status = "okay";
- };
-@@ -944,6 +977,29 @@
-       status = "okay";
- };
-+&usbdp_phy0 {
-+      mode-switch;
-+      orientation-switch;
-+      sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
-+      sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
-+      status = "okay";
-+
-+      port {
-+              #address-cells = <1>;
-+              #size-cells = <0>;
-+
-+              usbdp_phy0_typec_ss: endpoint@0 {
-+                      reg = <0>;
-+                      remote-endpoint = <&usbc0_ss>;
-+              };
-+
-+              usbdp_phy0_typec_sbu: endpoint@1 {
-+                      reg = <1>;
-+                      remote-endpoint = <&usbc0_sbu>;
-+              };
-+      };
-+};
-+
- &usb_host0_ehci {
-       status = "okay";
- };
-@@ -952,6 +1008,18 @@
-       status = "okay";
- };
-+&usb_host0_xhci {
-+      dr_mode = "host";
-+      status = "okay";
-+      usb-role-switch;
-+
-+      port {
-+              usb_host0_xhci_drd_sw: endpoint {
-+                      remote-endpoint = <&usbc0_hs>;
-+              };
-+      };
-+};
-+
- &usb_host1_ehci {
-       status = "okay";
- };
diff --git a/target/linux/rockchip/patches-6.12/055-14-v6.12-arm64-dts-rockchip-add-Mask-Rom-key-on-NanoPC-T6.patch b/target/linux/rockchip/patches-6.12/055-14-v6.12-arm64-dts-rockchip-add-Mask-Rom-key-on-NanoPC-T6.patch
deleted file mode 100644 (file)
index cf179d9..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-From da439eed06ff6806f22341ab0468226afc555305 Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Date: Thu, 29 Aug 2024 14:27:00 +0200
-Subject: [PATCH] arm64: dts: rockchip: add Mask Rom key on NanoPC-T6
-
-Mask Rom key is connected to SARADC and can be read from OS.
-
-Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
-Link: https://lore.kernel.org/r/20240829-friendlyelec-nanopc-t6-lts-v6-9-edff247e8c02@linaro.org
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- .../arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-@@ -8,6 +8,7 @@
- /dts-v1/;
- #include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
- #include <dt-bindings/pinctrl/rockchip.h>
- #include <dt-bindings/usb/pd.h>
- #include "rk3588.dtsi"
-@@ -21,6 +22,20 @@
-               mmc1 = &sdmmc;
-       };
-+      adc-keys-0 {
-+              compatible = "adc-keys";
-+              io-channels = <&saradc 0>;
-+              io-channel-names = "buttons";
-+              keyup-threshold-microvolt = <1800000>;
-+              poll-interval = <100>;
-+
-+              button-maskrom {
-+                      label = "Mask Rom";
-+                      linux,code = <KEY_SETUP>;
-+                      press-threshold-microvolt = <2000>;
-+              };
-+      };
-+
-       chosen {
-               stdout-path = "serial2:1500000n8";
-       };
diff --git a/target/linux/rockchip/patches-6.12/055-15-v6.12-arm64-dts-rockchip-use-correct-fcs-suspend-voltage-selecto.patch b/target/linux/rockchip/patches-6.12/055-15-v6.12-arm64-dts-rockchip-use-correct-fcs-suspend-voltage-selecto.patch
deleted file mode 100644 (file)
index d7d87e2..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 170c77276d470a63d22a2634a38846dd88538637 Mon Sep 17 00:00:00 2001
-From: Heiko Stuebner <heiko@sntech.de>
-Date: Thu, 29 Aug 2024 15:20:58 +0200
-Subject: [PATCH] arm64: dts: rockchip: use correct
- fcs,suspend-voltage-selector on NanoPC-T6
-
-A remant from moving from the vendor kernel, the regulator is using
-a fairchild fcs prefix instead of rockchip,* in the mainline kernel
-according to its binding.
-
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
-Link: https://lore.kernel.org/r/20240829132100.1723127-2-heiko@sntech.de
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-@@ -366,7 +366,7 @@
-       vdd_npu_s0: regulator@42 {
-               compatible = "rockchip,rk8602";
-               reg = <0x42>;
--              rockchip,suspend-voltage-selector = <1>;
-+              fcs,suspend-voltage-selector = <1>;
-               regulator-name = "vdd_npu_s0";
-               regulator-always-on;
-               regulator-boot-on;
index d3aa8b9cc3e34606c55341219f3694cb927fd3b3..f7686cd439cfacb00407848b35710813eca8a782 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
 
 --- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
 +++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-@@ -160,6 +160,20 @@
+@@ -159,6 +159,20 @@
                vin-supply = <&vcc5v0_sys>;
        };
  
@@ -35,7 +35,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
        vcc3v3_pcie2x1l0: vcc3v3-pcie2x1l0-regulator {
                compatible = "regulator-fixed";
                enable-active-high;
-@@ -577,6 +591,10 @@
+@@ -575,6 +589,10 @@
                        rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
                };
  
@@ -46,7 +46,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
                usbc0_int: usbc0-int {
                        rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
                };
-@@ -976,6 +994,14 @@
+@@ -973,6 +991,14 @@
        status = "okay";
  };
  
@@ -61,7 +61,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
  &u2phy2_host {
        status = "okay";
  };
-@@ -1015,6 +1041,11 @@
+@@ -1012,6 +1038,11 @@
        };
  };
  
@@ -73,7 +73,7 @@ Signed-off-by: Heiko Stuebner <heiko@sntech.de>
  &usb_host0_ehci {
        status = "okay";
  };
-@@ -1035,6 +1066,11 @@
+@@ -1032,6 +1063,11 @@
        };
  };
  
diff --git a/target/linux/rockchip/patches-6.12/056-01-v6.10-arm64-dts-rockchip-Add-ArmSom-Sige7-board.patch b/target/linux/rockchip/patches-6.12/056-01-v6.10-arm64-dts-rockchip-Add-ArmSom-Sige7-board.patch
deleted file mode 100644 (file)
index c60b979..0000000
+++ /dev/null
@@ -1,778 +0,0 @@
-From 81c828a67c78bb03ea75819c417c93c7f3d637b5 Mon Sep 17 00:00:00 2001
-From: Jianfeng Liu <liujianfeng1994@gmail.com>
-Date: Sat, 20 Apr 2024 11:43:00 +0800
-Subject: [PATCH] arm64: dts: rockchip: Add ArmSom Sige7 board
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Specification:
-        Rockchip Rk3588 SoC
-        4x ARM Cortex-A76, 4x ARM Cortex-A55
-        8/16/32GB Memory LPDDR4/LPDDR4x
-        Mali G610MP4 GPU
-        2× MIPI-CSI Connector
-        1× MIPI-DSI Connector
-        1x M.2 Key M (PCIe 3.0 4-lanes)
-        2x RTL8125 2.5G Ethernet
-        Onboard AP6275P for WIFI6/BT5
-        32GB/64GB/128GB eMMC
-        MicroSD card slot
-        1x USB2.0, 1x USB3.0 Type-A, 1x US3.0 Type-C
-        1x HDMI Output, 1x type-C DP Output
-
-Functions work normally:
-        USB2.0 Host
-        USB3.0 Type-A Host
-        M.2 Key M (PCIe 3.0 4-lanes)
-        2x RTL8125 2.5G Ethernet
-        eMMC
-        MicroSD card
-
-More information can be obtained from the following website
-        https://docs.armsom.org/armsom-sige7
-
-Signed-off-by: Jianfeng Liu <liujianfeng1994@gmail.com>
-Reviewed-by: Weizhao Ouyang <weizhao.ouyang@arm.com>
-Link: https://lore.kernel.org/r/20240420034300.176920-4-liujianfeng1994@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/Makefile         |   1 +
- .../boot/dts/rockchip/rk3588-armsom-sige7.dts | 721 ++++++++++++++++++
- 2 files changed, 722 insertions(+)
- create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts
-
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -102,6 +102,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-ra
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-roc-pc.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3a.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-rock-3b.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-armsom-sige7.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-io.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6b-io.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-v10.dtb
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts
-@@ -0,0 +1,721 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+
-+/dts-v1/;
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/leds/common.h>
-+#include "rk3588.dtsi"
-+
-+/ {
-+      model = "ArmSoM Sige7";
-+      compatible = "armsom,sige7", "rockchip,rk3588";
-+
-+      aliases {
-+              mmc0 = &sdhci;
-+              mmc1 = &sdmmc;
-+      };
-+
-+      chosen {
-+              stdout-path = "serial2:1500000n8";
-+      };
-+
-+      analog-sound {
-+              compatible = "audio-graph-card";
-+              dais = <&i2s0_8ch_p0>;
-+              label = "rk3588-es8316";
-+              hp-det-gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&hp_detect>;
-+              routing = "MIC2", "Mic Jack",
-+                        "Headphones", "HPOL",
-+                        "Headphones", "HPOR";
-+              widgets = "Microphone", "Mic Jack",
-+                        "Headphone", "Headphones";
-+      };
-+
-+      leds {
-+              compatible = "gpio-leds";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&led_rgb_g>;
-+
-+              led_green: led-0 {
-+                      color = <LED_COLOR_ID_GREEN>;
-+                      function = LED_FUNCTION_STATUS;
-+                      gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
-+                      linux,default-trigger = "heartbeat";
-+              };
-+
-+              led_red: led-1 {
-+                      color = <LED_COLOR_ID_RED>;
-+                      function = LED_FUNCTION_STATUS;
-+                      gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
-+                      linux,default-trigger = "none";
-+              };
-+      };
-+
-+      fan: pwm-fan {
-+              compatible = "pwm-fan";
-+              cooling-levels = <0 95 145 195 255>;
-+              fan-supply = <&vcc5v0_sys>;
-+              pwms = <&pwm1 0 50000 0>;
-+              #cooling-cells = <2>;
-+      };
-+
-+      vcc3v3_pcie2x1l2: vcc3v3-pcie2x1l2-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc3v3_pcie2x1l2";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              startup-delay-us = <5000>;
-+              vin-supply = <&vcc_3v3_s3>;
-+      };
-+
-+      vcc3v3_pcie30: vcc3v3-pcie30-regulator {
-+              compatible = "regulator-fixed";
-+              enable-active-high;
-+              gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
-+              regulator-name = "vcc3v3_pcie30";
-+              regulator-min-microvolt = <3300000>;
-+              regulator-max-microvolt = <3300000>;
-+              startup-delay-us = <5000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc5v0_host: vcc5v0-host-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc5v0_host";
-+              regulator-boot-on;
-+              regulator-always-on;
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+              enable-active-high;
-+              gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&vcc5v0_host_en>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+
-+      vcc5v0_sys: vcc5v0-sys-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc5v0_sys";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <5000000>;
-+              regulator-max-microvolt = <5000000>;
-+      };
-+
-+      vcc_1v1_nldo_s3: vcc-1v1-nldo-s3-regulator {
-+              compatible = "regulator-fixed";
-+              regulator-name = "vcc_1v1_nldo_s3";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <1100000>;
-+              regulator-max-microvolt = <1100000>;
-+              vin-supply = <&vcc5v0_sys>;
-+      };
-+};
-+
-+&combphy0_ps {
-+      status = "okay";
-+};
-+
-+&combphy1_ps {
-+      status = "okay";
-+};
-+
-+&combphy2_psu {
-+      status = "okay";
-+};
-+
-+&cpu_b0 {
-+      cpu-supply = <&vdd_cpu_big0_s0>;
-+};
-+
-+&cpu_b1 {
-+      cpu-supply = <&vdd_cpu_big0_s0>;
-+};
-+
-+&cpu_b2 {
-+      cpu-supply = <&vdd_cpu_big1_s0>;
-+};
-+
-+&cpu_b3 {
-+      cpu-supply = <&vdd_cpu_big1_s0>;
-+};
-+
-+&cpu_l0 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&cpu_l1 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&cpu_l2 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&cpu_l3 {
-+      cpu-supply = <&vdd_cpu_lit_s0>;
-+};
-+
-+&gpu {
-+      mali-supply = <&vdd_gpu_s0>;
-+      status = "okay";
-+};
-+
-+&i2c0 {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&i2c0m2_xfer>;
-+      status = "okay";
-+
-+      vdd_cpu_big0_s0: regulator@42 {
-+              compatible = "rockchip,rk8602";
-+              reg = <0x42>;
-+              fcs,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_cpu_big0_s0";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <550000>;
-+              regulator-max-microvolt = <1050000>;
-+              regulator-ramp-delay = <2300>;
-+              vin-supply = <&vcc5v0_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+
-+      vdd_cpu_big1_s0: regulator@43 {
-+              compatible = "rockchip,rk8603", "rockchip,rk8602";
-+              reg = <0x43>;
-+              fcs,suspend-voltage-selector = <1>;
-+              regulator-name = "vdd_cpu_big1_s0";
-+              regulator-always-on;
-+              regulator-boot-on;
-+              regulator-min-microvolt = <550000>;
-+              regulator-max-microvolt = <1050000>;
-+              regulator-ramp-delay = <2300>;
-+              vin-supply = <&vcc5v0_sys>;
-+
-+              regulator-state-mem {
-+                      regulator-off-in-suspend;
-+              };
-+      };
-+};
-+
-+&i2c6 {
-+      status = "okay";
-+
-+      hym8563: rtc@51 {
-+              compatible = "haoyu,hym8563";
-+              reg = <0x51>;
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
-+              #clock-cells = <0>;
-+              clock-output-names = "hym8563";
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&hym8563_int>;
-+              wakeup-source;
-+      };
-+};
-+
-+&i2c7 {
-+      status = "okay";
-+
-+      es8316: audio-codec@11 {
-+              compatible = "everest,es8316";
-+              reg = <0x11>;
-+              assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
-+              assigned-clock-rates = <12288000>;
-+              clocks = <&cru I2S0_8CH_MCLKOUT>;
-+              clock-names = "mclk";
-+              #sound-dai-cells = <0>;
-+
-+              port {
-+                      es8316_p0_0: endpoint {
-+                              remote-endpoint = <&i2s0_8ch_p0_0>;
-+                      };
-+              };
-+      };
-+};
-+
-+&i2s0_8ch {
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&i2s0_lrck
-+                   &i2s0_mclk
-+                   &i2s0_sclk
-+                   &i2s0_sdi0
-+                   &i2s0_sdo0>;
-+      status = "okay";
-+
-+      i2s0_8ch_p0: port {
-+              i2s0_8ch_p0_0: endpoint {
-+                      dai-format = "i2s";
-+                      mclk-fs = <256>;
-+                      remote-endpoint = <&es8316_p0_0>;
-+              };
-+      };
-+};
-+
-+/* phy1 - right ethernet port */
-+&pcie2x1l0 {
-+      reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
-+      status = "okay";
-+};
-+
-+/* phy2 - WiFi */
-+&pcie2x1l1 {
-+      reset-gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
-+      status = "okay";
-+};
-+
-+/* phy0 - left ethernet port */
-+&pcie2x1l2 {
-+      reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>;
-+      status = "okay";
-+};
-+
-+&pcie30phy {
-+      status = "okay";
-+};
-+
-+&pcie3x4 {
-+      reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
-+      vpcie3v3-supply = <&vcc3v3_pcie30>;
-+      status = "okay";
-+};
-+
-+&pinctrl {
-+      hym8563 {
-+              hym8563_int: hym8563-int {
-+                      rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      leds {
-+              led_rgb_g: led-rgb-g {
-+                      rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+              led_rgb_r: led-rgb-r {
-+                      rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      sound {
-+              hp_detect: hp-detect {
-+                      rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+
-+      usb {
-+              vcc5v0_host_en: vcc5v0-host-en {
-+                      rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
-+              };
-+      };
-+};
-+
-+&pwm1 {
-+      status = "okay";
-+};
-+
-+&saradc {
-+      vref-supply = <&avcc_1v8_s0>;
-+      status = "okay";
-+};
-+
-+&sdhci {
-+      bus-width = <8>;
-+      no-sdio;
-+      no-sd;
-+      non-removable;
-+      mmc-hs200-1_8v;
-+      status = "okay";
-+};
-+
-+&sdmmc {
-+      bus-width = <4>;
-+      cap-mmc-highspeed;
-+      cap-sd-highspeed;
-+      disable-wp;
-+      max-frequency = <200000000>;
-+      no-sdio;
-+      no-mmc;
-+      sd-uhs-sdr104;
-+      vmmc-supply = <&vcc_3v3_s3>;
-+      vqmmc-supply = <&vccio_sd_s0>;
-+      status = "okay";
-+};
-+
-+&spi2 {
-+      assigned-clocks = <&cru CLK_SPI2>;
-+      assigned-clock-rates = <200000000>;
-+      num-cs = <1>;
-+      pinctrl-names = "default";
-+      pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
-+      status = "okay";
-+
-+      pmic@0 {
-+              compatible = "rockchip,rk806";
-+              spi-max-frequency = <1000000>;
-+              reg = <0x0>;
-+
-+              interrupt-parent = <&gpio0>;
-+              interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
-+
-+              gpio-controller;
-+              #gpio-cells = <2>;
-+
-+              pinctrl-names = "default";
-+              pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
-+                          <&rk806_dvs2_null>, <&rk806_dvs3_null>;
-+
-+              system-power-controller;
-+
-+              vcc1-supply = <&vcc5v0_sys>;
-+              vcc2-supply = <&vcc5v0_sys>;
-+              vcc3-supply = <&vcc5v0_sys>;
-+              vcc4-supply = <&vcc5v0_sys>;
-+              vcc5-supply = <&vcc5v0_sys>;
-+              vcc6-supply = <&vcc5v0_sys>;
-+              vcc7-supply = <&vcc5v0_sys>;
-+              vcc8-supply = <&vcc5v0_sys>;
-+              vcc9-supply = <&vcc5v0_sys>;
-+              vcc10-supply = <&vcc5v0_sys>;
-+              vcc11-supply = <&vcc_2v0_pldo_s3>;
-+              vcc12-supply = <&vcc5v0_sys>;
-+              vcc13-supply = <&vcc_1v1_nldo_s3>;
-+              vcc14-supply = <&vcc_1v1_nldo_s3>;
-+              vcca-supply = <&vcc5v0_sys>;
-+
-+              rk806_dvs1_null: dvs1-null-pins {
-+                      pins = "gpio_pwrctrl1";
-+                      function = "pin_fun0";
-+              };
-+
-+              rk806_dvs2_null: dvs2-null-pins {
-+                      pins = "gpio_pwrctrl2";
-+                      function = "pin_fun0";
-+              };
-+
-+              rk806_dvs3_null: dvs3-null-pins {
-+                      pins = "gpio_pwrctrl3";
-+                      function = "pin_fun0";
-+              };
-+
-+              regulators {
-+                      vdd_gpu_s0: vdd_gpu_mem_s0: dcdc-reg1 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <550000>;
-+                              regulator-max-microvolt = <950000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_gpu_s0";
-+                              regulator-enable-ramp-delay = <400>;
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_cpu_lit_s0: vdd_cpu_lit_mem_s0: dcdc-reg2 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <550000>;
-+                              regulator-max-microvolt = <950000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_cpu_lit_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_log_s0: dcdc-reg3 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <675000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_log_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <750000>;
-+                              };
-+                      };
-+
-+                      vdd_vdenc_s0: vdd_vdenc_mem_s0: dcdc-reg4 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <550000>;
-+                              regulator-max-microvolt = <950000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_vdenc_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_ddr_s0: dcdc-reg5 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <675000>;
-+                              regulator-max-microvolt = <900000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_ddr_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <850000>;
-+                              };
-+                      };
-+
-+                      vdd2_ddr_s3: dcdc-reg6 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-name = "vdd2_ddr_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_2v0_pldo_s3: dcdc-reg7 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <2000000>;
-+                              regulator-max-microvolt = <2000000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vdd_2v0_pldo_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <2000000>;
-+                              };
-+                      };
-+
-+                      vcc_3v3_s3: dcdc-reg8 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+                              regulator-name = "vcc_3v3_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <3300000>;
-+                              };
-+                      };
-+
-+                      vddq_ddr_s0: dcdc-reg9 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-name = "vddq_ddr_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_1v8_s3: dcdc-reg10 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "vcc_1v8_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      avcc_1v8_s0: pldo-reg1 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "avcc_1v8_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_1v8_s0: pldo-reg2 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "vcc_1v8_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      avdd_1v2_s0: pldo-reg3 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1200000>;
-+                              regulator-max-microvolt = <1200000>;
-+                              regulator-name = "avdd_1v2_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vcc_3v3_s0: pldo-reg4 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <3300000>;
-+                              regulator-max-microvolt = <3300000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vcc_3v3_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vccio_sd_s0: pldo-reg5 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <3300000>;
-+                              regulator-ramp-delay = <12500>;
-+                              regulator-name = "vccio_sd_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      pldo6_s3: pldo-reg6 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <1800000>;
-+                              regulator-max-microvolt = <1800000>;
-+                              regulator-name = "pldo6_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <1800000>;
-+                              };
-+                      };
-+
-+                      vdd_0v75_s3: nldo-reg1 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <750000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-name = "vdd_0v75_s3";
-+
-+                              regulator-state-mem {
-+                                      regulator-on-in-suspend;
-+                                      regulator-suspend-microvolt = <750000>;
-+                              };
-+                      };
-+
-+                      vdd_ddr_pll_s0: nldo-reg2 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <850000>;
-+                              regulator-max-microvolt = <850000>;
-+                              regulator-name = "vdd_ddr_pll_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                                      regulator-suspend-microvolt = <850000>;
-+                              };
-+                      };
-+
-+                      avdd_0v75_s0: nldo-reg3 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <750000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-name = "avdd_0v75_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_0v85_s0: nldo-reg4 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <850000>;
-+                              regulator-max-microvolt = <850000>;
-+                              regulator-name = "vdd_0v85_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+
-+                      vdd_0v75_s0: nldo-reg5 {
-+                              regulator-always-on;
-+                              regulator-boot-on;
-+                              regulator-min-microvolt = <750000>;
-+                              regulator-max-microvolt = <750000>;
-+                              regulator-name = "vdd_0v75_s0";
-+
-+                              regulator-state-mem {
-+                                      regulator-off-in-suspend;
-+                              };
-+                      };
-+              };
-+      };
-+};
-+
-+&u2phy0 {
-+      status = "okay";
-+};
-+
-+&u2phy0_otg {
-+      status = "okay";
-+};
-+
-+&u2phy1 {
-+      status = "okay";
-+};
-+
-+&u2phy1_otg {
-+      status = "okay";
-+};
-+
-+&u2phy3 {
-+      status = "okay";
-+};
-+
-+&u2phy3_host {
-+      phy-supply = <&vcc5v0_host>;
-+      status = "okay";
-+};
-+
-+&uart2 {
-+      pinctrl-0 = <&uart2m0_xfer>;
-+      status = "okay";
-+};
-+
-+&usbdp_phy1 {
-+      status = "okay";
-+};
-+
-+&usb_host1_ehci {
-+      status = "okay";
-+};
-+
-+&usb_host1_ohci {
-+      status = "okay";
-+};
-+
-+&usb_host1_xhci {
-+      dr_mode = "host";
-+      status = "okay";
-+};
diff --git a/target/linux/rockchip/patches-6.12/056-02-v6.11-arm64-dts-rockchip-enable-thermal-management-on-all-RK358.patch b/target/linux/rockchip/patches-6.12/056-02-v6.11-arm64-dts-rockchip-enable-thermal-management-on-all-RK358.patch
deleted file mode 100644 (file)
index d0b8336..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From 2f8064b9c4a012b4d4e8383818f13b682b6c156a Mon Sep 17 00:00:00 2001
-From: Alexey Charkov <alchark@gmail.com>
-Date: Mon, 17 Jun 2024 22:28:52 +0400
-Subject: [PATCH] arm64: dts: rockchip: enable thermal management on all RK3588
- boards
-
-This enables the on-chip thermal monitoring sensor (TSADC) on all
-RK3588(s) boards that don't have it enabled yet. It provides temperature
-monitoring for the SoC and emergency thermal shutdowns, and is thus
-important to have in place before CPU DVFS is enabled, as high CPU
-operating performance points can overheat the chip quickly in the
-absence of thermal management.
-
-Signed-off-by: Alexey Charkov <alchark@gmail.com>
-Link: https://lore.kernel.org/r/20240617-rk-dts-additions-v5-2-c1f5f3267f1e@gmail.com
-Signed-off-by: Heiko Stuebner <heiko@sntech.de>
----
- arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts          | 4 ++++
- arch/arm64/boot/dts/rockchip/rk3588-edgeble-neu6a-common.dtsi | 4 ++++
- arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts              | 4 ++++
- arch/arm64/boot/dts/rockchip/rk3588-ok3588-c.dts              | 4 ++++
- arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts               | 4 ++++
- arch/arm64/boot/dts/rockchip/rk3588-toybrick-x0.dts           | 4 ++++
- arch/arm64/boot/dts/rockchip/rk3588-turing-rk1.dtsi           | 4 ++++
- arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts              | 4 ++++
- 8 files changed, 32 insertions(+)
-
---- a/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-armsom-sige7.dts
-@@ -673,6 +673,10 @@
-       };
- };
-+&tsadc {
-+      status = "okay";
-+};
-+
- &u2phy0 {
-       status = "okay";
- };
---- a/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-evb1-v10.dts
-@@ -807,6 +807,10 @@
-       status = "okay";
- };
-+&tsadc {
-+      status = "okay";
-+};
-+
- &u2phy2 {
-       status = "okay";
- };
---- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -787,6 +787,10 @@
-       };
- };
-+&tsadc {
-+      status = "okay";
-+};
-+
- &uart2 {
-       pinctrl-0 = <&uart2m0_xfer>;
-       status = "okay";
---- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-+++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-@@ -741,6 +741,10 @@
-       };
- };
-+&tsadc {
-+      status = "okay";
-+};
-+
- &u2phy0 {
-       status = "okay";
- };
index 683e5347f75b01d999e0f4c4bd16f3c279147002..9a7827978aed3c17ce698cf1191482dc0687b5cd 100644 (file)
@@ -23,8 +23,8 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  #include <dt-bindings/gpio/gpio.h>
  #include "rk3328.dtsi"
  
-@@ -16,6 +17,11 @@
-       aliases {
+@@ -17,6 +18,11 @@
+               ethernet0 = &gmac2io;
                ethernet1 = &rtl8153;
                mmc0 = &sdmmc;
 +
@@ -35,7 +35,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
        };
  
        chosen {
-@@ -48,19 +54,22 @@
+@@ -49,19 +55,22 @@
                pinctrl-names = "default";
  
                lan_led: led-0 {
@@ -63,8 +63,8 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
  
 --- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
-@@ -13,6 +13,11 @@
-       aliases {
+@@ -14,6 +14,11 @@
+               ethernet0 = &gmac2io;
                mmc0 = &sdmmc;
                mmc1 = &emmc;
 +
index eeef0df014f2d03bd478821124301fa33e0d542d..9f154e17daa101f63bb8327039fb0f42a90a6c9c 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
 
 --- a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
-@@ -406,6 +406,7 @@
+@@ -407,6 +407,7 @@
        rtl8153: device@2 {
                compatible = "usbbda,8153";
                reg = <2>;
index b3c941821aaaf8a3474772df845acca401ac05fc..e3199ce0ed420b4aa1958a9fd4c5010cef879fce 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
 
 --- a/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
-@@ -335,7 +335,6 @@
+@@ -336,7 +336,6 @@
        sd-uhs-sdr12;
        sd-uhs-sdr25;
        sd-uhs-sdr50;
index 3aff37d0969b01f7ea4f27298641349d6dd8e809..1c9b3280a00b4fc28a4f4ae596fad8ba86ee46c0 100644 (file)
@@ -13,8 +13,8 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
 
 --- a/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts
-@@ -17,6 +17,11 @@
-       aliases {
+@@ -18,6 +18,11 @@
+               ethernet0 = &gmac2io;
                ethernet1 = &rtl8153;
                mmc0 = &sdmmc;
 +
@@ -25,7 +25,7 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
        };
  
        chosen {
-@@ -41,11 +46,10 @@
+@@ -42,11 +47,10 @@
                        gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
                };
  
index af8f8b16bada0aa739641489272bfe9ed4756d73..a7a384d534dfe2711d3c1c19ceebab465600d426 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
 
 --- a/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts
-@@ -365,6 +365,7 @@
+@@ -366,6 +366,7 @@
        rtl8153: device@2 {
                compatible = "usbbda,8153";
                reg = <2>;
index e2ea7fdd63a76567e2e5742ea0ca28c33932771a..a7db327fa48000f1080264bfb427046ea05d824a 100644 (file)
@@ -1,7 +1,7 @@
 --- a/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3328-rock-pi-e.dts
-@@ -23,6 +23,10 @@
-       aliases {
+@@ -25,6 +25,10 @@
+               ethernet1 = &gmac2phy;
                mmc0 = &sdmmc;
                mmc1 = &emmc;
 +              led-boot = &led_blue;
@@ -11,7 +11,7 @@
        };
  
        chosen {
-@@ -55,10 +59,11 @@
+@@ -57,10 +61,11 @@
                pinctrl-0 = <&led_pin>;
                pinctrl-names = "default";
  
index bdcc96ce83140ca7e8dd541f0242a0238a3f338f..648a94c5835bb262c3cac606cdd57a802dc69950 100644 (file)
@@ -1,9 +1,9 @@
 --- a/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts
-@@ -15,6 +15,10 @@
-               ethernet0 = &gmac1;
+@@ -16,6 +16,10 @@
                mmc0 = &sdhci;
                mmc1 = &sdmmc0;
+               mmc2 = &sdmmc2;
 +              led-boot = &led_blue;
 +              led-failsafe = &led_blue;
 +              led-running = &led_blue;
@@ -11,7 +11,7 @@
        };
  
        chosen: chosen {
-@@ -42,11 +46,11 @@
+@@ -43,11 +47,11 @@
        leds {
                compatible = "gpio-leds";
  
index c09915b0e8b0a68336db5b3b3f91802685f1fdcf..c018f5f0ee33b51a3f64e0df63a1d72e2b495537 100644 (file)
@@ -11,8 +11,8 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
 
 --- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-@@ -14,6 +14,11 @@
-       aliases {
+@@ -15,6 +15,11 @@
+               ethernet0 = &gmac1;
                mmc0 = &sdhci;
                mmc1 = &sdmmc;
 +
@@ -23,7 +23,7 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
        };
  
        analog-sound {
-@@ -39,11 +44,10 @@
+@@ -40,11 +45,10 @@
                pinctrl-names = "default";
                pinctrl-0 = <&io_led>;
  
index 675d083a3af8507e963b5aadb14ed3f035ec2347..e69407f6eff75d46ec124a143e8097f2e14e943d 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
 
 --- a/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3588s-rock-5a.dts
-@@ -404,7 +404,7 @@
+@@ -383,7 +383,7 @@
        max-frequency = <150000000>;
        no-sdio;
        no-mmc;
index 496a2911e046cc92b9aac5bd5c0918249a6fbc98..c39cabff373669fc49be4e7c925c359f7dfd208e 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Tianling Shen <cnsztl@gmail.com>
 
 --- a/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts
-@@ -419,7 +419,7 @@
+@@ -426,7 +426,7 @@
        cap-sd-highspeed;
        cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
        disable-wp;
index 1b76fac103a7d5bb7075fe7de8b84fcfccd894d9..0cd50bc74a0b9f7e2e50dd957e512130e3413b48 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
 +++ b/arch/arm64/boot/dts/rockchip/rk3588-nanopc-t6.dtsi
-@@ -634,7 +634,7 @@
+@@ -632,7 +632,7 @@
        disable-wp;
        no-mmc;
        no-sdio;
index 899c85e0d2bdce05c8bf631a2fe2da25baa154d9..4f18677772c8d878712735e343d36cd357ca4e59 100644 (file)
 +};
 --- a/arch/arm64/boot/dts/rockchip/Makefile
 +++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -76,6 +76,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-an
+@@ -83,6 +83,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-an
  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353v.dtb
  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353vs.dtb
  dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg503.dtb
 +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-nanopi-r3s.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.1.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.2.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-a.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-odroid-m1s.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-orangepi-3b-v1.1.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-orangepi-3b-v2.1.dtb
index a9fbf0eef5f3dbdc5ea7ad59f03a7c66a290fe0b..8106575a8324576a54c39436b78b68648d56537e 100644 (file)
@@ -1,7 +1,7 @@
 --- a/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
 +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-4c-plus.dts
 @@ -17,6 +17,10 @@
-       aliases {
+               ethernet0 = &gmac;
                mmc0 = &sdhci;
                mmc1 = &sdmmc;
 +              led-boot = &led_blue;
index 0f7a2d44a19406fa7de6e93ad9d19c8328d4f64a..7a0245968328e170b815f6d1be487f9d123c29cc 100644 (file)
@@ -1,7 +1,7 @@
 --- a/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
 +++ b/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
-@@ -14,6 +14,10 @@
-       aliases {
+@@ -13,6 +13,10 @@
+               ethernet0 = &gmac;
                mmc0 = &sdhci;
                mmc1 = &sdmmc;
 +              led-boot = &led_blue;
@@ -11,7 +11,7 @@
        };
  
        chosen {
-@@ -33,11 +37,11 @@
+@@ -32,11 +36,11 @@
                pinctrl-0 = <&user_led2>;
  
                /* USER_LED2 */