From: Peter Chen <peter.chen@freescale.com>
To: Felipe Balbi <balbi@ti.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
Antoine Tenart <antoine.tenart@free-electrons.com>,
linux-arm-kernel@lists.infradead.org,
sebastian.hesselbarth@gmail.com, p.zabel@pengutronix.de,
thomas.petazzoni@free-electrons.com, zmxu@marvell.com,
devicetree@vger.kernel.org, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org,
alexandre.belloni@free-electrons.com, jszhang@marvell.com
Subject: Re: [PATCH v6 07/12] usb: chipidea: add a usb2 driver for ci13xxx
Date: Mon, 13 Oct 2014 16:47:59 +0800 [thread overview]
Message-ID: <20141013084758.GB3314@peterchendt> (raw)
In-Reply-To: <20140926003750.GA12770@saruman>
On Thu, Sep 25, 2014 at 07:37:50PM -0500, Felipe Balbi wrote:
> HI,
>
> On Fri, Sep 26, 2014 at 07:39:34AM +0800, Peter Chen wrote:
> > On Thu, Sep 25, 2014 at 09:15:53AM -0500, Felipe Balbi wrote:
> > > On Wed, Sep 24, 2014 at 02:23:38PM +0200, Arnd Bergmann wrote:
> > > > On Wednesday 24 September 2014 19:29:05 Peter Chen wrote:
> > > > >
> > > > > So, it is IP CORE LIB (you suggest) vs IP CORE Platform Driver
> > > > > (dwc3, musb, chipidea) you are talking about, right? Except for
> > > > > creating another platform driver as well as related DT node (optional),
> > > > > are there any advantages compared to current IP core driver structure?
> > > >
> > > > Having a library module usually requires less code, and is more
> > > > consistent with other drivers, which helps new developers understand
> > > > what the driver is doing.
> > >
> > > I beg to differ. You end-up having to pass function pointers through
> > > platform_data to handle differences which could be handled by the core
> > > IP.
> > >
> > > > The most important aspect though is the DT binding: once the structure
> > > > with separate kernel drivers leaks out into the DT format, you can't
> > > > easily change the driver any more, e.g. to make a property that was
> > > > introduced for one glue driver more general so it can get handled by
> > > > the common part. Having a single node lets us convert to the library
> > > > model later, so that would be a strong reason to keep the DT binding
> > > > simple, without child nodes.
> > > >
> > > > Following that logic, it turns into another reason for using the library
> > > > model to start with, because otherwise the child device does not have
> > > > any DT properties itself and has to rely on the parent device properties,
> > > > which somewhat complicates the driver structure.
> > >
> > > this is bullcrap. Take a look at
> > > Documentation/devicetree/bindings/usb/dwc3.txt:
> > >
> > > synopsys DWC3 CORE
> > >
> > > DWC3- USB3 CONTROLLER
> > >
> > > Required properties:
> > > - compatible: must be "snps,dwc3"
> > > - reg : Address and length of the register set for the device
> > > - interrupts: Interrupts used by the dwc3 controller.
> > >
> > > Optional properties:
> > > - usb-phy : array of phandle for the PHY device. The first element
> > > in the array is expected to be a handle to the USB2/HS PHY and
> > > the second element is expected to be a handle to the USB3/SS PHY
> > > - phys: from the *Generic PHY* bindings
> > > - phy-names: from the *Generic PHY* bindings
> > > - tx-fifo-resize: determines if the FIFO *has* to be reallocated.
> > >
> > > This is usually a subnode to DWC3 glue to which it is connected.
> > >
> > > dwc3@4a030000 {
> > > compatible = "snps,dwc3";
> > > reg = <0x4a030000 0xcfff>;
> > > interrupts = <0 92 4>
> > > usb-phy = <&usb2_phy>, <&usb3,phy>;
> > > tx-fifo-resize;
> > > };
> > >
>
> > Is it possible that the glue layer needs to access core register
> > (eg, portsc.phcd during suspend)? The wrapper IP may wait some signals
> > at core IP to change.
>
> why would a glue layer need to access registers from the core ? That
> sounds very odd. I haven't seen that and will, definitely, NACK such a
> patch :-)
>
Just have a case for glue layer needs to know core layer's status.
The controller's wakeup logic is usually at glue layer, but we
may need to enable different wakeup for roles. Eg, if the current
role is host (controller is otg capable), we can't enable id wakeup,
otherwise, the user will complain plug out Micro-AB cable wakes up
system which is not expected.
--
Best Regards,
Peter Chen
next prev parent reply other threads:[~2014-10-13 8:47 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-23 10:27 [PATCH v6 00/12] ARM: berlin: USB support Antoine Tenart
[not found] ` <1411468088-5702-1-git-send-email-antoine.tenart-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-09-23 10:27 ` [PATCH v6 01/12] reset: add the Berlin reset controller driver Antoine Tenart
2014-09-23 10:27 ` [PATCH v6 03/12] ARM: Berlin: select the reset controller Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 10/12] ARM: dts: Berlin: enable USB on the BG2Q DMP Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 12/12] ARM: dts: berlin: enable USB on the Google Chromecast Antoine Tenart
2014-09-23 10:27 ` [PATCH v6 02/12] Documentation: bindings: add reset bindings docs for Marvell Berlin SoCs Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 04/12] ARM: dts: berlin: add a required reset property in the chip controller node Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 05/12] phy: add the Berlin USB PHY driver Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 06/12] Documentation: bindings: add doc for the Berlin USB PHY Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 07/12] usb: chipidea: add a usb2 driver for ci13xxx Antoine Tenart
[not found] ` <1411468088-5702-8-git-send-email-antoine.tenart-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
2014-09-23 10:39 ` Arnd Bergmann
2014-09-23 13:36 ` Antoine Tenart
2014-09-23 16:44 ` Arnd Bergmann
2014-09-23 16:55 ` Felipe Balbi
2014-09-23 17:37 ` Arnd Bergmann
2014-09-23 17:43 ` Felipe Balbi
2014-09-24 2:27 ` Peter Chen
2014-09-24 7:44 ` Arnd Bergmann
2014-09-24 8:30 ` Arnd Bergmann
2014-09-24 11:29 ` Peter Chen
2014-09-24 12:23 ` Arnd Bergmann
2014-09-25 0:56 ` Peter Chen
2014-09-25 14:15 ` Felipe Balbi
2014-09-25 23:39 ` Peter Chen
2014-09-26 0:37 ` Felipe Balbi
2014-09-26 0:39 ` Felipe Balbi
2014-09-26 7:20 ` Arnd Bergmann
2014-09-26 15:43 ` Felipe Balbi
2014-09-28 0:40 ` Peter Chen
2014-10-13 8:47 ` Peter Chen [this message]
2014-09-25 14:09 ` Felipe Balbi
2014-09-24 23:58 ` Sören Brinkmann
[not found] ` <1a0ed130-a53d-42df-9f6a-994c5b68755c-fm2tX0oQAVzn9+apuKOhx+hlVc3/7hDbVaz/vdPVXQ4@public.gmane.org>
2014-09-29 14:57 ` Antoine Tenart
2014-09-25 1:16 ` Peter Chen
2014-09-25 7:11 ` Arnd Bergmann
2014-09-26 0:23 ` Peter Chen
2014-09-26 7:01 ` Arnd Bergmann
2014-09-29 15:08 ` Antoine Tenart
2014-10-01 12:39 ` Antoine Tenart
2014-09-30 0:12 ` Peter Chen
2014-09-30 10:03 ` Arnd Bergmann
2014-09-30 12:39 ` Peter Chen
2014-09-30 13:43 ` Arnd Bergmann
2014-10-01 6:35 ` Peter Chen
2014-10-01 8:41 ` Arnd Bergmann
2014-10-01 12:25 ` Peter Chen
2014-10-01 23:40 ` Peter Chen
2014-09-25 19:12 ` Arnd Bergmann
[not found] ` <201409252112.07513.arnd-r2nGTMty4D4@public.gmane.org>
2014-09-25 19:54 ` Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 08/12] Documentation: bindings: add doc for the USB2 ChipIdea USB driver Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 09/12] ARM: dts: berlin: add BG2Q nodes for USB support Antoine Tenart
2014-09-23 10:28 ` [PATCH v6 11/12] ARM: dts: berlin: add BG2CD " Antoine Tenart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141013084758.GB3314@peterchendt \
--to=peter.chen@freescale.com \
--cc=alexandre.belloni@free-electrons.com \
--cc=antoine.tenart@free-electrons.com \
--cc=arnd@arndb.de \
--cc=balbi@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=jszhang@marvell.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=sebastian.hesselbarth@gmail.com \
--cc=thomas.petazzoni@free-electrons.com \
--cc=zmxu@marvell.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).