2014-12-01 18:42:49

by Soren Brinkmann

[permalink] [raw]
Subject: [PATCH] ARM: zynq: DT: Add USB to device tree

Add USB nodes to zc702, zc706 and zed device trees.

Signed-off-by: Soren Brinkmann <[email protected]>
---
arch/arm/boot/dts/zynq-7000.dtsi | 22 +++++++++++++++++++++-
arch/arm/boot/dts/zynq-zc702.dts | 11 +++++++++++
arch/arm/boot/dts/zynq-zc706.dts | 10 ++++++++++
arch/arm/boot/dts/zynq-zed.dts | 10 ++++++++++
4 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
index ce2ef5bec4f2..9ed60938f301 100644
--- a/arch/arm/boot/dts/zynq-7000.dtsi
+++ b/arch/arm/boot/dts/zynq-7000.dtsi
@@ -315,6 +315,26 @@
clocks = <&clkc 4>;
};

+ usb0: usb@e0002000 {
+ compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
+ status = "disabled";
+ clocks = <&clkc 28>;
+ interrupt-parent = <&intc>;
+ interrupts = <0 21 4>;
+ reg = <0xe0002000 0x1000>;
+ phy_type = "ulpi";
+ };
+
+ usb1: usb@e0003000 {
+ compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
+ status = "disabled";
+ clocks = <&clkc 29>;
+ interrupt-parent = <&intc>;
+ interrupts = <0 44 4>;
+ reg = <0xe0003000 0x1000>;
+ phy_type = "ulpi";
+ };
+
watchdog0: watchdog@f8005000 {
clocks = <&clkc 45>;
compatible = "xlnx,zynq-wdt-r1p2";
@@ -324,6 +344,6 @@
reg = <0xf8005000 0x1000>;
reset = <0>;
timeout-sec = <10>;
- };
+ } ;
};
};
diff --git a/arch/arm/boot/dts/zynq-zc702.dts b/arch/arm/boot/dts/zynq-zc702.dts
index 94e2cda6f9b6..690d2b6bbada 100644
--- a/arch/arm/boot/dts/zynq-zc702.dts
+++ b/arch/arm/boot/dts/zynq-zc702.dts
@@ -36,6 +36,11 @@
linux,default-trigger = "heartbeat";
};
};
+
+ usb_phy0: usb-phy@0 {
+ compatible = "usb-nop-xceiv";
+ #phy-cells = <0>;
+ };
};

&can0 {
@@ -135,3 +140,9 @@
&uart1 {
status = "okay";
};
+
+&usb0 {
+ status = "okay";
+ dr_mode = "host";
+ usb-phy = <&usb_phy0>;
+};
diff --git a/arch/arm/boot/dts/zynq-zc706.dts b/arch/arm/boot/dts/zynq-zc706.dts
index a8bbdfbc7093..e383c0a3f314 100644
--- a/arch/arm/boot/dts/zynq-zc706.dts
+++ b/arch/arm/boot/dts/zynq-zc706.dts
@@ -27,6 +27,10 @@
bootargs = "console=ttyPS0,115200 earlyprintk";
};

+ usb_phy0: usb-phy@0 {
+ compatible = "usb-nop-xceiv";
+ #phy-cells = <0>;
+ };
};

&gem0 {
@@ -114,3 +118,9 @@
&uart1 {
status = "okay";
};
+
+&usb0 {
+ status = "okay";
+ dr_mode = "host";
+ usb-phy = <&usb_phy0>;
+};
diff --git a/arch/arm/boot/dts/zynq-zed.dts b/arch/arm/boot/dts/zynq-zed.dts
index 697779a353ed..b08ae18ad854 100644
--- a/arch/arm/boot/dts/zynq-zed.dts
+++ b/arch/arm/boot/dts/zynq-zed.dts
@@ -27,6 +27,10 @@
bootargs = "console=ttyPS0,115200 earlyprintk";
};

+ usb_phy0: usb-phy@0 {
+ compatible = "usb-nop-xceiv";
+ #phy-cells = <0>;
+ };
};

