123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456 |
- From 37f6130ec39fe14e923d472746a51e6f06f761b7 Mon Sep 17 00:00:00 2001
- From: Vivek Unune <[email protected]>
- Date: Mon, 9 Apr 2018 18:31:53 -0400
- Subject: [PATCH] ARM: dts: BCM5301X: Make USB 3.0 PHY use MDIO PHY driver
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- Currently, the USB 3.0 PHY in bcm5301x.dtsi uses platform driver which
- requires register range "ccb-mii" <0x18003000 0x1000>. This range
- overlaps with MDIO cmd and param registers (<0x18003000 0x8>).
- Essentially, the platform driver partly acts like a MDIO bus driver,
- hence to use of this register range.
- In some Northstar devices like Linksys EA9500, secondary switch is
- connected via external MDIO. The only way to access and configure the
- external switch is via MDIO bus. When we enable the MDIO bus in it's
- current state, the MDIO bus and any child buses fail to register because
- of the register range overlap.
- On Northstar, the USB 3.0 PHY is connected at address 0x10 on the
- internal MDIO bus. This change moves the usb3_phy node and makes it a
- child node of internal MDIO bus.
- Thanks to Rafał Miłecki's commit af850e14a7ae ("phy: bcm-ns-usb3: add
- MDIO driver using proper bus layer") the same USB 3.0 platform driver
- can now act as USB 3.0 PHY MDIO driver.
- Tested on Linksys Panamera (EA9500)
- Signed-off-by: Vivek Unune <[email protected]>
- Signed-off-by: Florian Fainelli <[email protected]>
- ---
- arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts | 4 +++
- arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts | 4 +++
- arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 4 +++
- arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts | 4 +++
- arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts | 4 +++
- arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts | 4 +++
- arch/arm/boot/dts/bcm4708-netgear-r6250.dts | 4 +++
- arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts | 4 +++
- arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts | 4 +++
- arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts | 4 +++
- arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts | 4 +++
- arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts | 4 +++
- arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts | 4 +++
- arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts | 4 +++
- arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts | 4 +++
- arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts | 4 +++
- arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts | 4 +++
- arch/arm/boot/dts/bcm4709-linksys-ea9200.dts | 4 +++
- arch/arm/boot/dts/bcm4709-netgear-r7000.dts | 4 +++
- arch/arm/boot/dts/bcm4709-netgear-r8000.dts | 4 +++
- arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts | 4 +++
- arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts | 4 +++
- arch/arm/boot/dts/bcm47094-linksys-panamera.dts | 4 +++
- arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts | 4 +++
- arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts | 4 +++
- arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts | 4 +++
- arch/arm/boot/dts/bcm47094-netgear-r8500.dts | 4 +++
- arch/arm/boot/dts/bcm47094.dtsi | 7 +++--
- arch/arm/boot/dts/bcm5301x.dtsi | 35 +++++++++++++++++-----
- arch/arm/boot/dts/bcm94708.dts | 4 +++
- arch/arm/boot/dts/bcm94709.dts | 4 +++
- arch/arm/boot/dts/bcm953012er.dts | 4 +++
- arch/arm/boot/dts/bcm953012hr.dts | 4 +++
- arch/arm/boot/dts/bcm953012k.dts | 4 +++
- 34 files changed, 159 insertions(+), 11 deletions(-)
- --- a/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
- +++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
- @@ -90,3 +90,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
- +++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
- @@ -80,3 +80,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
- +++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
- @@ -146,3 +146,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts
- +++ b/arch/arm/boot/dts/bcm4708-linksys-ea6300-v1.dts
- @@ -38,3 +38,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
- +++ b/arch/arm/boot/dts/bcm4708-luxul-xap-1510.dts
- @@ -57,3 +57,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
- +++ b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
- @@ -64,3 +64,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
- +++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
- @@ -91,3 +91,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
- +++ b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
- @@ -83,3 +83,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
- +++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
- @@ -158,3 +158,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts
- +++ b/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts
- @@ -74,3 +74,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
- +++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
- @@ -118,3 +118,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
- +++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
- @@ -104,3 +104,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
- +++ b/arch/arm/boot/dts/bcm47081-luxul-xap-1410.dts
- @@ -57,3 +57,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
- +++ b/arch/arm/boot/dts/bcm47081-luxul-xwr-1200.dts
- @@ -105,3 +105,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
- +++ b/arch/arm/boot/dts/bcm47081-tplink-archer-c5-v2.dts
- @@ -99,3 +99,7 @@
- &usb2 {
- vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
- +++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
- @@ -62,3 +62,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
- +++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
- @@ -127,3 +127,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4709-linksys-ea9200.dts
- +++ b/arch/arm/boot/dts/bcm4709-linksys-ea9200.dts
- @@ -39,3 +39,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
- +++ b/arch/arm/boot/dts/bcm4709-netgear-r7000.dts
- @@ -101,3 +101,7 @@
- &usb3 {
- vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
- +++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
- @@ -182,3 +182,7 @@
- &usb3 {
- vcc-gpio = <&chipcommon 0 GPIO_ACTIVE_HIGH>;
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
- +++ b/arch/arm/boot/dts/bcm4709-tplink-archer-c9-v1.dts
- @@ -104,3 +104,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
- +++ b/arch/arm/boot/dts/bcm47094-dlink-dir-885l.dts
- @@ -115,3 +115,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
- +++ b/arch/arm/boot/dts/bcm47094-linksys-panamera.dts
- @@ -33,3 +33,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
- +++ b/arch/arm/boot/dts/bcm47094-luxul-abr-4500.dts
- @@ -60,3 +60,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
- +++ b/arch/arm/boot/dts/bcm47094-luxul-xbr-4500.dts
- @@ -60,3 +60,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
- +++ b/arch/arm/boot/dts/bcm47094-luxul-xwr-3100.dts
- @@ -100,3 +100,7 @@
- &spi_nor {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47094-netgear-r8500.dts
- +++ b/arch/arm/boot/dts/bcm47094-netgear-r8500.dts
- @@ -91,3 +91,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm47094.dtsi
- +++ b/arch/arm/boot/dts/bcm47094.dtsi
- @@ -7,9 +7,10 @@
- #include "bcm4708.dtsi"
-
- / {
- - usb3_phy: usb3-phy {
- - compatible = "brcm,ns-bx-usb3-phy";
- - };
- +};
- +
- +&usb3_phy {
- + compatible = "brcm,ns-bx-usb3-phy";
- };
-
- &uart0 {
- --- a/arch/arm/boot/dts/bcm5301x.dtsi
- +++ b/arch/arm/boot/dts/bcm5301x.dtsi
- @@ -154,13 +154,6 @@
- clock-names = "phy-ref-clk";
- };
-
- - usb3_phy: usb3-phy {
- - compatible = "brcm,ns-ax-usb3-phy";
- - reg = <0x18105000 0x1000>, <0x18003000 0x1000>;
- - reg-names = "dmp", "ccb-mii";
- - #phy-cells = <0>;
- - };
- -
- axi@18000000 {
- compatible = "brcm,bus-axi";
- reg = <0x18000000 0x1000>;
- @@ -359,7 +352,33 @@
- reg = <0x18003000 0x8>;
- #size-cells = <1>;
- #address-cells = <0>;
- - status = "disabled";
- + };
- +
- + mdio-bus-mux {
- + compatible = "mdio-mux-mmioreg";
- + mdio-parent-bus = <&mdio>;
- + #address-cells = <1>;
- + #size-cells = <0>;
- + reg = <0x18003000 0x4>;
- + mux-mask = <0x200>;
- +
- + mdio@0 {
- + reg = <0x0>;
- + #address-cells = <1>;
- + #size-cells = <0>;
- +
- + usb3_phy: usb3-phy@10 {
- + compatible = "brcm,ns-ax-usb3-phy";
- + reg = <0x10>;
- + usb3-dmp-syscon = <&usb3_dmp>;
- + #phy-cells = <0>;
- + status = "disabled";
- + };
- + };
- + };
- +
- + usb3_dmp: syscon@18105000 {
- + reg = <0x18105000 0x1000>;
- };
-
- i2c0: i2c@18009000 {
- --- a/arch/arm/boot/dts/bcm94708.dts
- +++ b/arch/arm/boot/dts/bcm94708.dts
- @@ -42,3 +42,7 @@
- reg = <0x00000000 0x08000000>;
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm94709.dts
- +++ b/arch/arm/boot/dts/bcm94709.dts
- @@ -42,3 +42,7 @@
- reg = <0x00000000 0x08000000>;
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm953012er.dts
- +++ b/arch/arm/boot/dts/bcm953012er.dts
- @@ -90,3 +90,7 @@
- };
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm953012hr.dts
- +++ b/arch/arm/boot/dts/bcm953012hr.dts
- @@ -95,3 +95,7 @@
- reg = <0x00700000 0x00900000>;
- };
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
- --- a/arch/arm/boot/dts/bcm953012k.dts
- +++ b/arch/arm/boot/dts/bcm953012k.dts
- @@ -113,3 +113,7 @@
- &uart1 {
- status = "okay";
- };
- +
- +&usb3_phy {
- + status = "okay";
- +};
|