[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BYAPR07MB470903AF06C1F8A34BBB3C64DD100@BYAPR07MB4709.namprd07.prod.outlook.com>
Date: Fri, 7 Jun 2019 04:46:00 +0000
From: Pawel Laszczak <pawell@...ence.com>
To: Roger Quadros <rogerq@...com>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>
CC: "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"felipe.balbi@...ux.intel.com" <felipe.balbi@...ux.intel.com>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"hdegoede@...hat.com" <hdegoede@...hat.com>,
"heikki.krogerus@...ux.intel.com" <heikki.krogerus@...ux.intel.com>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"jbergsagel@...com" <jbergsagel@...com>,
"nsekhar@...com" <nsekhar@...com>, "nm@...com" <nm@...com>,
Suresh Punnoose <sureshp@...ence.com>,
"peter.chen@....com" <peter.chen@....com>,
Jayshri Dajiram Pawar <jpawar@...ence.com>,
Rahul Kumar <kurahul@...ence.com>
Subject: RE: [PATCH v7 1/6] dt-bindings: add binding for USBSS-DRD controller.
>
>Pawel,
>
>On 05/06/2019 13:03, Pawel Laszczak wrote:
>> This patch aim at documenting USB related dt-bindings for the
>> Cadence USBSS-DRD controller.
>>
>> Signed-off-by: Pawel Laszczak <pawell@...ence.com>
>> Reviewed-by: Rob Herring <robh@...nel.org>
>>
>> ---
>> .../devicetree/bindings/usb/cdns-usb3.txt | 30 +++++++++++++++++++
>> 1 file changed, 30 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..1d2b449e3cb4
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/usb/cdns-usb3.txt
>> @@ -0,0 +1,30 @@
>> +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: Interrupts used by cdns3 controller.
>
>Since we are requesting 3 separate named interrupts in code we need to
>mention them here.
Hi Roger,
Yes, I know, but this code is Reviewed-by: Rob Herring, so I thought to add
this as separate patch after putting this driver into kernel.
I assume that after making some change in this file I should remove statement
Reviewed-by: Rob Herring <robh@...nel.org> from this patch to start reviving
from the beginning.
What do you think about such dt-binding:
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" - for 0x00024502 controller version
"cdns,usb3-1.0.1" - for 0x00024509 controller version
"cdns,usb3-1.0.2" - for 0x0002450C controller version
"cdns,usb3-1.0.3" - for 0x0002450d controller version
- interrupts: Interrupts used by cdns3 controller:
"host" - interrupt used by XHCI driver.
"peripheral" - interrupt used by device driver
"otg" - interrupt used by DRD/OTG part of driver
Optional properties:
- maximum-speed : valid arguments are "super-speed", "high-speed" and
"full-speed"; refer to usb/generic.txt
- dr_mode: Should be one of "host", "peripheral" or "otg".
- phys: reference to the USB PHY
- on-chip-buff-size : size of memory intended as internal memory for endpoints
buffers expressed in KB
Example:
usb@...00000 {
compatible = "cdns,usb3-1.0.1";
interrupts = <USB_HOST_IRQ 7 IRQ_TYPE_LEVEL_HIGH>
<USB_DEVICE_IRQ 7 IRQ_TYPE_LEVEL_HIGH>
<USB_OTG_IRQ 8 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "host", "peripheral", "otg";
reg = <0xf3000000 0x10000 /* memory area for HOST registers */
0xf3010000 0x10000 /* memory area for DEVICE registers */
0xf3020000 0x10000>; /* memory area for OTG/DRD registers */
reg-names = "xhci", "dev", "otg";
};
Is this correct now ?
Maybe I should add something additionally for phy ?
Regards,
Pawel
>
>> +
>> +Optional properties:
>> + - maximum-speed : valid arguments are "super-speed", "high-speed" and
>> + "full-speed"; refer to usb/generic.txt
>> + - dr_mode: Should be one of "host", "peripheral" or "otg".
>> + - phys: reference to the USB PHY
>> +
>> +Example:
>> + usb@...00000 {
>> + compatible = "cdns,usb3-1.0.1";
>> + interrupts = <USB_IRQ 7 IRQ_TYPE_LEVEL_HIGH>;
>
>This example won't work as code requests for 3 separate interrupts.
>
>> + reg = <0xf3000000 0x10000 /* memory area for HOST registers */
>> + 0xf3010000 0x10000 /* memory area for DEVICE registers */
>> + 0xf3020000 0x10000>; /* memory area for OTG/DRD registers */
>> + reg-names = "xhci", "dev", "otg";
>> + };
>>
>
>--
>cheers,
>-roger
>
>Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
>Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Powered by blists - more mailing lists