&gem0 {
@@ -46,3 +50,9 @@
&uart1 {
status = "okay";
};
+
+&usb0 {
+ status = "okay";
+ dr_mode = "host";
+ usb-phy = <&usb_phy0>;
+};
--
2.2.0.1.g9ee0458


2014-12-01 20:26:17

by Andreas Färber

[permalink] [raw]
Subject: Re: [PATCH] ARM: zynq: DT: Add USB to device tree

Hi S?ren,

Am 01.12.2014 um 19:42 schrieb Soren Brinkmann:
> Add USB nodes to zc702, zc706 and zed device trees.
>
> Signed-off-by: Soren Brinkmann <[email protected]>
> ---
> arch/arm/boot/dts/zynq-7000.dtsi | 22 +++++++++++++++++++++-
> arch/arm/boot/dts/zynq-zc702.dts | 11 +++++++++++
> arch/arm/boot/dts/zynq-zc706.dts | 10 ++++++++++
> arch/arm/boot/dts/zynq-zed.dts | 10 ++++++++++
> 4 files changed, 52 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
> index ce2ef5bec4f2..9ed60938f301 100644
> --- a/arch/arm/boot/dts/zynq-7000.dtsi
> +++ b/arch/arm/boot/dts/zynq-7000.dtsi
> @@ -315,6 +315,26 @@
> clocks = <&clkc 4>;
> };
>
> + usb0: usb@e0002000 {
> + compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
> + status = "disabled";
> + clocks = <&clkc 28>;
> + interrupt-parent = <&intc>;
> + interrupts = <0 21 4>;
> + reg = <0xe0002000 0x1000>;
> + phy_type = "ulpi";
> + };
> +
> + usb1: usb@e0003000 {
> + compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
> + status = "disabled";
> + clocks = <&clkc 29>;
> + interrupt-parent = <&intc>;
> + interrupts = <0 44 4>;
> + reg = <0xe0003000 0x1000>;
> + phy_type = "ulpi";
> + };
> +
> watchdog0: watchdog@f8005000 {
> clocks = <&clkc 45>;
> compatible = "xlnx,zynq-wdt-r1p2";

This part looks good.

> @@ -324,6 +344,6 @@
> reg = <0xf8005000 0x1000>;
> reset = <0>;
> timeout-sec = <10>;
> - };
> + } ;
> };
> };

Unrelated accidental change here though. :)

Did I miss a matching series actually implementing the driver? I'd need
to test the latest version to determine how to update the Parallella
device tree - I assume that USB0 is in dr_mode="host", but with the
previous patchsets I was unable to verify. CC'ing Ola.

Regards,
Andreas

--
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 21284 AG N?rnberg

2014-12-01 21:25:15

by Soren Brinkmann

[permalink] [raw]
Subject: Re: [PATCH] ARM: zynq: DT: Add USB to device tree

On Mon, 2014-12-01 at 09:26PM +0100, Andreas Färber wrote:
> Hi Sören,
>
> Am 01.12.2014 um 19:42 schrieb Soren Brinkmann:
> > Add USB nodes to zc702, zc706 and zed device trees.
> >
> > Signed-off-by: Soren Brinkmann <[email protected]>
> > ---
> > arch/arm/boot/dts/zynq-7000.dtsi | 22 +++++++++++++++++++++-
> > arch/arm/boot/dts/zynq-zc702.dts | 11 +++++++++++
> > arch/arm/boot/dts/zynq-zc706.dts | 10 ++++++++++
> > arch/arm/boot/dts/zynq-zed.dts | 10 ++++++++++
> > 4 files changed, 52 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
> > index ce2ef5bec4f2..9ed60938f301 100644
> > --- a/arch/arm/boot/dts/zynq-7000.dtsi
> > +++ b/arch/arm/boot/dts/zynq-7000.dtsi
> > @@ -315,6 +315,26 @@
> > clocks = <&clkc 4>;
> > };
> >
> > + usb0: usb@e0002000 {
> > + compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
> > + status = "disabled";
> > + clocks = <&clkc 28>;
> > + interrupt-parent = <&intc>;
> > + interrupts = <0 21 4>;
> > + reg = <0xe0002000 0x1000>;
> > + phy_type = "ulpi";
> > + };
> > +
> > + usb1: usb@e0003000 {
> > + compatible = "xlnx,zynq-usb-2.20a", "chipidea,usb2";
> > + status = "disabled";
> > + clocks = <&clkc 29>;
> > + interrupt-parent = <&intc>;
> > + interrupts = <0 44 4>;
> > + reg = <0xe0003000 0x1000>;
> > + phy_type = "ulpi";
> > + };
> > +
> > watchdog0: watchdog@f8005000 {
> > clocks = <&clkc 45>;
> > compatible = "xlnx,zynq-wdt-r1p2";
>
> This part looks good.
>
> > @@ -324,6 +344,6 @@
> > reg = <0xf8005000 0x1000>;
> > reset = <0>;
> > timeout-sec = <10>;
> > - };
> > + } ;
> > };
> > };
>
> Unrelated accidental change here though. :)
>
> Did I miss a matching series actually implementing the driver? I'd need
> to test the latest version to determine how to update the Parallella
> device tree - I assume that USB0 is in dr_mode="host", but with the
> previous patchsets I was unable to verify. CC'ing Ola.

