| Tegra SOC USB controllers |
| |
| The device node for a USB controller that is part of a Tegra |
| SOC is as described in the document "Open Firmware Recommended |
| Practice : Universal Serial Bus" with the following modifications |
| and additions : |
| |
| Required properties : |
| - compatible : Should be "nvidia,tegra20-ehci" for USB controllers |
| used in host mode. |
| - 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. |
| |
| Optional properties: |
| - dr_mode : dual role mode. Indicates the working mode for |
| nvidia,tegra20-ehci compatible controllers. Can be "host", "peripheral", |
| or "otg". Default to "host" if not defined for backward compatibility. |
| host means this is a host controller |
| peripheral means it is device controller |
| otg means it can operate as either ("on the go") |
| - 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. Since this is a legacy issue it probably does not |
| warrant a compatible string of its own. |
| - nvidia,needs-double-reset : boolean is to be set for some of the Tegra2 |
| USB ports, which need reset twice due to hardware issues. |