arm64: dts: Add USB DT nodes for Stingray SoC
authorSrinath Mannam <srinath.mannam@broadcom.com>
Tue, 19 Mar 2019 09:15:44 +0000 (14:45 +0530)
committerFlorian Fainelli <f.fainelli@gmail.com>
Mon, 20 May 2019 16:31:35 +0000 (09:31 -0700)
Add DT nodes for
  - Two xHCI host controllers
  - Two BDC Broadcom USB device controller
  - Five USB PHY controllers

[xHCI0]      [BDC0]            [xHCI1]            [BDC1]
   |           |                  |                 |
  ---------------               -----------------------
   |           |                 |         |         |
[SS-PHY0]   [HS-PHY0]        [SS-PHY1] [HS-PHY2] [HS-PHY1]

[SS-PHY0/HS-PHY0] and [SS-PHY1/HS-PHY1] are combo PHYs has one SS and
one HS PHYs. [HS-PHY2] is a single HS PHY.

xHCI use SS-PHY to detect SS devices and HS-PHY to detect HS/FS/LS
devices. BDC use SS-PHY in SS mode and HS-PHY in HS mode.

xHCI0 port1 is SS-PHY0, port2 is HS-PHY0.
xHCI1 port1 is SS-PHY1, port2 is HS-PHY2 and port3 is HS-PHY1.

Signed-off-by: Srinath Mannam <srinath.mannam@broadcom.com>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/broadcom/stingray/stingray.dtsi

diff --git a/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi b/arch/arm64/boot/dts/broadcom/stingray/stingray-usb.dtsi
new file mode 100644 (file)
index 0000000..55259f9
--- /dev/null
@@ -0,0 +1,72 @@
+// SPDX-License-Identifier: (GPL-2.0 or BSD-3-Clause)
+/*
+ *Copyright(c) 2018 Broadcom
+ */
+       usb {
+               compatible = "simple-bus";
+               dma-ranges;
+               #address-cells = <1>;
+               #size-cells = <1>;
+               ranges = <0x0 0x0 0x68500000 0x00400000>;
+
+               usbphy0: usb-phy@0 {
+                       compatible = "brcm,sr-usb-combo-phy";
+                       reg = <0x00000000 0x100>;
+                       #phy-cells = <1>;
+                       status = "disabled";
+               };
+
+               xhci0: usb@1000 {
+                       compatible = "generic-xhci";
+                       reg = <0x00001000 0x1000>;
+                       interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
+                       phys = <&usbphy0 1>, <&usbphy0 0>;
+                       phy-names = "phy0", "phy1";
+                       dma-coherent;
+                       status = "disabled";
+               };
+
+               bdc0: usb@2000 {
+                       compatible = "brcm,bdc-v0.16";
+                       reg = <0x00002000 0x1000>;
+                       interrupts = <GIC_SPI 259 IRQ_TYPE_LEVEL_HIGH>;
+                       phys = <&usbphy0 0>, <&usbphy0 1>;
+                       phy-names = "phy0", "phy1";
+                       dma-coherent;
+                       status = "disabled";
+               };
+
+               usbphy1: usb-phy@10000 {
+                       compatible = "brcm,sr-usb-combo-phy";
+                       reg = <0x00010000 0x100>;
+                       #phy-cells = <1>;
+                       status = "disabled";
+               };
+
+               usbphy2: usb-phy@20000 {
+                       compatible = "brcm,sr-usb-hs-phy";
+                       reg = <0x00020000 0x100>;
+                       #phy-cells = <0>;
+                       status = "disabled";
+               };
+
+               xhci1: usb@11000 {
+                       compatible = "generic-xhci";
+                       reg = <0x00011000 0x1000>;
+                       interrupts = <GIC_SPI 263 IRQ_TYPE_LEVEL_HIGH>;
+                       phys = <&usbphy1 1>, <&usbphy2>, <&usbphy1 0>;
+                       phy-names = "phy0", "phy1", "phy2";
+                       dma-coherent;
+                       status = "disabled";
+               };
+
+               bdc1: usb@21000 {
+                       compatible = "brcm,bdc-v0.16";
+                       reg = <0x00021000 0x1000>;
+                       interrupts = <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>;
+                       phys = <&usbphy2>;
+                       phy-names = "phy0";
+                       dma-coherent;
+                       status = "disabled";
+               };
+       };
index e892229dbc8b42efadc2c0c0f804df5416a0c780..ef0c18401d3bdcb920b6190ad059d66db4e21a9d 100644 (file)
        #include "stingray-fs4.dtsi"
        #include "stingray-sata.dtsi"
        #include "stingray-pcie.dtsi"
+       #include "stingray-usb.dtsi"
 
        hsls {
                compatible = "simple-bus";