On Fri, Dec 20, 2019 at 04:08:30PM +0800, JC Kuo wrote: > > On 12/19/19 9:05 PM, Thierry Reding wrote: > > On Wed, Dec 18, 2019 at 02:46:14PM +0530, Nagarjuna Kristam wrote: > >> Add usb-role-switch property for Tegra210 and Tegra186 platforms. This > >> entry is used by XUSB pad controller driver to register for role changes > >> for OTG/Peripheral capable USB 2 ports. > >> > >> Signed-off-by: Nagarjuna Kristam > >> --- > >> V2: > >> - Moved usb-role-switch to seperate Required section as suggested by Thierry. > >> - Added reference to usb/usb-conn-gpio.txt for connector subnode. > >> --- > >> .../devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt | 6 ++++++ > >> 1 file changed, 6 insertions(+) > >> > >> diff --git a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt > >> index 9fb682e..23bf354 100644 > >> --- a/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt > >> +++ b/Documentation/devicetree/bindings/phy/nvidia,tegra124-xusb-padctl.txt > >> @@ -174,6 +174,12 @@ Required properties: > >> - "device": for USB device mode > >> - "otg": for USB OTG mode > >> > >> +Required properties for OTG/Peripheral capable USB2 ports: > >> +- usb-role-switch: Boolean property to indicate that the port support OTG or > > > > "supports", and also, why if it supports OTG *or* peripheral? Doesn't > > OTG imply peripheral? OTG means it can be either peripheral or host, > > right? So I think the end of that sentence can be just: > > > > "... the port supports OTG." > An USB OTG port is capable of both USB host and peripheral operations. An USB > peripheral port can only act as an USB peripheral. > > The micro USB ports found on Jetson TX1/TX2 platforms are micro-AB ports which > should implement both host and peripheral capabilities. We say such ports > support OTG. The micro USB port found on Jetson Nano is a micro-B port which > should implement peripheral capability only. We say such ports support > peripheral, rather than OTG. I the port supports only peripheral mode, why do we need to have a usb-role-switch property? Shouldn't we in that case have a mode property with value "device"? usb-mode-switch is only needed if mode = "otg", isn't it? In all other cases the functionality is fixed (either host or peripheral) and the mode cannot be switched. Thierry