Signed-off-by: Masahiro Yamada <[email protected]>
---

 arch/arm/dts/uniphier-ld11-ref.dts      | 10 +++-
 arch/arm/dts/uniphier-ld11.dtsi         | 50 +++++++++++++++++--
 arch/arm/dts/uniphier-ld20-ref.dts      | 10 +++-
 arch/arm/dts/uniphier-ld20.dtsi         | 87 ++++++++++++++++++++++++++++++++-
 arch/arm/dts/uniphier-ld4-ref.dts       | 10 +++-
 arch/arm/dts/uniphier-ld4.dtsi          | 23 +++++++--
 arch/arm/dts/uniphier-ld6b-ref.dts      | 10 +++-
 arch/arm/dts/uniphier-pinctrl.dtsi      | 52 ++++++++++----------
 arch/arm/dts/uniphier-pro4-ref.dts      | 10 +++-
 arch/arm/dts/uniphier-pro4.dtsi         | 22 +++++++--
 arch/arm/dts/uniphier-pro5.dtsi         | 16 +++++-
 arch/arm/dts/uniphier-pxs2.dtsi         | 66 ++++++++++++++++++++++---
 arch/arm/dts/uniphier-pxs3-ref.dts      | 10 +++-
 arch/arm/dts/uniphier-pxs3.dtsi         | 42 +++++++++++++++-
 arch/arm/dts/uniphier-sld8-ref.dts      | 10 +++-
 arch/arm/dts/uniphier-sld8.dtsi         | 23 +++++++--
 arch/arm/dts/uniphier-support-card.dtsi |  3 +-
 arch/arm/dts/uniphier-v7-u-boot.dtsi    |  8 +--
 arch/arm/mach-uniphier/sbc/sbc-ld11.c   |  2 +-
 arch/arm/mach-uniphier/sbc/sbc-pxs2.c   |  2 +-
 20 files changed, 400 insertions(+), 66 deletions(-)

diff --git a/arch/arm/dts/uniphier-ld11-ref.dts 
b/arch/arm/dts/uniphier-ld11-ref.dts
index ffb473a..54c5317 100644
--- a/arch/arm/dts/uniphier-ld11-ref.dts
+++ b/arch/arm/dts/uniphier-ld11-ref.dts
@@ -40,13 +40,21 @@
 };
 
 &ethsc {
-       interrupts = <0 48 4>;
+       interrupts = <0 8>;
 };
 
 &serial0 {
        status = "okay";
 };
 
+&gpio {
+       xirq0 {
+               gpio-hog;
+               gpios = <UNIPHIER_GPIO_IRQ(0) 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
diff --git a/arch/arm/dts/uniphier-ld11.dtsi b/arch/arm/dts/uniphier-ld11.dtsi
index cf079b9..40f27bb 100644
--- a/arch/arm/dts/uniphier-ld11.dtsi
+++ b/arch/arm/dts/uniphier-ld11.dtsi
@@ -7,6 +7,9 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/gpio/uniphier-gpio.h>
+
 /memreserve/ 0x80000000 0x02000000;
 
 / {
@@ -49,7 +52,7 @@
                };
        };
 
-       cluster0_opp: opp_table {
+       cluster0_opp: opp-table {
                compatible = "operating-points-v2";
                opp-shared;
 
@@ -96,6 +99,11 @@
                };
        };
 
+       emmc_pwrseq: emmc-pwrseq {
+               compatible = "mmc-pwrseq-emmc";
+               reset-gpios = <&gpio UNIPHIER_GPIO_PORT(3, 2) GPIO_ACTIVE_LOW>;
+       };
+
        timer {
                compatible = "arm,armv8-timer";
                interrupts = <1 13 4>,
@@ -119,6 +127,7 @@
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -130,6 +139,7 @@
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
@@ -141,6 +151,7 @@
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
@@ -152,6 +163,7 @@
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 3>;
                };
 
                gpio: gpio@55000000 {
@@ -200,6 +212,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
@@ -213,6 +226,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
@@ -223,6 +237,7 @@
                        #size-cells = <0>;
                        interrupts = <0 43 4>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <400000>;
                };
 
@@ -236,6 +251,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
@@ -249,6 +265,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c4>;
                        clocks = <&peri_clk 8>;
+                       resets = <&peri_rst 8>;
                        clock-frequency = <100000>;
                };
 
@@ -259,6 +276,7 @@
                        #size-cells = <0>;
                        interrupts = <0 25 4>;
                        clocks = <&peri_clk 9>;
+                       resets = <&peri_rst 9>;
                        clock-frequency = <400000>;
                };
 
@@ -311,9 +329,11 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_emmc_1v8>;
                        clocks = <&sys_clk 4>;
+                       resets = <&sys_rst 4>;
                        bus-width = <8>;
                        mmc-ddr-1_8v;
                        mmc-hs200-1_8v;
+                       mmc-pwrseq = <&emmc_pwrseq>;
                        cdns,phy-input-delay-legacy = <4>;
                        cdns,phy-input-delay-mmc-highspeed = <2>;
                        cdns,phy-input-delay-mmc-ddr = <3>;
@@ -328,7 +348,8 @@
                        interrupts = <0 243 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb0>;
-                       clocks = <&mio_clk 7>, <&mio_clk 8>, <&mio_clk 12>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 8>,
+                                <&mio_clk 12>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
                                 <&mio_rst 12>;
                };
@@ -340,7 +361,8 @@
                        interrupts = <0 244 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb1>;