It was merged to the USB tree recently. I tested this on linux-next.

Sören

2014-12-01 21:27:08

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] ARM: zynq: DT: Add USB to device tree

On Monday 01 December 2014 10:42:32 Soren Brinkmann wrote:
> + usb_phy0: usb-phy@0 {
> + compatible = "usb-nop-xceiv";
> + #phy-cells = <0>;
> + };
> };

As discussed in an unrelated thread today, please drop the "@0" in the
node name, since the device has no 'reg' property.

Otherwise looks good.

Arnd

2014-12-01 21:51:42

by Soren Brinkmann

[permalink] [raw]
Subject: Re: [PATCH] ARM: zynq: DT: Add USB to device tree

Hi Arnd,

On Mon, 2014-12-01 at 10:26PM +0100, Arnd Bergmann wrote:
> On Monday 01 December 2014 10:42:32 Soren Brinkmann wrote:
> > + usb_phy0: usb-phy@0 {
> > + compatible = "usb-nop-xceiv";
> > + #phy-cells = <0>;
> > + };
> > };
>
> As discussed in an unrelated thread today, please drop the "@0" in the
> node name, since the device has no 'reg' property.

What is the best practice for naming such nodes then? On these boards
it's not the case, but Zynq has two USB cores. So, there may be DTs that
will have two phys in there. Would we just do 'usb-phy-0'?

Thanks,
Sören

2014-12-01 22:56:33

by Soren Brinkmann

[permalink] [raw]
Subject: Re: [PATCH] ARM: zynq: DT: Add USB to device tree

On Mon, 2014-12-01 at 01:24PM -0800, Sören Brinkmann wrote:
> On Mon, 2014-12-01 at 09:26PM +0100, Andreas Färber wrote:
> > Hi Sören,
> >
> > Am 01.12.2014 um 19:42 schrieb Soren Brinkmann:
> > > Add USB nodes to zc702, zc706 and zed device trees.
> > >
> > > Signed-off-by: Soren Brinkmann <[email protected]>
> > > ---
> > > arch/arm/boot/dts/zynq-7000.dtsi | 22 +++++++++++++++++++++-
> > > arch/arm/boot/dts/zynq-zc702.dts | 11 +++++++++++
> > > arch/arm/boot/dts/zynq-zc706.dts | 10 ++++++++++
> > > arch/arm/boot/dts/zynq-zed.dts | 10 ++++++++++
> > > 4 files changed, 52 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
> > > index ce2ef5bec4f2..9ed60938f301 100644
> > > --- a/arch/arm/boot/dts/zynq-7000.dtsi
> > > +++ b/arch/arm/boot/dts/zynq-7000.dtsi
[...]
> > > @@ -324,6 +344,6 @@
> > > reg = <0xf8005000 0x1000>;
> > > reset = <0>;
> > > timeout-sec = <10>;
> > > - };
> > > + } ;
> > > };
> > > };
> >
> > Unrelated accidental change here though. :)

Since a v2 is needed now, does this really require a dedicated patch to
fix this bogus space here or do we just look the other way?

Thanks,
Sören

2014-12-01 23:14:28

by Andreas Färber

[permalink] [raw]
Subject: Re: [PATCH] ARM: zynq: DT: Add USB to device tree

Am 01.12.2014 um 23:56 schrieb Sören Brinkmann:
> On Mon, 2014-12-01 at 01:24PM -0800, Sören Brinkmann wrote:
>> On Mon, 2014-12-01 at 09:26PM +0100, Andreas Färber wrote:
>>> Am 01.12.2014 um 19:42 schrieb Soren Brinkmann:
>>>> Add USB nodes to zc702, zc706 and zed device trees.
>>>>
>>>> Signed-off-by: Soren Brinkmann <[email protected]>
>>>> ---
>>>> arch/arm/boot/dts/zynq-7000.dtsi | 22 +++++++++++++++++++++-
>>>> arch/arm/boot/dts/zynq-zc702.dts | 11 +++++++++++
>>>> arch/arm/boot/dts/zynq-zc706.dts | 10 ++++++++++
>>>> arch/arm/boot/dts/zynq-zed.dts | 10 ++++++++++
>>>> 4 files changed, 52 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
>>>> index ce2ef5bec4f2..9ed60938f301 100644
>>>> --- a/arch/arm/boot/dts/zynq-7000.dtsi
>>>> +++ b/arch/arm/boot/dts/zynq-7000.dtsi
> [...]
>>>> @@ -324,6 +344,6 @@
>>>> reg = <0xf8005000 0x1000>;
>>>> reset = <0>;
>>>> timeout-sec = <10>;
>>>> - };
>>>> + } ;
>>>> };
>>>> };
>>>
>>> Unrelated accidental change here though. :)
>
> Since a v2 is needed now, does this really require a dedicated patch to
> fix this bogus space here or do we just look the other way?

