Sync rk3229-evb.dts from Linux version 5.17.

Signed-off-by: Johan Jonker <jbx6...@gmail.com>
---
 arch/arm/dts/rk3229-evb.dts | 212 +++++++++++++++++++++++++++++++++---
 arch/arm/dts/rk3229.dtsi    |  52 +++++++++
 2 files changed, 249 insertions(+), 15 deletions(-)
 create mode 100644 arch/arm/dts/rk3229.dtsi

diff --git a/arch/arm/dts/rk3229-evb.dts b/arch/arm/dts/rk3229-evb.dts
index d2681d1a..797476e8 100644
--- a/arch/arm/dts/rk3229-evb.dts
+++ b/arch/arm/dts/rk3229-evb.dts
@@ -1,21 +1,32 @@
-// SPDX-License-Identifier: GPL-2.0+ OR X11
-/*
- * (C) Copyright 2017 Rockchip Electronics Co., Ltd.
- */
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 
 /dts-v1/;
 
-#include "rk322x.dtsi"
+#include <dt-bindings/input/input.h>
+#include "rk3229.dtsi"
 
 / {
        model = "Rockchip RK3229 Evaluation board";
        compatible = "rockchip,rk3229-evb", "rockchip,rk3229";
 
+       aliases {
+               mmc0 = &emmc;
+       };
+
        memory@60000000 {
                device_type = "memory";
                reg = <0x60000000 0x40000000>;
        };
 
+       dc_12v: dc-12v-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "dc_12v";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <12000000>;
+               regulator-max-microvolt = <12000000>;
+       };
+
        ext_gmac: ext_gmac {
                compatible = "fixed-clock";
                clock-frequency = <125000000>;
@@ -23,6 +34,18 @@
                #clock-cells = <0>;
        };
 
+       vcc_host: vcc-host-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&host_vbus_drv>;
+               regulator-name = "vcc_host";
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&vcc_sys>;
+       };
+
        vcc_phy: vcc-phy-regulator {
                compatible = "regulator-fixed";
                enable-active-high;
@@ -31,7 +54,95 @@
                regulator-max-microvolt = <1800000>;
                regulator-always-on;
                regulator-boot-on;
+               vin-supply = <&vccio_1v8>;
+       };
+
+       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>;
+               vin-supply = <&dc_12v>;
+       };
+
+       vccio_1v8: vccio-1v8-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vccio_1v8";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               regulator-always-on;
+               vin-supply = <&vcc_sys>;
+       };
+
+       vccio_3v3: vccio-3v3-regulator {
+               compatible = "regulator-fixed";
+               regulator-name = "vccio_3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-always-on;
+               vin-supply = <&vcc_sys>;
+       };
+
+       vdd_arm: vdd-arm-regulator {
+               compatible = "pwm-regulator";
+               pwms = <&pwm1 0 25000 1>;
+               pwm-supply = <&vcc_sys>;
+               regulator-name = "vdd_arm";
+               regulator-min-microvolt = <950000>;
+               regulator-max-microvolt = <1400000>;
+               regulator-always-on;
+               regulator-boot-on;
        };
+
+       vdd_log: vdd-log-regulator {
+               compatible = "pwm-regulator";
+               pwms = <&pwm2 0 25000 1>;
+               pwm-supply = <&vcc_sys>;
+               regulator-name = "vdd_log";
+               regulator-min-microvolt = <1000000>;
+               regulator-max-microvolt = <1300000>;
+               regulator-always-on;
+               regulator-boot-on;
+       };
+
+       gpio_keys {
+               compatible = "gpio-keys";
+               autorepeat;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pwr_key>;
+
+               power_key: power-key {
+                       label = "GPIO Key Power";
+                       gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
+                       linux,code = <KEY_POWER>;
+                       debounce-interval = <100>;
+                       wakeup-source;
+               };
+       };
+};
+
+&cpu0 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu1 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu2 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&cpu3 {
+       cpu-supply = <&vdd_arm>;
+};
+
+&emmc {
+       cap-mmc-highspeed;
+       non-removable;
+       status = "okay";
 };
 
 &gmac {
@@ -50,25 +161,96 @@
        status = "okay";
 };
 
