lantiq: kernel 4.14: update dts files
authorHauke Mehrtens <hauke@hauke-m.de>
Mon, 13 Nov 2017 21:39:01 +0000 (22:39 +0100)
committerMathias Kresin <dev@kresin.me>
Tue, 20 Feb 2018 18:25:17 +0000 (19:25 +0100)
Updated the devicetree source files to make use of the following
upstreamed drivers:

 - xrx200 ethernet phy
 - reset controller unit
 - dwc2
 - fpi

Use our custom xrx200 ethernet phy compatible to support boards, which
have switched the vr9 revision during lifetime, with a single devicetree
source file.

By switching to the dwc2 driver + usb phy framework, we don't need to used
our custom gpio power patch and can use a fixed regulator instead.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Mathias Kresin <dev@kresin.me>
38 files changed:
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ACMP252.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4518PWR01.dtsi
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4519PW.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4520PW.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV452CQW.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7510PW22.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7518PW.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519PW.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519RW22.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW22.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV8539PW22.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ASL56026.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV2B.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV3A.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV5A.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN1000B.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN3500.dtsi
target/linux/lantiq/files-4.14/arch/mips/boot/dts/DM200.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY80920.dtsi
target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/GIGASX76X.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/H201L.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2601HNFX.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUFX.dtsi
target/linux/lantiq/files-4.14/arch/mips/boot/dts/TDW89X0.dtsi
target/linux/lantiq/files-4.14/arch/mips/boot/dts/VG3503J.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7510KW22.dtsi
target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7519.dtsi
target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200v.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR300.dts
target/linux/lantiq/files-4.14/arch/mips/boot/dts/amazonse.dtsi
target/linux/lantiq/files-4.14/arch/mips/boot/dts/ar9.dtsi
target/linux/lantiq/files-4.14/arch/mips/boot/dts/danube.dtsi
target/linux/lantiq/files-4.14/arch/mips/boot/dts/vr9.dtsi

index 2c69402..5e1f271 100644 (file)
        memory@0 {
                reg = <0x0 0x4000000>;
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 3 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        status = "okay";
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpio 3 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index de657c6..458a387 100644 (file)
                        gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        req-mask = <0xf>;
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index 11e57e1..5733d2c 100644 (file)
                        gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        req-mask = <0xf>;
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index 84d36d7..aa42693 100644 (file)
                        info is missing
                */
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 28 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpio 28 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index 7221c11..1e1183d 100644 (file)
                        gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 28 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpio 28 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index d99e1e3..337f969 100644 (file)
                        lantiq,output = <0>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 8 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gsw {
        };
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpio 8 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index a0924f2..1d6f404 100644 (file)
                        lantiq,open-drain = <1>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpiomm {
        };
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index 4d0ddfd..39dcf45 100644 (file)
        };
 };
 
+&usb_phy {
+       status = "okay";
+};
+
 /* warning: passive port only works with active devices */
 &usb {
        status = "okay";
index d361fde..40607ae 100644 (file)
@@ -3,6 +3,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "arcadyan,arv7519rw22", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x8000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware1 = "lantiq/xrx200_phy22f_a14.bin";     /*VR9 1.1*/
-               firmware2 = "lantiq/xrx200_phy22f_a22.bin";     /*VR9 1.2*/
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
                        gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 32 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &eth0 {
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
 
 &gpio {
        pinctrl-names = "default";
        gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
+&usb_phy1 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
 };
 
 &usb1 {
        status = "okay";
-       gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
 };
index bb73a26..7b337b4 100644 (file)
                        lantiq,open-drain = <1>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpiomm {
        };
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index 9dfd515..feb92d4 100644 (file)
                        gpios = <&gpiomm 14 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        };
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpiomm 0 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index adc1dd8..1e39380 100644 (file)
                        telefonie green is missing
                */
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        };
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
-       lantiq,portmask = <0x3>;
 };
 
 &vmmc {
index 3537656..9a78822 100644 (file)
@@ -3,6 +3,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "alphanetworks,asl56026", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x2000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware1 = "lantiq/xrx200_phy22f_a14.bin";     /*VR9 1.1*/
-               firmware2 = "lantiq/xrx200_phy22f_a22.bin";     /*VR9 1.2*/
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
index afb1b26..6bba7e4 100644 (file)
                        gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        };
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
 };
