linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pawel Laszczak <pawell@cadence.com>
To: Roger Quadros <rogerq@ti.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: Mon, 10 Jun 2019 04:58:55 +0000	[thread overview]
Message-ID: <BYAPR07MB470965B3CBCB58E1C7B1253FDD130@BYAPR07MB4709.namprd07.prod.outlook.com> (raw)
In-Reply-To: <64be9d26-2a68-1b90-89c8-29b227e0cd9c@ti.com>

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

Right,  I 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 line number.  As I remember device and host are connected to the same interrupt
line.

I'm not sure but first element is probably the number indicating of Interrupt controller, 
so rather It should has the same name for all interrupts entries. I will change it to GIC_USB_IRQ.

>
>>                 interrupt-names = "host", "peripheral", "otg";
>>                 reg = <0xf3000000 0x10000       /* memory area for HOST registers */
>
>should end with >,
I've checked in other dt-binding, and there use in this form.
I will change it. Checkpatch script doesn't complain for both version. 
>
>>                         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?

I think that it's FPGA  implementation specific. I have connected registers in this way. 
In register specification OTG offset is 0. 

>
>>
>> Is this correct now ?
>>
>> Maybe I should add something additionally for phy ?
>
>e.g.
>
>                        phys = <&usb3_phy>;
>                        phy-names = "cdns3,usbphy";
>
Ok, I will add it, but they are optional parameter. 

New version will looks like: 
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:
         - HOST registers area
         - DEVICE registers area
         - 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
 - phy-names: from the *Generic PHY* bindings;
 - 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 = <GIC_USB_IRQ 7 IRQ_TYPE_LEVEL_HIGH>,
                                <GIC_USB_IRQ  7 IRQ_TYPE_LEVEL_HIGH>,
                                <GIC_USB_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";
                phys = <&usb3_phy>;
                phy-names = "cdns3,usbphy";


Maybe I should add also something for usb2_phy in dt-binding and in driver ?

Thanks, 
Regards, 
Pawel 

>>
>> 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-10  4:59 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
2019-06-10  4:58         ` Pawel Laszczak [this message]
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=BYAPR07MB470965B3CBCB58E1C7B1253FDD130@BYAPR07MB4709.namprd07.prod.outlook.com \
    --to=pawell@cadence.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=peter.chen@nxp.com \
    --cc=robh+dt@kernel.org \
    --cc=rogerq@ti.com \
    --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).