]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: rockchip: Convert dts files used as parents to dtsi files
authorDragan Simic <dsimic@manjaro.org>
Mon, 14 Oct 2024 20:21:57 +0000 (22:21 +0200)
committerHeiko Stuebner <heiko@sntech.de>
Tue, 22 Oct 2024 14:10:27 +0000 (16:10 +0200)
Including a board dts file is not the right way to represent the hierarchical
nature of the board dts files and to create a dts file for another variant of
an ancestor board.  However, a few boards and their variants (ab)used this
approach, so let's clean that up by converting the common ancestors into dtsi
files, and by adding separate board-variant dts files.

No functional changes are introduced, which was validated by decompiling and
comparing all affected board dtb files before and after these changes.  In
more detail, the affected dtb files have some of their blocks shuffled around
a bit and some of their phandles have different values, as a result of the
changes to the order in which the building blocks from the parent dtsi files
are included, but they effectively remain the same as the originals.

The only perceivable introduced change is the turning of "roc-rk3328-cc" into
"ROC-RK3328-CC", which is the model name of one of the affected boards, which
was performed to match the styling of the official board name.

As a side note, due to the nature of introduced changes, this commit is best
viewed using "-B80%/80% -M20% -C5%" as the set of options for git-log(1).

Signed-off-by: Dragan Simic <dsimic@manjaro.org>
Link: https://lore.kernel.org/r/f3d789c14fe34a53327cac03cd3837e530e21f5c.1728937091.git.dsimic@manjaro.org
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
22 files changed:
arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2c-plus.dts
arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2c.dts
arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2c.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s-plus.dts
arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dts
arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus-lts.dts
arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dts
arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts
arch/arm64/boot/dts/rockchip/rk3328-roc-pc.dts
arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4.dts
arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4b.dts
arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s-enterprise.dts
arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6c.dts
arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6s.dts

diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2.dtsi
new file mode 100644 (file)
index 0000000..d6c9064
--- /dev/null
@@ -0,0 +1,394 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2020 David Bauer <mail@david-bauer.net>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+#include "rk3328.dtsi"
+
+/ {
+       aliases {
+               ethernet0 = &gmac2io;
+               ethernet1 = &rtl8153;
+               mmc0 = &sdmmc;
+       };
+
+       chosen {
+               stdout-path = "serial2:1500000n8";
+       };
+
+       gmac_clk: gmac-clock {
+               compatible = "fixed-clock";
+               clock-frequency = <125000000>;
+               clock-output-names = "gmac_clkin";
+               #clock-cells = <0>;
+       };
+
+       keys {
+               compatible = "gpio-keys";
+               pinctrl-0 = <&reset_button_pin>;
+               pinctrl-names = "default";
+
+               key-reset {
+                       label = "reset";
+                       gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_RESTART>;
+                       debounce-interval = <50>;
+               };
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-0 = <&lan_led_pin>,  <&sys_led_pin>, <&wan_led_pin>;
+               pinctrl-names = "default";
+
+               lan_led: led-0 {
+                       gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
+                       label = "nanopi-r2s:green:lan";
+               };
+
+               sys_led: led-1 {
+                       gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
+                       label = "nanopi-r2s:red:sys";
+                       default-state = "on";
+               };
+
+               wan_led: led-2 {
+                       gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
+                       label = "nanopi-r2s:green:wan";
+               };
+       };
+
+       vcc_io_sdio: sdmmcio-regulator {
+               compatible = "regulator-gpio";
+               enable-active-high;
+               gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&sdio_vcc_pin>;
+               pinctrl-names = "default";
+               regulator-name = "vcc_io_sdio";
+               regulator-always-on;
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-settling-time-us = <5000>;
+               regulator-type = "voltage";
+               startup-delay-us = <2000>;
+               states = <1800000 0x1>,
+                        <3300000 0x0>;
+               vin-supply = <&vcc_io_33>;
+       };
+
+       vcc_sd: sdmmc-regulator {
+               compatible = "regulator-fixed";
+               gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
+               pinctrl-0 = <&sdmmc0m1_pin>;
+               pinctrl-names = "default";
+               regulator-name = "vcc_sd";
+               regulator-boot-on;
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&vcc_io_33>;
+       };
+
+       vdd_5v: vdd-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "vdd_5v";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+       };
+
+       vdd_5v_lan: vdd-5v-lan {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&lan_vdd_pin>;
+               pinctrl-names = "default";
+               regulator-name = "vdd_5v_lan";
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&vdd_5v>;
+       };
+};
+
+&cpu0 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu1 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu2 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu3 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&display_subsystem {
+       status = "disabled";
+};
+
+&gmac2io {
+       assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
+       assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
+       clock_in_out = "input";
+       phy-mode = "rgmii";
+       phy-supply = <&vcc_io_33>;
+       pinctrl-0 = <&rgmiim1_pins>;
+       pinctrl-names = "default";
+       snps,aal;
+
+       mdio {
+               compatible = "snps,dwmac-mdio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+       };
+};
+
+&i2c1 {
+       status = "okay";
+
+       rk805: pmic@18 {
+               compatible = "rockchip,rk805";
+               reg = <0x18>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
+               #clock-cells = <1>;
+               clock-output-names = "xin32k", "rk805-clkout2";
+               gpio-controller;
+               #gpio-cells = <2>;
+               pinctrl-0 = <&pmic_int_l>;
+               pinctrl-names = "default";
+               system-power-controller;
+               wakeup-source;
+
+               vcc1-supply = <&vdd_5v>;
+               vcc2-supply = <&vdd_5v>;
+               vcc3-supply = <&vdd_5v>;
+               vcc4-supply = <&vdd_5v>;
+               vcc5-supply = <&vcc_io_33>;
+               vcc6-supply = <&vdd_5v>;
+
+               regulators {
+                       vdd_log: DCDC_REG1 {
+                               regulator-name = "vdd_log";
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <712500>;
+                               regulator-max-microvolt = <1450000>;
+                               regulator-ramp-delay = <12500>;
+
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
+                       };
+
+                       vdd_arm: DCDC_REG2 {
+                               regulator-name = "vdd_arm";
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <712500>;
+                               regulator-max-microvolt = <1450000>;
+                               regulator-ramp-delay = <12500>;
+
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <950000>;
+                               };
+                       };
+
+                       vcc_ddr: DCDC_REG3 {
+                               regulator-name = "vcc_ddr";
+                               regulator-always-on;
+                               regulator-boot-on;
+
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                               };
+                       };
+
+                       vcc_io_33: DCDC_REG4 {
+                               regulator-name = "vcc_io_33";
+                               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_18: LDO_REG1 {
+                               regulator-name = "vcc_18";
+                               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>;
+                               };
+                       };
+
+                       vcc18_emmc: LDO_REG2 {
+                               regulator-name = "vcc18_emmc";
+                               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>;
+                               };
+                       };
+
+                       vdd_10: LDO_REG3 {
+                               regulator-name = "vdd_10";
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
+                       };
+               };
+       };
+};
+
+&io_domains {
+       pmuio-supply = <&vcc_io_33>;
+       vccio1-supply = <&vcc_io_33>;
+       vccio2-supply = <&vcc18_emmc>;
+       vccio3-supply = <&vcc_io_sdio>;
+       vccio4-supply = <&vcc_18>;
+       vccio5-supply = <&vcc_io_33>;
+       vccio6-supply = <&vcc_io_33>;
+       status = "okay";
+};
+
+&pinctrl {
+       button {
+               reset_button_pin: reset-button-pin {
+                       rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       gmac2io {
+               eth_phy_reset_pin: eth-phy-reset-pin {
+                       rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
+               };
+       };
+
+       leds {
+               lan_led_pin: lan-led-pin {
+                       rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               sys_led_pin: sys-led-pin {
+                       rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               wan_led_pin: wan-led-pin {
+                       rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       lan {
+               lan_vdd_pin: lan-vdd-pin {
+                       rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       pmic {
+               pmic_int_l: pmic-int-l {
+                       rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+
+       sd {
+               sdio_vcc_pin: sdio-vcc-pin {
+                       rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+};
+
+&pwm2 {
+       status = "okay";
+};
+
+&sdmmc {
+       bus-width = <4>;
+       cap-sd-highspeed;
+       disable-wp;
+       pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
+       pinctrl-names = "default";
+       sd-uhs-sdr12;
+       sd-uhs-sdr25;
+       sd-uhs-sdr50;
+       sd-uhs-sdr104;
+       vmmc-supply = <&vcc_sd>;
+       vqmmc-supply = <&vcc_io_sdio>;
+       status = "okay";
+};
+
+&tsadc {
+       rockchip,hw-tshut-mode = <0>;
+       rockchip,hw-tshut-polarity = <0>;
+       status = "okay";
+};
+
+&u2phy {
+       status = "okay";
+};
+
+&u2phy_host {
+       status = "okay";
+};
+
+&u2phy_otg {
+       status = "okay";
+};
+
+&uart2 {
+       status = "okay";
+};
+
+&usb20_otg {
+       status = "okay";
+       dr_mode = "host";
+};
+
+&usbdrd3 {
+       dr_mode = "host";
+       status = "okay";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       /* Second port is for USB 3.0 */
+       rtl8153: device@2 {
+               compatible = "usbbda,8153";
+               reg = <2>;
+       };
+};
+
+&usb_host0_ehci {
+       status = "okay";
+};
+
+&usb_host0_ohci {
+       status = "okay";
+};
index 16a1958e457277eb8794f71975a8e9ff87b9892b..3709ba30bbd4452d145480d4271851faefbdcea5 100644 (file)
@@ -7,7 +7,8 @@
  */
 
 /dts-v1/;
-#include "rk3328-nanopi-r2c.dts"
+
+#include "rk3328-nanopi-r2c.dtsi"
 
 / {
        model = "FriendlyElec NanoPi R2C Plus";
index a07a26b944a0b30464b42d5622df789f15dbf478..e8ab773dc245b7276b942f71dffda5efbe8bfb93 100644 (file)
@@ -7,34 +7,10 @@
  */
 
 /dts-v1/;
-#include "rk3328-nanopi-r2s.dts"
+
+#include "rk3328-nanopi-r2c.dtsi"
 
 / {
        model = "FriendlyElec NanoPi R2C";
        compatible = "friendlyarm,nanopi-r2c", "rockchip,rk3328";
 };
-
-&gmac2io {
-       phy-handle = <&yt8521s>;
-       tx_delay = <0x22>;
-       rx_delay = <0x12>;
-
-       mdio {
-               /delete-node/ ethernet-phy@1;
-
-               yt8521s: ethernet-phy@3 {
-                       compatible = "ethernet-phy-ieee802.3-c22";
-                       reg = <3>;
-
-                       motorcomm,clk-out-frequency-hz = <125000000>;
-                       motorcomm,keep-pll-enabled;
-                       motorcomm,auto-sleep-disabled;
-
-                       pinctrl-0 = <&eth_phy_reset_pin>;
-                       pinctrl-names = "default";
-                       reset-assert-us = <10000>;
-                       reset-deassert-us = <50000>;
-                       reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
-               };
-       };
-};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2c.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2c.dtsi
new file mode 100644 (file)
index 0000000..3b0457d
--- /dev/null
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/*
+ * Copyright (c) 2021 FriendlyElec Computer Tech. Co., Ltd.
+ * (http://www.friendlyarm.com)
+ *
+ * Copyright (c) 2021-2023 Tianling Shen <cnsztl@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "rk3328-nanopi-r2.dtsi"
+
+&gmac2io {
+       phy-handle = <&yt8521s>;
+       tx_delay = <0x22>;
+       rx_delay = <0x12>;
+       status = "okay";
+
+       mdio {
+               yt8521s: ethernet-phy@3 {
+                       compatible = "ethernet-phy-ieee802.3-c22";
+                       reg = <3>;
+
+                       motorcomm,clk-out-frequency-hz = <125000000>;
+                       motorcomm,keep-pll-enabled;
+                       motorcomm,auto-sleep-disabled;
+
+                       pinctrl-0 = <&eth_phy_reset_pin>;
+                       pinctrl-names = "default";
+                       reset-assert-us = <10000>;
+                       reset-deassert-us = <50000>;
+                       reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
index cb81ba3f23ffd56fa18a4aa6ef4a19d8bf047145..8ae9b755081665fd691b79c8176ba5fb9dd29847 100644 (file)
@@ -7,7 +7,8 @@
  */
 
 /dts-v1/;
-#include "rk3328-nanopi-r2s.dts"
+
+#include "rk3328-nanopi-r2s.dtsi"
 
 / {
        compatible = "friendlyarm,nanopi-r2s-plus", "rockchip,rk3328";
        supports-emmc;
        status = "okay";
 };
+
+&gmac2io {
+       phy-handle = <&rtl8211e>;
+       tx_delay = <0x24>;
+       rx_delay = <0x18>;
+
+       mdio {
+               rtl8211e: ethernet-phy@1 {
+                       reg = <1>;
+                       pinctrl-0 = <&eth_phy_reset_pin>;
+                       pinctrl-names = "default";
+                       reset-assert-us = <10000>;
+                       reset-deassert-us = <50000>;
+                       reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
index a10847509bfeb565eed8d39788d37686cfa54c8c..8579f22a194265c864ede65ada2730a2de1f116a 100644 (file)
@@ -5,406 +5,9 @@
 
 /dts-v1/;
 
-#include <dt-bindings/input/input.h>
-#include <dt-bindings/gpio/gpio.h>
-#include "rk3328.dtsi"
+#include "rk3328-nanopi-r2s.dtsi"
 
 / {
        model = "FriendlyElec NanoPi R2S";
        compatible = "friendlyarm,nanopi-r2s", "rockchip,rk3328";
-
-       aliases {
-               ethernet0 = &gmac2io;
-               ethernet1 = &rtl8153;
-               mmc0 = &sdmmc;
-       };
-
-       chosen {
-               stdout-path = "serial2:1500000n8";
-       };
-
-       gmac_clk: gmac-clock {
-               compatible = "fixed-clock";
-               clock-frequency = <125000000>;
-               clock-output-names = "gmac_clkin";
-               #clock-cells = <0>;
-       };
-
-       keys {
-               compatible = "gpio-keys";
-               pinctrl-0 = <&reset_button_pin>;
-               pinctrl-names = "default";
-
-               key-reset {
-                       label = "reset";
-                       gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
-                       linux,code = <KEY_RESTART>;
-                       debounce-interval = <50>;
-               };
-       };
-
-       leds {
-               compatible = "gpio-leds";
-               pinctrl-0 = <&lan_led_pin>,  <&sys_led_pin>, <&wan_led_pin>;
-               pinctrl-names = "default";
-
-               lan_led: led-0 {
-                       gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
-                       label = "nanopi-r2s:green:lan";
-               };
-
-               sys_led: led-1 {
-                       gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
-                       label = "nanopi-r2s:red:sys";
-                       default-state = "on";
-               };
-
-               wan_led: led-2 {
-                       gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
-                       label = "nanopi-r2s:green:wan";
-               };
-       };
-
-       vcc_io_sdio: sdmmcio-regulator {
-               compatible = "regulator-gpio";
-               enable-active-high;
-               gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
-               pinctrl-0 = <&sdio_vcc_pin>;
-               pinctrl-names = "default";
-               regulator-name = "vcc_io_sdio";
-               regulator-always-on;
-               regulator-min-microvolt = <1800000>;
-               regulator-max-microvolt = <3300000>;
-               regulator-settling-time-us = <5000>;
-               regulator-type = "voltage";
-               startup-delay-us = <2000>;
-               states = <1800000 0x1>,
-                        <3300000 0x0>;
-               vin-supply = <&vcc_io_33>;
-       };
-
-       vcc_sd: sdmmc-regulator {
-               compatible = "regulator-fixed";
-               gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
-               pinctrl-0 = <&sdmmc0m1_pin>;
-               pinctrl-names = "default";
-               regulator-name = "vcc_sd";
-               regulator-boot-on;
-               regulator-min-microvolt = <3300000>;
-               regulator-max-microvolt = <3300000>;
-               vin-supply = <&vcc_io_33>;
-       };
-
-       vdd_5v: vdd-5v {
-               compatible = "regulator-fixed";
-               regulator-name = "vdd_5v";
-               regulator-always-on;
-               regulator-boot-on;
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-       };
-
-       vdd_5v_lan: vdd-5v-lan {
-               compatible = "regulator-fixed";
-               enable-active-high;
-               gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
-               pinctrl-0 = <&lan_vdd_pin>;
-               pinctrl-names = "default";
-               regulator-name = "vdd_5v_lan";
-               regulator-always-on;
-               regulator-boot-on;
-               vin-supply = <&vdd_5v>;
-       };
-};
-
-&cpu0 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&cpu1 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&cpu2 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&cpu3 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&display_subsystem {
-       status = "disabled";
-};
-
-&gmac2io {
-       assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
-       assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
-       clock_in_out = "input";
-       phy-handle = <&rtl8211e>;
-       phy-mode = "rgmii";
-       phy-supply = <&vcc_io_33>;
-       pinctrl-0 = <&rgmiim1_pins>;
-       pinctrl-names = "default";
-       rx_delay = <0x18>;
-       snps,aal;
-       tx_delay = <0x24>;
-       status = "okay";
-
-       mdio {
-               compatible = "snps,dwmac-mdio";
-               #address-cells = <1>;
-               #size-cells = <0>;
-
-               rtl8211e: ethernet-phy@1 {
-                       reg = <1>;
-                       pinctrl-0 = <&eth_phy_reset_pin>;
-                       pinctrl-names = "default";
-                       reset-assert-us = <10000>;
-                       reset-deassert-us = <50000>;
-                       reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
-               };
-       };
-};
-
-&i2c1 {
-       status = "okay";
-
-       rk805: pmic@18 {
-               compatible = "rockchip,rk805";
-               reg = <0x18>;
-               interrupt-parent = <&gpio1>;
-               interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
-               #clock-cells = <1>;
-               clock-output-names = "xin32k", "rk805-clkout2";
-               gpio-controller;
-               #gpio-cells = <2>;
-               pinctrl-0 = <&pmic_int_l>;
-               pinctrl-names = "default";
-               system-power-controller;
-               wakeup-source;
-
-               vcc1-supply = <&vdd_5v>;
-               vcc2-supply = <&vdd_5v>;
-               vcc3-supply = <&vdd_5v>;
-               vcc4-supply = <&vdd_5v>;
-               vcc5-supply = <&vcc_io_33>;
-               vcc6-supply = <&vdd_5v>;
-
-               regulators {
-                       vdd_log: DCDC_REG1 {
-                               regulator-name = "vdd_log";
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-min-microvolt = <712500>;
-                               regulator-max-microvolt = <1450000>;
-                               regulator-ramp-delay = <12500>;
-
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <1000000>;
-                               };
-                       };
-
-                       vdd_arm: DCDC_REG2 {
-                               regulator-name = "vdd_arm";
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-min-microvolt = <712500>;
-                               regulator-max-microvolt = <1450000>;
-                               regulator-ramp-delay = <12500>;
-
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <950000>;
-                               };
-                       };
-
-                       vcc_ddr: DCDC_REG3 {
-                               regulator-name = "vcc_ddr";
-                               regulator-always-on;
-                               regulator-boot-on;
-
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                               };
-                       };
-
-                       vcc_io_33: DCDC_REG4 {
-                               regulator-name = "vcc_io_33";
-                               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_18: LDO_REG1 {
-                               regulator-name = "vcc_18";
-                               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>;
-                               };
-                       };
-
-                       vcc18_emmc: LDO_REG2 {
-                               regulator-name = "vcc18_emmc";
-                               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>;
-                               };
-                       };
-
-                       vdd_10: LDO_REG3 {
-                               regulator-name = "vdd_10";
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-min-microvolt = <1000000>;
-                               regulator-max-microvolt = <1000000>;
-
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <1000000>;
-                               };
-                       };
-               };
-       };
-};
-
-&io_domains {
-       pmuio-supply = <&vcc_io_33>;
-       vccio1-supply = <&vcc_io_33>;
-       vccio2-supply = <&vcc18_emmc>;
-       vccio3-supply = <&vcc_io_sdio>;
-       vccio4-supply = <&vcc_18>;
-       vccio5-supply = <&vcc_io_33>;
-       vccio6-supply = <&vcc_io_33>;
-       status = "okay";
-};
-
-&pinctrl {
-       button {
-               reset_button_pin: reset-button-pin {
-                       rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
-
-       gmac2io {
-               eth_phy_reset_pin: eth-phy-reset-pin {
-                       rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
-               };
-       };
-
-       leds {
-               lan_led_pin: lan-led-pin {
-                       rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-
-               sys_led_pin: sys-led-pin {
-                       rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-
-               wan_led_pin: wan-led-pin {
-                       rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
-
-       lan {
-               lan_vdd_pin: lan-vdd-pin {
-                       rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
-
-       pmic {
-               pmic_int_l: pmic-int-l {
-                       rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
-               };
-       };
-
-       sd {
-               sdio_vcc_pin: sdio-vcc-pin {
-                       rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
-               };
-       };
-};
-
-&pwm2 {
-       status = "okay";
-};
-
-&sdmmc {
-       bus-width = <4>;
-       cap-sd-highspeed;
-       disable-wp;
-       pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
-       pinctrl-names = "default";
-       sd-uhs-sdr12;
-       sd-uhs-sdr25;
-       sd-uhs-sdr50;
-       sd-uhs-sdr104;
-       vmmc-supply = <&vcc_sd>;
-       vqmmc-supply = <&vcc_io_sdio>;
-       status = "okay";
-};
-
-&tsadc {
-       rockchip,hw-tshut-mode = <0>;
-       rockchip,hw-tshut-polarity = <0>;
-       status = "okay";
-};
-
-&u2phy {
-       status = "okay";
-};
-
-&u2phy_host {
-       status = "okay";
-};
-
-&u2phy_otg {
-       status = "okay";
-};
-
-&uart2 {
-       status = "okay";
-};
-
-&usb20_otg {
-       status = "okay";
-       dr_mode = "host";
-};
-
-&usbdrd3 {
-       dr_mode = "host";
-       status = "okay";
-       #address-cells = <1>;
-       #size-cells = <0>;
-
-       /* Second port is for USB 3.0 */
-       rtl8153: device@2 {
-               compatible = "usbbda,8153";
-               reg = <2>;
-       };
-};
-
-&usb_host0_ehci {
-       status = "okay";
-};
-
-&usb_host0_ohci {
-       status = "okay";
 };
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-r2s.dtsi
new file mode 100644 (file)
index 0000000..308e526
--- /dev/null
@@ -0,0 +1,29 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * (C) Copyright 2018 FriendlyElec Computer Tech. Co., Ltd.
+ * (http://www.friendlyarm.com)
+ *
+ * (C) Copyright 2016 Rockchip Electronics Co., Ltd
+ */
+
+/dts-v1/;
+
+#include "rk3328-nanopi-r2.dtsi"
+
+&gmac2io {
+       phy-handle = <&rtl8211e>;
+       tx_delay = <0x24>;
+       rx_delay = <0x18>;
+       status = "okay";
+
+       mdio {
+               rtl8211e: ethernet-phy@1 {
+                       reg = <1>;
+                       pinctrl-0 = <&eth_phy_reset_pin>;
+                       pinctrl-names = "default";
+                       reset-assert-us = <10000>;
+                       reset-deassert-us = <50000>;
+                       reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
index 4237f2ee8fee3370711d376313c7f966ab597995..67c246ad8b8c0df4ea2d172b66dcbe71e4e45b18 100644 (file)
@@ -7,7 +7,8 @@
  */
 
 /dts-v1/;
-#include "rk3328-orangepi-r1-plus.dts"
+
+#include "rk3328-orangepi-r1-plus.dtsi"
 
 / {
        model = "Xunlong Orange Pi R1 Plus LTS";
        phy-handle = <&yt8531c>;
        tx_delay = <0x19>;
        rx_delay = <0x05>;
+       status = "okay";
 
        mdio {
-               /delete-node/ ethernet-phy@1;
-
                yt8531c: ethernet-phy@0 {
                        compatible = "ethernet-phy-ieee802.3-c22";
                        reg = <0>;
index 99499a0bab19a36108726a8d4b703826187522fe..324a8e951f7e49982227345a3f8013cc1972154d 100644 (file)
 
 /dts-v1/;
 
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/leds/common.h>
-#include "rk3328.dtsi"
+#include "rk3328-orangepi-r1-plus.dtsi"
 
 / {
        model = "Xunlong Orange Pi R1 Plus";
        compatible = "xunlong,orangepi-r1-plus", "rockchip,rk3328";
-
-       aliases {
-               ethernet0 = &gmac2io;
-               ethernet1 = &rtl8153;
-               mmc0 = &sdmmc;
-       };
-
-       chosen {
-               stdout-path = "serial2:1500000n8";
-       };
-
-       gmac_clk: gmac-clock {
-               compatible = "fixed-clock";
-               clock-frequency = <125000000>;
-               clock-output-names = "gmac_clkin";
-               #clock-cells = <0>;
-       };
-
-       leds {
-               compatible = "gpio-leds";
-               pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
-               pinctrl-names = "default";
-
-               led-0 {
-                       function = LED_FUNCTION_LAN;
-                       color = <LED_COLOR_ID_GREEN>;
-                       gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
-               };
-
-               led-1 {
-                       function = LED_FUNCTION_STATUS;
-                       color = <LED_COLOR_ID_RED>;
-                       gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
-                       linux,default-trigger = "heartbeat";
-               };
-
-               led-2 {
-                       function = LED_FUNCTION_WAN;
-                       color = <LED_COLOR_ID_GREEN>;
-                       gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
-               };
-       };
-
-       vcc_sd: sdmmc-regulator {
-               compatible = "regulator-fixed";
-               gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
-               pinctrl-0 = <&sdmmc0m1_pin>;
-               pinctrl-names = "default";
-               regulator-name = "vcc_sd";
-               regulator-boot-on;
-               vin-supply = <&vcc_io>;
-       };
-
-       vcc_sys: vcc-sys-regulator {
-               compatible = "regulator-fixed";
-               regulator-name = "vcc_sys";
-               regulator-always-on;
-               regulator-boot-on;
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-       };
-
-       vdd_5v_lan: vdd-5v-lan-regulator {
-               compatible = "regulator-fixed";
-               enable-active-high;
-               gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
-               pinctrl-0 = <&lan_vdd_pin>;
-               pinctrl-names = "default";
-               regulator-name = "vdd_5v_lan";
-               regulator-always-on;
-               regulator-boot-on;
-               vin-supply = <&vcc_sys>;
-       };
-};
-
-&cpu0 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&cpu1 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&cpu2 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&cpu3 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&display_subsystem {
-       status = "disabled";
 };
 
 &gmac2io {
-       assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
-       assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
-       clock_in_out = "input";
        phy-handle = <&rtl8211e>;
-       phy-mode = "rgmii";
-       phy-supply = <&vcc_io>;
-       pinctrl-0 = <&rgmiim1_pins>;
-       pinctrl-names = "default";
-       snps,aal;
-       rx_delay = <0x18>;
        tx_delay = <0x24>;
+       rx_delay = <0x18>;
        status = "okay";
 
        mdio {
-               compatible = "snps,dwmac-mdio";
-               #address-cells = <1>;
-               #size-cells = <0>;
-
                rtl8211e: ethernet-phy@1 {
                        reg = <1>;
                        pinctrl-0 = <&eth_phy_reset_pin>;
                };
        };
 };
-
-&i2c1 {
-       status = "okay";
-
-       rk805: pmic@18 {
-               compatible = "rockchip,rk805";
-               reg = <0x18>;
-               interrupt-parent = <&gpio1>;
-               interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
-               #clock-cells = <1>;
-               clock-output-names = "xin32k", "rk805-clkout2";
-               gpio-controller;
-               #gpio-cells = <2>;
-               pinctrl-0 = <&pmic_int_l>;
-               pinctrl-names = "default";
-               system-power-controller;
-               wakeup-source;
-
-               vcc1-supply = <&vcc_sys>;
-               vcc2-supply = <&vcc_sys>;
-               vcc3-supply = <&vcc_sys>;
-               vcc4-supply = <&vcc_sys>;
-               vcc5-supply = <&vcc_io>;
-               vcc6-supply = <&vcc_sys>;
-
-               regulators {
-                       vdd_log: DCDC_REG1 {
-                               regulator-name = "vdd_log";
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-min-microvolt = <712500>;
-                               regulator-max-microvolt = <1450000>;
-                               regulator-ramp-delay = <12500>;
-
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <1000000>;
-                               };
-                       };
-
-                       vdd_arm: DCDC_REG2 {
-                               regulator-name = "vdd_arm";
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-min-microvolt = <712500>;
-                               regulator-max-microvolt = <1450000>;
-                               regulator-ramp-delay = <12500>;
-
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <950000>;
-                               };
-                       };
-
-                       vcc_ddr: DCDC_REG3 {
-                               regulator-name = "vcc_ddr";
-                               regulator-always-on;
-                               regulator-boot-on;
-
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                               };
-                       };
-
-                       vcc_io: DCDC_REG4 {
-                               regulator-name = "vcc_io";
-                               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_18: LDO_REG1 {
-                               regulator-name = "vcc_18";
-                               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>;
-                               };
-                       };
-
-                       vcc18_emmc: LDO_REG2 {
-                               regulator-name = "vcc18_emmc";
-                               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>;
-                               };
-                       };
-
-                       vdd_10: LDO_REG3 {
-                               regulator-name = "vdd_10";
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-min-microvolt = <1000000>;
-                               regulator-max-microvolt = <1000000>;
-
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <1000000>;
-                               };
-                       };
-               };
-       };
-};
-
-&io_domains {
-       pmuio-supply = <&vcc_io>;
-       vccio1-supply = <&vcc_io>;
-       vccio2-supply = <&vcc18_emmc>;
-       vccio3-supply = <&vcc_io>;
-       vccio4-supply = <&vcc_io>;
-       vccio5-supply = <&vcc_io>;
-       vccio6-supply = <&vcc_io>;
-       status = "okay";
-};
-
-&pinctrl {
-       gmac2io {
-               eth_phy_reset_pin: eth-phy-reset-pin {
-                       rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
-               };
-       };
-
-       leds {
-               lan_led_pin: lan-led-pin {
-                       rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-
-               sys_led_pin: sys-led-pin {
-                       rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-
-               wan_led_pin: wan-led-pin {
-                       rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
-
-       lan {
-               lan_vdd_pin: lan-vdd-pin {
-                       rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
-
-       pmic {
-               pmic_int_l: pmic-int-l {
-                       rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
-               };
-       };
-};
-
-&pwm2 {
-       status = "okay";
-};
-
-&sdmmc {
-       bus-width = <4>;
-       cap-sd-highspeed;
-       disable-wp;
-       pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
-       pinctrl-names = "default";
-       vmmc-supply = <&vcc_sd>;
-       status = "okay";
-};
-
-&spi0 {
-       status = "okay";
-
-       flash@0 {
-               compatible = "jedec,spi-nor";
-               reg = <0>;
-               spi-max-frequency = <50000000>;
-       };
-};
-
-&tsadc {
-       rockchip,hw-tshut-mode = <0>;
-       rockchip,hw-tshut-polarity = <0>;
-       status = "okay";
-};
-
-&u2phy {
-       status = "okay";
-};
-
-&u2phy_host {
-       status = "okay";
-};
-
-&u2phy_otg {
-       status = "okay";
-};
-
-&uart2 {
-       status = "okay";
-};
-
-&usb20_otg {
-       dr_mode = "host";
-       status = "okay";
-};
-
-&usbdrd3 {
-       dr_mode = "host";
-       status = "okay";
-       #address-cells = <1>;
-       #size-cells = <0>;
-
-       /* Second port is for USB 3.0 */
-       rtl8153: device@2 {
-               compatible = "usbbda,8153";
-               reg = <2>;
-       };
-};
-
-&usb_host0_ehci {
-       status = "okay";
-};
-
-&usb_host0_ohci {
-       status = "okay";
-};
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-orangepi-r1-plus.dtsi
new file mode 100644 (file)
index 0000000..1898ce6
--- /dev/null
@@ -0,0 +1,358 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Based on rk3328-nanopi-r2s.dts, which is:
+ *   Copyright (c) 2020 David Bauer <mail@david-bauer.net>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/leds/common.h>
+#include "rk3328.dtsi"
+
+/ {
+       aliases {
+               ethernet0 = &gmac2io;
+               ethernet1 = &rtl8153;
+               mmc0 = &sdmmc;
+       };
+
+       chosen {
+               stdout-path = "serial2:1500000n8";
+       };
+
+       gmac_clk: gmac-clock {
+               compatible = "fixed-clock";
+               clock-frequency = <125000000>;
+               clock-output-names = "gmac_clkin";
+               #clock-cells = <0>;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+               pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
+               pinctrl-names = "default";
+
+               led-0 {
+                       function = LED_FUNCTION_LAN;
+                       color = <LED_COLOR_ID_GREEN>;
+                       gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
+               };
+
+               led-1 {
+                       function = LED_FUNCTION_STATUS;
+                       color = <LED_COLOR_ID_RED>;
+                       gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "heartbeat";
+               };
+
+               led-2 {
+                       function = LED_FUNCTION_WAN;
+                       color = <LED_COLOR_ID_GREEN>;
+                       gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
+               };
+       };
+
+       vcc_sd: sdmmc-regulator {
+               compatible = "regulator-fixed";
+               gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
+               pinctrl-0 = <&sdmmc0m1_pin>;
+               pinctrl-names = "default";
+               regulator-name = "vcc_sd";
+               regulator-boot-on;
+               vin-supply = <&vcc_io>;
+       };
+
+       vcc_sys: vcc-sys-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc_sys";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+       };
+
+       vdd_5v_lan: vdd-5v-lan-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
+               pinctrl-0 = <&lan_vdd_pin>;
+               pinctrl-names = "default";
+               regulator-name = "vdd_5v_lan";
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&vcc_sys>;
+       };
+};
+
+&cpu0 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu1 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu2 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu3 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&display_subsystem {
+       status = "disabled";
+};
+
+&gmac2io {
+       assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
+       assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
+       clock_in_out = "input";
+       phy-mode = "rgmii";
+       phy-supply = <&vcc_io>;
+       pinctrl-0 = <&rgmiim1_pins>;
+       pinctrl-names = "default";
+       snps,aal;
+
+       mdio {
+               compatible = "snps,dwmac-mdio";
+               #address-cells = <1>;
+               #size-cells = <0>;
+       };
+};
+
+&i2c1 {
+       status = "okay";
+
+       rk805: pmic@18 {
+               compatible = "rockchip,rk805";
+               reg = <0x18>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
+               #clock-cells = <1>;
+               clock-output-names = "xin32k", "rk805-clkout2";
+               gpio-controller;
+               #gpio-cells = <2>;
+               pinctrl-0 = <&pmic_int_l>;
+               pinctrl-names = "default";
+               system-power-controller;
+               wakeup-source;
+
+               vcc1-supply = <&vcc_sys>;
+               vcc2-supply = <&vcc_sys>;
+               vcc3-supply = <&vcc_sys>;
+               vcc4-supply = <&vcc_sys>;
+               vcc5-supply = <&vcc_io>;
+               vcc6-supply = <&vcc_sys>;
+
+               regulators {
+                       vdd_log: DCDC_REG1 {
+                               regulator-name = "vdd_log";
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <712500>;
+                               regulator-max-microvolt = <1450000>;
+                               regulator-ramp-delay = <12500>;
+
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
+                       };
+
+                       vdd_arm: DCDC_REG2 {
+                               regulator-name = "vdd_arm";
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <712500>;
+                               regulator-max-microvolt = <1450000>;
+                               regulator-ramp-delay = <12500>;
+
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <950000>;
+                               };
+                       };
+
+                       vcc_ddr: DCDC_REG3 {
+                               regulator-name = "vcc_ddr";
+                               regulator-always-on;
+                               regulator-boot-on;
+
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                               };
+                       };
+
+                       vcc_io: DCDC_REG4 {
+                               regulator-name = "vcc_io";
+                               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_18: LDO_REG1 {
+                               regulator-name = "vcc_18";
+                               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>;
+                               };
+                       };
+
+                       vcc18_emmc: LDO_REG2 {
+                               regulator-name = "vcc18_emmc";
+                               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>;
+                               };
+                       };
+
+                       vdd_10: LDO_REG3 {
+                               regulator-name = "vdd_10";
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
+                       };
+               };
+       };
+};
+
+&io_domains {
+       pmuio-supply = <&vcc_io>;
+       vccio1-supply = <&vcc_io>;
+       vccio2-supply = <&vcc18_emmc>;
+       vccio3-supply = <&vcc_io>;
+       vccio4-supply = <&vcc_io>;
+       vccio5-supply = <&vcc_io>;
+       vccio6-supply = <&vcc_io>;
+       status = "okay";
+};
+
+&pinctrl {
+       gmac2io {
+               eth_phy_reset_pin: eth-phy-reset-pin {
+                       rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
+               };
+       };
+
+       leds {
+               lan_led_pin: lan-led-pin {
+                       rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               sys_led_pin: sys-led-pin {
+                       rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               wan_led_pin: wan-led-pin {
+                       rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       lan {
+               lan_vdd_pin: lan-vdd-pin {
+                       rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       pmic {
+               pmic_int_l: pmic-int-l {
+                       rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+};
+
+&pwm2 {
+       status = "okay";
+};
+
+&sdmmc {
+       bus-width = <4>;
+       cap-sd-highspeed;
+       disable-wp;
+       pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
+       pinctrl-names = "default";
+       vmmc-supply = <&vcc_sd>;
+       status = "okay";
+};
+
+&spi0 {
+       status = "okay";
+
+       flash@0 {
+               compatible = "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <50000000>;
+       };
+};
+
+&tsadc {
+       rockchip,hw-tshut-mode = <0>;
+       rockchip,hw-tshut-polarity = <0>;
+       status = "okay";
+};
+
+&u2phy {
+       status = "okay";
+};
+
+&u2phy_host {
+       status = "okay";
+};
+
+&u2phy_otg {
+       status = "okay";
+};
+
+&uart2 {
+       status = "okay";
+};
+
+&usb20_otg {
+       dr_mode = "host";
+       status = "okay";
+};
+
+&usbdrd3 {
+       dr_mode = "host";
+       status = "okay";
+       #address-cells = <1>;
+       #size-cells = <0>;
+
+       /* Second port is for USB 3.0 */
+       rtl8153: device@2 {
+               compatible = "usbbda,8153";
+               reg = <2>;
+       };
+};
+
+&usb_host0_ehci {
+       status = "okay";
+};
+
+&usb_host0_ohci {
+       status = "okay";
+};
index 88bb95075b6f4530be255532bbb9f4d92c66fe99..1ea4b2a95a0962393e9270618d4784ca4c744a26 100644 (file)
  */
 
 /dts-v1/;
-#include "rk3328.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include "rk3328-roc.dtsi"
 
 / {
-       model = "Firefly roc-rk3328-cc";
+       model = "Firefly ROC-RK3328-CC";
        compatible = "firefly,roc-rk3328-cc", "rockchip,rk3328";
-
-       aliases {
-               ethernet0 = &gmac2io;
-               mmc0 = &sdmmc;
-               mmc1 = &emmc;
-       };
-
-       chosen {
-               stdout-path = "serial2:1500000n8";
-       };
-
-       gmac_clkin: external-gmac-clock {
-               compatible = "fixed-clock";
-               clock-frequency = <125000000>;
-               clock-output-names = "gmac_clkin";
-               #clock-cells = <0>;
-       };
-
-       dc_12v: dc-12v {
-               compatible = "regulator-fixed";
-               regulator-name = "dc_12v";
-               regulator-always-on;
-               regulator-boot-on;
-               regulator-min-microvolt = <12000000>;
-               regulator-max-microvolt = <12000000>;
-       };
-
-       vcc_sd: sdmmc-regulator {
-               compatible = "regulator-fixed";
-               gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&sdmmc0m1_pin>;
-               regulator-boot-on;
-               regulator-name = "vcc_sd";
-               regulator-min-microvolt = <3300000>;
-               regulator-max-microvolt = <3300000>;
-               vin-supply = <&vcc_io>;
-       };
-
-       vcc_sdio: sdmmcio-regulator {
-               compatible = "regulator-gpio";
-               gpios = <&grf_gpio 0 GPIO_ACTIVE_HIGH>;
-               states = <1800000 0x1>,
-                        <3300000 0x0>;
-               regulator-name = "vcc_sdio";
-               regulator-type = "voltage";
-               regulator-min-microvolt = <1800000>;
-               regulator-max-microvolt = <3300000>;
-               regulator-always-on;
-               vin-supply = <&vcc_sys>;
-       };
-
-       vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
-               compatible = "regulator-fixed";
-               enable-active-high;
-               gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
-               pinctrl-names = "default";
-               pinctrl-0 = <&usb20_host_drv>;
-               regulator-name = "vcc_host1_5v";
-               regulator-always-on;
-               vin-supply = <&vcc_sys>;
-       };
-
-       vcc_sys: vcc-sys {
-               compatible = "regulator-fixed";
-               regulator-name = "vcc_sys";
-               regulator-always-on;
-               regulator-boot-on;
-               regulator-min-microvolt = <5000000>;
-               regulator-max-microvolt = <5000000>;
-               vin-supply = <&dc_12v>;
-       };
-
-       vcc_phy: vcc-phy-regulator {
-               compatible = "regulator-fixed";
-               regulator-name = "vcc_phy";
-               regulator-always-on;
-               regulator-boot-on;
-       };
-
-       leds {
-               compatible = "gpio-leds";
-
-               power_led: led-0 {
-                       label = "firefly:blue:power";
-                       linux,default-trigger = "heartbeat";
-                       gpios = <&rk805 1 GPIO_ACTIVE_LOW>;
-                       default-state = "on";
-               };
-
-               user_led: led-1 {
-                       label = "firefly:yellow:user";
-                       linux,default-trigger = "mmc1";
-                       gpios = <&rk805 0 GPIO_ACTIVE_LOW>;
-                       default-state = "off";
-               };
-       };
-};
-
-&analog_sound {
-       status = "okay";
-};
-
-&codec {
-       status = "okay";
-};
-
-&cpu0 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&cpu1 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&cpu2 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&cpu3 {
-       cpu-supply = <&vdd_arm>;
-};
-
-&emmc {
-       bus-width = <8>;
-       cap-mmc-highspeed;
-       max-frequency = <150000000>;
-       mmc-ddr-1_8v;
-       mmc-hs200-1_8v;
-       non-removable;
-       pinctrl-names = "default";
-       pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
-       vmmc-supply = <&vcc_io>;
-       vqmmc-supply = <&vcc18_emmc>;
-       status = "okay";
-};
-
-&gmac2io {
-       assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
-       assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
-       clock_in_out = "input";
-       phy-supply = <&vcc_phy>;
-       phy-mode = "rgmii";
-       pinctrl-names = "default";
-       pinctrl-0 = <&rgmiim1_pins>;
-       snps,aal;
-       snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
-       snps,reset-active-low;
-       snps,reset-delays-us = <0 10000 50000>;
-       snps,rxpbl = <0x4>;
-       snps,txpbl = <0x4>;
-       tx_delay = <0x24>;
-       rx_delay = <0x18>;
-       status = "okay";
-};
-
-&hdmi {
-       status = "okay";
-};
-
-&hdmiphy {
-       status = "okay";
-};
-
-&hdmi_sound {
-       status = "okay";
-};
-
-&i2c1 {
-       status = "okay";
-
-       rk805: pmic@18 {
-               compatible = "rockchip,rk805";
-               reg = <0x18>;
-               interrupt-parent = <&gpio1>;
-               interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
-               #clock-cells = <1>;
-               clock-output-names = "xin32k", "rk805-clkout2";
-               gpio-controller;
-               #gpio-cells = <2>;
-               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_io>;
-               vcc6-supply = <&vcc_io>;
-
-               regulators {
-                       vdd_logic: DCDC_REG1 {
-                               regulator-name = "vdd_logic";
-                               regulator-min-microvolt = <712500>;
-                               regulator-max-microvolt = <1450000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <1000000>;
-                               };
-                       };
-
-                       vdd_arm: DCDC_REG2 {
-                               regulator-name = "vdd_arm";
-                               regulator-min-microvolt = <712500>;
-                               regulator-max-microvolt = <1450000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <950000>;
-                               };
-                       };
-
-                       vcc_ddr: DCDC_REG3 {
-                               regulator-name = "vcc_ddr";
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                               };
-                       };
-
-                       vcc_io: DCDC_REG4 {
-                               regulator-name = "vcc_io";
-                               regulator-min-microvolt = <3300000>;
-                               regulator-max-microvolt = <3300000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <3300000>;
-                               };
-                       };
-
-                       vcc_18: LDO_REG1 {
-                               regulator-name = "vcc_18";
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <1800000>;
-                               };
-                       };
-
-                       vcc18_emmc: LDO_REG2 {
-                               regulator-name = "vcc18_emmc";
-                               regulator-min-microvolt = <1800000>;
-                               regulator-max-microvolt = <1800000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <1800000>;
-                               };
-                       };
-
-                       vdd_10: LDO_REG3 {
-                               regulator-name = "vdd_10";
-                               regulator-min-microvolt = <1000000>;
-                               regulator-max-microvolt = <1000000>;
-                               regulator-always-on;
-                               regulator-boot-on;
-                               regulator-state-mem {
-                                       regulator-on-in-suspend;
-                                       regulator-suspend-microvolt = <1000000>;
-                               };
-                       };
-               };
-       };
-};
-
-&i2s0 {
-       status = "okay";
-};
-
-&i2s1 {
-       status = "okay";
-};
-
-&io_domains {
-       status = "okay";
-
-       vccio1-supply = <&vcc_io>;
-       vccio2-supply = <&vcc18_emmc>;
-       vccio3-supply = <&vcc_sdio>;
-       vccio4-supply = <&vcc_18>;
-       vccio5-supply = <&vcc_io>;
-       vccio6-supply = <&vcc_io>;
-       pmuio-supply = <&vcc_io>;
-};
-
-&pinctrl {
-       pmic {
-               pmic_int_l: pmic-int-l {
-                       rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
-               };
-       };
-
-       usb2 {
-               usb20_host_drv: usb20-host-drv {
-                       rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
-};
-
-&sdmmc {
-       bus-width = <4>;
-       cap-mmc-highspeed;
-       cap-sd-highspeed;
-       disable-wp;
-       max-frequency = <150000000>;
-       pinctrl-names = "default";
-       pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
-       sd-uhs-sdr12;
-       sd-uhs-sdr25;
-       sd-uhs-sdr50;
-       sd-uhs-sdr104;
-       vmmc-supply = <&vcc_sd>;
-       vqmmc-supply = <&vcc_sdio>;
-       status = "okay";
-};
-
-&tsadc {
-       status = "okay";
-};
-
-&u2phy {
-       status = "okay";
-};
-
-&u2phy_host {
-       status = "okay";
-};
-
-&u2phy_otg {
-       status = "okay";
-};
-
-&uart2 {
-       status = "okay";
-};
-
-&usb20_otg {
-       dr_mode = "host";
-       status = "okay";
-};
-
-&usbdrd3 {
-       dr_mode = "host";
-       status = "okay";
-};
-
-&usb_host0_ehci {
-       status = "okay";
 };
 
-&usb_host0_ohci {
-       status = "okay";
+&rk805 {
+       interrupt-parent = <&gpio1>;
+       interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
 };
 
-&vop {
-       status = "okay";
+&vcc_host1_5v {
+       gpio = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
 };
 
-&vop_mmu {
-       status = "okay";
+&vcc_sdio {
+       gpios = <&grf_gpio 0 GPIO_ACTIVE_HIGH>;
 };
index e3e3984d01d4066edff93adcc05d61c4fe62bade..329d03172433e6c2fedf97c37420368f48dd0a51 100644 (file)
@@ -4,8 +4,7 @@
 /dts-v1/;
 
 #include <dt-bindings/input/input.h>
-
-#include "rk3328-roc-cc.dts"
+#include "rk3328-roc.dtsi"
 
 / {
        model = "Firefly ROC-RK3328-PC";
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi b/arch/arm64/boot/dts/rockchip/rk3328-roc.dtsi
new file mode 100644 (file)
index 0000000..116d2a6
--- /dev/null
@@ -0,0 +1,377 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd
+ */
+
+/dts-v1/;
+
+#include "rk3328.dtsi"
+
+/ {
+       aliases {
+               ethernet0 = &gmac2io;
+               mmc0 = &sdmmc;
+               mmc1 = &emmc;
+       };
+
+       chosen {
+               stdout-path = "serial2:1500000n8";
+       };
+
+       gmac_clkin: external-gmac-clock {
+               compatible = "fixed-clock";
+               clock-frequency = <125000000>;
+               clock-output-names = "gmac_clkin";
+               #clock-cells = <0>;
+       };
+
+       dc_12v: dc-12v {
+               compatible = "regulator-fixed";
+               regulator-name = "dc_12v";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <12000000>;
+               regulator-max-microvolt = <12000000>;
+       };
+
+       vcc_sd: sdmmc-regulator {
+               compatible = "regulator-fixed";
+               gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&sdmmc0m1_pin>;
+               regulator-boot-on;
+               regulator-name = "vcc_sd";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&vcc_io>;
+       };
+
+       vcc_sdio: sdmmcio-regulator {
+               compatible = "regulator-gpio";
+               states = <1800000 0x1>, <3300000 0x0>;
+               regulator-name = "vcc_sdio";
+               regulator-type = "voltage";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+               vin-supply = <&vcc_sys>;
+       };
+
+       vcc_host1_5v: vcc_otg_5v: vcc-host1-5v-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               pinctrl-names = "default";
+               pinctrl-0 = <&usb20_host_drv>;
+               regulator-name = "vcc_host1_5v";
+               regulator-always-on;
+               vin-supply = <&vcc_sys>;
+       };
+
+       vcc_sys: vcc-sys {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc_sys";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+               vin-supply = <&dc_12v>;
+       };
+
+       vcc_phy: vcc-phy-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc_phy";
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       leds {
+               compatible = "gpio-leds";
+
+               power_led: led-0 {
+                       label = "firefly:blue:power";
+                       linux,default-trigger = "heartbeat";
+                       gpios = <&rk805 1 GPIO_ACTIVE_LOW>;
+                       default-state = "on";
+               };
+
+               user_led: led-1 {
+                       label = "firefly:yellow:user";
+                       linux,default-trigger = "mmc1";
+                       gpios = <&rk805 0 GPIO_ACTIVE_LOW>;
+                       default-state = "off";
+               };
+       };
+};
+
+&analog_sound {
+       status = "okay";
+};
+
+&codec {
+       status = "okay";
+};
+
+&cpu0 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu1 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu2 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu3 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&emmc {
+       bus-width = <8>;
+       cap-mmc-highspeed;
+       max-frequency = <150000000>;
+       mmc-ddr-1_8v;
+       mmc-hs200-1_8v;
+       non-removable;
+       pinctrl-names = "default";
+       pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
+       vmmc-supply = <&vcc_io>;
+       vqmmc-supply = <&vcc18_emmc>;
+       status = "okay";
+};
+
+&gmac2io {
+       assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
+       assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
+       clock_in_out = "input";
+       phy-supply = <&vcc_phy>;
+       phy-mode = "rgmii";
+       pinctrl-names = "default";
+       pinctrl-0 = <&rgmiim1_pins>;
+       snps,aal;
+       snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
+       snps,reset-active-low;
+       snps,reset-delays-us = <0 10000 50000>;
+       snps,rxpbl = <0x4>;
+       snps,txpbl = <0x4>;
+       tx_delay = <0x24>;
+       rx_delay = <0x18>;
+       status = "okay";
+};
+
+&hdmi {
+       status = "okay";
+};
+
+&hdmiphy {
+       status = "okay";
+};
+
+&hdmi_sound {
+       status = "okay";
+};
+
+&i2c1 {
+       status = "okay";
+
+       rk805: pmic@18 {
+               compatible = "rockchip,rk805";
+               reg = <0x18>;
+               #clock-cells = <1>;
+               clock-output-names = "xin32k", "rk805-clkout2";
+               gpio-controller;
+               #gpio-cells = <2>;
+               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_io>;
+               vcc6-supply = <&vcc_io>;
+
+               regulators {
+                       vdd_logic: DCDC_REG1 {
+                               regulator-name = "vdd_logic";
+                               regulator-min-microvolt = <712500>;
+                               regulator-max-microvolt = <1450000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
+                       };
+
+                       vdd_arm: DCDC_REG2 {
+                               regulator-name = "vdd_arm";
+                               regulator-min-microvolt = <712500>;
+                               regulator-max-microvolt = <1450000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <950000>;
+                               };
+                       };
+
+                       vcc_ddr: DCDC_REG3 {
+                               regulator-name = "vcc_ddr";
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                               };
+                       };
+
+                       vcc_io: DCDC_REG4 {
+                               regulator-name = "vcc_io";
+                               regulator-min-microvolt = <3300000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <3300000>;
+                               };
+                       };
+
+                       vcc_18: LDO_REG1 {
+                               regulator-name = "vcc_18";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1800000>;
+                               };
+                       };
+
+                       vcc18_emmc: LDO_REG2 {
+                               regulator-name = "vcc18_emmc";
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <1800000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1800000>;
+                               };
+                       };
+
+                       vdd_10: LDO_REG3 {
+                               regulator-name = "vdd_10";
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <1000000>;
+                               regulator-always-on;
+                               regulator-boot-on;
+                               regulator-state-mem {
+                                       regulator-on-in-suspend;
+                                       regulator-suspend-microvolt = <1000000>;
+                               };
+                       };
+               };
+       };
+};
+
+&i2s0 {
+       status = "okay";
+};
+
+&i2s1 {
+       status = "okay";
+};
+
+&io_domains {
+       status = "okay";
+
+       vccio1-supply = <&vcc_io>;
+       vccio2-supply = <&vcc18_emmc>;
+       vccio3-supply = <&vcc_sdio>;
+       vccio4-supply = <&vcc_18>;
+       vccio5-supply = <&vcc_io>;
+       vccio6-supply = <&vcc_io>;
+       pmuio-supply = <&vcc_io>;
+};
+
+&pinctrl {
+       pmic {
+               pmic_int_l: pmic-int-l {
+                       rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+
+       usb2 {
+               usb20_host_drv: usb20-host-drv {
+                       rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+};
+
+&sdmmc {
+       bus-width = <4>;
+       cap-mmc-highspeed;
+       cap-sd-highspeed;
+       disable-wp;
+       max-frequency = <150000000>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_dectn &sdmmc0_bus4>;
+       sd-uhs-sdr12;
+       sd-uhs-sdr25;
+       sd-uhs-sdr50;
+       sd-uhs-sdr104;
+       vmmc-supply = <&vcc_sd>;
+       vqmmc-supply = <&vcc_sdio>;
+       status = "okay";
+};
+
+&tsadc {
+       status = "okay";
+};
+
+&u2phy {
+       status = "okay";
+};
+
+&u2phy_host {
+       status = "okay";
+};
+
+&u2phy_otg {
+       status = "okay";
+};
+
+&uart2 {
+       status = "okay";
+};
+
+&usb20_otg {
+       dr_mode = "host";
+       status = "okay";
+};
+
+&usbdrd3 {
+       dr_mode = "host";
+       status = "okay";
+};
+
+&usb_host0_ehci {
+       status = "okay";
+};
+
+&usb_host0_ohci {
+       status = "okay";
+};
+
+&vop {
+       status = "okay";
+};
+
+&vop_mmu {
+       status = "okay";
+};
index 60358ab8c7dfcc7d0b061cdc2f299f99342c4535..e091b20c2d1f2032d02cf5125ef419744af07b77 100644 (file)
  */
 
 /dts-v1/;
-#include "rk3399-nanopi4.dtsi"
+
+#include "rk3399-nanopi-m4.dtsi"
 
 / {
        model = "FriendlyElec NanoPi M4";
        compatible = "friendlyarm,nanopi-m4", "rockchip,rk3399";
-
-       vdd_5v: vdd-5v {
-               compatible = "regulator-fixed";
-               regulator-name = "vdd_5v";
-               regulator-always-on;
-               regulator-boot-on;
-       };
-
-       vcc5v0_core: vcc5v0-core {
-               compatible = "regulator-fixed";
-               regulator-name = "vcc5v0_core";
-               regulator-always-on;
-               regulator-boot-on;
-               vin-supply = <&vdd_5v>;
-       };
-
-       vcc5v0_usb1: vcc5v0-usb1 {
-               compatible = "regulator-fixed";
-               regulator-name = "vcc5v0_usb1";
-               regulator-always-on;
-               regulator-boot-on;
-               vin-supply = <&vcc5v0_sys>;
-       };
-
-       vcc5v0_usb2: vcc5v0-usb2 {
-               compatible = "regulator-fixed";
-               regulator-name = "vcc5v0_usb2";
-               regulator-always-on;
-               regulator-boot-on;
-               vin-supply = <&vcc5v0_sys>;
-       };
-};
-
-&vcc3v3_sys {
-       vin-supply = <&vcc5v0_core>;
 };
 
 &u2phy0_host {
        phy-supply = <&vcc5v0_usb1>;
 };
-
-&u2phy1_host {
-       phy-supply = <&vcc5v0_usb2>;
-};
-
-&vbus_typec {
-       regulator-always-on;
-       vin-supply = <&vdd_5v>;
-};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4.dtsi
new file mode 100644 (file)
index 0000000..5cd69dd
--- /dev/null
@@ -0,0 +1,60 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * FriendlyElec NanoPi M4 board device tree source
+ *
+ * Copyright (c) 2018 FriendlyElec Computer Tech. Co., Ltd.
+ * (http://www.friendlyarm.com)
+ *
+ * Copyright (c) 2018 Collabora Ltd.
+ * Copyright (c) 2019 Arm Ltd.
+ */
+
+/dts-v1/;
+
+#include "rk3399-nanopi4.dtsi"
+
+/ {
+       vdd_5v: vdd-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "vdd_5v";
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       vcc5v0_core: vcc5v0-core {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc5v0_core";
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&vdd_5v>;
+       };
+
+       vcc5v0_usb1: vcc5v0-usb1 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc5v0_usb1";
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&vcc5v0_sys>;
+       };
+
+       vcc5v0_usb2: vcc5v0-usb2 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc5v0_usb2";
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&vcc5v0_sys>;
+       };
+};
+
+&vcc3v3_sys {
+       vin-supply = <&vcc5v0_core>;
+};
+
+&u2phy1_host {
+       phy-supply = <&vcc5v0_usb2>;
+};
+
+&vbus_typec {
+       regulator-always-on;
+       vin-supply = <&vdd_5v>;
+};
index 65cb21837b0cac715ec9ce84c58755f1aa7a2119..d03ce6fa5bf65e9fb336a16442afddb356f21378 100644 (file)
@@ -6,7 +6,8 @@
  */
 
 /dts-v1/;
-#include "rk3399-nanopi-m4.dts"
+
+#include "rk3399-nanopi-m4.dtsi"
 
 / {
        model = "FriendlyElec NanoPi M4B";
index a23d11ca0eb6af3cb7976c83ddbaa760fe4cf3d5..b76f9896207660613a813461d03c7b2dd50e3d09 100644 (file)
@@ -1,7 +1,8 @@
 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 
 /dts-v1/;
-#include "rk3399-nanopi-r4s.dts"
+
+#include "rk3399-nanopi-r4s.dtsi"
 
 / {
        model = "FriendlyElec NanoPi R4S Enterprise Edition";
index fe5b526100107ac029ea8a801438aaeed26d5588..ec3883f6221e85892068c9b036273e7a457a5c6d 100644 (file)
 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 /*
- * FriendlyElec NanoPC-T4 board device tree source
- *
  * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
- * (http://www.friendlyarm.com)
- *
- * Copyright (c) 2018 Collabora Ltd.
- *
- * Copyright (c) 2020 Jensen Huang <jensenhuang@friendlyarm.com>
- * Copyright (c) 2020 Marty Jones <mj8263788@gmail.com>
- * Copyright (c) 2021 Tianling Shen <cnsztl@gmail.com>
  */
 
 /dts-v1/;
-#include "rk3399-nanopi4.dtsi"
+
+#include "rk3399-nanopi-r4s.dtsi"
 
 / {
        model = "FriendlyElec NanoPi R4S";
        compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399";
-
-       /delete-node/ display-subsystem;
-
-       gpio-leds {
-               pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
-
-               /delete-node/ led-0;
-
-               lan_led: led-lan {
-                       gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
-                       label = "green:lan";
-               };
-
-               sys_led: led-sys {
-                       gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
-                       label = "red:power";
-                       default-state = "on";
-               };
-
-               wan_led: led-wan {
-                       gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
-                       label = "green:wan";
-               };
-       };
-
-       gpio-keys {
-               pinctrl-0 = <&reset_button_pin>;
-
-               /delete-node/ key-power;
-
-               key-reset {
-                       debounce-interval = <50>;
-                       gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
-                       label = "reset";
-                       linux,code = <KEY_RESTART>;
-               };
-       };
-
-       vdd_5v: vdd-5v {
-               compatible = "regulator-fixed";
-               regulator-name = "vdd_5v";
-               regulator-always-on;
-               regulator-boot-on;
-       };
-};
-
-&emmc_phy {
-       status = "disabled";
-};
-
-&i2c4 {
-       status = "disabled";
-};
-
-&pcie0 {
-       max-link-speed = <1>;
-       num-lanes = <1>;
-       vpcie3v3-supply = <&vcc3v3_sys>;
-};
-
-&pinctrl {
-       gpio-leds {
-               /delete-node/ status-led-pin;
-
-               lan_led_pin: lan-led-pin {
-                       rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-
-               sys_led_pin: sys-led-pin {
-                       rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-
-               wan_led_pin: wan-led-pin {
-                       rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
-
-       rockchip-key {
-               /delete-node/ power-key;
-
-               reset_button_pin: reset-button-pin {
-                       rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
-               };
-       };
-};
-
-&sdhci {
-       status = "disabled";
-};
-
-&sdio0 {
-       status = "disabled";
-};
-
-&u2phy0_host {
-       phy-supply = <&vdd_5v>;
-};
-
-&u2phy1_host {
-       status = "disabled";
-};
-
-&uart0 {
-       status = "disabled";
-};
-
-&usbdrd_dwc3_0 {
-       dr_mode = "host";
-};
-
-&vcc3v3_sys {
-       vin-supply = <&vcc5v0_sys>;
 };
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dtsi
new file mode 100644 (file)
index 0000000..f5f8b9c
--- /dev/null
@@ -0,0 +1,131 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * FriendlyElec NanoPC-R4 board device tree source
+ *
+ * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
+ * (http://www.friendlyarm.com)
+ *
+ * Copyright (c) 2018 Collabora Ltd.
+ *
+ * Copyright (c) 2020 Jensen Huang <jensenhuang@friendlyarm.com>
+ * Copyright (c) 2020 Marty Jones <mj8263788@gmail.com>
+ * Copyright (c) 2021 Tianling Shen <cnsztl@gmail.com>
+ */
+
+/dts-v1/;
+
+#include "rk3399-nanopi4.dtsi"
+
+/ {
+       /delete-node/ display-subsystem;
+
+       gpio-leds {
+               pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
+
+               /delete-node/ led-0;
+
+               lan_led: led-lan {
+                       gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
+                       label = "green:lan";
+               };
+
+               sys_led: led-sys {
+                       gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
+                       label = "red:power";
+                       default-state = "on";
+               };
+
+               wan_led: led-wan {
+                       gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
+                       label = "green:wan";
+               };
+       };
+
+       gpio-keys {
+               pinctrl-0 = <&reset_button_pin>;
+
+               /delete-node/ key-power;
+
+               key-reset {
+                       debounce-interval = <50>;
+                       gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
+                       label = "reset";
+                       linux,code = <KEY_RESTART>;
+               };
+       };
+
+       vdd_5v: vdd-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "vdd_5v";
+               regulator-always-on;
+               regulator-boot-on;
+       };
+};
+
+&emmc_phy {
+       status = "disabled";
+};
+
+&i2c4 {
+       status = "disabled";
+};
+
+&pcie0 {
+       max-link-speed = <1>;
+       num-lanes = <1>;
+       vpcie3v3-supply = <&vcc3v3_sys>;
+};
+
+&pinctrl {
+       gpio-leds {
+               /delete-node/ status-led-pin;
+
+               lan_led_pin: lan-led-pin {
+                       rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               sys_led_pin: sys-led-pin {
+                       rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               wan_led_pin: wan-led-pin {
+                       rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       rockchip-key {
+               /delete-node/ power-key;
+
+               reset_button_pin: reset-button-pin {
+                       rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+};
+
+&sdhci {
+       status = "disabled";
+};
+
+&sdio0 {
+       status = "disabled";
+};
+
+&u2phy0_host {
+       phy-supply = <&vdd_5v>;
+};
+
+&u2phy1_host {
+       status = "disabled";
+};
+
+&uart0 {
+       status = "disabled";
+};
+
+&usbdrd_dwc3_0 {
+       dr_mode = "host";
+};
+
+&vcc3v3_sys {
+       vin-supply = <&vcc5v0_sys>;
+};
diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-nanopi-r6.dtsi
new file mode 100644 (file)
index 0000000..eef4851
--- /dev/null
@@ -0,0 +1,760 @@
+// 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"
+
+/ {
+       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 {
+                       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";
+};
index 497bbb57071f4e71c35b4760fd93e18018d02ea9..ccc5e462751766525c09d6dbb9e83e133d328bc1 100644 (file)
@@ -2,7 +2,7 @@
 
 /dts-v1/;
 
-#include "rk3588s-nanopi-r6s.dts"
+#include "rk3588s-nanopi-r6.dtsi"
 
 / {
        model = "FriendlyElec NanoPi R6C";
index 4fa644ae510ca218c66803ef98efefede6a64419..9c3e0b0daaacb973be402bdd8b3f252c892a263e 100644 (file)
 
 /dts-v1/;
 
-#include <dt-bindings/pinctrl/rockchip.h>
-#include <dt-bindings/gpio/gpio.h>
-#include <dt-bindings/input/input.h>
-#include "rk3588s.dtsi"
+#include "rk3588s-nanopi-r6.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";
+&lan2_led {
+       label = "lan2_led";
 };