index feefc85..a3be0a5 100644 (file)
@@ -3,6 +3,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "bt,homehub-v5a", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x8000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware1 = "lantiq/xrx200_phy11g_a14.bin";     /*VR9 1.1*/
-               firmware2 = "lantiq/xrx200_phy11g_a22.bin";     /*VR9 1.2*/
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
                        gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &eth0 {
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
        };
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
 };
index 42fb51f..8982c27 100644 (file)
        };
 };
 
+&usb_phy {
+       status = "okay";
+};
+
 &usb {
        status = "okay";
 };
index 775f3f2..614845f 100644 (file)
        };
 };
 
+&usb_phy0 {
+       status = "okay";
+};
+
 &usb0 {
        status = "okay";
 };
index bd022c5..8302336 100644 (file)
@@ -3,6 +3,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "netgear,dm200", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x4000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware = "lantiq/xrx200_phy22f_a22.bin";
-               phys = [ 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
@@ -91,6 +86,8 @@
 };
 
 &eth0 {
+       lantiq,phys = <&gphy1>;
+
        lan: interface@0 {
                compatible = "lantiq,xrx200-pdi";
                #address-cells = <1>;
        };
 };
 
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
index c24c5d9..464ab5b 100644 (file)
@@ -1,6 +1,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "lantiq,easy80920", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x4000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware1 = "lantiq/xrx200_phy11g_a14.bin";
-               firmware2 = "lantiq/xrx200_phy11g_a22.bin";
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
                        gpios = <&stp 12 GPIO_ACTIVE_HIGH>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &eth0 {
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
        /* lantiq,rising; */
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
-       lantiq,portmask = <0x3>;
 };
index 1fc42fe..a958fc6 100644 (file)
@@ -3,6 +3,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "avm,fritz3370", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x8000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware = "lantiq/xrx200_phy11g_a14.bin";
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
        };
 };
 
+/*
+ * TODO: add phy-supply, gpio 5 GPIO_ACTIVE_HIGH and gpio 14 GPIO_ACTIVE_HIGH are
+ * related
+ */
+&usb_phy0 {
+       status = "okay";
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 5 GPIO_ACTIVE_HIGH
-               &gpio 14 GPIO_ACTIVE_HIGH>;
-       lantiq,portmask = <0x3>;
 };
index e6334d4..eed4ae3 100644 (file)
        };
 };
 
+&usb_phy0 {
+       status = "okay";
+};
+
 &usb0 {
        status = "okay";
 };
index 29bb229..a0f5d8e 100644 (file)
@@ -3,6 +3,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "avm,fritz7360sl", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x8000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware = "lantiq/xrx200_phy11g_a22.bin";
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
        };
 };
 
+&usb_phy0 {
+       status = "okay";
+};
+
+&usb_phy1 {
+       status = "okay";
+};
+
 &usb0 {
        status = "okay";
-       lantiq,portmask = <0x3>;
 };
 
 &usb1 {
index f2783e7..fc028bb 100644 (file)
                        gpios = <&gpio 19 GPIO_ACTIVE_HIGH>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 29 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
 };
 
+&usb_phy {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb {
        status = "okay";
-       gpios = <&gpio 29 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index 6229d40..43a4b42 100644 (file)
                        gpios = <&gpio 7 GPIO_ACTIVE_HIGH>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 36 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        };
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
 };
index b72b604..267a4f3 100644 (file)
                        lantiq,function = "mdio";
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 9 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gsw {
        lantiq,groups = <0x3>;
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 9 GPIO_ACTIVE_HIGH>;
 };
index 4d61d8e..03858af 100644 (file)
@@ -1,6 +1,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x8000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware1 = "lantiq/xrx200_phy11g_a14.bin";     /*VR9 1.1*/
-               firmware2 = "lantiq/xrx200_phy11g_a22.bin";     /*VR9 1.2*/
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
                        gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &eth0 {
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
        lantiq,phy2 = <0x0>;
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
+&usb_phy1 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
-       lantiq,portmask = <0x3>;
 };
 
 &usb1 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
 };
index 53ed833..e176bca 100644 (file)
@@ -1,6 +1,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x4000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware = "lantiq/xrx200_phy11g_a22.bin";
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
                        gpios = <&ath9k 0 GPIO_ACTIVE_HIGH>;
                };
        };
+
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &eth0 {
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
        };
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
+&usb_phy1 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
-       lantiq,portmask = <0x3>;
 };
 
 &usb1 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
 };
index 2257d21..bb001cb 100644 (file)
@@ -3,6 +3,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "arcadyan,vg3503j", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x2000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware1 = "lantiq/xrx200_phy11g_a14.bin";     /*VR9 1.1*/
-               firmware2 = "lantiq/xrx200_phy11g_a22.bin";     /*VR9 1.2*/
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
index 829e8c3..8f22380 100644 (file)
@@ -1,6 +1,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x4000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware1 = "lantiq/xrx200_phy22f_a14.bin";     /*VR9 1.1*/
-               firmware2 = "lantiq/xrx200_phy22f_a22.bin";     /*VR9 1.2*/
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
                        gpios = <&gpio 29 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 47 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &eth0 {
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
        status = "disabled";
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 47 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index 2d83e2e..297f5f7 100644 (file)
@@ -1,6 +1,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x4000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware1 = "lantiq/xrx200_phy11g_a14.bin";     /*VR9 1.1*/
-               firmware2 = "lantiq/xrx200_phy11g_a22.bin";     /*VR9 1.2*/
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
                        gpios = <&stp 15 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 32 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &eth0 {
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
        /* lantiq,rising; */
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
+&usb_phy1 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
-       lantiq,portmask = <0x3>;
 };
 
 &usb1 {
        status = "okay";
-       gpios = <&gpio 32 GPIO_ACTIVE_HIGH>;
 };
 
 &vmmc {
index ccdc9d7..d0fcd6f 100644 (file)
@@ -3,6 +3,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "tplink,vr200v", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x7f00000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware = "lantiq/xrx200_phy11g_a22.bin";
-               phys = [ 00 01 ];
-       };
-
        gpio-keys-polled {
                compatible = "gpio-keys-polled";
                #address-cells = <1>;
                        gpios = <&gpio 44 GPIO_ACTIVE_LOW>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &eth0 {
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_GE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
        };
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
+&usb_phy1 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
-       lantiq,portmask = <0x3>;
 };
 
 &usb1 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
 };
index 9d0a8ac..6bee330 100644 (file)
                        default-state = "on";
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 36 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &gpio {
        };
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 36 GPIO_ACTIVE_HIGH>;
 };
index b187ab7..4092b6b 100644 (file)
@@ -3,6 +3,7 @@
 #include "vr9.dtsi"
 
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/mips/lantiq_rcu_gphy.h>
 
 / {
        compatible = "buffalo,wbmr-300hpd", "lantiq,xway", "lantiq,vr9";
                reg = <0x0 0x4000000>;
        };
 
-       gphy-xrx200 {
-               compatible = "lantiq,phy-xrx200";
-               firmware = "lantiq/xrx200_phy22f_a22.bin";
-               phys = [ 00 01 ];
-       };
-
        gpio_poweroff {
                compatible = "gpio-poweroff";
                gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
                        gpios = <&gpio 49 GPIO_ACTIVE_HIGH>;
                };
        };