-                       clocks = <&mio_clk 7>, <&mio_clk 9>, <&mio_clk 13>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 9>,
+                                <&mio_clk 13>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
                                 <&mio_rst 13>;
                };
@@ -352,7 +374,8 @@
                        interrupts = <0 245 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb2>;
-                       clocks = <&mio_clk 7>, <&mio_clk 10>, <&mio_clk 14>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 10>,
+                                <&mio_clk 14>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 10>,
                                 <&mio_rst 14>;
                };
@@ -384,6 +407,24 @@
                        };
                };
 
+               soc-glue@5f900000 {
+                       compatible = "socionext,uniphier-ld11-soc-glue-debug",
+                                    "simple-mfd";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x5f900000 0x2000>;
+
+                       efuse@100 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x100 0x28>;
+                       };
+
+                       efuse@200 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x200 0x68>;
+                       };
+               };
+
                aidet: aidet@5fc20000 {
                        compatible = "socionext,uniphier-ld11-aidet";
                        reg = <0x5fc20000 0x200>;
@@ -429,6 +470,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
diff --git a/arch/arm/dts/uniphier-ld20-ref.dts 
b/arch/arm/dts/uniphier-ld20-ref.dts
index 1ca0c86..6933710 100644
--- a/arch/arm/dts/uniphier-ld20-ref.dts
+++ b/arch/arm/dts/uniphier-ld20-ref.dts
@@ -40,13 +40,21 @@
 };
 
 &ethsc {
-       interrupts = <0 48 4>;
+       interrupts = <0 8>;
 };
 
 &serial0 {
        status = "okay";
 };
 
+&gpio {
+       xirq0 {
+               gpio-hog;
+               gpios = <UNIPHIER_GPIO_IRQ(0) 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
diff --git a/arch/arm/dts/uniphier-ld20.dtsi b/arch/arm/dts/uniphier-ld20.dtsi
index 68f0292..4d8655e 100644
--- a/arch/arm/dts/uniphier-ld20.dtsi
+++ b/arch/arm/dts/uniphier-ld20.dtsi
@@ -7,6 +7,10 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/gpio/uniphier-gpio.h>
+#include <dt-bindings/thermal/thermal.h>
+
 /memreserve/ 0x80000000 0x02000000;
 
 / {
@@ -46,6 +50,7 @@
                        clocks = <&sys_clk 32>;
                        enable-method = "psci";
                        operating-points-v2 = <&cluster0_opp>;
+                       #cooling-cells = <2>;
                };
 
                cpu1: cpu@1 {
@@ -64,6 +69,7 @@
                        clocks = <&sys_clk 33>;
                        enable-method = "psci";
                        operating-points-v2 = <&cluster1_opp>;
+                       #cooling-cells = <2>;
                };
 
                cpu3: cpu@101 {
@@ -76,7 +82,7 @@
                };
        };
 
-       cluster0_opp: opp_table0 {
+       cluster0_opp: opp-table0 {
                compatible = "operating-points-v2";
                opp-shared;
 
@@ -114,7 +120,7 @@
                };
        };
 
-       cluster1_opp: opp_table1 {
+       cluster1_opp: opp-table1 {
                compatible = "operating-points-v2";
                opp-shared;
 
@@ -165,6 +171,11 @@
                };
        };
 
+       emmc_pwrseq: emmc-pwrseq {
+               compatible = "mmc-pwrseq-emmc";
+               reset-gpios = <&gpio UNIPHIER_GPIO_PORT(3, 2) GPIO_ACTIVE_LOW>;
+       };
+
        timer {
                compatible = "arm,armv8-timer";
                interrupts = <1 13 4>,
@@ -173,6 +184,40 @@
                             <1 10 4>;
        };
 
+       thermal-zones {
+               cpu-thermal {
+                       polling-delay-passive = <250>;  /* 250ms */
+                       polling-delay = <1000>;         /* 1000ms */
+                       thermal-sensors = <&pvtctl>;
+
+                       trips {
+                               cpu_crit: cpu-crit {
+                                       temperature = <110000>; /* 110C */
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                               cpu_alert: cpu-alert {
+                                       temperature = <100000>; /* 100C */
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                       };
+
+                       cooling-maps {
+                               map0 {
+                                       trip = <&cpu_alert>;
+                                       cooling-device = <&cpu0
+                                           THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                               map1 {
+                                       trip = <&cpu_alert>;
+                                       cooling-device = <&cpu2
+                                           THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
+               };
+       };
+
        soc@0 {
                compatible = "simple-bus";
                #address-cells = <1>;
@@ -188,6 +233,7 @@
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -199,6 +245,7 @@
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
@@ -210,6 +257,7 @@
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
@@ -221,6 +269,7 @@
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 3>;
                };
 
                gpio: gpio@55000000 {
@@ -263,6 +312,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
@@ -276,6 +326,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
@@ -286,6 +337,7 @@
                        #size-cells = <0>;
                        interrupts = <0 43 4>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <400000>;
                };
 
@@ -299,6 +351,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
@@ -312,6 +365,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c4>;
                        clocks = <&peri_clk 8>;
+                       resets = <&peri_rst 8>;
                        clock-frequency = <100000>;
                };
 
@@ -322,6 +376,7 @@
                        #size-cells = <0>;
                        interrupts = <0 25 4>;
                        clocks = <&peri_clk 9>;
+                       resets = <&peri_rst 9>;
                        clock-frequency = <400000>;
                };
 
@@ -379,9 +434,11 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_emmc_1v8>;
                        clocks = <&sys_clk 4>;
+                       resets = <&sys_rst 4>;
                        bus-width = <8>;
                        mmc-ddr-1_8v;
                        mmc-hs200-1_8v;
+                       mmc-pwrseq = <&emmc_pwrseq>;
                        cdns,phy-input-delay-legacy = <4>;
                        cdns,phy-input-delay-mmc-highspeed = <2>;
                        cdns,phy-input-delay-mmc-ddr = <3>;
@@ -413,6 +470,24 @@
                        };
                };
 
+               soc-glue@5f900000 {
+                       compatible = "socionext,uniphier-ld20-soc-glue-debug",
+                                    "simple-mfd";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x5f900000 0x2000>;
+
+                       efuse@100 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x100 0x28>;
+                       };
+
+                       efuse@200 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x200 0x68>;
+                       };
+               };
+
                aidet: aidet@5fc20000 {
                        compatible = "socionext,uniphier-ld20-aidet";
                        reg = <0x5fc20000 0x200>;
@@ -447,6 +522,13 @@
                        watchdog {
                                compatible = "socionext,uniphier-wdt";
                        };
+
+                       pvtctl: pvtctl {
+                               compatible = "socionext,uniphier-ld20-thermal";
+                               interrupts = <0 3 4>;
+                               #thermal-sensor-cells = <0>;
+                               socionext,tmod-calibration = <0x0f22 0x68ee>;
+                       };
                };
 
                usb: usb@65b00000 {
@@ -476,6 +558,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
diff --git a/arch/arm/dts/uniphier-ld4-ref.dts 
b/arch/arm/dts/uniphier-ld4-ref.dts
index fb94df4..6097878 100644
--- a/arch/arm/dts/uniphier-ld4-ref.dts
+++ b/arch/arm/dts/uniphier-ld4-ref.dts
@@ -38,7 +38,7 @@
 };
 
 &ethsc {
-       interrupts = <0 49 4>;
+       interrupts = <1 8>;
 };
 
 &serial0 {
@@ -53,6 +53,14 @@
        status = "okay";
 };
 
