arm: dts: sync the Rockhip 3399 SoCs from Linux
authorPeter Robinson <pbrobinson@gmail.com>
Thu, 22 Jul 2021 15:20:42 +0000 (16:20 +0100)
committerKever Yang <kever.yang@rock-chips.com>
Thu, 12 Aug 2021 01:33:13 +0000 (09:33 +0800)
Sync the rk3399 DTs and associated bits from 5.14-rc1.

Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
(Remove the conflict content for vmarc-som)
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
25 files changed:
arch/arm/dts/rk3399-evb.dts
arch/arm/dts/rk3399-ficus.dts
arch/arm/dts/rk3399-firefly.dts
arch/arm/dts/rk3399-gru.dtsi
arch/arm/dts/rk3399-khadas-edge.dtsi
arch/arm/dts/rk3399-leez-p710.dts
arch/arm/dts/rk3399-nanopc-t4.dts
arch/arm/dts/rk3399-nanopi-r4s.dts
arch/arm/dts/rk3399-nanopi4.dtsi
arch/arm/dts/rk3399-opp.dtsi
arch/arm/dts/rk3399-orangepi.dts
arch/arm/dts/rk3399-pinebook-pro.dts
arch/arm/dts/rk3399-puma-haikou.dts
arch/arm/dts/rk3399-puma.dtsi
arch/arm/dts/rk3399-roc-pc-mezzanine.dts
arch/arm/dts/rk3399-roc-pc.dtsi
arch/arm/dts/rk3399-rock-pi-4.dtsi
arch/arm/dts/rk3399-rock-pi-4a.dts
arch/arm/dts/rk3399-rock-pi-4b.dts
arch/arm/dts/rk3399-rock-pi-4c.dts
arch/arm/dts/rk3399-rock960.dts
arch/arm/dts/rk3399-rock960.dtsi
arch/arm/dts/rk3399-rockpro64.dtsi
arch/arm/dts/rk3399.dtsi
arch/arm/dts/rk3399pro-vmarc-som.dtsi

index 694b0d0..7b717eb 100644 (file)
        model = "Rockchip RK3399 Evaluation Board";
        compatible = "rockchip,rk3399-evb", "rockchip,rk3399";
 