-&emmc {
+&io_domains {
        status = "okay";
+
+       vccio1-supply = <&vccio_3v3>;
+       vccio2-supply = <&vccio_1v8>;
+       vccio4-supply = <&vccio_3v3>;
 };
 
-&sdmmc {
+&pinctrl {
+       keys {
+               pwr_key: pwr-key {
+                       rockchip,pins = <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+
+       usb {
+               host_vbus_drv: host-vbus-drv {
+                       rockchip,pins = <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+};
+
+&pwm1 {
+       status = "okay";
+};
+
+&pwm2 {
+       status = "okay";
+};
+
+&tsadc {
+       rockchip,hw-tshut-mode = <0>; /* tshut mode 0:CRU 1:GPIO */
        status = "okay";
-       bus-width = <4>;
-       cap-mmc-highspeed;
-       cap-sd-highspeed;
-       card-detect-delay = <200>;
-       disable-wp;
-       num-slots = <1>;
-       supports-sd;
 };
 
 &uart2 {
        status = "okay";
 };
 
+&u2phy0 {
+       status = "okay";
+
+       u2phy0_otg: otg-port {
+               status = "okay";
+       };
+
+       u2phy0_host: host-port {
+               phy-supply = <&vcc_host>;
+               status = "okay";
+       };
+};
+
+&u2phy1 {
+       status = "okay";
+
+       u2phy1_otg: otg-port {
+               phy-supply = <&vcc_host>;
+               status = "okay";
+       };
+
+       u2phy1_host: host-port {
+               phy-supply = <&vcc_host>;
+               status = "okay";
+       };
+};
+
+&usb_host0_ehci {
+       status = "okay";
+};
+
+&usb_host0_ohci {
+       status = "okay";
+};
+
+&usb_host1_ehci {
+       status = "okay";
+};
+
+&usb_host1_ohci {
+       status = "okay";
+};
+
+&usb_host2_ehci {
+       status = "okay";
+};
+
+&usb_host2_ohci {
+       status = "okay";
+};
+
 &usb_otg {
-       status = "okay";
+       status = "okay";
 };
diff --git a/arch/arm/dts/rk3229.dtsi b/arch/arm/dts/rk3229.dtsi
new file mode 100644
index 00000000..c340fb30
--- /dev/null
+++ b/arch/arm/dts/rk3229.dtsi
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
+ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd
+ */
+
+#include "rk322x.dtsi"
+
+/ {
+       compatible = "rockchip,rk3229";
+
+       /delete-node/ opp-table0;
+
+       cpu0_opp_table: opp-table-0 {
+               compatible = "operating-points-v2";
+               opp-shared;
+
+               opp-408000000 {
+                       opp-hz = /bits/ 64 <408000000>;
+                       opp-microvolt = <950000>;
+                       clock-latency-ns = <40000>;
+                       opp-suspend;
+               };
+               opp-600000000 {
+                       opp-hz = /bits/ 64 <600000000>;
+                       opp-microvolt = <975000>;
+               };
+               opp-816000000 {
+                       opp-hz = /bits/ 64 <816000000>;
+                       opp-microvolt = <1000000>;
+               };
+               opp-1008000000 {
+                       opp-hz = /bits/ 64 <1008000000>;
+                       opp-microvolt = <1175000>;
+               };
+               opp-1200000000 {
+                       opp-hz = /bits/ 64 <1200000000>;
+                       opp-microvolt = <1275000>;
+               };
+               opp-1296000000 {
+                       opp-hz = /bits/ 64 <1296000000>;
+                       opp-microvolt = <1325000>;
+               };
+               opp-1392000000 {
+                       opp-hz = /bits/ 64 <1392000000>;
+                       opp-microvolt = <1375000>;
+               };
+               opp-1464000000 {
+                       opp-hz = /bits/ 64 <1464000000>;
+                       opp-microvolt = <1400000>;
+               };
+       };
+};
-- 
2.20.1

Reply via email to