[PATCH 1/3] usb: misc: generic_onboard_hub: add generic onboard USB HUB driver

Peter Chen Peter.Chen at freescale.com
Wed Dec 9 01:29:44 PST 2015



Best regards,
Peter Chen

> -----Original Message-----
> From: Lucas Stach [mailto:l.stach at pengutronix.de]
> Sent: Wednesday, December 09, 2015 5:13 PM
> To: Chen Peter-B29397 <Peter.Chen at freescale.com>
> Cc: Mathieu Poirier <mathieu.poirier at linaro.org>; Mark Rutland
> <mark.rutland at arm.com>; devicetree at vger.kernel.org; festevam at gmail.com;
> Philipp Zabel <p.zabel at pengutronix.de>; Paweł Moll <pawel.moll at arm.com>;
> Greg KH <gregkh at linuxfoundation.org>; linux-usb at vger.kernel.org;
> patryk at kowalczyk.ws; Rob Herring <robh+dt at kernel.org>;
> stern at rowland.harvard.edu; kernel at pengutronix.de; Shawn Guo
> <shawnguo at kernel.org>; linux-arm-kernel at lists.infradead.org
> Subject: Re: [PATCH 1/3] usb: misc: generic_onboard_hub: add generic
> onboard USB HUB driver
> 
> Am Mittwoch, den 09.12.2015, 17:00 +0800 schrieb Peter Chen:
> > On Wed, Dec 09, 2015 at 09:57:40AM +0100, Lucas Stach wrote:
> > > Am Mittwoch, den 09.12.2015, 16:50 +0800 schrieb Peter Chen:
> > > > On Tue, Dec 08, 2015 at 08:36:00AM -0700, Mathieu Poirier wrote:
> > > > > On 7 December 2015 at 18:37, Peter Chen <peter.chen at freescale.com>
> wrote:
> > > > > > +
> > > > > > +       if (dev->of_node) {
> > > > > > +               struct device_node *node = dev->of_node;
> > > > > > +
> > > > > > +               hub_data->clk = devm_clk_get(dev, "external_clk");
> > > > > > +               if (IS_ERR(hub_data->clk)) {
> > > > > > +                       dev_dbg(dev, "Can't get external clock: %ld\n",
> > > > > > +                                       PTR_ERR(hub_data->clk));
> > > > > > +               }
> > > > >
> > > > > Is the intended behaviour to keep going here event when there is
> > > > > an error?  Can the "hub_data" really work without a clock?
> > > >
> > > > Yes, some HUB may work with fixed 24M OSC at the board, but they
> > > > need to reset through external IO, so the clock is not need at
> > > > this case, but reset pin is mandatory.
> > > >
> > > If the hub always requires a clock it must not be optional. If you
> > > have a fixed 24MHz clock on board add this to the DT as a
> > > fixed-clock and use it as an input to the hub.
> > >
> >
> > This fixed 24MHz clock may from a fixed crystal on board, it is always
> > on, no software need to control it, imx51-bbg board is an example.
> >
> And that's wh it is a fixed-clock. Please look it up in the DT binding
> documentation.

Yes, I see similar things are described at [1], but why we need this
additional entry at dts for this case,  it is always on, no software
is needed.
 
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
 
Peter



More information about the linux-arm-kernel mailing list