This patch series adds support for the zc702 and zed Zynq platforms. The series
depends on armsoc/zynq/clk.
The third patch is a little tricky in terms of the compatibility strings used
since the Zed board is not a Xilinx product. I looked at the Digilent vendor
tree and they use 'xlnx,zynq-zed', so I decided to do the same here. But this
might be a subject for discussion.
https://github.com/Digilent/linux-digilent/blob/master/arch/arm/boot/dts/digilent-zed.dts#L40
Sören
v2:
- adding patch to remove board specific compat strings from the BSP
- adding patch adding Zed support
Soren Brinkmann (3):
arm: zynq: Remove board specific compatibility string
arm: dt: zynq: Add support for the zc706 platform
arm: dt: zynq: Add support for the zed platform
arch/arm/boot/dts/Makefile | 4 +++-
arch/arm/boot/dts/zynq-zc706.dts | 31 +++++++++++++++++++++++++++++++
arch/arm/boot/dts/zynq-zed.dts | 31 +++++++++++++++++++++++++++++++
arch/arm/mach-zynq/common.c | 1 -
4 files changed, 65 insertions(+), 2 deletions(-)
create mode 100644 arch/arm/boot/dts/zynq-zc706.dts
create mode 100644 arch/arm/boot/dts/zynq-zed.dts
--
1.8.3
Add a DT fragment for the zc706 Zynq platform and a corresponding
target to the Makefile.
Signed-off-by: Soren Brinkmann <[email protected]>
---
arch/arm/boot/dts/Makefile | 3 ++-
arch/arm/boot/dts/zynq-zc706.dts | 31 +++++++++++++++++++++++++++++++
2 files changed, 33 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/zynq-zc706.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index b9f7121..2aecf7e 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -206,7 +206,8 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \
wm8505-ref.dtb \
wm8650-mid.dtb \
wm8850-w70v2.dtb
-dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb
+dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \
+ zynq-zc706.dtb
targets += dtbs
targets += $(dtb-y)
diff --git a/arch/arm/boot/dts/zynq-zc706.dts b/arch/arm/boot/dts/zynq-zc706.dts
new file mode 100644
index 0000000..16f9f91
--- /dev/null
+++ b/arch/arm/boot/dts/zynq-zc706.dts
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2011 Xilinx
+ * Copyright (C) 2012 National Instruments Corp.
+ * Copyright (C) 2013 Xilinx
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+/dts-v1/;
+/include/ "zynq-7000.dtsi"
+
+/ {
+ model = "Zynq ZC706 Development Board";
+ compatible = "xlnx,zynq-zc706", "xlnx,zynq-7000";
+
+ memory {
+ device_type = "memory";
+ reg = <0 0x40000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttyPS1,115200 earlyprintk";
+ };
+
+};
--
1.8.3
Add a DT fragment for the Zed Zynq platform and a corresponding
target to the Makefile
Signed-off-by: Soren Brinkmann <[email protected]>
---
I used the 'xlnx,...' compat strings since it seems this is what is
used in the Xilinx and Digilent vendor trees.
Sören
arch/arm/boot/dts/Makefile | 3 ++-
arch/arm/boot/dts/zynq-zed.dts | 31 +++++++++++++++++++++++++++++++
2 files changed, 33 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/boot/dts/zynq-zed.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 2aecf7e..d34af4c 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -207,7 +207,8 @@ dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \
wm8650-mid.dtb \
wm8850-w70v2.dtb
dtb-$(CONFIG_ARCH_ZYNQ) += zynq-zc702.dtb \
- zynq-zc706.dtb
+ zynq-zc706.dtb \
+ zynq-zed.dtb
targets += dtbs
targets += $(dtb-y)
diff --git a/arch/arm/boot/dts/zynq-zed.dts b/arch/arm/boot/dts/zynq-zed.dts
new file mode 100644
index 0000000..72bb348
--- /dev/null
+++ b/arch/arm/boot/dts/zynq-zed.dts
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2011 Xilinx
+ * Copyright (C) 2012 National Instruments Corp.
+ * Copyright (C) 2013 Xilinx
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+/dts-v1/;
+/include/ "zynq-7000.dtsi"
+
+/ {
+ model = "Zynq Zed Development Board";
+ compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";
+
+ memory {
+ device_type = "memory";
+ reg = <0 0x20000000>;
+ };
+
+ chosen {
+ bootargs = "console=ttyPS1,115200 earlyprintk";
+ };
+
+};
--
1.8.3
It is not necessary to have board specific compatibility strings
in the platform code. The board dts files can use the more generic
'xlnx,zynq-7000' string.
Signed-off-by: Soren Brinkmann <[email protected]>
---
arch/arm/mach-zynq/common.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
index 5bfe703..7e3d5f4 100644
--- a/arch/arm/mach-zynq/common.c
+++ b/arch/arm/mach-zynq/common.c
@@ -98,7 +98,6 @@ static void zynq_system_reset(char mode, const char *cmd)
}
static const char * const zynq_dt_match[] = {
- "xlnx,zynq-zc702",
"xlnx,zynq-7000",
NULL
};
--
1.8.3
On Wed, Jun 12, 2013 at 09:41:08AM -0700, Soren Brinkmann wrote:
> Add a DT fragment for the Zed Zynq platform and a corresponding
> target to the Makefile
>
> Signed-off-by: Soren Brinkmann <[email protected]>
> ---
> I used the 'xlnx,...' compat strings since it seems this is what is
> used in the Xilinx and Digilent vendor trees.
>
> +/include/ "zynq-7000.dtsi"
> +
> +/ {
> + model = "Zynq Zed Development Board";
> + compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";
> +
> + memory {
> + device_type = "memory";
> + reg = <0 0x20000000>;
> + };
> +
> + chosen {
> + bootargs = "console=ttyPS1,115200 earlyprintk";
> + };
> +
> +};
Hi!
This looks a little bit to basic. No?! Not even an UART?
The compatible should include digilent or avnet. Digilent only sells to academic
customers, Avnet doesn't.
I personally don't care what they do out of tree.
Regards,
Steffen
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
On Wed, Jun 12, 2013 at 08:23:45PM +0200, Steffen Trumtrar wrote:
> On Wed, Jun 12, 2013 at 09:41:08AM -0700, Soren Brinkmann wrote:
> > Add a DT fragment for the Zed Zynq platform and a corresponding
> > target to the Makefile
> >
> > Signed-off-by: Soren Brinkmann <[email protected]>
> > ---
> > I used the 'xlnx,...' compat strings since it seems this is what is
> > used in the Xilinx and Digilent vendor trees.
> >
> > +/include/ "zynq-7000.dtsi"
> > +
> > +/ {
> > + model = "Zynq Zed Development Board";
> > + compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";
> > +
> > + memory {
> > + device_type = "memory";
> > + reg = <0 0x20000000>;
> > + };
> > +
> > + chosen {
> > + bootargs = "console=ttyPS1,115200 earlyprintk";
> > + };
> > +
> > +};
>
> Hi!
>
> This looks a little bit to basic. No?! Not even an UART?
The UART is imported from the common zynq-7000.dtsi.
> The compatible should include digilent or avnet. Digilent only sells to academic
> customers, Avnet doesn't.
I don't care at all. So, who makes the decision which one is the correct
one? Actually we could even drop the zed specific one completely and go
with 'xlnx,zynq-7000' only.
Sören
On Wed, Jun 12, 2013 at 11:26:34AM -0700, S?ren Brinkmann wrote:
> On Wed, Jun 12, 2013 at 08:23:45PM +0200, Steffen Trumtrar wrote:
> > On Wed, Jun 12, 2013 at 09:41:08AM -0700, Soren Brinkmann wrote:
> > > Add a DT fragment for the Zed Zynq platform and a corresponding
> > > target to the Makefile
> > >
> > > Signed-off-by: Soren Brinkmann <[email protected]>
> > > ---
> > > I used the 'xlnx,...' compat strings since it seems this is what is
> > > used in the Xilinx and Digilent vendor trees.
> > >
> > > +/include/ "zynq-7000.dtsi"
> > > +
> > > +/ {
> > > + model = "Zynq Zed Development Board";
> > > + compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";
> > > +
> > > + memory {
> > > + device_type = "memory";
> > > + reg = <0 0x20000000>;
> > > + };
> > > +
> > > + chosen {
> > > + bootargs = "console=ttyPS1,115200 earlyprintk";
> > > + };
> > > +
> > > +};
> >
> > Hi!
> >
> > This looks a little bit to basic. No?! Not even an UART?
> The UART is imported from the common zynq-7000.dtsi.
Hm, you are actually right, although I think that you shouldn't be.
It is possible to NOT use the UARTs, isn't it? So, default on for both UARTs is wrong.
>
> > The compatible should include digilent or avnet. Digilent only sells to academic
> > customers, Avnet doesn't.
> I don't care at all. So, who makes the decision which one is the correct
> one? Actually we could even drop the zed specific one completely and go
> with 'xlnx,zynq-7000' only.
I'm okay with that.
Regards,
Steffen
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
On Wed, Jun 12, 2013 at 09:33:58PM +0200, Steffen Trumtrar wrote:
> On Wed, Jun 12, 2013 at 11:26:34AM -0700, Sören Brinkmann wrote:
> > On Wed, Jun 12, 2013 at 08:23:45PM +0200, Steffen Trumtrar wrote:
> > > On Wed, Jun 12, 2013 at 09:41:08AM -0700, Soren Brinkmann wrote:
> > > > Add a DT fragment for the Zed Zynq platform and a corresponding
> > > > target to the Makefile
> > > >
> > > > Signed-off-by: Soren Brinkmann <[email protected]>
> > > > ---
> > > > I used the 'xlnx,...' compat strings since it seems this is what is
> > > > used in the Xilinx and Digilent vendor trees.
> > > >
> > > > +/include/ "zynq-7000.dtsi"
> > > > +
> > > > +/ {
> > > > + model = "Zynq Zed Development Board";
> > > > + compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";
> > > > +
> > > > + memory {
> > > > + device_type = "memory";
> > > > + reg = <0 0x20000000>;
> > > > + };
> > > > +
> > > > + chosen {
> > > > + bootargs = "console=ttyPS1,115200 earlyprintk";
> > > > + };
> > > > +
> > > > +};
> > >
> > > Hi!
> > >
> > > This looks a little bit to basic. No?! Not even an UART?
> > The UART is imported from the common zynq-7000.dtsi.
>
> Hm, you are actually right, although I think that you shouldn't be.
> It is possible to NOT use the UARTs, isn't it? So, default on for both UARTs is wrong.
Well, in that case the dtsi has to be fixed to add the 'status = "disabled"
property to the UARTs which then can be overridden in the board dts files
as needed. I guess I'll prepare another patch for a v3 for adding status
properties to the UART nodes.
>
> >
> > > The compatible should include digilent or avnet. Digilent only sells to academic
> > > customers, Avnet doesn't.
> > I don't care at all. So, who makes the decision which one is the correct
> > one? Actually we could even drop the zed specific one completely and go
> > with 'xlnx,zynq-7000' only.
>
> I'm okay with that.
Okay, let's wait a little and see if there are other opinions and then I
can prepare a v3.
Sören
On 06/12/2013 10:16 PM, Sören Brinkmann wrote:
> On Wed, Jun 12, 2013 at 09:33:58PM +0200, Steffen Trumtrar wrote:
>> On Wed, Jun 12, 2013 at 11:26:34AM -0700, Sören Brinkmann wrote:
>>> On Wed, Jun 12, 2013 at 08:23:45PM +0200, Steffen Trumtrar wrote:
>>>> On Wed, Jun 12, 2013 at 09:41:08AM -0700, Soren Brinkmann wrote:
>>>>> Add a DT fragment for the Zed Zynq platform and a corresponding
>>>>> target to the Makefile
>>>>>
>>>>> Signed-off-by: Soren Brinkmann <[email protected]>
>>>>> ---
>>>>> I used the 'xlnx,...' compat strings since it seems this is what is
>>>>> used in the Xilinx and Digilent vendor trees.
>>>>>
>>>>> +/include/ "zynq-7000.dtsi"
>>>>> +
>>>>> +/ {
>>>>> + model = "Zynq Zed Development Board";
>>>>> + compatible = "xlnx,zynq-zed", "xlnx,zynq-7000";
>>>>> +
>>>>> + memory {
>>>>> + device_type = "memory";
>>>>> + reg = <0 0x20000000>;
>>>>> + };
>>>>> +
>>>>> + chosen {
>>>>> + bootargs = "console=ttyPS1,115200 earlyprintk";
>>>>> + };
>>>>> +
>>>>> +};
>>>>
>>>> Hi!
>>>>
>>>> This looks a little bit to basic. No?! Not even an UART?
>>> The UART is imported from the common zynq-7000.dtsi.
>>
>> Hm, you are actually right, although I think that you shouldn't be.
>> It is possible to NOT use the UARTs, isn't it? So, default on for both UARTs is wrong.
> Well, in that case the dtsi has to be fixed to add the 'status = "disabled"
> property to the UARTs which then can be overridden in the board dts files
> as needed. I guess I'll prepare another patch for a v3 for adding status
> properties to the UART nodes.
I am ok with this. Just to be sure that we will probably need to start
to use port-number to reflect which port is first, second.
>>>> The compatible should include digilent or avnet. Digilent only sells to academic
>>>> customers, Avnet doesn't.
>>> I don't care at all. So, who makes the decision which one is the correct
>>> one? Actually we could even drop the zed specific one completely and go
>>> with 'xlnx,zynq-7000' only.
>>
>> I'm okay with that.
> Okay, let's wait a little and see if there are other opinions and then I
> can prepare a v3.
AFAIK Digilent is producer, Avnet is reseller. I think it is enough to write
in description ZedBoard and don't mentioned manufacturer.
By my previous comment I thought to have there just zynq-7000 compatible string
without any additional zc702/zc706 or zed board properties.
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: http://www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform