diff options
38 files changed, 794 insertions, 159 deletions
diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ACMP252.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ACMP252.dts index 2c694029f5..5e1f271606 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ACMP252.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ACMP252.dts @@ -13,6 +13,18 @@ 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 { @@ -87,9 +99,13 @@ status = "okay"; }; +&usb_phy { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb { status = "okay"; - gpios = <&gpio 3 GPIO_ACTIVE_HIGH>; }; &vmmc { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4518PWR01.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4518PWR01.dtsi index de657c6a54..458a387536 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4518PWR01.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4518PWR01.dtsi @@ -96,6 +96,18 @@ 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 { @@ -178,9 +190,13 @@ req-mask = <0xf>; }; +&usb_phy { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb { status = "okay"; - gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; }; &vmmc { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4519PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4519PW.dts index 11e57e14a0..5733d2ce19 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4519PW.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4519PW.dts @@ -106,6 +106,18 @@ 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 { @@ -175,9 +187,13 @@ req-mask = <0xf>; }; +&usb_phy { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb { status = "okay"; - gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; }; &vmmc { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4520PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4520PW.dts index 84d36d7e57..aa4269305b 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4520PW.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV4520PW.dts @@ -112,6 +112,18 @@ 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 { @@ -199,9 +211,13 @@ 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 { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV452CQW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV452CQW.dts index 7221c1181e..1e1183d1ba 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV452CQW.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV452CQW.dts @@ -124,6 +124,18 @@ 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 { @@ -217,9 +229,13 @@ 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 { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7510PW22.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7510PW22.dts index d99e1e3fe4..337f969b34 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7510PW22.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7510PW22.dts @@ -114,6 +114,18 @@ 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 { @@ -181,9 +193,13 @@ }; }; +&usb_phy { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb { status = "okay"; - gpios = <&gpio 8 GPIO_ACTIVE_HIGH>; }; &vmmc { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7518PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7518PW.dts index a0924f279d..1d6f404ee9 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7518PW.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7518PW.dts @@ -145,6 +145,18 @@ 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 { @@ -213,9 +225,13 @@ }; }; +&usb_phy { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb { status = "okay"; - gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; }; &vmmc { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519PW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519PW.dts index 4d0ddfd3a7..39dcf45619 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519PW.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519PW.dts @@ -214,6 +214,10 @@ }; }; +&usb_phy { + status = "okay"; +}; + /* warning: passive port only works with active devices */ &usb { status = "okay"; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519RW22.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519RW22.dts index d361fde6d4..40607aebdd 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519RW22.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV7519RW22.dts @@ -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"; @@ -24,13 +25,6 @@ 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>; @@ -87,6 +81,18 @@ 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; + }; }; ð0 { @@ -159,6 +165,13 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; &gpio { pinctrl-names = "default"; @@ -221,12 +234,20 @@ 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>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW.dts index bb73a26d56..7b337b4f5f 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW.dts @@ -152,6 +152,18 @@ 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 { @@ -218,9 +230,13 @@ }; }; +&usb_phy { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb { status = "okay"; - gpios = <&gpiomm 0 GPIO_ACTIVE_HIGH>; }; &vmmc { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW22.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW22.dts index 9dfd515b35..feb92d4d9d 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW22.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV752DPW22.dts @@ -122,6 +122,18 @@ 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 { @@ -240,9 +252,13 @@ }; }; +&usb_phy { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb { status = "okay"; - gpios = <&gpiomm 0 GPIO_ACTIVE_HIGH>; }; &vmmc { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV8539PW22.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV8539PW22.dts index adc1dd8354..1e39380f60 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV8539PW22.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ARV8539PW22.dts @@ -76,6 +76,18 @@ 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 { @@ -164,10 +176,13 @@ }; }; +&usb_phy { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb { status = "okay"; - gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; - lantiq,portmask = <0x3>; }; &vmmc { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ASL56026.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ASL56026.dts index 35376567c1..9a78822be3 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ASL56026.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ASL56026.dts @@ -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"; @@ -24,13 +25,6 @@ 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>; @@ -120,6 +114,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV2B.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV2B.dts index d3be43cd99..105dae408d 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV2B.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV2B.dts @@ -248,6 +248,10 @@ }; }; +&usb_phy { + status = "okay"; +}; + &usb { status = "okay"; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV3A.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV3A.dts index afb1b26c52..6bba7e4201 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV3A.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV3A.dts @@ -90,6 +90,18 @@ 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 { @@ -193,7 +205,11 @@ }; }; +&usb_phy0 { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb0 { status = "okay"; - gpios = <&gpio 33 GPIO_ACTIVE_HIGH>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV5A.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV5A.dts index feefc8519e..a3be0a5c9c 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV5A.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/BTHOMEHUBV5A.dts @@ -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"; @@ -25,13 +26,6 @@ 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>; @@ -108,6 +102,18 @@ 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; + }; }; ð0 { @@ -179,6 +185,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; @@ -275,7 +289,11 @@ }; }; +&usb_phy0 { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb0 { status = "okay"; - gpios = <&gpio 33 GPIO_ACTIVE_HIGH>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN1000B.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN1000B.dts index 42fb51fdd8..8982c27bef 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN1000B.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN1000B.dts @@ -164,6 +164,10 @@ }; }; +&usb_phy { + status = "okay"; +}; + &usb { status = "okay"; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN3500.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN3500.dtsi index 775f3f2917..614845f09d 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN3500.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DGN3500.dtsi @@ -204,6 +204,10 @@ }; }; +&usb_phy0 { + status = "okay"; +}; + &usb0 { status = "okay"; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DM200.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DM200.dts index bd022c5c48..8302336bd4 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DM200.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/DM200.dts @@ -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"; @@ -24,12 +25,6 @@ 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 @@ }; ð0 { + lantiq,phys = <&gphy1>; + lan: interface@0 { compatible = "lantiq,xrx200-pdi"; #address-cells = <1>; @@ -118,6 +115,10 @@ }; }; +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY80920.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY80920.dtsi index c24c5d97d6..464ab5bd4e 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY80920.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/EASY80920.dtsi @@ -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"; @@ -22,13 +23,6 @@ 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>; @@ -87,6 +81,18 @@ 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; + }; }; ð0 { @@ -167,6 +173,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; @@ -288,8 +302,11 @@ /* lantiq,rising; */ }; +&usb_phy0 { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb0 { status = "okay"; - gpios = <&gpio 33 GPIO_ACTIVE_HIGH>; - lantiq,portmask = <0x3>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts index 1fc42fe51f..a958fc67aa 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ3370.dts @@ -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"; @@ -26,12 +27,6 @@ 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>; @@ -147,6 +142,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; @@ -280,9 +283,14 @@ }; }; +/* + * 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>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts index e6334d46df..eed4ae316a 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7320.dts @@ -154,6 +154,10 @@ }; }; +&usb_phy0 { + status = "okay"; +}; + &usb0 { status = "okay"; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts index 29bb22976c..a0f5d8ee05 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/FRITZ7360SL.dts @@ -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"; @@ -25,12 +26,6 @@ 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>; @@ -142,6 +137,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; @@ -219,9 +222,16 @@ }; }; +&usb_phy0 { + status = "okay"; +}; + +&usb_phy1 { + status = "okay"; +}; + &usb0 { status = "okay"; - lantiq,portmask = <0x3>; }; &usb1 { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/GIGASX76X.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/GIGASX76X.dts index f2783e7e3b..fc028bb5f1 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/GIGASX76X.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/GIGASX76X.dts @@ -39,6 +39,18 @@ 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 { @@ -103,9 +115,13 @@ 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 { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/H201L.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/H201L.dts index 6229d40913..43a4b42d82 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/H201L.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/H201L.dts @@ -104,6 +104,18 @@ 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 { @@ -151,7 +163,12 @@ }; }; +&usb_phy0 { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + + &usb0 { status = "okay"; - gpios = <&gpio 36 GPIO_ACTIVE_HIGH>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2601HNFX.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2601HNFX.dts index b72b604539..267a4f3a71 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2601HNFX.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2601HNFX.dts @@ -128,6 +128,18 @@ 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 { @@ -172,7 +184,11 @@ lantiq,groups = <0x3>; }; +&usb_phy0 { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb0 { status = "okay"; - gpios = <&gpio 9 GPIO_ACTIVE_HIGH>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUFX.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUFX.dtsi index 4d61d8e923..03858afef4 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUFX.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/P2812HNUFX.dtsi @@ -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"; @@ -23,13 +24,6 @@ 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>; @@ -102,6 +96,18 @@ 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; + }; }; ð0 { @@ -174,6 +180,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; @@ -264,13 +278,20 @@ 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>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/TDW89X0.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/TDW89X0.dtsi index 53ed8338c3..e176bca30f 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/TDW89X0.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/TDW89X0.dtsi @@ -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"; @@ -25,12 +26,6 @@ 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>; @@ -92,6 +87,19 @@ 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; + }; }; ð0 { @@ -155,6 +163,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; @@ -263,13 +279,20 @@ }; }; +&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>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VG3503J.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VG3503J.dts index 2257d21d7b..bb001cb219 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VG3503J.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VG3503J.dts @@ -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"; @@ -24,13 +25,6 @@ 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>; @@ -109,6 +103,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7510KW22.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7510KW22.dtsi index 829e8c3d7e..8f22380cc9 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7510KW22.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7510KW22.dtsi @@ -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"; @@ -23,13 +24,6 @@ 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>; @@ -98,6 +92,18 @@ 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; + }; }; ð0 { @@ -171,6 +177,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; @@ -237,9 +251,13 @@ status = "disabled"; }; +&usb_phy0 { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb0 { status = "okay"; - gpios = <&gpio 47 GPIO_ACTIVE_HIGH>; }; &vmmc { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7519.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7519.dtsi index 2d83e2e464..297f5f7f4f 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7519.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VGV7519.dtsi @@ -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"; @@ -23,13 +24,6 @@ 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>; @@ -118,6 +112,18 @@ 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; + }; }; ð0 { @@ -191,6 +197,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; @@ -272,15 +286,22 @@ /* 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 { diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200v.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200v.dts index ccdc9d7363..d0fcd6fcd0 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200v.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/VR200v.dts @@ -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"; @@ -26,12 +27,6 @@ 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>; @@ -98,6 +93,18 @@ 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; + }; }; ð0 { @@ -161,6 +168,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; @@ -271,13 +286,20 @@ }; }; +&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>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR.dts index 9d0a8ac9e0..6bee3308a2 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR.dts @@ -97,6 +97,18 @@ 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 { @@ -177,7 +189,11 @@ }; }; +&usb_phy0 { + status = "okay"; + phy-supply = <&usb_vbus>; +}; + &usb0 { status = "okay"; - gpios = <&gpio 36 GPIO_ACTIVE_HIGH>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR300.dts b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR300.dts index b187ab77f3..4092b6b6eb 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR300.dts +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/WBMR300.dts @@ -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"; @@ -26,12 +27,6 @@ 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>; @@ -145,6 +140,18 @@ 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; + }; }; ð0 { @@ -206,6 +213,14 @@ }; }; +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + &gpio { pinctrl-names = "default"; pinctrl-0 = <&state_default>; @@ -295,13 +310,20 @@ }; }; +&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>; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/amazonse.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/amazonse.dtsi index 77b9342cba..f216adf36f 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/amazonse.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/amazonse.dtsi @@ -75,8 +75,36 @@ }; 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>; + }; }; }; @@ -134,13 +162,15 @@ 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"; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ar9.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ar9.dtsi index 0ed1d4cce2..48e0d95d63 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ar9.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/ar9.dtsi @@ -42,8 +42,10 @@ }; watchdog@803f0 { - compatible = "lantiq,wdt"; + compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt"; reg = <0x803f0 0x10>; + + regmap = <&rcu0>; }; }; @@ -75,8 +77,46 @@ }; 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>; + }; }; }; @@ -144,23 +184,27 @@ 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"; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/danube.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/danube.dtsi index 1e1ce61f73..af4c795af2 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/danube.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/danube.dtsi @@ -83,8 +83,36 @@ }; 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>; + }; }; }; @@ -152,13 +180,15 @@ 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"; }; diff --git a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/vr9.dtsi b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/vr9.dtsi index 14427900a6..adad9506d9 100644 --- a/target/linux/lantiq/files-4.14/arch/mips/boot/dts/vr9.dtsi +++ b/target/linux/lantiq/files-4.14/arch/mips/boot/dts/vr9.dtsi @@ -46,8 +46,10 @@ }; watchdog@803f0 { - compatible = "lantiq,wdt"; + compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt"; reg = <0x803f0 0x10>; + + regmap = <&rcu0>; }; }; @@ -91,25 +93,81 @@ }; 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>; @@ -191,12 +249,14 @@ 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 { @@ -206,6 +266,8 @@ interrupt-parent = <&icu0>; interrupts = <91>; dr_mode = "host"; + phys = <&usb_phy1>; + phy-names = "usb2-phy"; }; eth0: eth@e108000 { @@ -219,6 +281,9 @@ >; interrupt-parent = <&icu0>; interrupts = <75 73 72>; + resets = <&reset0 21 16>, <&reset0 8 8>; + reset-names = "switch", "ppe"; + lantiq,phys = <&gphy0>, <&gphy1>; }; mei@e116000 { |