+
+       usb_vbus: regulator-usb-vbus {
+               compatible = "regulator-fixed";
+
+               regulator-name = "USB_VBUS";
+
+               regulator-min-microvolt = <5000000>;
+               regulator-max-microvolt = <5000000>;
+
+               gpio = <&gpio 33 GPIO_ACTIVE_HIGH>;
+               enable-active-high;
+       };
 };
 
 &eth0 {
        };
 };
 
+&gphy0 {
+       lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
+&gphy1 {
+       lantiq,gphy-mode = <GPHY_MODE_FE>;
+};
+
 &gpio {
        pinctrl-names = "default";
        pinctrl-0 = <&state_default>;
        };
 };
 
+&usb_phy0 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
+&usb_phy1 {
+       status = "okay";
+       phy-supply = <&usb_vbus>;
+};
+
 &usb0 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
-       lantiq,portmask = <0x3>;
 };
 
 &usb1 {
        status = "okay";
-       gpios = <&gpio 33 GPIO_ACTIVE_HIGH>;
 };
index 77b9342..f216adf 100644 (file)
                };
 
                rcu0: rcu@203000 {
-                       compatible = "lantiq,rcu-xway";
+                       compatible = "lantiq,ase-rcu", "simple-mfd", "syscon";
                        reg = <0x203000 0x1000>;
+                       ranges = <0x0 0x203000 0x100>;
+                       big-endian;
+
+                       reset: reset-controller@10 {
+                               compatible = "lantiq,danube-reset";
+                               reg = <0x10 4>, <0x14 4>;
+
+                               #reset-cells = <2>;
+                       };
+
+                       usb_phy: usb2-phy@18 {
+                               compatible = "lantiq,ase-usb2-phy";
+                               reg = <0x18 4>;
+                               status = "disabled";
+
+                               resets = <&reset 4 4>;
+                               reset-names = "ctrl";
+                               #phy-cells = <0>;
+                       };
+
+                       reboot@10 {
+                               compatible = "syscon-reboot";
+                               reg = <0x10 4>;
+
+                               regmap = <&rcu0>;
+                               offset = <0x10>;
+                               mask = <0x40000000>;
+                       };
                };
        };
 
                        interrupts = <81>;
                };
 
-               usb: ifxhcd@e101000 {
-                       compatible = "lantiq,ase-usb", "lantiq,ifxhcd-ase";
+               usb: usb@e101000 {
+                       compatible = "lantiq,ase-usb";
                        reg = <0xe101000 0x1000
                                0xe120000 0x3f000>;
                        interrupt-parent = <&icu0>;
                        interrupts = <39>;
                        dr_mode = "host";
+                       phys = <&usb_phy>;
+                       phy-names = "usb2-phy";
                        status = "disabled";
                };
 
index 0ed1d4c..48e0d95 100644 (file)
                };
 
                watchdog@803f0 {
-                       compatible = "lantiq,wdt";
+                       compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt";
                        reg = <0x803f0 0x10>;
+
+                       regmap = <&rcu0>;
                };
        };
 
                };
 
                rcu0: rcu@203000 {
-                       compatible = "lantiq,rcu-xway";
+                       compatible = "lantiq,xrx100-rcu", "simple-mfd", "syscon";
                        reg = <0x203000 0x1000>;
+                       ranges = <0x0 0x203000 0x100>;
+                       big-endian;
+
+                       reset: reset-controller@10 {
+                               compatible = "lantiq,xrx100-reset", "lantiq,danube-reset";
+                               reg = <0x10 4>, <0x14 4>;
+
+                               #reset-cells = <2>;
+                       };
+
+                       usb_phy0: usb2-phy@18 {
+                               compatible = "lantiq,xrx100-usb2-phy";
+                               reg = <0x18 4>;
+                               status = "disabled";
+
+                               resets = <&reset 4 4>;
+                               reset-names = "ctrl";
+                               #phy-cells = <0>;
+                       };
+
+                       usb_phy1: usb2-phy@34 {
+                               compatible = "lantiq,xrx100-usb2-phy";
+                               reg = <0x34 4>;
+                               status = "disabled";
+
+                               resets = <&reset 28 28>;
+                               reset-names = "ctrl";
+                               #phy-cells = <0>;
+                       };
+
+                       reboot@10 {
+                               compatible = "syscon-reboot";
+                               reg = <0x10 4>;
+
+                               regmap = <&rcu0>;
+                               offset = <0x10>;
+                               mask = <0x40000000>;
+                       };
                };
        };
 
                        interrupts = <112 113 114>;
                };
 
