Re: [Patch V2 01/18] dt-bindings: phy: tegra-xusb: Add usb-role-switch

Thierry Reding
2020-01-10T11:16:41Z

[-- Attachment #1: Type: text/plain, Size: 2498 bytes --]

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 <nkristam@nvidia.com>
> >> ---
> >> 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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]