linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@ti.com>
To: Pawel Laszczak <pawell@cadence.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"felipe.balbi@linux.intel.com" <felipe.balbi@linux.intel.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	"hdegoede@redhat.com" <hdegoede@redhat.com>,
	"heikki.krogerus@linux.intel.com"
	<heikki.krogerus@linux.intel.com>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbergsagel@ti.com" <jbergsagel@ti.com>,
	"nsekhar@ti.com" <nsekhar@ti.com>, "nm@ti.com" <nm@ti.com>,
	Suresh Punnoose <sureshp@cadence.com>,
	"peter.chen@nxp.com" <peter.chen@nxp.com>,
	Jayshri Dajiram Pawar <jpawar@cadence.com>,
	Rahul Kumar <kurahul@cadence.com>
Subject: Re: [PATCH v7 1/6] dt-bindings: add binding for USBSS-DRD controller.
Date: Fri, 7 Jun 2019 12:25:57 +0300	[thread overview]
Message-ID: <64be9d26-2a68-1b90-89c8-29b227e0cd9c@ti.com> (raw)
In-Reply-To: <BYAPR07MB470903AF06C1F8A34BBB3C64DD100@BYAPR07MB4709.namprd07.prod.outlook.com>

On 07/06/2019 07:46, Pawel Laszczak wrote:
> 
>>
>> 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@cadence.com>
>>> Reviewed-by: Rob Herring <robh@kernel.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.
> 

Binding document should be updated as code changes.

> I assume that after making some change in this file I should remove statement
> Reviewed-by: Rob Herring <robh@kernel.org> from this patch to start reviving 
> from the beginning.  

Yes.

> 
> 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

Is it so that region 1 is always HOST?
offset 0 seems to be OTG though.

If it is implementation specific then you could get rid of numbering.

>   - 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

need to add 'phy-names' since you request the PHY with name.

>  - on-chip-buff-size : size of memory intended as internal memory for endpoints
>         buffers expressed in KB
> 
> Example:
>         usb@f3000000 {
>                 compatible = "cdns,usb3-1.0.1";
>                 interrupts = <USB_HOST_IRQ  7 IRQ_TYPE_LEVEL_HIGH>

coma missing.
>                                 <USB_DEVICE_IRQ  7 IRQ_TYPE_LEVEL_HIGH>
here too.
>                                 <USB_OTG_IRQ  8 IRQ_TYPE_LEVEL_HIGH>;

What is 7 and 8 ?

>                 interrupt-names = "host", "peripheral", "otg";
>                 reg = <0xf3000000 0x10000       /* memory area for HOST registers */

should end with >,

>                         0xf3010000 0x10000      /* memory area for DEVICE registers */
here too

>                         0xf3020000 0x10000>;    /* memory area for OTG/DRD registers */
>                 reg-names = "xhci", "dev", "otg";
>         };

Isn't otg at offset 0, xhci at offset 0x10000 and dev at offset 0x20000?

> 
> Is this correct now ?
> 
> Maybe I should add something additionally for phy ?

e.g.

                        phys = <&usb3_phy>;
                        phy-names = "cdns3,usbphy";

> 
> 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@f3000000 {
>>> +		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

  reply	other threads:[~2019-06-07  9:27 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-05 10:03 [PATCH v7 0/6] Introduced new Cadence USBSS DRD Driver Pawel Laszczak
2019-06-05 10:03 ` [PATCH v7 1/6] dt-bindings: add binding for USBSS-DRD controller Pawel Laszczak
2019-06-06 12:08   ` Roger Quadros
2019-06-07  4:46     ` Pawel Laszczak
2019-06-07  9:25       ` Roger Quadros [this message]
2019-06-10  4:58         ` Pawel Laszczak
2019-06-10  6:13           ` Peter Chen
2019-06-10  6:45             ` Pawel Laszczak
2019-06-10  6:52               ` Peter Chen
2019-06-05 10:03 ` [PATCH v7 2/6] usb:common Separated decoding functions from dwc3 driver Pawel Laszczak
2019-06-08 13:40   ` Greg KH
2019-06-10  6:29     ` Pawel Laszczak
2019-06-10 11:57       ` Roger Quadros
2019-06-05 10:03 ` [PATCH v7 3/6] usb:common Patch simplify usb_decode_set_clear_feature function Pawel Laszczak
2019-06-05 10:03 ` [PATCH v7 4/6] usb:common Simplify usb_decode_get_set_descriptor function Pawel Laszczak
2019-06-05 10:03 ` [PATCH v7 5/6] usb:cdns3 Add Cadence USB3 DRD Driver Pawel Laszczak
2019-06-06 12:16   ` Roger Quadros
2019-06-07  7:59     ` Pawel Laszczak
2019-06-07 10:16   ` Heikki Krogerus
2019-06-10  6:33     ` Pawel Laszczak
2019-06-11  8:53       ` Heikki Krogerus
2019-06-14  6:31   ` Jun Li
2019-06-05 10:03 ` [PATCH v7 6/6] usb:cdns3 Fix for stuck packets in on-chip OUT buffer Pawel Laszczak
2019-06-06  1:12 ` [PATCH v7 0/6] Introduced new Cadence USBSS DRD Driver Lars Melin
2019-06-06  5:11   ` Pawel Laszczak

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=64be9d26-2a68-1b90-89c8-29b227e0cd9c@ti.com \
    --to=rogerq@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=felipe.balbi@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hdegoede@redhat.com \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=jbergsagel@ti.com \
    --cc=jpawar@cadence.com \
    --cc=kurahul@cadence.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=nm@ti.com \
    --cc=nsekhar@ti.com \
    --cc=pawell@cadence.com \
    --cc=peter.chen@nxp.com \
    --cc=robh+dt@kernel.org \
    --cc=sureshp@cadence.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).