-               usb0: ifxhcd@e101000 {
-                       compatible = "lantiq,arx100-usb", "lantiq,ifxhcd-arx100";
+               usb0: usb@e101000 {
+                       compatible = "lantiq,arx100-usb";
                        reg = <0xe101000 0x1000
                                0xe120000 0x3f000>;
                        interrupt-parent = <&icu0>;
                        interrupts = <62 91>;
                        dr_mode = "host";
+                       phys = <&usb_phy0>;
+                       phy-names = "usb2-phy";
                        status = "disabled";
                };
 
-               usb1: ifxhcd@e106000 {
+               usb1: usb@e106000 {
                        compatible = "lantiq,arx100-usb";
                        reg = <0xe106000 0x1000
                                0xe1e0000 0x3f000>;
                        interrupt-parent = <&icu0>;
                        interrupts = <91>;
                        dr_mode = "host";
+                       phys = <&usb_phy1>;
+                       phy-names = "usb2-phy";
                        status = "disabled";
                };
 
index 1e1ce61..af4c795 100644 (file)
                };
 
                rcu0: rcu@203000 {
-                       compatible = "lantiq,rcu-xway";
+                       compatible = "lantiq,danube-rcu", "simple-mfd", "syscon";
                        reg = <0x203000 0x1000>;
+                       ranges = <0x0 0x203000 0x100>;
+                       big-endian;
+
+                       reset: reset-controller@10 {
+                               compatible = "lantiq,danube-reset";
+                               reg = <0x10 4>, <0x14 4>;
+
+                               #reset-cells = <2>;
+                       };
+
+                       usb_phy: usb2-phy@18 {
+                               compatible = "lantiq,danube-usb2-phy";
+                               reg = <0x18 4>;
+                               status = "disabled";
+
+                               resets = <&reset 4 4>;
+                               reset-names = "ctrl";
+                               #phy-cells = <0>;
+                       };
+
+                       reboot@10 {
+                               compatible = "syscon-reboot";
+                               reg = <0x10 4>;
+
+                               regmap = <&rcu0>;
+                               offset = <0x10>;
+                               mask = <0x40000000>;
+                       };
                };
        };
 
                        interrupts = <112 113 114>;
                };
 
