RE: [PATCH v3 1/6] dt-bindings: add binding for USBSS-DRD controller.

From: Peter Chen
Date: Thu Feb 14 2019 - 20:56:10 EST



> >
> > Hi Rob,
> > >On Thu, Jan 31, 2019 at 11:52:28AM +0000, Pawel Laszczak wrote:
> > >> This patch aim at documenting USB related dt-bindings for the
> > >> Cadence USBSS-DRD controller.
> > >>
> > >> Signed-off-by: Pawel Laszczak <pawell@xxxxxxxxxxx>
> > >> ---
> > >> .../devicetree/bindings/usb/cdns-usb3.txt | 33 +++++++++++++++++++
> > >> 1 file changed, 33 insertions(+)
> > >> create mode 100644
> > >> Documentation/devicetree/bindings/usb/cdns-usb3.txt
> > >>
> > >> diff --git a/Documentation/devicetree/bindings/usb/cdns-usb3.txt
> > >> b/Documentation/devicetree/bindings/usb/cdns-usb3.txt
> > >> new file mode 100644
> > >> index 000000000000..6dc38be77f5c
> > >> --- /dev/null
> > >> +++ b/Documentation/devicetree/bindings/usb/cdns-usb3.txt
> > >> @@ -0,0 +1,33 @@
> > >> +Binding for the Cadence USBSS-DRD controller
> > >> +
> > >> +Required properties:
> > >> + - reg: Physical base address and size of the controller's register areas.
> > >> + Controller has 3 different regions:
> > >> + region 1 - HOST registers area
> > >> + region 2 - DEVICE registers area
> > >> + region 3 - OTG/DRD registers area
> > >> + - reg-names - register memory area names:
> > >> + "xhci" - for HOST registers space
> > >> + "dev" - for DEVICE registers space
> > >> + "otg" - for OTG/DRD registers space
> > >> + - compatible: Should contain: "cdns,usb3-1.0.0" or "cdns,usb3-1.0.1"
> > >> + - interrupts: Interrupt specifier. Refer to interrupt bindings.
> > >> + Driver supports only single interrupt line.
> > >
> > >Driver supports or h/w only has 1 interrupt?
> >
> > h/w internally has 3 separate interrupt line, but in my testing board
> > they are ored. So physically driver sees only one h/w interrupt line
> > and assumes that h/w has single common interrupt line.
>
> If it is possible for others to have 3 separate lines then you should have 3. Just
> repeat the connection 3 times. Or the binding can support
> 1 or 3 interrupts based on the h/w. Either way it's not about what the driver
> supports, but what the h/w looks like.
>

From IP level, it has three interrupt sources for "otg", "host" and "device". But from
SoC level, it usually only has one USB interrupt line, the device driver internal controls
and knows which sources from USB controller.

Peter