ARM: tegra: add DT nodes for Tegra USB PHY
authorVenu Byravarasu <vbyravarasu@nvidia.com>
Wed, 16 Jan 2013 03:30:19 +0000 (03:30 +0000)
committerStephen Warren <swarren@nvidia.com>
Mon, 28 Jan 2013 18:20:05 +0000 (11:20 -0700)
Add DT nodes for Tegra USB PHY along with related documentation.
Also added a phandle property to controller DT node, for referring
to connected PHY instance.

Signed-off-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt [new file with mode: 0644]
arch/arm/boot/dts/tegra20.dtsi

index 6ea765a..34c9528 100644 (file)
@@ -11,6 +11,7 @@ Required properties :
  - phy_type : Should be one of "ulpi" or "utmi".
  - nvidia,vbus-gpio : If present, specifies a gpio that needs to be
    activated for the bus to be powered.
+ - nvidia,phy : phandle of the PHY instance, the controller is connected to.
 
 Required properties for phy_type == ulpi:
   - nvidia,phy-reset-gpio : The GPIO used to reset the PHY.
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt b/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt
new file mode 100644 (file)
index 0000000..84a4c12
--- /dev/null
@@ -0,0 +1,14 @@
+Tegra SOC USB PHY
+
+The device node for Tegra SOC USB PHY:
+
+Required properties :
+ - compatible : Should be "nvidia,tegra20-usb-phy".
+ - reg : Address and length of the register set for the USB PHY interface.
+ - phy_type : Should be one of "ulpi" or "utmi".
+
+Optional properties:
+  - nvidia,has-legacy-mode : boolean indicates whether this controller can
+    operate in legacy mode (as APX 2500 / 2600). In legacy mode some
+    registers are accessed through the APB_MISC base address instead of
+    the USB controller.
\ No newline at end of file
index 88cf833..3d7ab22 100644 (file)
                #size-cells = <0>;
        };
 
+       phy1: usb-phy@c5000400 {
+               compatible = "nvidia,tegra20-usb-phy";
+               reg = <0xc5000400 0x3c00>;
+               phy_type = "utmi";
+               nvidia,has-legacy-mode;
+       };
+
+       phy2: usb-phy@c5004400 {
+               compatible = "nvidia,tegra20-usb-phy";
+               reg = <0xc5004400 0x3c00>;
+               phy_type = "ulpi";
+       };
+
+       phy3: usb-phy@c5008400 {
+               compatible = "nvidia,tegra20-usb-phy";
+               reg = <0xc5008400 0x3C00>;
+               phy_type = "utmi";
+       };
+
        usb@c5000000 {
                compatible = "nvidia,tegra20-ehci", "usb-ehci";
                reg = <0xc5000000 0x4000>;
                nvidia,has-legacy-mode;
                clocks = <&tegra_car 22>;
                nvidia,needs-double-reset;
+               nvidia,phy = <&phy1>;
                status = "disabled";
        };
 
                interrupts = <0 21 0x04>;
                phy_type = "ulpi";
                clocks = <&tegra_car 58>;
+               nvidia,phy = <&phy2>;
                status = "disabled";
        };
 
                interrupts = <0 97 0x04>;
                phy_type = "utmi";
                clocks = <&tegra_car 59>;
+               nvidia,phy = <&phy3>;
                status = "disabled";
        };