[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200529072036.GA32755@b29397-desktop>
Date: Fri, 29 May 2020 07:20:14 +0000
From: Peter Chen <peter.chen@....com>
To: Mike Looijmans <mike.looijmans@...ic.nl>
CC: "linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"balbi@...nel.org" <balbi@...nel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] usb/phy-generic: Add support for OTG VBUS supply control
On 20-05-29 07:47:37, Mike Looijmans wrote:
>
> Met vriendelijke groet / kind regards,
>
> Mike Looijmans
> System Expert
>
>
> TOPIC Embedded Products B.V.
> Materiaalweg 4, 5681 RJ Best
> The Netherlands
>
> T: +31 (0) 499 33 69 69
> E: mike.looijmans@...icproducts.com
> W: https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.topicproducts.com%2F&data=02%7C01%7Cpeter.chen%40nxp.com%7Cc8a5e33bbd3141b57d5408d80393cff2%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C637263280668758097&sdata=e5yJuVtOJ9%2BUqmRl6HNk14Fd0%2FPR2jQAhOl1vHtYJKg%3D&reserved=0
>
> Please consider the environment before printing this e-mail
> On 28-05-2020 13:20, Peter Chen wrote:
> > On 20-05-26 16:50:51, Mike Looijmans wrote:
> > > This enables support for VBUS on boards where the power is supplied
> > > by a regulator. The regulator is enabled when the USB port enters
> > > HOST mode.
> > >
> > Why you don't do this at your host controller driver?
>
> That was my first thought too, but it made more sense to do it here. It's
> about how things are connected on the board, and not about the controller.
> Also makes for a consistent devicetree when using different SOCs on the same
> carrier board.
A standard interface is: port_power for hc_driver, but seems the xHCI
doesn't implement it.
>
> I already needed this driver to properly reset the USB phy, which the
> controller driver also did not do. So it made sense to add the vbus power
> control to this driver too.
>
> If you have a strong preference for the controller driver, I can move this
> to the DWC3 driver which happens to be the controller for the latest batch
> of SOMs.
>
You may ask Mathias or Felipe for comments where is suitable for vbus
regulator.
> > > +
> > > nop->dev = dev;
> > > nop->phy.dev = nop->dev;
> > > nop->phy.label = "nop-xceiv";
> > > @@ -278,6 +319,7 @@ int usb_phy_gen_create_phy(struct device *dev, struct usb_phy_generic *nop)
> > > nop->phy.otg->usb_phy = &nop->phy;
> > > nop->phy.otg->set_host = nop_set_host;
> > > nop->phy.otg->set_peripheral = nop_set_peripheral;
> > > + nop->phy.otg->set_vbus = nop_set_vbus;
OTG is dead, even USB-IF has refused OTG test since 2019-09, you may
avoid to use OTG structure.
Peter
> > > return 0;
> > > }
> > > diff --git a/drivers/usb/phy/phy-generic.h b/drivers/usb/phy/phy-generic.h
> > > index 7ee80211a688..a3663639ea1e 100644
> > > --- a/drivers/usb/phy/phy-generic.h
> > > +++ b/drivers/usb/phy/phy-generic.h
> > > @@ -14,7 +14,9 @@ struct usb_phy_generic {
> > > struct gpio_desc *gpiod_reset;
> > > struct gpio_desc *gpiod_vbus;
> > > struct regulator *vbus_draw;
> > > + struct regulator *vbus_reg;
> > > bool vbus_draw_enabled;
> > > + bool vbus_reg_enabled;
> > > unsigned long mA;
> > > unsigned int vbus;
> > > };
> > > --
> > > 2.17.1
> > >
>
> --
> Mike Looijmans
>
--
Thanks,
Peter Chen
Powered by blists - more mailing lists