+&gpio {
+       xirq1 {
+               gpio-hog;
+               gpios = <UNIPHIER_GPIO_IRQ(1) 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
diff --git a/arch/arm/dts/uniphier-ld4.dtsi b/arch/arm/dts/uniphier-ld4.dtsi
index 158beae..4f8f386 100644
--- a/arch/arm/dts/uniphier-ld4.dtsi
+++ b/arch/arm/dts/uniphier-ld4.dtsi
@@ -7,6 +7,8 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/gpio/uniphier-gpio.h>
+
 / {
        compatible = "socionext,uniphier-ld4";
        #address-cells = <1>;
@@ -37,7 +39,7 @@
                        clock-frequency = <24576000>;
                };
 
-               arm_timer_clk: arm_timer_clk {
+               arm_timer_clk: arm-timer {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <50000000>;
@@ -72,6 +74,7 @@
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
                        clock-frequency = <36864000>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -83,6 +86,7 @@
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
                        clock-frequency = <36864000>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
@@ -94,6 +98,7 @@
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
                        clock-frequency = <36864000>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
@@ -105,6 +110,7 @@
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
                        clock-frequency = <36864000>;
+                       resets = <&peri_rst 3>;
                };
 
                gpio: gpio@55000000 {
@@ -118,6 +124,7 @@
                        gpio-ranges = <&pinctrl 0 0 0>;
                        gpio-ranges-group-names = "gpio_range";
                        ngpios = <136>;
+                       socionext,interrupt-ranges = <0 48 13>, <14 62 2>;
                };
 
                i2c0: i2c@58400000 {
@@ -130,6 +137,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
@@ -143,6 +151,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
@@ -156,6 +165,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <400000>;
                };
 
@@ -169,6 +179,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
@@ -261,7 +272,8 @@
                        interrupts = <0 80 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb0>;
-                       clocks = <&mio_clk 7>, <&mio_clk 8>, <&mio_clk 12>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 8>,
+                                <&mio_clk 12>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
                                 <&mio_rst 12>;
                };
@@ -273,7 +285,8 @@
                        interrupts = <0 81 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb1>;
-                       clocks = <&mio_clk 7>, <&mio_clk 9>, <&mio_clk 13>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 9>,
+                                <&mio_clk 13>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
                                 <&mio_rst 13>;
                };
@@ -285,7 +298,8 @@
                        interrupts = <0 82 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb2>;
-                       clocks = <&mio_clk 7>, <&mio_clk 10>, <&mio_clk 14>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 10>,
+                                <&mio_clk 14>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 10>,
                                 <&mio_rst 14>;
                };
@@ -354,6 +368,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand2cs>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
diff --git a/arch/arm/dts/uniphier-ld6b-ref.dts 
b/arch/arm/dts/uniphier-ld6b-ref.dts
index 9b136b8..1703d8f 100644
--- a/arch/arm/dts/uniphier-ld6b-ref.dts
+++ b/arch/arm/dts/uniphier-ld6b-ref.dts
@@ -40,7 +40,7 @@
 };
 
 &ethsc {
-       interrupts = <0 52 4>;
+       interrupts = <4 8>;
 };
 
 &serial0 {
@@ -55,6 +55,14 @@
        status = "okay";
 };
 