+       aliases {
+               mmc0 = &sdhci;
+       };
+
        backlight: backlight {
                compatible = "pwm-backlight";
                brightness-levels = <
index ebe2ee7..1ce85a5 100644 (file)
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
-               pinctrl-0 = <&user_led1>, <&user_led2>, <&user_led3>,
-                           <&user_led4>, <&wlan_led>, <&bt_led>;
+               pinctrl-0 = <&user_led1_pin>, <&user_led2_pin>,
+                           <&user_led3_pin>, <&user_led4_pin>,
+                           <&wlan_led_pin>, <&bt_led_pin>;
 
-               user_led1 {
+               user_led1: led-1 {
                        label = "red:user1";
                        gpios = <&gpio4 25 0>;
                        linux,default-trigger = "heartbeat";
                };
 
-               user_led2 {
+               user_led2: led-2 {
                        label = "red:user2";
                        gpios = <&gpio4 26 0>;
                        linux,default-trigger = "mmc0";
                };
 
-               user_led3 {
+               user_led3: led-3 {
                        label = "red:user3";
                        gpios = <&gpio4 30 0>;
                        linux,default-trigger = "mmc1";
                };
 
-               user_led4 {
+               user_led4: led-4 {
                        label = "red:user4";
                        gpios = <&gpio1 0 0>;
                        panic-indicator;
                        linux,default-trigger = "none";
                };
 
-               wlan_active_led {
+               wlan_active_led: led-5 {
                        label = "red:wlan";
                        gpios = <&gpio1 1 0>;
                        linux,default-trigger = "phy0tx";
                        default-state = "off";
                };
 
-               bt_active_led {
+               bt_active_led: led-6 {
                        label = "red:bt";
                        gpios = <&gpio1 4 0>;
                        linux,default-trigger = "hci0-power";
        };
 
        leds {
-               user_led1: user_led1 {
+               user_led1_pin: user-led1-pin {
                        rockchip,pins =
                                <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               user_led2: user_led2 {
+               user_led2_pin: user-led2-pin {
                        rockchip,pins =
                                <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               user_led3: user_led3 {
+               user_led3_pin: user-led3-pin {
                        rockchip,pins =
                                <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               user_led4: user_led4 {
+               user_led4_pin: user-led4-pin {
                        rockchip,pins =
                                <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               wlan_led: wlan_led {
+               wlan_led_pin: wlan-led-pin {
                        rockchip,pins =
                                <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               bt_led: bt_led {
+               bt_led_pin: bt-led-pin {
                        rockchip,pins =
                                <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
                };
index d63faf3..c4dd2a6 100644 (file)
@@ -6,6 +6,7 @@
 /dts-v1/;
 #include <dt-bindings/input/linux-event-codes.h>
 #include <dt-bindings/pwm/pwm.h>
+#include <dt-bindings/usb/pd.h>
 #include "rk3399.dtsi"
 #include "rk3399-opp.dtsi"
 
        model = "Firefly-RK3399 Board";
        compatible = "firefly,firefly-rk3399", "rockchip,rk3399";
 
+       aliases {
+               mmc0 = &sdio0;
+               mmc1 = &sdmmc;
+               mmc2 = &sdhci;
+       };
+
        chosen {
                stdout-path = "serial2:1500000n8";
        };
                };
        };
 
+       ir-receiver {
+               compatible = "gpio-ir-receiver";
+               gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
+               pinctrl-0 = <&ir_int>;
+               pinctrl-names = "default";
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
-               pinctrl-0 = <&work_led_gpio>, <&diy_led_gpio>;
+               pinctrl-0 = <&work_led_pin>, <&diy_led_pin>;
 
-               work-led {
+               work_led: led-0 {
                        label = "work";
                        default-state = "on";
                        gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
                };
 
-               diy-led {
+               diy_led: led-1 {
                        label = "diy";
                        default-state = "off";
                        gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
                reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
        };
 
+       sound-dit {
+               compatible = "audio-graph-card";
+               label = "SPDIF";
+               dais = <&spdif_p0>;
+       };
+
+       spdif-dit {
+               compatible = "linux,spdif-dit";
+               #sound-dai-cells = <0>;
+
+               port {
+                       dit_p0_0: endpoint {
+                               remote-endpoint = <&spdif_p0_0>;
+                       };
+               };
+       };
+
        /* switched by pmic_sleep */
        vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
                compatible = "regulator-fixed";
                vin-supply = <&vcc_sys>;
        };
 
+       vcc5v0_typec: vcc5v0-typec-regulator {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&vcc5v0_typec_en>;
+               regulator-name = "vcc5v0_typec";
+               regulator-always-on;
+               vin-supply = <&vcc_sys>;
+       };
+
        vcc_sys: vcc-sys {
                compatible = "regulator-fixed";
                regulator-name = "vcc_sys";
        i2c-scl-falling-time-ns = <20>;
        status = "okay";
 
+       fusb0: typec-portc@22 {
+               compatible = "fcs,fusb302";
+               reg = <0x22>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&fusb0_int>;
+               vbus-supply = <&vcc5v0_typec>;
+               status = "okay";
+
+               connector {
+                       compatible = "usb-c-connector";
+                       data-role = "host";
+                       label = "USB-C";
+                       op-sink-microwatt = <1000000>;
+                       power-role = "dual";
+                       sink-pdos =
+                               <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
+                       source-pdos =
+                               <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
+                       try-power-role = "sink";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+
+                                       usbc_hs: endpoint {
+                                               remote-endpoint =
+                                                       <&u2phy0_typec_hs>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+
+                                       usbc_ss: endpoint {
+                                               remote-endpoint =
+                                                       <&tcphy0_typec_ss>;
+                                       };
+                               };
+                       };
+               };
+       };
+
        accelerometer@68 {
                compatible = "invensense,mpu6500";
                reg = <0x68>;
                };
        };
 
+       fusb302x {
+               fusb0_int: fusb0-int {
+                       rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
+               };
+       };
+
+       ir {
+               ir_int: ir-int {
+                       rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        lcd-panel {
                lcd_panel_reset: lcd-panel-reset {
                        rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
+       leds {
+               work_led_pin: work-led-pin {
+                       rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+               diy_led_pin: diy-led-pin {
+                       rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        pcie {
                pcie_pwr_en: pcie-pwr-en {
                        rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
        };
 
        pmic {
-               vsel1_gpio: vsel1-gpio {
-                       rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
+               pmic_int_l: pmic-int-l {
+                       rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
                };
 
-               vsel2_gpio: vsel2-gpio {
-                       rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
+               vsel1_pin: vsel1-pin {
+                       rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
                };
-       };
 
-       sdio-pwrseq {
-               wifi_enable_h: wifi-enable-h {
-                       rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
+               vsel2_pin: vsel2-pin {
+                       rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
                };
        };
 
                };
        };
 
-       pmic {
-               pmic_int_l: pmic-int-l {
-                       rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
+       sdio-pwrseq {
+               wifi_enable_h: wifi-enable-h {
+                       rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
+       usb-typec {
+               vcc5v0_typec_en: vcc5v0_typec_en {
+                       rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
                        rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
-
-       leds {
-               work_led_gpio: work_led-gpio {
-                       rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-
-               diy_led_gpio: diy_led-gpio {
-                       rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
-               };
-       };
 };
 
 &pwm0 {
        status = "okay";
 };
 
+&spdif {
+       pinctrl-0 = <&spdif_bus_1>;
+       status = "okay";
+
+       spdif_p0: port {
+               spdif_p0_0: endpoint {
+                       remote-endpoint = <&dit_p0_0>;
+               };
+       };
+};
+
 &tcphy0 {
        status = "okay";
 };
 
+&tcphy0_usb3 {
+       port {
+               tcphy0_typec_ss: endpoint {
+                       remote-endpoint = <&usbc_ss>;
+               };
+       };
+};
+
 &tcphy1 {
        status = "okay";
 };
                phy-supply = <&vcc5v0_host>;
                status = "okay";
        };
+
+       port {
+               u2phy0_typec_hs: endpoint {
+                       remote-endpoint = <&usbc_hs>;
+               };
+       };
 };
 
 &u2phy1 {
index f9c5bb6..b80f190 100644 (file)
 #include "rk3399-op1-opp.dtsi"
 
 / {
+       aliases {
+               mmc0 = &sdmmc;
+               mmc1 = &sdhci;
+       };
+
        chosen {
                stdout-path = "serial2:115200n8";
        };
                enable-active-high;
                enable-gpio = <&gpio2 2 GPIO_ACTIVE_HIGH>;
                gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>;
-               states = <1800000 0x1
-                         3000000 0x0>;
+               states = <1800000 0x1>,
+                        <3000000 0x0>;
 
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <3000000>;
        cpu-supply = <&ppvar_bigcpu>;
 };
 
+
 &cru {
        assigned-clocks =
                <&cru PLL_GPLL>, <&cru PLL_CPLL>,
@@ -515,7 +521,7 @@ ap_i2c_audio: &i2c8 {
         * configured as SDMMC and not JTAG.
         */
        pinctrl-names = "default";
-       pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_cd_gpio
+       pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_cd_pin
                     &sdmmc_bus4>;
 
        bus-width = <4>;
@@ -766,7 +772,7 @@ ap_i2c_audio: &i2c8 {
                };
 
                /* This is where we actually hook up CD; has external pull */
-               sdmmc_cd_gpio: sdmmc-cd-gpio {
+               sdmmc_cd_pin: sdmmc-cd-pin {
                        rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
index e87a044..d5c7648 100644 (file)
 #include "rk3399-opp.dtsi"
 
 / {
+       aliases {
+               mmc0 = &sdio0;
+               mmc1 = &sdmmc;
+               mmc2 = &sdhci;
+       };
+
        chosen {
                stdout-path = "serial2:1500000n8";
        };
                };
        };
 
+       ir-receiver {
+               compatible = "gpio-ir-receiver";
+               gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
+               linux,rc-map-name = "rc-khadas";
+               pinctrl-names = "default";
+               pinctrl-0 = <&ir_rx>;
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
-               pinctrl-0 = <&sys_led_gpio>, <&user_led_gpio>;
+               pinctrl-0 = <&sys_led_pin>, <&user_led_pin>;
 
-               sys-led {
+               sys_led: led-0 {
                        label = "sys_led";
                        linux,default-trigger = "heartbeat";
                        gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
                };
 
-               user-led {
+               user_led: led-1 {
                        label = "user_led";
                        default-state = "off";
                        gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_HIGH>;
                };
        };
 
+       ir {
+               ir_rx: ir-rx {
+                   rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        leds {
-               sys_led_gpio: sys_led-gpio {
+               sys_led_pin: sys-led-pin {
                        rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               user_led_gpio: user_led-gpio {
+               user_led_pin: user-led-pin {
                        rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
        status = "okay";
 };
 
+&spi1 {
+       status = "okay";
+
+       spiflash: flash@0 {
+               compatible = "winbond,w25q128fw", "jedec,spi-nor";
+               reg = <0>;
+               spi-max-frequency = <104000000>;
+       };
+};
+
 &tcphy0 {
        status = "okay";
 };
index 73be38a..7c93f84 100644 (file)
        model = "Leez RK3399 P710";
        compatible = "leez,p710", "rockchip,rk3399";
 
+       aliases {
+               mmc0 = &sdio0;
+               mmc1 = &sdmmc;
+               mmc2 = &sdhci;
+       };
+
        chosen {
                stdout-path = "serial2:1500000n8";
        };
                reg = <0x40>;
                fcs,suspend-voltage-selector = <1>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vsel1_gpio>;
+               pinctrl-0 = <&vsel1_pin>;
                regulator-name = "vdd_cpu_b";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
                reg = <0x41>;
                fcs,suspend-voltage-selector = <1>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vsel2_gpio>;
+               pinctrl-0 = <&vsel2_pin>;
                regulator-name = "vdd_gpu";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
                        rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
                };
 
-               vsel1_gpio: vsel1-gpio {
+               vsel1_pin: vsel1-pin {
                        rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
                };
 
-               vsel2_gpio: vsel2-gpio {
+               vsel2_pin: vsel2-pin {
                        rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
                };
        };
index e0d7561..452728b 100644 (file)
@@ -95,6 +95,7 @@
 };
 
 &pcie0 {
+       ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
        num-lanes = <4>;
        vpcie3v3-supply = <&vcc3v3_sys>;
 };
index 042c73c..cef4d18 100644 (file)
@@ -1,13 +1,15 @@
 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 /*
- * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
+ * FriendlyElec NanoPC-T4 board device tree source
  *
- * Copyright (c) 2018 FriendlyElec Computer Tech. Co., Ltd.
+ * Copyright (c) 2020 FriendlyElec Computer Tech. Co., Ltd.
  * (http://www.friendlyarm.com)
  *
  * Copyright (c) 2018 Collabora Ltd.
- * Copyright (c) 2019 Arm Ltd.
- * Copyright (C) 2020 Xiaobo <peterwillcn@gmail.com>
+ *
+ * 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/;
        model = "FriendlyElec NanoPi R4S";
        compatible = "friendlyarm,nanopi-r4s", "rockchip,rk3399";
 
-       vdd_5v: vdd-5v {
-               compatible = "regulator-fixed";
-               regulator-name = "vdd_5v";
-               regulator-always-on;
-               regulator-boot-on;
-       };
+       /delete-node/ display-subsystem;
 
-       fan: pwm-fan {
-               compatible = "pwm-fan";
-               cooling-levels = <0 12 18 255>;
-               #cooling-cells = <2>;
-               fan-supply = <&vdd_5v>;
-               pwms = <&pwm1 0 50000 0>;
-       };
-};
+       gpio-leds {
+               pinctrl-0 = <&lan_led_pin>, <&sys_led_pin>, <&wan_led_pin>;
 
-&cpu_thermal {
-       trips {
-               cpu_warm: cpu_warm {
-                       temperature = <55000>;
-                       hysteresis = <2000>;
-                       type = "active";
-               };
+               /delete-node/ led-0;
 
-               cpu_hot: cpu_hot {
-                       temperature = <65000>;
-                       hysteresis = <2000>;
-                       type = "active";
+               lan_led: led-lan {
+                       gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
+                       label = "green:lan";
                };
-       };
 
-       cooling-maps {
-               map2 {
-                       trip = <&cpu_warm>;
-                       cooling-device = <&fan THERMAL_NO_LIMIT 1>;
+               sys_led: led-sys {
+                       gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
+                       label = "red:power";
+                       default-state = "on";
                };
 
-               map3 {
-                       trip = <&cpu_hot>;
-                       cooling-device = <&fan 2 THERMAL_NO_LIMIT>;
+               wan_led: led-wan {
+                       gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
+                       label = "green:wan";
                };
        };
-};
 
-&emmc_phy {
-       status = "disabled";
-};
+       gpio-keys {
+               pinctrl-0 = <&reset_button_pin>;
 
-&fusb0 {
-       status = "disabled";
-};
+               /delete-node/ power;
 
-&leds {
-       lan_led: led-1 {
-               gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
-               label = "green:lan";
+               reset {
+                       debounce-interval = <50>;
+                       gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_LOW>;
+                       label = "reset";
+                       linux,code = <KEY_RESTART>;
+               };
        };
 
-       wan_led: led-2 {
-               gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
-               label = "green:wan";
+       vdd_5v: vdd-5v {
+               compatible = "regulator-fixed";
+               regulator-name = "vdd_5v";
+               regulator-always-on;
+               regulator-boot-on;
        };
 };
 
-&leds_gpio {
-       rockchip,pins =
-               <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>,
-               <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
+&emmc_phy {
+       status = "disabled";
+};
+
+&i2c4 {
+       status = "disabled";
 };
 
 &pcie0 {
        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";
 };
        status = "disabled";
 };
 
+&uart0 {
+       status = "disabled";
+};
+
 &usbdrd_dwc3_0 {
        dr_mode = "host";
 };
index c88018a..8c0ff6c 100644 (file)
 #include "rk3399-opp.dtsi"
 
 / {
+       aliases {
+               mmc0 = &sdio0;
+               mmc1 = &sdmmc;
+               mmc2 = &sdhci;
+       };
+
        chosen {
                stdout-path = "serial2:1500000n8";
        };
        leds: gpio-leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
-               pinctrl-0 = <&leds_gpio>;
+               pinctrl-0 = <&status_led_pin>;
 
-               status {
+               status_led: led-0 {
                        gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
                        label = "status_led";
                        linux,default-trigger = "heartbeat";
                #address-cells = <1>;
                #size-cells = <0>;
 
-               rtl8211e: phy@1 {
+               rtl8211e: ethernet-phy@1 {
                        reg = <1>;
                        interrupt-parent = <&gpio3>;
                        interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
 };
 
 &pcie0 {
-       ep-gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_HIGH>;
-       max-link-speed = <2>;
        num-lanes = <2>;
        vpcie0v9-supply = <&vcca0v9_s3>;
        vpcie1v8-supply = <&vcca1v8_s3>;
        };
 
        gpio-leds {
-               leds_gpio: leds-gpio {
+               status_led_pin: status-led-pin {
                        rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
 
-       phy {
+       gmac {
                phy_intb: phy-intb {
                        rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
                };
index d6f1095..da41cd8 100644 (file)
 
                opp00 {
                        opp-hz = /bits/ 64 <408000000>;
-                       opp-microvolt = <800000>;
+                       opp-microvolt = <825000 825000 1250000>;
                        clock-latency-ns = <40000>;
                };
                opp01 {
                        opp-hz = /bits/ 64 <600000000>;
-                       opp-microvolt = <800000>;
+                       opp-microvolt = <825000 825000 1250000>;
                };
                opp02 {
                        opp-hz = /bits/ 64 <816000000>;
-                       opp-microvolt = <850000>;
+                       opp-microvolt = <850000 850000 1250000>;
                };
                opp03 {
                        opp-hz = /bits/ 64 <1008000000>;
-                       opp-microvolt = <925000>;
+                       opp-microvolt = <925000 925000 1250000>;
                };
                opp04 {
                        opp-hz = /bits/ 64 <1200000000>;
-                       opp-microvolt = <1000000>;
+                       opp-microvolt = <1000000 1000000 1250000>;
                };
                opp05 {
                        opp-hz = /bits/ 64 <1416000000>;
-                       opp-microvolt = <1125000>;
+                       opp-microvolt = <1125000 1125000 1250000>;
                };
        };
 
 
                opp00 {
                        opp-hz = /bits/ 64 <408000000>;
-                       opp-microvolt = <800000>;
+                       opp-microvolt = <825000 825000 1250000>;
                        clock-latency-ns = <40000>;
                };
                opp01 {
                        opp-hz = /bits/ 64 <600000000>;
-                       opp-microvolt = <800000>;
+                       opp-microvolt = <825000 825000 1250000>;
                };
                opp02 {
                        opp-hz = /bits/ 64 <816000000>;
-                       opp-microvolt = <825000>;
+                       opp-microvolt = <825000 825000 1250000>;
                };
                opp03 {
                        opp-hz = /bits/ 64 <1008000000>;
-                       opp-microvolt = <875000>;
+                       opp-microvolt = <875000 875000 1250000>;
                };
                opp04 {
                        opp-hz = /bits/ 64 <1200000000>;
-                       opp-microvolt = <950000>;
+                       opp-microvolt = <950000 950000 1250000>;
                };
                opp05 {
                        opp-hz = /bits/ 64 <1416000000>;
-                       opp-microvolt = <1025000>;
+                       opp-microvolt = <1025000 1025000 1250000>;
                };
                opp06 {
                        opp-hz = /bits/ 64 <1608000000>;
-                       opp-microvolt = <1100000>;
+                       opp-microvolt = <1100000 1100000 1250000>;
                };
                opp07 {
                        opp-hz = /bits/ 64 <1800000000>;
-                       opp-microvolt = <1200000>;
+                       opp-microvolt = <1200000 1200000 1250000>;
                };
        };
 
 
                opp00 {
                        opp-hz = /bits/ 64 <200000000>;
-                       opp-microvolt = <800000>;
+                       opp-microvolt = <825000 825000 1150000>;
                };
                opp01 {
                        opp-hz = /bits/ 64 <297000000>;
-                       opp-microvolt = <800000>;
+                       opp-microvolt = <825000 825000 1150000>;
                };
                opp02 {
                        opp-hz = /bits/ 64 <400000000>;
-                       opp-microvolt = <825000>;
+                       opp-microvolt = <825000 825000 1150000>;
                };
                opp03 {
                        opp-hz = /bits/ 64 <500000000>;
-                       opp-microvolt = <875000>;
+                       opp-microvolt = <875000 875000 1150000>;
                };
                opp04 {
                        opp-hz = /bits/ 64 <600000000>;
-                       opp-microvolt = <925000>;
+                       opp-microvolt = <925000 925000 1150000>;
                };
                opp05 {
                        opp-hz = /bits/ 64 <800000000>;
-                       opp-microvolt = <1100000>;
+                       opp-microvolt = <1100000 1100000 1150000>;
                };
        };
 };
index f9f7246..04b54ab 100644 (file)
@@ -7,6 +7,7 @@
 
 #include "dt-bindings/pwm/pwm.h"
 #include "dt-bindings/input/input.h"
+#include "dt-bindings/usb/pd.h"
 #include "rk3399.dtsi"
 #include "rk3399-opp.dtsi"
 
        model = "Orange Pi RK3399 Board";
        compatible = "rockchip,rk3399-orangepi", "rockchip,rk3399";
 
+       aliases {
+               mmc0 = &sdio0;
+               mmc1 = &sdmmc;
+               mmc2 = &sdhci;
+       };
+
        chosen {
                stdout-path = "serial2:1500000n8";
        };
                #address-cells = <1>;
                #size-cells = <0>;
 
-               rtl8211e: phy@1 {
+               rtl8211e: ethernet-phy@1 {
                        reg = <1>;
                        interrupt-parent = <&gpio3>;
                        interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
                pinctrl-names = "default";
                pinctrl-0 = <&chg_cc_int_l>;
                vbus-supply = <&vbus_typec>;
+
+               typec_con: connector {
+                       compatible = "usb-c-connector";
+                       data-role = "host";
+                       label = "USB-C";
+                       op-sink-microwatt = <1000000>;
+                       power-role = "dual";
+                       sink-pdos =
+                               <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
+                       source-pdos =
+                               <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
+                       try-power-role = "sink";
+
+                       ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       typec_hs: endpoint {
+                                               remote-endpoint = <&u2phy0_typec_hs>;
+                                       };
+                               };
+                               port@1 {
+                                       reg = <1>;
+                                       typec_ss: endpoint {
+                                               remote-endpoint = <&tcphy0_typec_ss>;
+                                       };
+                               };
+                               port@2 {
+                                       reg = <2>;
+                                       typec_dp: endpoint {
+                                               remote-endpoint = <&tcphy0_typec_dp>;
+                                       };
+                               };
+                       };
+               };
        };
 };
 
                };
        };
 
-       phy {
+       gmac {
                phy_intb: phy-intb {
                        rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        status = "okay";
 };
 
+&tcphy0_dp {
+       port {
+               tcphy0_typec_dp: endpoint {
+                       remote-endpoint = <&typec_dp>;
+               };
+       };
+};
+
+&tcphy0_usb3 {
+       port {
+               tcphy0_typec_ss: endpoint {
+                       remote-endpoint = <&typec_ss>;
+               };
+       };
+};
+
 &tcphy1 {
        status = "okay";
 };
                phy-supply = <&vcc5v0_host>;
                status = "okay";
        };
+
+       port {
+               u2phy0_typec_hs: endpoint {
+                       remote-endpoint = <&typec_hs>;
+               };
+       };
 };
 
 &u2phy1 {
 
 &usbdrd_dwc3_0 {
        status = "okay";
-       dr_mode = "otg";
+       dr_mode = "host";
 };
 
 &usbdrd3_1 {
index 294d21b..2b5f001 100644 (file)
        model = "Pine64 Pinebook Pro";
        compatible = "pine64,pinebook-pro", "rockchip,rk3399";
 
+       aliases {
+               mmc0 = &sdio0;
+               mmc1 = &sdmmc;
+               mmc2 = &sdhci;
+       };
+
        chosen {
                stdout-path = "serial2:1500000n8";
        };
                pwms = <&pwm0 0 740740 0>;
        };
 
+       bat: battery {
+               compatible = "simple-battery";
+               charge-full-design-microamp-hours = <9800000>;
+               voltage-max-design-microvolt = <4350000>;
+               voltage-min-design-microvolt = <3000000>;
+       };
+
        edp_panel: edp-panel {
                compatible = "boe,nv140fhmn49";
                backlight = <&backlight>;
                enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
-               pinctrl-0 = <&panel_en_gpio>;
+               pinctrl-0 = <&panel_en_pin>;
                power-supply = <&vcc3v3_panel>;
 
                ports {
@@ -60,7 +73,7 @@
        gpio-key-lid {
                compatible = "gpio-keys";
                pinctrl-names = "default";
-               pinctrl-0 = <&lidbtn_gpio>;
+               pinctrl-0 = <&lidbtn_pin>;
 
                lid {
                        debounce-interval = <20>;
@@ -76,7 +89,7 @@
        gpio-key-power {
                compatible = "gpio-keys";
                pinctrl-names = "default";
-               pinctrl-0 = <&pwrbtn_gpio>;
+               pinctrl-0 = <&pwrbtn_pin>;
 
                power {
                        debounce-interval = <20>;
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
-               pinctrl-0 = <&pwrled_gpio &slpled_gpio>;
+               pinctrl-0 = <&pwr_led_pin &slp_led_pin>;
 
-               green-led {
+               green_led: led-0 {
                        color = <LED_COLOR_ID_GREEN>;
                        default-state = "on";
                        function = LED_FUNCTION_POWER;
                        label = "green:power";
                };
 
-               red-led {
+               red_led: led-1 {
                        color = <LED_COLOR_ID_RED>;
                        default-state = "off";
                        function = LED_FUNCTION_STANDBY;
                clocks = <&rk808 1>;
                clock-names = "ext_clock";
                pinctrl-names = "default";
-               pinctrl-0 = <&wifi_enable_h_gpio>;
+               pinctrl-0 = <&wifi_enable_h_pin>;
                post-power-on-delay-ms = <100>;
                power-off-delay-us = <500000>;
 
        es8316-sound {
                compatible = "simple-audio-card";
                pinctrl-names = "default";
-               pinctrl-0 = <&hp_det_gpio>;
+               pinctrl-0 = <&hp_det_pin>;
                simple-audio-card,name = "rockchip,es8316-codec";
                simple-audio-card,format = "i2s";
                simple-audio-card,mclk-fs = <256>;
                enable-active-high;
                gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
-               pinctrl-0 = <&pwr_5v_gpio>;
+               pinctrl-0 = <&pwr_5v_pin>;
                regulator-name = "vcc5v0_usb";
                regulator-always-on;
                regulator-min-microvolt = <5000000>;
                enable-active-high;
                gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
-               pinctrl-0 = <&sdmmc0_pwr_h_gpio>;
+               pinctrl-0 = <&sdmmc0_pwr_h_pin>;
                regulator-name = "vcc3v0_sd";
                regulator-always-on;
                regulator-min-microvolt = <3000000>;
                enable-active-high;
                gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
-               pinctrl-0 = <&lcdvcc_en_gpio>;
+               pinctrl-0 = <&lcdvcc_en_pin>;
                regulator-name = "vcc3v3_panel";
                regulator-always-on;
                regulator-min-microvolt = <3300000>;
                enable-active-high;
                gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vcc5v0_host_en_gpio>;
+               pinctrl-0 = <&vcc5v0_host_en_pin>;
                regulator-name = "vcc5v0_otg";
                regulator-always-on;
                regulator-min-microvolt = <5000000>;
                enable-active-high;
                gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vcc5v0_typec0_en_gpio>;
+               pinctrl-0 = <&vcc5v0_typec0_en_pin>;
                regulator-name = "vbus_5vout";
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
 
                /* Also triggered by USB charger */
                pinctrl-names = "default";
-               pinctrl-0 = <&dc_det_gpio>;
+               pinctrl-0 = <&dc_det_pin>;
        };
 };
 
                interrupt-parent = <&gpio3>;
                interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
                pinctrl-names = "default";
-               pinctrl-0 = <&pmic_int_l_gpio>;
+               pinctrl-0 = <&pmic_int_l_pin>;
                rockchip,system-power-controller;
                wakeup-source;
 
                reg = <0x40>;
                fcs,suspend-voltage-selector = <1>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vsel1_gpio>;
+               pinctrl-0 = <&vsel1_pin>;
                regulator-name = "vdd_cpu_b";
                regulator-always-on;
                regulator-boot-on;
                reg = <0x41>;
                fcs,suspend-voltage-selector = <1>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vsel2_gpio>;
+               pinctrl-0 = <&vsel2_pin>;
                regulator-name = "vdd_gpu";
                regulator-always-on;
                regulator-boot-on;
        fusb0: fusb30x@22 {
                compatible = "fcs,fusb302";
                reg = <0x22>;
-               fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
+               interrupt-parent = <&gpio1>;
+               interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
                pinctrl-names = "default";
-               pinctrl-0 = <&fusb0_int_gpio>;
+               pinctrl-0 = <&fusb0_int_pin>;
                vbus-supply = <&vbus_typec>;
 
                connector {
                        };
                };
        };
+
+       cw2015@62 {
+               compatible = "cellwise,cw2015";
+               reg = <0x62>;
+               cellwise,battery-profile = /bits/ 8 <
+                       0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63
+                       0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36
+                       0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69
+                       0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59
+                       0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17
+                       0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D
+                       0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB
+                       0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11
+               >;
+               cellwise,monitor-interval-ms = <5000>;
+               monitored-battery = <&bat>;
+               power-supplies = <&mains_charger>, <&fusb0>;
+       };
 };
 
 &i2s1 {
-       #sound-dai-cells = <0>;
        pinctrl-names = "default";
-       pinctrl-0 = <&i2s_8ch_mclk_gpio>, <&i2s1_2ch_bus>;
+       pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>;
        rockchip,capture-channels = <8>;
        rockchip,playback-channels = <8>;
        status = "okay";
 &pcie0 {
        bus-scan-delay-ms = <1000>;
        ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
-       max-link-speed = <2>;
        num-lanes = <4>;
        pinctrl-names = "default";
        pinctrl-0 = <&pcie_clkreqn_cpm>;
 
 &pinctrl {
        buttons {
-               pwrbtn_gpio: pwrbtn-gpio {
+               pwrbtn_pin: pwrbtn-pin {
                        rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
                };
 
-               lidbtn_gpio: lidbtn-gpio {
+               lidbtn_pin: lidbtn-pin {
                        rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
        dc-charger {
-               dc_det_gpio: dc-det-gpio {
+               dc_det_pin: dc-det-pin {
                        rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
        es8316 {
-               hp_det_gpio: hp-det-gpio {
+               hp_det_pin: hp-det-pin {
                        rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
        fusb302x {
-               fusb0_int_gpio: fusb0-int-gpio {
+               fusb0_int_pin: fusb0-int-pin {
                        rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
        i2s1 {
-               i2s_8ch_mclk_gpio: i2s-8ch-mclk-gpio {
+               i2s_8ch_mclk_pin: i2s-8ch-mclk-pin {
                        rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>;
                };
        };
 
        lcd-panel {
-               lcdvcc_en_gpio: lcdvcc-en-gpio {
+               lcdvcc_en_pin: lcdvcc-en-pin {
                        rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               panel_en_gpio: panel-en-gpio {
+               panel_en_pin: panel-en-pin {
                        rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               lcd_panel_reset_gpio: lcd-panel-reset-gpio {
+               lcd_panel_reset_pin: lcd-panel-reset-pin {
                        rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
        leds {
-               pwrled_gpio: pwrled_gpio {
+               pwr_led_pin: pwr-led-pin {
                        rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               slpled_gpio: slpled_gpio {
+               slp_led_pin: slp-led-pin {
                        rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
 
        pmic {
-               pmic_int_l_gpio: pmic-int-l-gpio {
+               pmic_int_l_pin: pmic-int-l-pin {
                        rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
                };
 
-               vsel1_gpio: vsel1-gpio {
+               vsel1_pin: vsel1-pin {
                        rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
                };
 
-               vsel2_gpio: vsel2-gpio {
+               vsel2_pin: vsel2-pin {
                        rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
                };
        };
 
        sdcard {
-               sdmmc0_pwr_h_gpio: sdmmc0-pwr-h-gpio {
+               sdmmc0_pwr_h_pin: sdmmc0-pwr-h-pin {
                        rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
        };
 
        sdio-pwrseq {
-               wifi_enable_h_gpio: wifi-enable-h-gpio {
+               wifi_enable_h_pin: wifi-enable-h-pin {
                        rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
 
        usb-typec {
-               vcc5v0_typec0_en_gpio: vcc5v0-typec0-en-gpio {
+               vcc5v0_typec0_en_pin: vcc5v0-typec0-en-pin {
                        rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
                };
        };
 
        usb2 {
-               pwr_5v_gpio: pwr-5v-gpio {
+               pwr_5v_pin: pwr-5v-pin {
                        rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               vcc5v0_host_en_gpio: vcc5v0-host-en-gpio {
+               vcc5v0_host_en_pin: vcc5v0-host-en-pin {
                        rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
 
        wireless-bluetooth {
-               bt_wake_gpio: bt-wake-gpio {
+               bt_wake_pin: bt-wake-pin {
                        rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               bt_host_wake_gpio: bt-host-wake-gpio {
+               bt_host_wake_pin: bt-host-wake-pin {
                        rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               bt_reset_gpio: bt-reset-gpio {
+               bt_reset_pin: bt-reset-pin {
                        rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
                host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
                max-speed = <1500000>;
                pinctrl-names = "default";
-               pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>;
+               pinctrl-0 = <&bt_host_wake_pin &bt_wake_pin &bt_reset_pin>;
                shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
                vbat-supply = <&wifi_bat>;
                vddio-supply = <&vcc_wl>;
index d80d6b7..292bb7e 100644 (file)
        model = "Theobroma Systems RK3399-Q7 SoM";
        compatible = "tsd,rk3399-puma-haikou", "rockchip,rk3399";
 
+       aliases {
+               mmc1 = &sdmmc;
+       };
+
        chosen {
                stdout-path = "serial0:115200n8";
        };
 
        leds {
-               pinctrl-0 = <&led_pin_module>, <&led_sd_haikou>;
+               pinctrl-0 = <&module_led_pin>, <&sd_card_led_pin>;
 
-               sd-card-led {
+               sd_card_led: led-1 {
                        label = "sd_card_led";
                        gpios = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
                        linux,default-trigger = "mmc0";
        };
 
        leds {
-               led_sd_haikou: led-sd-gpio {
+               sd_card_led_pin: sd-card-led-pin {
                        rockchip,pins =
                          <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
                };
index 72c06ab..fb67db4 100644 (file)
@@ -8,12 +8,16 @@
 #include "rk3399-opp.dtsi"
 
 / {
+       aliases {
+               mmc0 = &sdhci;
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
-               pinctrl-0 = <&led_pin_module>;
+               pinctrl-0 = <&module_led_pin>;
 
-               module-led {
+               module_led: led-0 {
                        label = "module_led";
                        gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_HIGH>;
                        linux,default-trigger = "heartbeat";
                };
        };
 
-       /*
-        * Overwrite the opp-table for CPUB as this board uses a different
-        * regulator (FAN53555) that only allows 10mV steps and therefore
-        * can't reach the operation point target voltages from rk3399-opp.dtsi
-        */
-       /delete-node/ opp-table1;
-       cluster1_opp: opp-table1 {
-               compatible = "operating-points-v2";
-               opp-shared;
-
-               opp00 {
-                       opp-hz = /bits/ 64 <408000000>;
-                       opp-microvolt = <800000>;
-                       clock-latency-ns = <40000>;
-               };
-               opp01 {
-                       opp-hz = /bits/ 64 <600000000>;
-                       opp-microvolt = <800000>;
-               };
-               opp02 {
-                       opp-hz = /bits/ 64 <816000000>;
-                       opp-microvolt = <830000>;
-                       opp-suspend;
-               };
-               opp03 {
-                       opp-hz = /bits/ 64 <1008000000>;
-                       opp-microvolt = <880000>;
-               };
-               opp04 {
-                       opp-hz = /bits/ 64 <1200000000>;
-                       opp-microvolt = <950000>;
-               };
-               opp05 {
-                       opp-hz = /bits/ 64 <1416000000>;
-                       opp-microvolt = <1030000>;
-               };
-               opp06 {
-                       opp-hz = /bits/ 64 <1608000000>;
-                       opp-microvolt = <1100000>;
-               };
-               opp07 {
-                       opp-hz = /bits/ 64 <1800000000>;
-                       opp-microvolt = <1200000>;
-               };
-               opp08 {
-                       opp-hz = /bits/ 64 <1992000000>;
-                       opp-microvolt = <1230000>;
-                       turbo-mode;
-               };
-       };
-
        clkin_gmac: external-gmac-clock {
                compatible = "fixed-clock";
                clock-frequency = <125000000>;
        };
 
        leds {
-               led_pin_module: led-module-gpio {
+               module_led_pin: module-led-pin {
                        rockchip,pins =
                          <2 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
                };
index 2acb3d5..9447c87 100644 (file)
        model = "Firefly ROC-RK3399-PC Mezzanine Board";
        compatible = "firefly,roc-rk3399-pc-mezzanine", "rockchip,rk3399";
 
+       aliases {
+               mmc2 = &sdio0;
+       };
+
+       /* MP8009 PoE PD */
+       poe_12v: poe-12v {
+               compatible = "regulator-fixed";
+               regulator-name = "poe_12v";
+               regulator-always-on;
+               regulator-boot-on;
+               regulator-min-microvolt = <12000000>;
+               regulator-max-microvolt = <12000000>;
+       };
+
        vcc3v3_ngff: vcc3v3-ngff {
                compatible = "regulator-fixed";
                regulator-name = "vcc3v3_ngff";
@@ -22,7 +36,7 @@
                regulator-boot-on;
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
-               vin-supply = <&dc_12v>;
+               vin-supply = <&sys_12v>;
        };
 
        vcc3v3_pcie: vcc3v3-pcie {
                pinctrl-0 = <&vcc3v3_pcie_en>;
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
-               vin-supply = <&dc_12v>;
+               vin-supply = <&sys_12v>;
        };
 };
 
+&sys_12v {
+       vin-supply = <&poe_12v>;
+};
+
 &pcie_phy {
        status = "okay";
 };
index 9f225e9..d1aaf8e 100644 (file)
        model = "Firefly ROC-RK3399-PC Board";
        compatible = "firefly,roc-rk3399-pc", "rockchip,rk3399";
 
+       aliases {
+               mmc0 = &sdmmc;
+               mmc1 = &sdhci;
+       };
+
        chosen {
                stdout-path = "serial2:1500000n8";
        };
                };
        };
 
+       ir-receiver {
+               compatible = "gpio-ir-receiver";
+               gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&ir_int>;
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
-               pinctrl-0 = <&work_led_gpio>, <&diy_led_gpio>, <&yellow_led_gpio>;
+               pinctrl-0 = <&work_led_pin>, <&diy_led_pin>, <&yellow_led_pin>;
 
-               work-led {
+               work_led: led-0 {
                        label = "green:work";
                        gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
                        default-state = "on";
                        linux,default-trigger = "heartbeat";
                };
 
-               diy-led {
+               diy_led: led-1 {
                        label = "red:diy";
                        gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
                        default-state = "off";
-                       linux,default-trigger = "mmc1";
+                       linux,default-trigger = "mmc2";
                };
 
-               yellow-led {
+               yellow_led: led-2 {
                        label = "yellow:yellow-led";
                        gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
                        default-state = "off";
-                       linux,default-trigger = "mmc0";
+                       linux,default-trigger = "mmc1";
                };
        };
 
                regulator-max-microvolt = <5000000>;
        };
 
+       sys_12v: sys-12v {
+               compatible = "regulator-fixed";
+               regulator-name = "sys_12v";
+               regulator-always-on;
+               regulator-boot-on;
+               vin-supply = <&dc_12v>;
+       };
+
        /* switched by pmic_sleep */
        vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
                compatible = "regulator-fixed";
                regulator-boot-on;
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
-               vin-supply = <&dc_12v>;
+               vin-supply = <&sys_12v>;
        };
 
        vcca_0v9: vcca-0v9 {
                regulator-boot-on;
                regulator-min-microvolt = <5000000>;
                regulator-max-microvolt = <5000000>;
-               vin-supply = <&dc_12v>;
+               vin-supply = <&sys_12v>;
        };
 
        vdd_log: vdd-log {
 
                        vcc_sdio: LDO_REG4 {
                                regulator-name = "vcc_sdio";
+                               regulator-always-on;
                                regulator-boot-on;
                                regulator-min-microvolt = <1800000>;
                                regulator-max-microvolt = <3000000>;
                reg = <0x40>;
                fcs,suspend-voltage-selector = <1>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vsel1_gpio>;
+               pinctrl-0 = <&vsel1_pin>;
                regulator-name = "vdd_cpu_b";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
                reg = <0x41>;
                fcs,suspend-voltage-selector = <1>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vsel2_gpio>;
+               pinctrl-0 = <&vsel2_pin>;
                regulator-name = "vdd_gpu";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
                regulator-ramp-delay = <1000>;
+               regulator-always-on;
+               regulator-boot-on;
                vin-supply = <&vcc3v3_sys>;
 
                regulator-state-mem {
                };
        };
 
+       ir {
+               ir_int: ir-int {
+                       rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        lcd-panel {
                lcd_panel_reset: lcd-panel-reset {
                        rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>;
        };
 
        leds {
-               diy_led_gpio: diy_led-gpio {
+               diy_led_pin: diy-led-pin {
                        rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               work_led_gpio: work_led-gpio {
+               work_led_pin: work-led-pin {
                        rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               yellow_led_gpio: yellow_led-gpio {
+               yellow_led_pin: yellow-led-pin {
                        rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
 
        pmic {
-               vsel1_gpio: vsel1-gpio {
+               vsel1_pin: vsel1-pin {
                        rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
                };
 
-               vsel2_gpio: vsel2-gpio {
+               vsel2_pin: vsel2-pin {
                        rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
                };
        };
index 1c55a46..b28888e 100644 (file)
 #include "rk3399-opp.dtsi"
 
 / {
+       aliases {
+               mmc0 = &sdmmc;
+               mmc1 = &sdhci;
+       };
+
        chosen {
                stdout-path = "serial2:1500000n8";
        };
                regulator-boot-on;
                regulator-min-microvolt = <3300000>;
                regulator-max-microvolt = <3300000>;
-
-               regulator-state-mem {
-                       regulator-off-in-suspend;
-               };
        };
 
        vdd_log: vdd-log {
                                regulator-name = "vcc_cam";
                                regulator-always-on;
                                regulator-boot-on;
-                               regulator-min-microvolt = <3300000>;
-                               regulator-max-microvolt = <3300000>;
                                regulator-state-mem {
                                        regulator-off-in-suspend;
                                };
                                regulator-name = "vcc_mipi";
                                regulator-always-on;
                                regulator-boot-on;
-                               regulator-min-microvolt = <3300000>;
-                               regulator-max-microvolt = <3300000>;
                                regulator-state-mem {
                                        regulator-off-in-suspend;
                                };
                reg = <0x40>;
                fcs,suspend-voltage-selector = <1>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vsel1_gpio>;
+               pinctrl-0 = <&vsel1_pin>;
                regulator-name = "vdd_cpu_b";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
                reg = <0x41>;
                fcs,suspend-voltage-selector = <1>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vsel2_gpio>;
+               pinctrl-0 = <&vsel2_pin>;
                regulator-name = "vdd_gpu";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
 };
 
 &i2s0 {
-       rockchip,playback-channels = <8>;
-       rockchip,capture-channels = <8>;
+       pinctrl-0 = <&i2s0_2ch_bus>;
+       rockchip,capture-channels = <2>;
+       rockchip,playback-channels = <2>;
        status = "okay";
 };
 
 
 &pcie0 {
        ep-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
-       max-link-speed = <2>;
        num-lanes = <4>;
        pinctrl-0 = <&pcie_clkreqnb_cpm>;
        pinctrl-names = "default";
                        rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
                };
 
-               vsel1_gpio: vsel1-gpio {
+               vsel1_pin: vsel1-pin {
                        rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
                };
 
-               vsel2_gpio: vsel2-gpio {
+               vsel2_pin: vsel2-pin {
                        rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
                };
        };
 
 &usbdrd_dwc3_0 {
        status = "okay";
-       dr_mode = "otg";
+       dr_mode = "host";
 };
 
 &usbdrd3_1 {
index d96dd3e..89f2af5 100644 (file)
@@ -9,5 +9,5 @@
 
 / {
        model = "Radxa ROCK Pi 4A";
-       compatible = "radxa,rockpi4", "rockchip,rk3399";
+       compatible = "radxa,rockpi4a", "radxa,rockpi4", "rockchip,rk3399";
 };
index 4ca970a..6c63e61 100644 (file)
@@ -9,7 +9,11 @@
 
 / {
        model = "Radxa ROCK Pi 4B";
-       compatible = "radxa,rockpi4", "rockchip,rk3399";
+       compatible = "radxa,rockpi4b", "radxa,rockpi4", "rockchip,rk3399";
+
+       aliases {
+               mmc2 = &sdio0;
+       };
 };
 
 &sdio0 {
index 9d07ebd..99169bc 100644 (file)
 
 / {
        model = "Radxa ROCK Pi 4C";
-       compatible = "radxa,rockpi4", "rockchip,rk3399";
+       compatible = "radxa,rockpi4c", "radxa,rockpi4", "rockchip,rk3399";
+
+       aliases {
+               mmc2 = &sdio0;
+       };
 };
 
 &sdio0 {
index 437a75f..1a23e8f 100644 (file)
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
-               pinctrl-0 = <&user_led1>, <&user_led2>, <&user_led3>,
-                           <&user_led4>, <&wlan_led>, <&bt_led>;
+               pinctrl-0 = <&user_led1_pin>, <&user_led2_pin>,
+                           <&user_led3_pin>, <&user_led4_pin>,
+                           <&wlan_led_pin>, <&bt_led_pin>;
 
-               user_led1 {
+               user_led1: led-1 {
                        label = "green:user1";
                        gpios = <&gpio4 RK_PC2 0>;
                        linux,default-trigger = "heartbeat";
                };
 
-               user_led2 {
+               user_led2: led-2 {
                        label = "green:user2";
                        gpios = <&gpio4 RK_PC6 0>;
                        linux,default-trigger = "mmc0";
                };
 
-               user_led3 {
+               user_led3: led-3 {
                        label = "green:user3";
                        gpios = <&gpio4 RK_PD0 0>;
                        linux,default-trigger = "mmc1";
                };
 
-               user_led4 {
+               user_led4: led-4 {
                        label = "green:user4";
                        gpios = <&gpio4 RK_PD4 0>;
                        panic-indicator;
                        linux,default-trigger = "none";
                };
 
-               wlan_active_led {
+               wlan_active_led: led-5 {
                        label = "yellow:wlan";
                        gpios = <&gpio4 RK_PD5 0>;
                        linux,default-trigger = "phy0tx";
                        default-state = "off";
                };
 
-               bt_active_led {
+               bt_active_led: led-6 {
                        label = "blue:bt";
                        gpios = <&gpio4 RK_PD6 0>;
                        linux,default-trigger = "hci0-power";
 
 };
 
+&cpu_alert0 {
+       temperature = <65000>;
+};
+
+&cpu_thermal {
+       sustainable-power = <1550>;
+
+       cooling-maps {
+               map0 {
+                       trip = <&cpu_alert1>;
+               };
+       };
+};
+
 &pcie0 {
        ep-gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_HIGH>;
 };
 
 &pinctrl {
        leds {
-               user_led1: user_led1 {
+               user_led1_pin: user-led1-pin {
                        rockchip,pins =
                                <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               user_led2: user_led2 {
+               user_led2_pin: user-led2-pin {
                        rockchip,pins =
                                <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               user_led3: user_led3 {
+               user_led3_pin: user-led3-pin {
                        rockchip,pins =
                                <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               user_led4: user_led4 {
+               user_led4_pin: user-led4-pin {
                        rockchip,pins =
                                <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               wlan_led: wlan_led {
+               wlan_led_pin: wlan-led-pin {
                        rockchip,pins =
                                <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               bt_led: bt_led {
+               bt_led_pin: bt-led-pin {
                        rockchip,pins =
                                <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        status = "okay";
 };
 
-&thermal_zones {
-       cpu_thermal: cpu {
-               polling-delay-passive = <100>;
-               polling-delay = <1000>;
-               thermal-sensors = <&tsadc 0>;
-               sustainable-power = <1550>;
-
-               trips {
-                       cpu_alert0: cpu_alert0 {
-                                   temperature = <65000>;
-                                   hysteresis = <2000>;
-                                   type = "passive";
-                       };
-
-                       cpu_alert1: cpu_alert1 {
-                                   temperature = <75000>;
-                                   hysteresis = <2000>;
-                                   type = "passive";
-                       };
-
-                       cpu_crit: cpu_crit {
-                                 temperature = <95000>;
-                                 hysteresis = <2000>;
-                                 type = "critical";
-                       };
-               };
-
-               cooling-maps {
-                            map0 {
-
-                            trip = <&cpu_alert1>;
-                            cooling-device =
-                                       <&cpu_b0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                       <&cpu_b1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                       };
-               };
-       };
-};
-
 &usbdrd_dwc3_0 {
        dr_mode = "otg";
 };
index ba7c75c..25dc61c 100644 (file)
@@ -9,6 +9,12 @@
 #include "rk3399-opp.dtsi"
 
 / {
+       aliases {
+               mmc0 = &sdio0;
+               mmc1 = &sdmmc;
+               mmc2 = &sdhci;
+       };
+
        sdio_pwrseq: sdio-pwrseq {
                compatible = "mmc-pwrseq-simple";
                clocks = <&rk808 1>;
                                <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
                };
 
-               vsel1_gpio: vsel1-gpio {
+               vsel1_pin: vsel1-pin {
                        rockchip,pins =
                                <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
                };
 
-               vsel2_gpio: vsel2-gpio {
+               vsel2_pin: vsel2-pin {
                        rockchip,pins =
                                <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
                };
index 9bca258..6bff8db 100644 (file)
 #include "rk3399-opp.dtsi"
 
 / {
+       aliases {
+               mmc0 = &sdio0;
+               mmc1 = &sdmmc;
+               mmc2 = &sdhci;
+       };
+
        chosen {
                stdout-path = "serial2:1500000n8";
        };
                };
        };
 
+       ir-receiver {
+               compatible = "gpio-ir-receiver";
+               gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
+               pinctrl-0 = <&ir_int>;
+               pinctrl-names = "default";
+       };
+
        leds {
                compatible = "gpio-leds";
                pinctrl-names = "default";
-               pinctrl-0 = <&work_led_gpio>, <&diy_led_gpio>;
+               pinctrl-0 = <&work_led_pin>, <&diy_led_pin>;
 
-               work-led {
+               work_led: led-0 {
                        label = "work";
                        default-state = "on";
                        gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
                };
 
-               diy-led {
+               diy_led: led-1 {
                        label = "diy";
                        default-state = "off";
                        gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
 
        sound {
                compatible = "audio-graph-card";
-               label = "rockchip,rk3399";
+               label = "Analog";
                dais = <&i2s1_p0>;
        };
 
+       sound-dit {
+               compatible = "audio-graph-card";
+               label = "SPDIF";
+               dais = <&spdif_p0>;
+       };
+
+       spdif-dit {
+               compatible = "linux,spdif-dit";
+               #sound-dai-cells = <0>;
+
+               port {
+                       dit_p0_0: endpoint {
+                               remote-endpoint = <&spdif_p0_0>;
+                       };
+               };
+       };
+
        vcc12v_dcin: vcc12v-dcin {
                compatible = "regulator-fixed";
                regulator-name = "vcc12v_dcin";
                vin-supply = <&vcc_1v8>;
        };
 
+       /* micro SD card power */
+       vcc3v0_sd: vcc3v0-sd {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&sdmmc0_pwr_h>;
+               regulator-name = "vcc3v0_sd";
+               regulator-always-on;
+               regulator-min-microvolt = <3000000>;
+               regulator-max-microvolt = <3000000>;
+               vin-supply = <&vcc3v3_sys>;
+
+               regulator-state-mem {
+                       regulator-off-in-suspend;
+               };
+       };
+
        vcc3v3_pcie: vcc3v3-pcie-regulator {
                compatible = "regulator-fixed";
                enable-active-high;
                reg = <0x40>;
                fcs,suspend-voltage-selector = <1>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vsel1_gpio>;
+               pinctrl-0 = <&vsel1_pin>;
                regulator-name = "vdd_cpu_b";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
                reg = <0x41>;
                fcs,suspend-voltage-selector = <1>;
                pinctrl-names = "default";
-               pinctrl-0 = <&vsel2_gpio>;
+               pinctrl-0 = <&vsel2_pin>;
                regulator-name = "vdd_gpu";
                regulator-min-microvolt = <712500>;
                regulator-max-microvolt = <1500000>;
                };
        };
 
+       ir {
+               ir_int: ir-int {
+                       rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        leds {
-               work_led_gpio: work_led-gpio {
+               work_led_pin: work-led-pin {
                        rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
                };
 
-               diy_led_gpio: diy_led-gpio {
+               diy_led_pin: diy-led-pin {
                        rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
                };
        };
                        rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
                };
 
-               vsel1_gpio: vsel1-gpio {
+               vsel1_pin: vsel1-pin {
                        rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
                };
 
-               vsel2_gpio: vsel2-gpio {
+               vsel2_pin: vsel2-pin {
                        rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
                };
        };
 
+       sdcard {
+               sdmmc0_pwr_h: sdmmc0-pwr-h {
+                       rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+
+       };
+
        sdio-pwrseq {
                wifi_enable_h: wifi-enable-h {
                        rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
        max-frequency = <150000000>;
        pinctrl-names = "default";
        pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
+       vmmc-supply = <&vcc3v0_sd>;
+       vqmmc-supply = <&vcc_sdio>;
        status = "okay";
 };
 
        status = "okay";
 };
 
+&spdif {
+       pinctrl-0 = <&spdif_bus_1>;
+
+       spdif_p0: port {
+               spdif_p0_0: endpoint {
+                       remote-endpoint = <&dit_p0_0>;
+               };
+       };
+};
+
 &spi1 {
        status = "okay";
 
 
 &usbdrd_dwc3_0 {
        status = "okay";
-       dr_mode = "otg";
+       dr_mode = "host";
 };
 
 &usbdrd3_1 {
index 74f2c3d..3871c7f 100644 (file)
                #clock-cells = <0>;
        };
 
-       amba: bus {
-               compatible = "simple-bus";
-               #address-cells = <2>;
-               #size-cells = <2>;
-               ranges;
-
-               dmac_bus: dma-controller@ff6d0000 {
-                       compatible = "arm,pl330", "arm,primecell";
-                       reg = <0x0 0xff6d0000 0x0 0x4000>;
-                       interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>,
-                                    <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>;
-                       #dma-cells = <1>;
-                       clocks = <&cru ACLK_DMAC0_PERILP>;
-                       clock-names = "apb_pclk";
-               };
-
-               dmac_peri: dma-controller@ff6e0000 {
-                       compatible = "arm,pl330", "arm,primecell";
-                       reg = <0x0 0xff6e0000 0x0 0x4000>;
-                       interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH 0>,
-                                    <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>;
-                       #dma-cells = <1>;
-                       clocks = <&cru ACLK_DMAC1_PERILP>;
-                       clock-names = "apb_pclk";
-               };
-       };
-
        pcie0: pcie@f8000000 {
                compatible = "rockchip,rk3399-pcie";
                reg = <0x0 0xf8000000 0x0 0x2000000>,
                      <0x0 0xfd000000 0x0 0x1000000>;
                reg-names = "axi-base", "apb-base";
+               device_type = "pci";
                #address-cells = <3>;
                #size-cells = <2>;
                #interrupt-cells = <1>;
                                <0 0 0 2 &pcie0_intc 1>,
                                <0 0 0 3 &pcie0_intc 2>,
                                <0 0 0 4 &pcie0_intc 3>;
-               linux,pci-domain = <0>;
                max-link-speed = <1>;
                msi-map = <0x0 &its 0x0 0x1000>;
                phys = <&pcie_phy 0>, <&pcie_phy 1>,
                       <&pcie_phy 2>, <&pcie_phy 3>;
                phy-names = "pcie-phy-0", "pcie-phy-1",
                            "pcie-phy-2", "pcie-phy-3";
-               ranges = <0x83000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x1e00000
-                         0x81000000 0x0 0xfbe00000 0x0 0xfbe00000 0x0 0x100000>;
+               ranges = <0x82000000 0x0 0xfa000000 0x0 0xfa000000 0x0 0x1e00000>,
+                        <0x81000000 0x0 0xfbe00000 0x0 0xfbe00000 0x0 0x100000>;
                resets = <&cru SRST_PCIE_CORE>, <&cru SRST_PCIE_MGMT>,
                         <&cru SRST_PCIE_MGMT_STICKY>, <&cru SRST_PCIE_PIPE>,
                         <&cru SRST_PCIE_PM>, <&cru SRST_P_PCIE>,
                status = "disabled";
        };
 
-       sdhci: sdhci@fe330000 {
+       sdhci: mmc@fe330000 {
                compatible = "rockchip,rk3399-sdhci-5.1", "arasan,sdhci-5.1";
                reg = <0x0 0xfe330000 0x0 0x10000>;
                interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH 0>;
                reset-names = "usb3-otg";
                status = "disabled";
 
-               usbdrd_dwc3_0: dwc3 {
+               usbdrd_dwc3_0: usb@fe800000 {
                        compatible = "snps,dwc3";
                        reg = <0x0 0xfe800000 0x0 0x100000>;
                        interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH 0>;
                reset-names = "usb3-otg";
                status = "disabled";
 
-               usbdrd_dwc3_1: dwc3 {
+               usbdrd_dwc3_1: usb@fe900000 {
                        compatible = "snps,dwc3";
                        reg = <0x0 0xfe900000 0x0 0x100000>;
                        interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH 0>;
        };
 
        thermal_zones: thermal-zones {
-               cpu_thermal: cpu {
+               cpu_thermal: cpu-thermal {
                        polling-delay-passive = <100>;
                        polling-delay = <1000>;
 
                        };
                };
 
-               gpu_thermal: gpu {
+               gpu_thermal: gpu-thermal {
                        polling-delay-passive = <100>;
                        polling-delay = <1000>;
 
                rockchip,grf = <&grf>;
                rockchip,hw-tshut-temp = <95000>;
                pinctrl-names = "init", "default", "sleep";
-               pinctrl-0 = <&otp_gpio>;
+               pinctrl-0 = <&otp_pin>;
                pinctrl-1 = <&otp_out>;
-               pinctrl-2 = <&otp_gpio>;
+               pinctrl-2 = <&otp_pin>;
                #thermal-sensor-cells = <1>;
                status = "disabled";
        };
 
        qos_emmc: qos@ffa58000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa58000 0x0 0x20>;
        };
 
        qos_gmac: qos@ffa5c000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa5c000 0x0 0x20>;
        };
 
        qos_pcie: qos@ffa60080 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa60080 0x0 0x20>;
        };
 
        qos_usb_host0: qos@ffa60100 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa60100 0x0 0x20>;
        };
 
        qos_usb_host1: qos@ffa60180 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa60180 0x0 0x20>;
        };
 
        qos_usb_otg0: qos@ffa70000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa70000 0x0 0x20>;
        };
 
        qos_usb_otg1: qos@ffa70080 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa70080 0x0 0x20>;
        };
 
        qos_sd: qos@ffa74000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa74000 0x0 0x20>;
        };
 
        qos_sdioaudio: qos@ffa76000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa76000 0x0 0x20>;
        };
 
        qos_hdcp: qos@ffa90000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa90000 0x0 0x20>;
        };
 
        qos_iep: qos@ffa98000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffa98000 0x0 0x20>;
        };
 
        qos_isp0_m0: qos@ffaa0000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffaa0000 0x0 0x20>;
        };
 
        qos_isp0_m1: qos@ffaa0080 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffaa0080 0x0 0x20>;
        };
 
        qos_isp1_m0: qos@ffaa8000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffaa8000 0x0 0x20>;
        };
 
        qos_isp1_m1: qos@ffaa8080 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffaa8080 0x0 0x20>;
        };
 
        qos_rga_r: qos@ffab0000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffab0000 0x0 0x20>;
        };
 
        qos_rga_w: qos@ffab0080 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffab0080 0x0 0x20>;
        };
 
        qos_video_m0: qos@ffab8000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffab8000 0x0 0x20>;
        };
 
        qos_video_m1_r: qos@ffac0000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffac0000 0x0 0x20>;
        };
 
        qos_video_m1_w: qos@ffac0080 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffac0080 0x0 0x20>;
        };
 
        qos_vop_big_r: qos@ffac8000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffac8000 0x0 0x20>;
        };
 
        qos_vop_big_w: qos@ffac8080 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffac8080 0x0 0x20>;
        };
 
        qos_vop_little: qos@ffad0000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffad0000 0x0 0x20>;
        };
 
        qos_perihp: qos@ffad8080 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffad8080 0x0 0x20>;
        };
 
        qos_gpu: qos@ffae0000 {
-               compatible = "syscon";
+               compatible = "rockchip,rk3399-qos", "syscon";
                reg = <0x0 0xffae0000 0x0 0x20>;
        };
 
                        #size-cells = <0>;
 
                        /* These power domains are grouped by VD_CENTER */
-                       pd_iep@RK3399_PD_IEP {
+                       power-domain@RK3399_PD_IEP {
                                reg = <RK3399_PD_IEP>;
                                clocks = <&cru ACLK_IEP>,
                                         <&cru HCLK_IEP>;
                                pm_qos = <&qos_iep>;
+                               #power-domain-cells = <0>;
                        };
-                       pd_rga@RK3399_PD_RGA {
+                       power-domain@RK3399_PD_RGA {
                                reg = <RK3399_PD_RGA>;
                                clocks = <&cru ACLK_RGA>,
                                         <&cru HCLK_RGA>;
                                pm_qos = <&qos_rga_r>,
                                         <&qos_rga_w>;
+                               #power-domain-cells = <0>;
                        };
-                       pd_vcodec@RK3399_PD_VCODEC {
+                       power-domain@RK3399_PD_VCODEC {
                                reg = <RK3399_PD_VCODEC>;
                                clocks = <&cru ACLK_VCODEC>,
                                         <&cru HCLK_VCODEC>;
                                pm_qos = <&qos_video_m0>;
+                               #power-domain-cells = <0>;
                        };
-                       pd_vdu@RK3399_PD_VDU {
+                       power-domain@RK3399_PD_VDU {
                                reg = <RK3399_PD_VDU>;
                                clocks = <&cru ACLK_VDU>,
                                         <&cru HCLK_VDU>;
                                pm_qos = <&qos_video_m1_r>,
                                         <&qos_video_m1_w>;
+                               #power-domain-cells = <0>;
                        };
 
                        /* These power domains are grouped by VD_GPU */
-                       pd_gpu@RK3399_PD_GPU {
+                       power-domain@RK3399_PD_GPU {
                                reg = <RK3399_PD_GPU>;
                                clocks = <&cru ACLK_GPU>;
                                pm_qos = <&qos_gpu>;
+                               #power-domain-cells = <0>;
                        };
 
                        /* These power domains are grouped by VD_LOGIC */
-                       pd_edp@RK3399_PD_EDP {
+                       power-domain@RK3399_PD_EDP {
                                reg = <RK3399_PD_EDP>;
                                clocks = <&cru PCLK_EDP_CTRL>;
+                               #power-domain-cells = <0>;
                        };
-                       pd_emmc@RK3399_PD_EMMC {
+                       power-domain@RK3399_PD_EMMC {
                                reg = <RK3399_PD_EMMC>;
                                clocks = <&cru ACLK_EMMC>;
                                pm_qos = <&qos_emmc>;
+                               #power-domain-cells = <0>;
                        };
-                       pd_gmac@RK3399_PD_GMAC {
+                       power-domain@RK3399_PD_GMAC {
                                reg = <RK3399_PD_GMAC>;
                                clocks = <&cru ACLK_GMAC>,
                                         <&cru PCLK_GMAC>;
                                pm_qos = <&qos_gmac>;
+                               #power-domain-cells = <0>;
                        };
-                       pd_sd@RK3399_PD_SD {
+                       power-domain@RK3399_PD_SD {
                                reg = <RK3399_PD_SD>;
                                clocks = <&cru HCLK_SDMMC>,
                                         <&cru SCLK_SDMMC>;
                                pm_qos = <&qos_sd>;
+                               #power-domain-cells = <0>;
                        };
-                       pd_sdioaudio@RK3399_PD_SDIOAUDIO {
+                       power-domain@RK3399_PD_SDIOAUDIO {
                                reg = <RK3399_PD_SDIOAUDIO>;
                                clocks = <&cru HCLK_SDIO>;
                                pm_qos = <&qos_sdioaudio>;
+                               #power-domain-cells = <0>;
+                       };
+                       power-domain@RK3399_PD_TCPD0 {
+                               reg = <RK3399_PD_TCPD0>;
+                               clocks = <&cru SCLK_UPHY0_TCPDCORE>,
+                                        <&cru SCLK_UPHY0_TCPDPHY_REF>;
+                               #power-domain-cells = <0>;
+                       };
+                       power-domain@RK3399_PD_TCPD1 {
+                               reg = <RK3399_PD_TCPD1>;
+                               clocks = <&cru SCLK_UPHY1_TCPDCORE>,
+                                        <&cru SCLK_UPHY1_TCPDPHY_REF>;
+                               #power-domain-cells = <0>;
                        };
-                       pd_usb3@RK3399_PD_USB3 {
+                       power-domain@RK3399_PD_USB3 {
                                reg = <RK3399_PD_USB3>;
                                clocks = <&cru ACLK_USB3>;
                                pm_qos = <&qos_usb_otg0>,
                                         <&qos_usb_otg1>;
+                               #power-domain-cells = <0>;
                        };
-                       pd_vio@RK3399_PD_VIO {
+                       power-domain@RK3399_PD_VIO {
                                reg = <RK3399_PD_VIO>;
+                               #power-domain-cells = <1>;
                                #address-cells = <1>;
                                #size-cells = <0>;
 
-                               pd_hdcp@RK3399_PD_HDCP {
+                               power-domain@RK3399_PD_HDCP {
                                        reg = <RK3399_PD_HDCP>;
                                        clocks = <&cru ACLK_HDCP>,
                                                 <&cru HCLK_HDCP>,
                                                 <&cru PCLK_HDCP>;
                                        pm_qos = <&qos_hdcp>;
+                                       #power-domain-cells = <0>;
                                };
-                               pd_isp0@RK3399_PD_ISP0 {
+                               power-domain@RK3399_PD_ISP0 {
                                        reg = <RK3399_PD_ISP0>;
                                        clocks = <&cru ACLK_ISP0>,
                                                 <&cru HCLK_ISP0>;
                                        pm_qos = <&qos_isp0_m0>,
                                                 <&qos_isp0_m1>;
+                                       #power-domain-cells = <0>;
                                };
-                               pd_isp1@RK3399_PD_ISP1 {
+                               power-domain@RK3399_PD_ISP1 {
                                        reg = <RK3399_PD_ISP1>;
                                        clocks = <&cru ACLK_ISP1>,
                                                 <&cru HCLK_ISP1>;
                                        pm_qos = <&qos_isp1_m0>,
                                                 <&qos_isp1_m1>;
+                                       #power-domain-cells = <0>;
                                };
-                               pd_tcpc0@RK3399_PD_TCPC0 {
-                                       reg = <RK3399_PD_TCPD0>;
-                                       clocks = <&cru SCLK_UPHY0_TCPDCORE>,
-                                                <&cru SCLK_UPHY0_TCPDPHY_REF>;
-                               };
-                               pd_tcpc1@RK3399_PD_TCPC1 {
-                                       reg = <RK3399_PD_TCPD1>;
-                                       clocks = <&cru SCLK_UPHY1_TCPDCORE>,
-                                                <&cru SCLK_UPHY1_TCPDPHY_REF>;
-                               };
-                               pd_vo@RK3399_PD_VO {
+                               power-domain@RK3399_PD_VO {
                                        reg = <RK3399_PD_VO>;
+                                       #power-domain-cells = <1>;
                                        #address-cells = <1>;
                                        #size-cells = <0>;
 
-                                       pd_vopb@RK3399_PD_VOPB {
+                                       power-domain@RK3399_PD_VOPB {
                                                reg = <RK3399_PD_VOPB>;
                                                clocks = <&cru ACLK_VOP0>,
                                                         <&cru HCLK_VOP0>;
                                                pm_qos = <&qos_vop_big_r>,
                                                         <&qos_vop_big_w>;
+                                               #power-domain-cells = <0>;
                                        };
-                                       pd_vopl@RK3399_PD_VOPL {
+                                       power-domain@RK3399_PD_VOPL {
                                                reg = <RK3399_PD_VOPL>;
                                                clocks = <&cru ACLK_VOP1>,
                                                         <&cru HCLK_VOP1>;
                                                pm_qos = <&qos_vop_little>;
+                                               #power-domain-cells = <0>;
                                        };
                                };
                        };
        pmugrf: syscon@ff320000 {
                compatible = "rockchip,rk3399-pmugrf", "syscon", "simple-mfd";
                reg = <0x0 0xff320000 0x0 0x1000>;
-               #address-cells = <1>;
-               #size-cells = <1>;
 
                pmu_io_domains: io-domains {
                        compatible = "rockchip,rk3399-pmu-io-voltage-domain";
                pinctrl-names = "default";
                pinctrl-0 = <&pwm0_pin>;
                clocks = <&pmucru PCLK_RKPWM_PMU>;
-               clock-names = "pwm";
                status = "disabled";
        };
 
                pinctrl-names = "default";
                pinctrl-0 = <&pwm1_pin>;
                clocks = <&pmucru PCLK_RKPWM_PMU>;
-               clock-names = "pwm";
                status = "disabled";
        };
 
                pinctrl-names = "default";
                pinctrl-0 = <&pwm2_pin>;
                clocks = <&pmucru PCLK_RKPWM_PMU>;
-               clock-names = "pwm";
                status = "disabled";
        };
 
                pinctrl-names = "default";
                pinctrl-0 = <&pwm3a_pin>;
                clocks = <&pmucru PCLK_RKPWM_PMU>;
-               clock-names = "pwm";
                status = "disabled";
        };
 
                power-domains = <&power RK3399_PD_VCODEC>;
        };
 
+       vdec: video-codec@ff660000 {
+               compatible = "rockchip,rk3399-vdec";
+               reg = <0x0 0xff660000 0x0 0x400>;
+               interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH 0>;
+               clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>,
+                        <&cru SCLK_VDU_CA>, <&cru SCLK_VDU_CORE>;
+               clock-names = "axi", "ahb", "cabac", "core";
+               iommus = <&vdec_mmu>;
+               power-domains = <&power RK3399_PD_VDU>;
+       };
+
        vdec_mmu: iommu@ff660480 {
                compatible = "rockchip,iommu";
                reg = <0x0 0xff660480 0x0 0x40>, <0x0 0xff6604c0 0x0 0x40>;
                interrupt-names = "vdec_mmu";
                clocks = <&cru ACLK_VDU>, <&cru HCLK_VDU>;
                clock-names = "aclk", "iface";
+               power-domains = <&power RK3399_PD_VDU>;
                #iommu-cells = <0>;
-               status = "disabled";
        };
 
        iep_mmu: iommu@ff670800 {
                };
        };
 
+       dmac_bus: dma-controller@ff6d0000 {
+               compatible = "arm,pl330", "arm,primecell";
+               reg = <0x0 0xff6d0000 0x0 0x4000>;
+               interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH 0>,
+                            <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH 0>;
+               #dma-cells = <1>;
+               arm,pl330-periph-burst;
+               clocks = <&cru ACLK_DMAC0_PERILP>;
+               clock-names = "apb_pclk";
+       };
+
+       dmac_peri: dma-controller@ff6e0000 {
+               compatible = "arm,pl330", "arm,primecell";
+               reg = <0x0 0xff6e0000 0x0 0x4000>;
+               interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH 0>,
+                            <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH 0>;
+               #dma-cells = <1>;
+               arm,pl330-periph-burst;
+               clocks = <&cru ACLK_DMAC1_PERILP>;
+               clock-names = "apb_pclk";
+       };
+
        pmucru: pmu-clock-controller@ff750000 {
                compatible = "rockchip,rk3399-pmucru";
                reg = <0x0 0xff750000 0x0 0x1000>;
                        status = "disabled";
                };
 
-               u2phy0: usb2-phy@e450 {
+               mipi_dphy_rx0: mipi-dphy-rx0 {
+                       compatible = "rockchip,rk3399-mipi-dphy-rx0";
+                       clocks = <&cru SCLK_MIPIDPHY_REF>,
+                                <&cru SCLK_DPHY_RX0_CFG>,
+                                <&cru PCLK_VIO_GRF>;
+                       clock-names = "dphy-ref", "dphy-cfg", "grf";
+                       power-domains = <&power RK3399_PD_VIO>;
+                       #phy-cells = <0>;
+                       status = "disabled";
+               };
+
+               u2phy0: usb2phy@e450 {
                        compatible = "rockchip,rk3399-usb2phy";
                        reg = <0xe450 0x10>;
                        clocks = <&cru SCLK_USB2PHY0_REF>;
                        };
                };
 
-               u2phy1: usb2-phy@e460 {
+               u2phy1: usb2phy@e460 {
                        compatible = "rockchip,rk3399-usb2phy";
                        reg = <0xe460 0x10>;
                        clocks = <&cru SCLK_USB2PHY1_REF>;
        };
 
        watchdog@ff848000 {
-               compatible = "snps,dw-wdt";
+               compatible = "rockchip,rk3399-wdt", "snps,dw-wdt";
                reg = <0x0 0xff848000 0x0 0x100>;
                clocks = <&cru PCLK_WDT>;
                interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH 0>;
                status = "disabled";
        };
 
+       isp0: isp0@ff910000 {
+               compatible = "rockchip,rk3399-cif-isp";
+               reg = <0x0 0xff910000 0x0 0x4000>;
+               interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH 0>;
+               clocks = <&cru SCLK_ISP0>,
+                        <&cru ACLK_ISP0_WRAPPER>,
+                        <&cru HCLK_ISP0_WRAPPER>;
+               clock-names = "isp", "aclk", "hclk";
+               iommus = <&isp0_mmu>;
+               phys = <&mipi_dphy_rx0>;
+               phy-names = "dphy";
+               power-domains = <&power RK3399_PD_ISP0>;
+               status = "disabled";
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+                       };
+               };
+       };
+
        isp0_mmu: iommu@ff914000 {
                compatible = "rockchip,iommu";
                reg = <0x0 0xff914000 0x0 0x100>, <0x0 0xff915000 0x0 0x100>;
        gpu: gpu@ff9a0000 {
                compatible = "rockchip,rk3399-mali", "arm,mali-t860";
                reg = <0x0 0xff9a0000 0x0 0x10000>;
-               interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH 0>,
-                            <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH 0>,
-                            <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH 0>;
-               interrupt-names = "gpu", "job", "mmu";
+               interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH 0>,
+                            <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH 0>,
+                            <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH 0>;
+               interrupt-names = "job", "mmu", "gpu";
                clocks = <&cru ACLK_GPU>;
                #cooling-cells = <2>;
                power-domains = <&power RK3399_PD_GPU>;
                        };
                };
 
-               sleep {
+               suspend {
                        ap_pwroff: ap-pwroff {
                                rockchip,pins = <1 RK_PA5 1 &pcfg_pull_none>;
                        };
                };
 
                tsadc {
-                       otp_gpio: otp-gpio {
+                       otp_pin: otp-pin {
                                rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
                        };
 
index 5d087be..e1cb426 100644 (file)
 / {
        compatible = "vamrs,rk3399pro-vmarc-som", "rockchip,rk3399pro";
 
+       aliases {
+               mmc0 = &sdmmc;
+               mmc1 = &sdhci;
+       };
+
        vcc3v3_pcie: vcc-pcie-regulator {
                compatible = "regulator-fixed";
                enable-active-high;
 
 &pcie0 {
        ep-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
-       max-link-speed = <2>;
        num-lanes = <4>;
        pinctrl-0 = <&pcie_clkreqnb_cpm>;
        pinctrl-names = "default";
                };
        };
 
+       sdio-pwrseq {
+               wifi_enable_h: wifi-enable-h {
+                       rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
+               };
+       };
+
        vbus_host {
                usb1_en_oc: usb1-en-oc {
                        rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;