aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVenu Byravarasu <vbyravarasu@nvidia.com>2013-01-15 22:30:19 -0500
committerStephen Warren <swarren@nvidia.com>2013-01-28 13:20:05 -0500
commite374b65c9b15c17685925e45a3f8e97c80a75e5e (patch)
tree5c18eefccc847b2af0ee37e8aa52f4463811d54a
parent5e18150a7b4139e15e1ed7d7c938dd91f7f12354 (diff)
ARM: tegra: add DT nodes for Tegra USB PHY
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>
-rw-r--r--Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt1
-rw-r--r--Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt14
-rw-r--r--arch/arm/boot/dts/tegra20.dtsi22
3 files changed, 37 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt b/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
index 6ea765ad3dad..34c952883276 100644
--- a/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
+++ b/Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt
@@ -11,6 +11,7 @@ Required properties :
11 - phy_type : Should be one of "ulpi" or "utmi". 11 - phy_type : Should be one of "ulpi" or "utmi".
12 - nvidia,vbus-gpio : If present, specifies a gpio that needs to be 12 - nvidia,vbus-gpio : If present, specifies a gpio that needs to be
13 activated for the bus to be powered. 13 activated for the bus to be powered.
14 - nvidia,phy : phandle of the PHY instance, the controller is connected to.
14 15
15Required properties for phy_type == ulpi: 16Required properties for phy_type == ulpi:
16 - nvidia,phy-reset-gpio : The GPIO used to reset the PHY. 17 - 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
index 000000000000..84a4c12943af
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt
@@ -0,0 +1,14 @@
1Tegra SOC USB PHY
2
3The device node for Tegra SOC USB PHY:
4
5Required properties :
6 - compatible : Should be "nvidia,tegra20-usb-phy".
7 - reg : Address and length of the register set for the USB PHY interface.
8 - phy_type : Should be one of "ulpi" or "utmi".
9
10Optional properties:
11 - nvidia,has-legacy-mode : boolean indicates whether this controller can
12 operate in legacy mode (as APX 2500 / 2600). In legacy mode some
13 registers are accessed through the APB_MISC base address instead of
14 the USB controller. \ No newline at end of file
diff --git a/arch/arm/boot/dts/tegra20.dtsi b/arch/arm/boot/dts/tegra20.dtsi
index 88cf8332e3f7..3d7ab220ae49 100644
--- a/arch/arm/boot/dts/tegra20.dtsi
+++ b/arch/arm/boot/dts/tegra20.dtsi
@@ -400,6 +400,25 @@
400 #size-cells = <0>; 400 #size-cells = <0>;
401 }; 401 };
402 402
403 phy1: usb-phy@c5000400 {
404 compatible = "nvidia,tegra20-usb-phy";
405 reg = <0xc5000400 0x3c00>;
406 phy_type = "utmi";
407 nvidia,has-legacy-mode;
408 };
409
410 phy2: usb-phy@c5004400 {
411 compatible = "nvidia,tegra20-usb-phy";
412 reg = <0xc5004400 0x3c00>;
413 phy_type = "ulpi";
414 };
415
416 phy3: usb-phy@c5008400 {
417 compatible = "nvidia,tegra20-usb-phy";
418 reg = <0xc5008400 0x3C00>;
419 phy_type = "utmi";
420 };
421
403 usb@c5000000 { 422 usb@c5000000 {
404 compatible = "nvidia,tegra20-ehci", "usb-ehci"; 423 compatible = "nvidia,tegra20-ehci", "usb-ehci";
405 reg = <0xc5000000 0x4000>; 424 reg = <0xc5000000 0x4000>;
@@ -408,6 +427,7 @@
408 nvidia,has-legacy-mode; 427 nvidia,has-legacy-mode;
409 clocks = <&tegra_car 22>; 428 clocks = <&tegra_car 22>;
410 nvidia,needs-double-reset; 429 nvidia,needs-double-reset;
430 nvidia,phy = <&phy1>;
411 status = "disabled"; 431 status = "disabled";
412 }; 432 };
413 433
@@ -417,6 +437,7 @@
417 interrupts = <0 21 0x04>; 437 interrupts = <0 21 0x04>;
418 phy_type = "ulpi"; 438 phy_type = "ulpi";
419 clocks = <&tegra_car 58>; 439 clocks = <&tegra_car 58>;
440 nvidia,phy = <&phy2>;
420 status = "disabled"; 441 status = "disabled";
421 }; 442 };
422 443
@@ -426,6 +447,7 @@
426 interrupts = <0 97 0x04>; 447 interrupts = <0 97 0x04>;
427 phy_type = "utmi"; 448 phy_type = "utmi";
428 clocks = <&tegra_car 59>; 449 clocks = <&tegra_car 59>;
450 nvidia,phy = <&phy3>;
429 status = "disabled"; 451 status = "disabled";
430 }; 452 };
431 453