-               usb: ifxhcd@e101000 {
-                       compatible = "lantiq,danube-usb", "lantiq,ifxhcd-danube";
+               usb: usb@e101000 {
+                       compatible = "lantiq,danube-usb";
                        reg = <0xe101000 0x1000
                                0xe120000 0x3f000>;
                        interrupt-parent = <&icu0>;
                        interrupts = <62>;
                        dr_mode = "host";
+                       phys = <&usb_phy>;
+                       phy-names = "usb2-phy";
                        status = "disabled";
                };
 
index 1442790..adad950 100644 (file)
                };
 
                watchdog@803f0 {
-                       compatible = "lantiq,wdt";
+                       compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt";
                        reg = <0x803f0 0x10>;
+
+                       regmap = <&rcu0>;
                };
        };
 
                };
 
                rcu0: rcu@203000 {
-                       compatible = "lantiq,rcu-xrx200";
-                       reg = <0x203000 0x1000>;
-                       /* irq for thermal sensor */
-                       interrupt-parent = <&icu0>;
-                       interrupts = <115>;
-               };
-
-               xbar0: xbar@400000 {
-                       compatible = "lantiq,xbar-xway";
-                       reg = <0x400000 0x1000>;
+                       compatible = "lantiq,xrx200-rcu", "simple-mfd", "syscon";
+                       reg = <0x203000 0x100>;
+                       ranges = <0x0 0x203000 0x100>;
+                       big-endian;
+
+                       gphy0: gphy@20 {
+                               compatible = "lantiq,xrx200-gphy";
+                               reg = <0x20 0x4>;
+
+                               resets = <&reset0 31 30>, <&reset1 7 7>;
+                               reset-names = "gphy", "gphy2";
+                       };
+
+                       gphy1: gphy@68 {
+                               compatible = "lantiq,xrx200-gphy";
+                               reg = <0x68 0x4>;
+
+                               resets = <&reset0 29 28>, <&reset1 6 6>;
+                               reset-names = "gphy", "gphy2";
+                       };
+
+                       reset0: reset-controller@10 {
+                               compatible = "lantiq,xrx200-reset";
+                               reg = <0x10 4>, <0x14 4>;
+
+                               #reset-cells = <2>;
+                       };
+
+                       reset1: reset-controller@48 {
+                               compatible = "lantiq,xrx200-reset";
+                               reg = <0x48 4>, <0x24 4>;
+
+                               #reset-cells = <2>;
+                       };
+
+                       usb_phy0: usb2-phy@18 {
+                               compatible = "lantiq,xrx200-usb2-phy";
+                               reg = <0x18 4>, <0x38 4>;
+                               status = "disabled";
+
+                               resets = <&reset1 4 4>, <&reset0 4 4>;
+                               reset-names = "phy", "ctrl";
+                               #phy-cells = <0>;
+                       };
+
+                       usb_phy1: usb2-phy@34 {
+                               compatible = "lantiq,xrx200-usb2-phy";
+                               reg = <0x34 4>, <0x3c 4>;
+                               status = "disabled";
+
+                               resets = <&reset1 5 4>, <&reset0 4 4>;
+                               reset-names = "phy", "ctrl";
+                               #phy-cells = <0>;
+                       };
+
+                       reboot@10 {
+                               compatible = "syscon-reboot";
+                               reg = <0x10 4>;
+
+                               regmap = <&rcu0>;
+                               offset = <0x10>;
+                               mask = <0x40000000>;
+                       };
                };
        };
 
        fpi@10000000 {
+               compatible = "lantiq,xrx200-fpi", "simple-bus";
+               ranges = <0x0 0x10000000 0xf000000>;
+               reg =   <0x1f400000 0x1000>,
+                       <0x10000000 0xf000000>;
+               regmap = <&rcu0>;
+               offset-endianness = <0x4c>;
                #address-cells = <1>;
                #size-cells = <1>;
-               compatible = "lantiq,fpi", "simple-bus";
-               ranges = <0x0 0x10000000 0xeefffff>;
-               reg = <0x10000000 0xef00000>;
 
                localbus: localbus@0 {
                        #address-cells = <2>;
 
                usb0: usb@e101000 {
                        status = "disabled";
-                       compatible = "lantiq,xrx200-usb", "lantiq,ifxhcd-xrx200";
+                       compatible = "lantiq,xrx200-usb";
                        reg = <0xe101000 0x1000
                                0xe120000 0x3f000>;
                        interrupt-parent = <&icu0>;
                        interrupts = <62 91>;
                        dr_mode = "host";
+                       phys = <&usb_phy0>;
+                       phy-names = "usb2-phy";
                };
 
                usb1: usb@e106000 {
                        interrupt-parent = <&icu0>;
                        interrupts = <91>;
                        dr_mode = "host";
+                       phys = <&usb_phy1>;
+                       phy-names = "usb2-phy";
                };
 
                eth0: eth@e108000 {
                        >;
                        interrupt-parent = <&icu0>;
                        interrupts = <75 73 72>;
+                       resets = <&reset0 21 16>, <&reset0 8 8>;
+                       reset-names = "switch", "ppe";
+                       lantiq,phys = <&gphy0>, <&gphy1>;
                };
 
                mei@e116000 {