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 | ||