Sorry, I don't understand the question: If as you say a v2 is needed,
why knowingly introduce a space between } and ; in your patch? Maybe I'm
missing something or you're looking at the patch in reverse...?

Andreas

--
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 21284 AG Nürnberg

2014-12-01 23:16:26

by Soren Brinkmann

[permalink] [raw]
Subject: Re: [PATCH] ARM: zynq: DT: Add USB to device tree

On Tue, 2014-12-02 at 12:14AM +0100, Andreas Färber wrote:
> Am 01.12.2014 um 23:56 schrieb Sören Brinkmann:
> > On Mon, 2014-12-01 at 01:24PM -0800, Sören Brinkmann wrote:
> >> On Mon, 2014-12-01 at 09:26PM +0100, Andreas Färber wrote:
> >>> Am 01.12.2014 um 19:42 schrieb Soren Brinkmann:
> >>>> Add USB nodes to zc702, zc706 and zed device trees.
> >>>>
> >>>> Signed-off-by: Soren Brinkmann <[email protected]>
> >>>> ---
> >>>> arch/arm/boot/dts/zynq-7000.dtsi | 22 +++++++++++++++++++++-
> >>>> arch/arm/boot/dts/zynq-zc702.dts | 11 +++++++++++
> >>>> arch/arm/boot/dts/zynq-zc706.dts | 10 ++++++++++
> >>>> arch/arm/boot/dts/zynq-zed.dts | 10 ++++++++++
> >>>> 4 files changed, 52 insertions(+), 1 deletion(-)
> >>>>
> >>>> diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
> >>>> index ce2ef5bec4f2..9ed60938f301 100644
> >>>> --- a/arch/arm/boot/dts/zynq-7000.dtsi
> >>>> +++ b/arch/arm/boot/dts/zynq-7000.dtsi
> > [...]
> >>>> @@ -324,6 +344,6 @@
> >>>> reg = <0xf8005000 0x1000>;
> >>>> reset = <0>;
> >>>> timeout-sec = <10>;
> >>>> - };
> >>>> + } ;
> >>>> };
> >>>> };
> >>>
> >>> Unrelated accidental change here though. :)
> >
> > Since a v2 is needed now, does this really require a dedicated patch to
> > fix this bogus space here or do we just look the other way?
>
> Sorry, I don't understand the question: If as you say a v2 is needed,
> why knowingly introduce a space between } and ; in your patch? Maybe I'm
> missing something or you're looking at the patch in reverse...?

Oh, I thought I was removing it... That must have been some merge error.
Forget what I said. This part will vanish.

Sören

2014-12-02 09:14:08

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] ARM: zynq: DT: Add USB to device tree

On Monday 01 December 2014 13:51:26 S?ren Brinkmann wrote:
> Hi Arnd,
>
> On Mon, 2014-12-01 at 10:26PM +0100, Arnd Bergmann wrote:
> > On Monday 01 December 2014 10:42:32 Soren Brinkmann wrote:
> > > + usb_phy0: usb-phy@0 {
> > > + compatible = "usb-nop-xceiv";
> > > + #phy-cells = <0>;
> > > + };
> > > };
> >
> > As discussed in an unrelated thread today, please drop the "@0" in the
> > node name, since the device has no 'reg' property.
>
> What is the best practice for naming such nodes then? On these boards
> it's not the case, but Zynq has two USB cores. So, there may be DTs that
> will have two phys in there. Would we just do 'usb-phy-0'?
>
>

Grant recommended naming them "phy0" and "phy1" in this case.
The recommended node name for a phy is "phy", not "usb-phy" (I didn't
notice that earlier, but it makes sense to change both), and
I would not use a dash for the number there.

Arnd