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