Re: [PATCH v3 1/2] dt-bindings: phy: Add Sophgo CV1800 USB phy

Inochi Amaoto
2024-05-10T11:19:41Z

On Tue, May 07, 2024 at 02:08:29PM GMT, Rob Herring wrote:
> On Mon, May 06, 2024 at 08:17:30PM +0800, Inochi Amaoto wrote:
> > On Mon, May 06, 2024 at 08:51:59AM GMT, Krzysztof Kozlowski wrote:
> > > On 05/05/2024 03:52, Inochi Amaoto wrote:
> > > > The USB phy of Sophgo CV18XX series SoC needs to sense a pin called
> > > > "VBUS_DET" to get the right operation mode. If this pin is not
> > > > connected, it only supports setting the mode manually.
> > > >
> > > > Add USB phy bindings for Sophgo CV18XX/SG200X series SoC.
> > >
> > > ...
> > >
> > > > +
> > > > + clock-names:
> > > > + items:
> > > > + - const: phy
> > > > + - const: app
> > > > + - const: stb
> > > > + - const: lpm
> > > > +
> > > > + vbus_det-gpios:
> > >
> > > No underscores.
> > >
> >
> > Thanks.
> >
> > > > + description: GPIO to the USB OTG VBUS detect pin. This should not be
> > > > + defined if vbus_det pin and switch pin are connected, which may
> > > > + break the VBUS detection.
> > >
> > > Why is this property of the PHY? VBUS pin goes to the connector, doesn't
> > > it? It looks like you combined two or three (!!!) bindings into one.
> > >
> >
> > Yes, but I am not sure which is the best to write this bindings.
> > The topology of USB likes this:
> >
> > controller -- phy -- switch --> (host) port/hub
> > --> (device) port
> >
> > The vbus-detect connect to the device port, but it will change the mode for
> > both phy and switch. And the switch is just a switching circuit.
> > I am pretty confused on how to split this binding. I think it may like the
> > following:
> >
> > phy {
> > switch {
> > /* This is the switch in the follows */
> > connector1 {
> > /* host port */
> > };
> > connector2 {
> > /* device port*/
> > /* the vbus pin is here */
> > };
> > };
> > };
> >
> > Could you share some suggestion on this?
>
> Something like the above assuming 2 physical connectors, but probably
> should be a child of the USB controller or on its own. PHYs usually
> aren't put into a parent/child hierarchy, but are out of band.
>

Yes, your are right. I should add port definition under the controller.

> Is this switch implemented on the board level? If so, you should create
> something that would work on any platform with a GPIO controlled USB
> switch like this.
>
> Rob

Yes, the switch is FSUSB30UMX. If I understand you correctly, I need to
add a driver to control this switch, right?

Regards,
Inochi