[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aa6aa234-e2d1-bdcd-0f0e-64b2a7e497d3@linaro.org>
Date: Thu, 19 Mar 2020 15:22:14 +0000
From: Bryan O'Donoghue <bryan.odonoghue@...aro.org>
To: Stephen Boyd <swboyd@...omium.org>, balbi@...nel.org,
gregkh@...uxfoundation.org, linux-usb@...r.kernel.org
Cc: linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
bjorn.andersson@...aro.org, jackp@...eaurora.org, robh@...nel.org,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>, devicetree@...r.kernel.org
Subject: Re: [PATCH 2/7] dt-bindings: usb: dwc3: Add a gpio-usb-connector
example
On 19/03/2020 01:08, Stephen Boyd wrote:
> Quoting Bryan O'Donoghue (2020-03-11 12:14:56)
>> A USB connector should be a child node of the USB controller
>> connector/usb-connector.txt. This patch adds an example of how to do this
>> to the dwc3 binding descriptions.
>
> I read that as a child of the USB interface controller, which is not the
> same as the USB controller. For example, we're talking about having the
> usb connector be a child of the EC on ChromeOS devices because that
> manages the connector
>
>>
>> It is necessary to declare a connector as a child-node of a USB controller
>> for role-switching to work, so this example should be helpful to others
>> implementing that.
>
> Maybe it should be a virtual node at the root of the DT if it's GPIO
> controlled? And then the phy can be connected to the usb connector
> through the graph binding.
Graph binding can probably work.
Re: the PHY.
For myself the hardware model is
Connector -> PHY -> Host controller -> Host controller wrapper
Only
Connector -> Host controller -> Host controller wrapper
care about the USB role though.
If your PHY did care about the role, you'd really need to write a
connector/phy type-c type driver, to detect the state and toggle your
PHY bits before doing usb_role_switch_set_role() back to DWC3.
At least that's my understanding.
---
bod
Powered by blists - more mailing lists