diff options
author | Venu Byravarasu <vbyravarasu@nvidia.com> | 2013-01-15 22:30:19 -0500 |
---|---|---|
committer | Stephen Warren <swarren@nvidia.com> | 2013-01-28 13:20:05 -0500 |
commit | e374b65c9b15c17685925e45a3f8e97c80a75e5e (patch) | |
tree | 5c18eefccc847b2af0ee37e8aa52f4463811d54a | |
parent | 5e18150a7b4139e15e1ed7d7c938dd91f7f12354 (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.txt | 1 | ||||
-rw-r--r-- | Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt | 14 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra20.dtsi | 22 |
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 | ||
15 | Required properties for phy_type == ulpi: | 16 | Required 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 @@ | |||
1 | Tegra SOC USB PHY | ||
2 | |||
3 | The device node for Tegra SOC USB PHY: | ||
4 | |||
5 | Required 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 | |||
10 | Optional 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 | ||