+&gpio {
+       xirq4 {
+               gpio-hog;
+               gpios = <UNIPHIER_GPIO_IRQ(4) 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
diff --git a/arch/arm/dts/uniphier-pinctrl.dtsi 
b/arch/arm/dts/uniphier-pinctrl.dtsi
index a1b9a6c..d4f78c2 100644
--- a/arch/arm/dts/uniphier-pinctrl.dtsi
+++ b/arch/arm/dts/uniphier-pinctrl.dtsi
@@ -8,132 +8,132 @@
  */
 
 &pinctrl {
-       pinctrl_aout: aout_grp {
+       pinctrl_aout: aout {
                groups = "aout";
                function = "aout";
        };
 
-       pinctrl_emmc: emmc_grp {
+       pinctrl_emmc: emmc {
                groups = "emmc", "emmc_dat8";
                function = "emmc";
        };
 
-       pinctrl_emmc_1v8: emmc_grp_1v8 {
+       pinctrl_emmc_1v8: emmc-1v8 {
                groups = "emmc", "emmc_dat8";
                function = "emmc";
        };
 
-       pinctrl_ether_mii: ether_mii_grp {
+       pinctrl_ether_mii: ether-mii {
                groups = "ether_mii";
                function = "ether_mii";
        };
 
-       pinctrl_ether_rgmii: ether_rgmii_grp {
+       pinctrl_ether_rgmii: ether-rgmii {
                groups = "ether_rgmii";
                function = "ether_rgmii";
        };
 
-       pinctrl_ether_rmii: ether_rmii_grp {
+       pinctrl_ether_rmii: ether-rmii {
                groups = "ether_rmii";
                function = "ether_rmii";
        };
 
-       pinctrl_i2c0: i2c0_grp {
+       pinctrl_i2c0: i2c0 {
                groups = "i2c0";
                function = "i2c0";
        };
 
-       pinctrl_i2c1: i2c1_grp {
+       pinctrl_i2c1: i2c1 {
                groups = "i2c1";
                function = "i2c1";
        };
 
-       pinctrl_i2c2: i2c2_grp {
+       pinctrl_i2c2: i2c2 {
                groups = "i2c2";
                function = "i2c2";
        };
 
-       pinctrl_i2c3: i2c3_grp {
+       pinctrl_i2c3: i2c3 {
                groups = "i2c3";
                function = "i2c3";
        };
 
-       pinctrl_i2c4: i2c4_grp {
+       pinctrl_i2c4: i2c4 {
                groups = "i2c4";
                function = "i2c4";
        };
 
-       pinctrl_nand: nand_grp {
+       pinctrl_nand: nand {
                groups = "nand";
                function = "nand";
        };
 
-       pinctrl_nand2cs: nand2cs_grp {
+       pinctrl_nand2cs: nand2cs {
                groups = "nand", "nand_cs1";
                function = "nand";
        };
 
-       pinctrl_sd: sd_grp {
+       pinctrl_sd: sd {
                groups = "sd";
                function = "sd";
        };
 
-       pinctrl_sd_1v8: sd_grp_1v8 {
+       pinctrl_sd_1v8: sd-1v8 {
                groups = "sd";
                function = "sd";
        };
 
-       pinctrl_sd1: sd1_grp {
+       pinctrl_sd1: sd1 {
                groups = "sd1";
                function = "sd1";
        };
 
-       pinctrl_sd1_1v8: sd1_grp_1v8 {
+       pinctrl_sd1_1v8: sd1-1v8 {
                groups = "sd1";
                function = "sd1";
        };
 
-       pinctrl_system_bus: system_bus_grp {
+       pinctrl_system_bus: system-bus {
                groups = "system_bus", "system_bus_cs1";
                function = "system_bus";
        };
 
-       pinctrl_uart0: uart0_grp {
+       pinctrl_uart0: uart0 {
                groups = "uart0";
                function = "uart0";
        };
 
-       pinctrl_uart1: uart1_grp {
+       pinctrl_uart1: uart1 {
                groups = "uart1";
                function = "uart1";
        };
 
-       pinctrl_uart2: uart2_grp {
+       pinctrl_uart2: uart2 {
                groups = "uart2";
                function = "uart2";
        };
 
-       pinctrl_uart3: uart3_grp {
+       pinctrl_uart3: uart3 {
                groups = "uart3";
                function = "uart3";
        };
 
-       pinctrl_usb0: usb0_grp {
+       pinctrl_usb0: usb0 {
                groups = "usb0";
                function = "usb0";
        };
 
-       pinctrl_usb1: usb1_grp {
+       pinctrl_usb1: usb1 {
                groups = "usb1";
                function = "usb1";
        };
 
-       pinctrl_usb2: usb2_grp {
+       pinctrl_usb2: usb2 {
                groups = "usb2";
                function = "usb2";
        };
 
-       pinctrl_usb3: usb3_grp {
+       pinctrl_usb3: usb3 {
                groups = "usb3";
                function = "usb3";
        };
diff --git a/arch/arm/dts/uniphier-pro4-ref.dts 
b/arch/arm/dts/uniphier-pro4-ref.dts
index 1b22f80..3f9ce6d 100644
--- a/arch/arm/dts/uniphier-pro4-ref.dts
+++ b/arch/arm/dts/uniphier-pro4-ref.dts
@@ -41,7 +41,7 @@
 };
 
 &ethsc {
-       interrupts = <0 50 4>;
+       interrupts = <2 8>;
 };
 
 &serial0 {
@@ -56,6 +56,14 @@
        status = "okay";
 };
 
+&gpio {
+       xirq2 {
+               gpio-hog;
+               gpios = <UNIPHIER_GPIO_IRQ(2) 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
diff --git a/arch/arm/dts/uniphier-pro4.dtsi b/arch/arm/dts/uniphier-pro4.dtsi
index ea97e26..9b3ce13 100644
--- a/arch/arm/dts/uniphier-pro4.dtsi
+++ b/arch/arm/dts/uniphier-pro4.dtsi
@@ -7,6 +7,8 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/gpio/uniphier-gpio.h>
+
 / {
        compatible = "socionext,uniphier-pro4";
        #address-cells = <1>;
@@ -45,7 +47,7 @@
                        clock-frequency = <25000000>;
                };
 
-               arm_timer_clk: arm_timer_clk {
+               arm_timer_clk: arm-timer {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <50000000>;
@@ -80,6 +82,7 @@
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
                        clock-frequency = <73728000>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -91,6 +94,7 @@
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
                        clock-frequency = <73728000>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
@@ -102,6 +106,7 @@
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
                        clock-frequency = <73728000>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
@@ -113,6 +118,7 @@
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
                        clock-frequency = <73728000>;
+                       resets = <&peri_rst 3>;
                };
 
                gpio: gpio@55000000 {
@@ -126,6 +132,7 @@
                        gpio-ranges = <&pinctrl 0 0 0>;
                        gpio-ranges-group-names = "gpio_range";
                        ngpios = <248>;
+                       socionext,interrupt-ranges = <0 48 16>, <16 154 5>;
                };
 
                i2c0: i2c@58780000 {
@@ -138,6 +145,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
@@ -151,6 +159,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
@@ -164,6 +173,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <100000>;
                };
 
@@ -177,6 +187,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
@@ -190,6 +201,7 @@
                        #size-cells = <0>;
                        interrupts = <0 25 4>;
                        clocks = <&peri_clk 9>;
+                       resets = <&peri_rst 9>;
                        clock-frequency = <400000>;
                };
 
@@ -201,6 +213,7 @@
                        #size-cells = <0>;
                        interrupts = <0 26 4>;
                        clocks = <&peri_clk 10>;
+                       resets = <&peri_rst 10>;
                        clock-frequency = <400000>;
                };
 
@@ -310,7 +323,8 @@
                        interrupts = <0 80 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb2>;
-                       clocks = <&mio_clk 7>, <&mio_clk 8>, <&mio_clk 12>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 8>,
+                                <&mio_clk 12>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
                                 <&mio_rst 12>;
                };
@@ -322,7 +336,8 @@
                        interrupts = <0 81 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb3>;
-                       clocks = <&mio_clk 7>, <&mio_clk 9>, <&mio_clk 13>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 9>,
+                                <&mio_clk 13>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
                                 <&mio_rst 13>;
                };
@@ -427,6 +442,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
diff --git a/arch/arm/dts/uniphier-pro5.dtsi b/arch/arm/dts/uniphier-pro5.dtsi
index 3be3acf..c3b627c 100644
--- a/arch/arm/dts/uniphier-pro5.dtsi
+++ b/arch/arm/dts/uniphier-pro5.dtsi
@@ -37,7 +37,7 @@
                };
        };
 
-       cpu_opp: opp_table {
+       cpu_opp: opp-table {
                compatible = "operating-points-v2";
                opp-shared;
 
@@ -119,7 +119,7 @@
                        clock-frequency = <20000000>;
                };
 
-               arm_timer_clk: arm_timer_clk {
+               arm_timer_clk: arm-timer {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <50000000>;
@@ -167,6 +167,7 @@
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
                        clock-frequency = <73728000>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -178,6 +179,7 @@
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
                        clock-frequency = <73728000>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
@@ -189,6 +191,7 @@
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
                        clock-frequency = <73728000>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
@@ -200,6 +203,7 @@
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
                        clock-frequency = <73728000>;
+                       resets = <&peri_rst 3>;
                };
 
                gpio: gpio@55000000 {
@@ -213,6 +217,7 @@
                        gpio-ranges = <&pinctrl 0 0 0>;
                        gpio-ranges-group-names = "gpio_range";
                        ngpios = <248>;
+                       socionext,interrupt-ranges = <0 48 16>, <16 154 5>;
                };
 
                i2c0: i2c@58780000 {
@@ -225,6 +230,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
@@ -238,6 +244,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
@@ -251,6 +258,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <100000>;
                };
 
@@ -264,6 +272,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
@@ -277,6 +286,7 @@
                        #size-cells = <0>;
                        interrupts = <0 25 4>;
                        clocks = <&peri_clk 9>;
+                       resets = <&peri_rst 9>;
                        clock-frequency = <400000>;
                };
 
@@ -288,6 +298,7 @@
                        #size-cells = <0>;
                        interrupts = <0 26 4>;
                        clocks = <&peri_clk 10>;
+                       resets = <&peri_rst 10>;
                        clock-frequency = <400000>;
                };
 
@@ -438,6 +449,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand2cs>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
 
                emmc: sdhc@68400000 {
diff --git a/arch/arm/dts/uniphier-pxs2.dtsi b/arch/arm/dts/uniphier-pxs2.dtsi
index dcb2515..549d930 100644
--- a/arch/arm/dts/uniphier-pxs2.dtsi
+++ b/arch/arm/dts/uniphier-pxs2.dtsi
@@ -7,6 +7,9 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/gpio/uniphier-gpio.h>
+#include <dt-bindings/thermal/thermal.h>
+
 / {
        compatible = "socionext,uniphier-pxs2";
        #address-cells = <1>;
@@ -16,7 +19,7 @@
                #address-cells = <1>;
                #size-cells = <0>;
 
-               cpu@0 {
+               cpu0: cpu@0 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a9";
                        reg = <0>;
@@ -24,9 +27,10 @@
                        enable-method = "psci";
                        next-level-cache = <&l2>;
                        operating-points-v2 = <&cpu_opp>;
+                       #cooling-cells = <2>;
                };
 
-               cpu@1 {
+               cpu1: cpu@1 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a9";
                        reg = <1>;
@@ -36,7 +40,7 @@
                        operating-points-v2 = <&cpu_opp>;
                };
 
-               cpu@2 {
+               cpu2: cpu@2 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a9";
                        reg = <2>;
@@ -46,7 +50,7 @@
                        operating-points-v2 = <&cpu_opp>;
                };
 
-               cpu@3 {
+               cpu3: cpu@3 {
                        device_type = "cpu";
                        compatible = "arm,cortex-a9";
                        reg = <3>;
@@ -57,7 +61,7 @@
                };
        };
 
-       cpu_opp: opp_table {
+       cpu_opp: opp-table {
                compatible = "operating-points-v2";
                opp-shared;
 
@@ -107,13 +111,42 @@
                        clock-frequency = <25000000>;
                };
 
-               arm_timer_clk: arm_timer_clk {
+               arm_timer_clk: arm-timer {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <50000000>;
                };
        };
 
+       thermal-zones {
+               cpu-thermal {
+                       polling-delay-passive = <250>;  /* 250ms */
+                       polling-delay = <1000>;         /* 1000ms */
+                       thermal-sensors = <&pvtctl>;
+
+                       trips {
+                               cpu_crit: cpu-crit {
+                                       temperature = <95000>;  /* 95C */
+                                       hysteresis = <2000>;
+                                       type = "critical";
+                               };
+                               cpu_alert: cpu-alert {
+                                       temperature = <85000>;  /* 85C */
+                                       hysteresis = <2000>;
+                                       type = "passive";
+                               };
+                       };
+
+                       cooling-maps {
+                               map {
+                                       trip = <&cpu_alert>;
+                                       cooling-device = <&cpu0
+                                           THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+                               };
+                       };
+               };
+       };
+
        soc {
                compatible = "simple-bus";
                #address-cells = <1>;
@@ -142,6 +175,7 @@
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
                        clock-frequency = <88900000>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -153,6 +187,7 @@
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
                        clock-frequency = <88900000>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
@@ -164,6 +199,7 @@
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
                        clock-frequency = <88900000>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
@@ -175,6 +211,7 @@
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
                        clock-frequency = <88900000>;
+                       resets = <&peri_rst 3>;
                };
 
                gpio: gpio@55000000 {
@@ -190,6 +227,8 @@
                        gpio-ranges-group-names = "gpio_range0",
                                                  "gpio_range1";
                        ngpios = <232>;
+                       socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
+                                                    <21 217 3>;
                };
 
                i2c0: i2c@58780000 {
@@ -202,6 +241,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
@@ -215,6 +255,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
@@ -228,6 +269,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <100000>;
                };
 
@@ -241,6 +283,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
@@ -252,6 +295,7 @@
                        #size-cells = <0>;
                        interrupts = <0 45 4>;
                        clocks = <&peri_clk 8>;
+                       resets = <&peri_rst 8>;
                        clock-frequency = <400000>;
                };
 
@@ -263,6 +307,7 @@
                        #size-cells = <0>;
                        interrupts = <0 25 4>;
                        clocks = <&peri_clk 9>;
+                       resets = <&peri_rst 9>;
                        clock-frequency = <400000>;
                };
 
@@ -274,6 +319,7 @@
                        #size-cells = <0>;
                        interrupts = <0 26 4>;
                        clocks = <&peri_clk 10>;
+                       resets = <&peri_rst 10>;
                        clock-frequency = <400000>;
                };
 
@@ -412,6 +458,13 @@
                                compatible = "socionext,uniphier-pxs2-reset";
                                #reset-cells = <1>;
                        };
+
+                       pvtctl: pvtctl {
+                               compatible = "socionext,uniphier-pxs2-thermal";
+                               interrupts = <0 3 4>;
+                               #thermal-sensor-cells = <0>;
+                               socionext,tmod-calibration = <0x0f86 0x6844>;
+                       };
                };
 
                usb0: usb@65b00000 {
@@ -459,6 +512,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand2cs>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
diff --git a/arch/arm/dts/uniphier-pxs3-ref.dts 
b/arch/arm/dts/uniphier-pxs3-ref.dts
index 27de84d..f549610 100644
--- a/arch/arm/dts/uniphier-pxs3-ref.dts
+++ b/arch/arm/dts/uniphier-pxs3-ref.dts
@@ -38,13 +38,21 @@
 };
 
 &ethsc {
-       interrupts = <0 52 4>;
+       interrupts = <4 8>;
 };
 
 &serial0 {
        status = "okay";
 };
 
+&gpio {
+       xirq4 {
+               gpio-hog;
+               gpios = <UNIPHIER_GPIO_IRQ(4) 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
diff --git a/arch/arm/dts/uniphier-pxs3.dtsi b/arch/arm/dts/uniphier-pxs3.dtsi
index a004bd1..9c3aad5 100644
--- a/arch/arm/dts/uniphier-pxs3.dtsi
+++ b/arch/arm/dts/uniphier-pxs3.dtsi
@@ -7,6 +7,9 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/gpio/uniphier-gpio.h>
+
 /memreserve/ 0x80000000 0x02000000;
 
 / {
@@ -73,7 +76,7 @@
                };
        };
 
-       cluster0_opp: opp_table {
+       cluster0_opp: opp-table {
                compatible = "operating-points-v2";
                opp-shared;
 
@@ -124,6 +127,11 @@
                };
        };
 
+       emmc_pwrseq: emmc-pwrseq {
+               compatible = "mmc-pwrseq-emmc";
+               reset-gpios = <&gpio UNIPHIER_GPIO_PORT(5, 7) GPIO_ACTIVE_LOW>;
+       };
+
        timer {
                compatible = "arm,armv8-timer";
                interrupts = <1 13 4>,
@@ -147,6 +155,7 @@
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -158,6 +167,7 @@
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
@@ -169,6 +179,7 @@
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
@@ -180,6 +191,7 @@
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
                        clock-frequency = <58820000>;
+                       resets = <&peri_rst 3>;
                };
 
                gpio: gpio@55000000 {
@@ -197,6 +209,8 @@
                                                  "gpio_range1",
                                                  "gpio_range2";
                        ngpios = <286>;
+                       socionext,interrupt-ranges = <0 48 16>, <16 154 5>,
+                                                    <21 217 3>;
                };
 
                i2c0: i2c@58780000 {
@@ -209,6 +223,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
@@ -222,6 +237,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
@@ -235,6 +251,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <100000>;
                };
 
@@ -248,6 +265,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
@@ -259,6 +277,7 @@
                        #size-cells = <0>;
                        interrupts = <0 26 4>;
                        clocks = <&peri_clk 10>;
+                       resets = <&peri_rst 10>;
                        clock-frequency = <400000>;
                };
 
@@ -316,9 +335,11 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_emmc_1v8>;
                        clocks = <&sys_clk 4>;
+                       resets = <&sys_rst 4>;
                        bus-width = <8>;
                        mmc-ddr-1_8v;
                        mmc-hs200-1_8v;
+                       mmc-pwrseq = <&emmc_pwrseq>;
                        cdns,phy-input-delay-legacy = <4>;
                        cdns,phy-input-delay-mmc-highspeed = <2>;
                        cdns,phy-input-delay-mmc-ddr = <3>;
@@ -350,6 +371,24 @@
                        };
                };
 
+               soc-glue@5f900000 {
+                       compatible = "socionext,uniphier-pxs3-soc-glue-debug",
+                                    "simple-mfd";
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+                       ranges = <0 0x5f900000 0x2000>;
+
+                       efuse@100 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x100 0x28>;
+                       };
+
+                       efuse@200 {
+                               compatible = "socionext,uniphier-efuse";
+                               reg = <0x200 0x68>;
+                       };
+               };
+
                aidet: aidet@5fc20000 {
                        compatible = "socionext,uniphier-pxs3-aidet";
                        reg = <0x5fc20000 0x200>;
@@ -431,6 +470,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
diff --git a/arch/arm/dts/uniphier-sld8-ref.dts 
b/arch/arm/dts/uniphier-sld8-ref.dts
index c94f0af..8fae1ed 100644
--- a/arch/arm/dts/uniphier-sld8-ref.dts
+++ b/arch/arm/dts/uniphier-sld8-ref.dts
@@ -38,7 +38,7 @@
 };
 
 &ethsc {
-       interrupts = <0 48 4>;
+       interrupts = <0 8>;
 };
 
 &serial0 {
@@ -53,6 +53,14 @@
        status = "okay";
 };
 
+&gpio {
+       xirq0 {
+               gpio-hog;
+               gpios = <UNIPHIER_GPIO_IRQ(0) 0>;
+               input;
+       };
+};
+
 &i2c0 {
        status = "okay";
 };
diff --git a/arch/arm/dts/uniphier-sld8.dtsi b/arch/arm/dts/uniphier-sld8.dtsi
index a3693b0..c759ac6 100644
--- a/arch/arm/dts/uniphier-sld8.dtsi
+++ b/arch/arm/dts/uniphier-sld8.dtsi
@@ -7,6 +7,8 @@
  * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
  */
 
+#include <dt-bindings/gpio/uniphier-gpio.h>
+
 / {
        compatible = "socionext,uniphier-sld8";
        #address-cells = <1>;
@@ -37,7 +39,7 @@
                        clock-frequency = <25000000>;
                };
 
-               arm_timer_clk: arm_timer_clk {
+               arm_timer_clk: arm-timer {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <50000000>;
@@ -72,6 +74,7 @@
                        pinctrl-0 = <&pinctrl_uart0>;
                        clocks = <&peri_clk 0>;
                        clock-frequency = <80000000>;
+                       resets = <&peri_rst 0>;
                };
 
                serial1: serial@54006900 {
@@ -83,6 +86,7 @@
                        pinctrl-0 = <&pinctrl_uart1>;
                        clocks = <&peri_clk 1>;
                        clock-frequency = <80000000>;
+                       resets = <&peri_rst 1>;
                };
 
                serial2: serial@54006a00 {
@@ -94,6 +98,7 @@
                        pinctrl-0 = <&pinctrl_uart2>;
                        clocks = <&peri_clk 2>;
                        clock-frequency = <80000000>;
+                       resets = <&peri_rst 2>;
                };
 
                serial3: serial@54006b00 {
@@ -105,6 +110,7 @@
                        pinctrl-0 = <&pinctrl_uart3>;
                        clocks = <&peri_clk 3>;
                        clock-frequency = <80000000>;
+                       resets = <&peri_rst 3>;
                };
 
                gpio: gpio@55000000 {
@@ -122,6 +128,7 @@
                                                  "gpio_range1",
                                                  "gpio_range2";
                        ngpios = <136>;
+                       socionext,interrupt-ranges = <0 48 13>, <14 62 2>;
                };
 
                i2c0: i2c@58400000 {
@@ -134,6 +141,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c0>;
                        clocks = <&peri_clk 4>;
+                       resets = <&peri_rst 4>;
                        clock-frequency = <100000>;
                };
 
@@ -147,6 +155,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c1>;
                        clocks = <&peri_clk 5>;
+                       resets = <&peri_rst 5>;
                        clock-frequency = <100000>;
                };
 
@@ -160,6 +169,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c2>;
                        clocks = <&peri_clk 6>;
+                       resets = <&peri_rst 6>;
                        clock-frequency = <400000>;
                };
 
@@ -173,6 +183,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_i2c3>;
                        clocks = <&peri_clk 7>;
+                       resets = <&peri_rst 7>;
                        clock-frequency = <100000>;
                };
 
@@ -265,7 +276,8 @@
                        interrupts = <0 80 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb0>;
-                       clocks = <&mio_clk 7>, <&mio_clk 8>, <&mio_clk 12>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 8>,
+                                <&mio_clk 12>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 8>,
                                 <&mio_rst 12>;
                };
@@ -277,7 +289,8 @@
                        interrupts = <0 81 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb1>;
-                       clocks = <&mio_clk 7>, <&mio_clk 9>, <&mio_clk 13>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 9>,
+                                <&mio_clk 13>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 9>,
                                 <&mio_rst 13>;
                };
@@ -289,7 +302,8 @@
                        interrupts = <0 82 4>;
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_usb2>;
-                       clocks = <&mio_clk 7>, <&mio_clk 10>, <&mio_clk 14>;
+                       clocks = <&sys_clk 8>, <&mio_clk 7>, <&mio_clk 10>,
+                                <&mio_clk 14>;
                        resets = <&sys_rst 8>, <&mio_rst 7>, <&mio_rst 10>,
                                 <&mio_rst 14>;
                };
@@ -358,6 +372,7 @@
                        pinctrl-names = "default";
                        pinctrl-0 = <&pinctrl_nand2cs>;
                        clocks = <&sys_clk 2>;
+                       resets = <&sys_rst 2>;
                };
        };
 };
diff --git a/arch/arm/dts/uniphier-support-card.dtsi 
b/arch/arm/dts/uniphier-support-card.dtsi
index 6c825f1..e4e7e1b 100644
--- a/arch/arm/dts/uniphier-support-card.dtsi
+++ b/arch/arm/dts/uniphier-support-card.dtsi
@@ -11,11 +11,12 @@
        status = "okay";
        ranges = <1 0x00000000 0x42000000 0x02000000>;
 
-       support_card: support_card@1,1f00000 {
+       support_card: support-card@1,1f00000 {
                compatible = "simple-bus";
                #address-cells = <1>;
                #size-cells = <1>;
                ranges = <0x00000000 1 0x01f00000 0x00100000>;
+               interrupt-parent = <&gpio>;
 
                ethsc: ethernet@0 {
                        compatible = "smsc,lan9118", "smsc,lan9115";
diff --git a/arch/arm/dts/uniphier-v7-u-boot.dtsi 
b/arch/arm/dts/uniphier-v7-u-boot.dtsi
index 4a0c9c0..0094a45 100644
--- a/arch/arm/dts/uniphier-v7-u-boot.dtsi
+++ b/arch/arm/dts/uniphier-v7-u-boot.dtsi
@@ -36,19 +36,19 @@
                        pinctrl {
                                u-boot,dm-pre-reloc;
 
-                               emmc_grp {
+                               emmc {
                                        u-boot,dm-pre-reloc;
                                };
 
-                               uart0_grp {
+                               uart0 {
                                        u-boot,dm-pre-reloc;
                                };
 
-                               uart1_grp {
+                               uart1 {
                                        u-boot,dm-pre-reloc;
                                };
 
-                               uart2_grp {
+                               uart2 {
                                        u-boot,dm-pre-reloc;
                                };
                        };
diff --git a/arch/arm/mach-uniphier/sbc/sbc-ld11.c 
b/arch/arm/mach-uniphier/sbc/sbc-ld11.c
index e6b83ff..d075c47 100644
--- a/arch/arm/mach-uniphier/sbc/sbc-ld11.c
+++ b/arch/arm/mach-uniphier/sbc/sbc-ld11.c
@@ -21,5 +21,5 @@ void uniphier_ld11_sbc_init(void)
 
        /* pins for NAND and System Bus are multiplexed */
        if (spl_boot_device() != BOOT_DEVICE_NAND)
-               uniphier_pin_init("system_bus_grp");
+               uniphier_pin_init("system-bus");
 }
diff --git a/arch/arm/mach-uniphier/sbc/sbc-pxs2.c 
b/arch/arm/mach-uniphier/sbc/sbc-pxs2.c
index 0e0ba27..9ee2646 100644
--- a/arch/arm/mach-uniphier/sbc/sbc-pxs2.c
+++ b/arch/arm/mach-uniphier/sbc/sbc-pxs2.c
@@ -17,5 +17,5 @@ void uniphier_pxs2_sbc_init(void)
        /* system bus output enable */
        writel(0x17, PC0CTRL);
 
-       uniphier_pin_init("system_bus_grp");    /* PXs3 */
+       uniphier_pin_init("system-bus");        /* PXs3 */
 }
-- 
2.7.4

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to