1Tegra SOC USB controllers 2 3The device node for a USB controller that is part of a Tegra 4SOC is as described in the document "Open Firmware Recommended 5Practice : Universal Serial Bus" with the following modifications 6and additions : 7 8Required properties : 9 - compatible : Should be "nvidia,tegra20-ehci" for USB controllers 10 used in host mode. 11 - phy_type : Should be one of "ulpi" or "utmi". 12 - nvidia,vbus-gpio : If present, specifies a gpio that needs to be 13 activated for the bus to be powered. 14 - nvidia,phy : phandle of the PHY instance, the controller is connected to. 15 16Required properties for phy_type == ulpi: 17 - nvidia,phy-reset-gpio : The GPIO used to reset the PHY. 18 19Optional properties: 20 - dr_mode : dual role mode. Indicates the working mode for 21 nvidia,tegra20-ehci compatible controllers. Can be "host", "peripheral", 22 or "otg". Default to "host" if not defined for backward compatibility. 23 host means this is a host controller 24 peripheral means it is device controller 25 otg means it can operate as either ("on the go") 26 - nvidia,has-legacy-mode : boolean indicates whether this controller can 27 operate in legacy mode (as APX 2500 / 2600). In legacy mode some 28 registers are accessed through the APB_MISC base address instead of 29 the USB controller. Since this is a legacy issue it probably does not 30 warrant a compatible string of its own. 31 - nvidia,needs-double-reset : boolean is to be set for some of the Tegra2 32 USB ports, which need reset twice due to hardware issues. 33