ARM: Zynq: Add ZYBO board
Subsystems (2)
cover ARM: Zynq: Add ZYBO board
Hi Michal, Steven,
This series adds the ZYBO board to u-boot. Some components were originally contributed to the digilent u-boot tree (P2). Thanks to Steven Wang. The original code had a custom u-boot env specific for Zybo but I have dropped that. I have added DTS support - which in general seems to have appeared in u-boot since the original digilent work (P1). The new configury is P3.
Regards,
Peter
Peter Crosthwaite (2):
arm: dts: zynq: Add digilent ZYBO board dts
kconfig: zynq: Add ZYBO board
Tinghui Wang (1):
configs: zynq: Add config support for ZYBO
arch/arm/Kconfig | 3 +++ arch/arm/dts/Makefile | 1 + arch/arm/dts/zynq-zybo.dts | 23 +++++++++++++++++++++++ board/xilinx/zynq/Kconfig | 24 ++++++++++++++++++++++++ configs/zynq_zybo_defconfig | 3 +++ include/configs/zynq_zybo.h | 31 +++++++++++++++++++++++++++++++ 6 files changed, 85 insertions(+) create mode 100644 arch/arm/dts/zynq-zybo.dts create mode 100644 configs/zynq_zybo_defconfig create mode 100644 include/configs/zynq_zybo.h
Signature · 1 line
1.9.1
PATCH 1/3 arm: dts: zynq: Add digilent ZYBO board dts
It's a Zynq board similar in design to the currently supported ones. 512MB of RAM and UART1 is used.
--- arch/arm/dts/Makefile | 1 + arch/arm/dts/zynq-zybo.dts | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 arch/arm/dts/zynq-zybo.dts
arch/arm/dts/Makefile +1 -0
@@ -28,6 +28,7 @@ dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ dtb-$(CONFIG_ZYNQ) += zynq-zc702.dtb \ zynq-zc706.dtb \ zynq-zed.dtb \ + zynq-zybo.dtb \ zynq-microzed.dtb \ zynq-zc770-xm010.dtb \ zynq-zc770-xm012.dtb \
arch/arm/dts/zynq-zybo.dts new file +23 -0
@@ -0,0 +1,23 @@ +/* + * Digilent ZYBO board DTS + * + * Copyright (C) 2013 Xilinx, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ +/dts-v1/; +#include "zynq-7000.dtsi" + +/ { + model = "Zynq ZYBO Board"; + compatible = "xlnx,zynq-zybo", "xlnx,zynq-7000"; + + aliases { + serial0 = &uart1; + }; + + memory { + device_type = "memory"; + reg = <0 0x20000000>; + }; +};
Signature · 1 line
1.9.1
PATCH 1/3 arm: dts: zynq: Add digilent ZYBO board dts
Quoted 9 lines · Peter Crosthwaite
It's a Zynq board similar in design to the currently supported ones. 512MB of RAM and UART1 is used.
Signed-off-by Peter Crosthwaite <[email protected]>--- arch/arm/dts/Makefile | 1 + arch/arm/dts/zynq-zybo.dts | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 arch/arm/dts/zynq-zybo.dts
Quoted 43 lines
arch/arm/dts/Makefile +1
-0@@ -28,6 +28,7 @@ dtb-$(CONFIG_TEGRA) += tegra20-harmony.dtb \ dtb-$(CONFIG_ZYNQ) += zynq-zc702.dtb \ zynq-zc706.dtb \ zynq-zed.dtb \ + zynq-zybo.dtb \ zynq-microzed.dtb \ zynq-zc770-xm010.dtb \ zynq-zc770-xm012.dtb \arch/arm/dts/zynq-zybo.dts new file +23
-1@@ -0,0 +1,23 @@ +/* + * Digilent ZYBO board DTS + * + * Copyright (C) 2013 Xilinx, Inc. + * + * SPDX-License-Identifier: GPL-2.0+ + */ +/dts-v1/; +#include "zynq-7000.dtsi" + +/ { + model = "Zynq ZYBO Board"; + compatible = "xlnx,zynq-zybo", "xlnx,zynq-7000"; + + aliases { + serial0 = &uart1; + }; + + memory { + device_type = "memory"; + reg = <0 0x20000000>; + }; +}; --
Quoted 1 line
1.9.1
thanks!
Signature · 1 line
Jagan.
PATCH 2/3 configs: zynq: Add config support for ZYBO
In reply to Peter CrosthwaiteFrom: Tinghui Wang <[email protected]>
This patch adds config support needed for ZYBO target and has been tested on Rev. B ZYBO hardware.
[PC changes:
* Dropped boards.cfg change (rebase conflict)
* Dropped custom u-boot env
* Added DTS
* Misc forward-porting changes
]
---
I have dropped the custom u-boot env from the original patch, as I'm not sure what the purpose was and I didn't need it for ZYBO SPL.
--- include/configs/zynq_zybo.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 include/configs/zynq_zybo.h
include/configs/zynq_zybo.h new file +31 -0
@@ -0,0 +1,31 @@ +/* +* (C) Copyright 2012 Xilinx +* (C) Copyright 2014 Digilent Inc. +* +* Configuration for Zynq Development Board - ZYBO +* See zynq_common.h for Zynq common configs +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef __CONFIG_ZYNQ_ZYBO_H +#define __CONFIG_ZYNQ_ZYBO_H + +#define CONFIG_SYS_SDRAM_SIZE (512 * 1024 * 1024) + +#define CONFIG_ZYNQ_SERIAL_UART1 +#define CONFIG_ZYNQ_GEM0 +#define CONFIG_ZYNQ_GEM_PHY_ADDR0 0 + +#define CONFIG_SYS_NO_FLASH + +#define CONFIG_ZYNQ_SDHCI0 +#define CONFIG_ZYNQ_BOOT_FREEBSD +#define CONFIG_DEFAULT_DEVICE_TREE zynq-zybo + +/* Define ZYBO PS Clock Frequency to 50MHz */ +#define CONFIG_ZYNQ_PS_CLK_FREQ 50000000UL + +#include <configs/zynq-common.h> + +#endif /* __CONFIG_ZYNQ_ZYBO_H */
Signature · 1 line
1.9.1
PATCH 2/3 configs: zynq: Add config support for ZYBO
Quoted 28 lines · Peter Crosthwaite
From: Tinghui Wang <[email protected]>
This patch adds config support needed for ZYBO target and has been tested on Rev. B ZYBO hardware.
Signed-off-by Tinghui Wang <[email protected]>[PC changes:
* Dropped boards.cfg change (rebase conflict)
* Dropped custom u-boot env
* Added DTS
* Misc forward-porting changes
]Signed-off-by Peter Crosthwiate <[email protected]>---
I have dropped the custom u-boot env from the original patch, as I'm not sure what the purpose was and I didn't need it for ZYBO SPL.--- include/configs/zynq_zybo.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 include/configs/zynq_zybo.hinclude/configs/zynq_zybo.h new file +0
-0
include/configs/zynq_zybo.h line 6
Quoted 6 lines
include/configs/zynq_zybo.h new file +6
-0@@ -0,0 +1,31 @@ +/* +* (C) Copyright 2012 Xilinx +* (C) Copyright 2014 Digilent Inc. +* +* Configuration for Zynq Development Board - ZYBO +* See zynq_common.h for Zynq common configs
typo - it's zynq-common.h
Quoted 26 lines
include/configs/zynq_zybo.h new file +25
-1+* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef __CONFIG_ZYNQ_ZYBO_H +#define __CONFIG_ZYNQ_ZYBO_H + +#define CONFIG_SYS_SDRAM_SIZE (512 * 1024 * 1024) + +#define CONFIG_ZYNQ_SERIAL_UART1 +#define CONFIG_ZYNQ_GEM0 +#define CONFIG_ZYNQ_GEM_PHY_ADDR0 0 + +#define CONFIG_SYS_NO_FLASH + +#define CONFIG_ZYNQ_SDHCI0 +#define CONFIG_ZYNQ_BOOT_FREEBSD +#define CONFIG_DEFAULT_DEVICE_TREE zynq-zybo + +/* Define ZYBO PS Clock Frequency to 50MHz */ +#define CONFIG_ZYNQ_PS_CLK_FREQ 50000000UL + +#include <configs/zynq-common.h> + +#endif /* __CONFIG_ZYNQ_ZYBO_H */ --
Quoted 1 line
1.9.1
thanks!
Signature · 1 line
Jagan.
PATCH 3/3 kconfig: zynq: Add ZYBO board
In reply to Peter CrosthwaiteAdd a defconfig and Kconfigury for the Digilent ZYBO board.
--- arch/arm/Kconfig | 3 +++ board/xilinx/zynq/Kconfig | 24 ++++++++++++++++++++++++ configs/zynq_zybo_defconfig | 3 +++ 3 files changed, 30 insertions(+) create mode 100644 configs/zynq_zybo_defconfig
arch/arm/Kconfig +3 -0
@@ -671,6 +671,9 @@ config TARGET_ZYNQ_ZC770 config TARGET_ZYNQ_ZED bool "Support zynq_zed" +config TARGET_ZYNQ_ZYBO + bool "Support zynq_zybo" + config TARGET_MEDCOM_WIDE bool "Support medcom-wide"
board/xilinx/zynq/Kconfig +24 -0
@@ -93,3 +93,27 @@ config SYS_CONFIG_NAME default "zynq_zed" endif + +if TARGET_ZYNQ_ZYBO + +config SYS_CPU + string + default "armv7" + +config SYS_BOARD + string + default "zynq" + +config SYS_VENDOR + string + default "xilinx" + +config SYS_SOC + string + default "zynq" + +config SYS_CONFIG_NAME + string + default "zynq_zybo" + +endif
configs/zynq_zybo_defconfig new file +3 -0
@@ -0,0 +1,3 @@ +CONFIG_SPL=y ++S:CONFIG_ARM=y ++S:CONFIG_TARGET_ZYNQ_ZYBO=y
Signature · 1 line
1.9.1
PATCH 3/3 kconfig: zynq: Add ZYBO board
Quoted 9 lines · Peter Crosthwaite
Add a defconfig and Kconfigury for the Digilent ZYBO board.
Signed-off-by Peter Crosthwaite <[email protected]>--- arch/arm/Kconfig | 3 +++ board/xilinx/zynq/Kconfig | 24 ++++++++++++++++++++++++ configs/zynq_zybo_defconfig | 3 +++ 3 files changed, 30 insertions(+) create mode 100644 configs/zynq_zybo_defconfig
Quoted 53 lines
arch/arm/Kconfig +3
-0@@ -671,6 +671,9 @@ config TARGET_ZYNQ_ZC770 config TARGET_ZYNQ_ZED bool "Support zynq_zed" +config TARGET_ZYNQ_ZYBO + bool "Support zynq_zybo" + config TARGET_MEDCOM_WIDE bool "Support medcom-wide"board/xilinx/zynq/Kconfig +24
-0@@ -93,3 +93,27 @@ config SYS_CONFIG_NAME default "zynq_zed" endif + +if TARGET_ZYNQ_ZYBO + +config SYS_CPU + string + default "armv7" + +config SYS_BOARD + string + default "zynq" + +config SYS_VENDOR + string + default "xilinx" + +config SYS_SOC + string + default "zynq" + +config SYS_CONFIG_NAME + string + default "zynq_zybo" + +endifconfigs/zynq_zybo_defconfig new file +0
-0
configs/zynq_zybo_defconfig
Quoted 4 lines
configs/zynq_zybo_defconfig new file +3
-1@@ -0,0 +1,3 @@ +CONFIG_SPL=y ++S:CONFIG_ARM=y ++S:CONFIG_TARGET_ZYNQ_ZYBO=y --
thanks!
Signature · 1 line
Jagan.
PATCH 3/3 kconfig: zynq: Add ZYBO board
In reply to Peter CrosthwaiteHi Peter,
Sorry, this patch no longer applies on the mainline. Could you rebase and repost this patch, please?
(You need to touch arch/arm/cpu/armv7/zynq/Kconfig, intead of arch/arm/Kconfig, board/xilinx/zynq/Kconfig)
Best Regards
Masahiro Yamada
Quoted 72 lines · On Thu, 28 Aug 2014 21:16:41 +1000 Peter Crosthwaite…
Add a defconfig and Kconfigury for the Digilent ZYBO board.
Signed-off-by Peter Crosthwaite <[email protected]>--- arch/arm/Kconfig | 3 +++ board/xilinx/zynq/Kconfig | 24 ++++++++++++++++++++++++ configs/zynq_zybo_defconfig | 3 +++ 3 files changed, 30 insertions(+) create mode 100644 configs/zynq_zybo_defconfigarch/arm/Kconfig +3
-0@@ -671,6 +671,9 @@ config TARGET_ZYNQ_ZC770 config TARGET_ZYNQ_ZED bool "Support zynq_zed" +config TARGET_ZYNQ_ZYBO + bool "Support zynq_zybo" + config TARGET_MEDCOM_WIDE bool "Support medcom-wide"board/xilinx/zynq/Kconfig +24
-0@@ -93,3 +93,27 @@ config SYS_CONFIG_NAME default "zynq_zed" endif + +if TARGET_ZYNQ_ZYBO + +config SYS_CPU + string + default "armv7" + +config SYS_BOARD + string + default "zynq" + +config SYS_VENDOR + string + default "xilinx" + +config SYS_SOC + string + default "zynq" + +config SYS_CONFIG_NAME + string + default "zynq_zybo" + +endifconfigs/zynq_zybo_defconfig new file +3
-0@@ -0,0 +1,3 @@ +CONFIG_SPL=y ++S:CONFIG_ARM=y ++S:CONFIG_TARGET_ZYNQ_ZYBO=ySignature · 6 lines
1.9.1 _______________________________________________ U-Boot mailing list U-Boot at lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
PATCH 3/3 kconfig: zynq: Add ZYBO board
Hi Peter and Masahiro,
Quoted 8 lines · Masahiro Yamada
Hi Peter,
Sorry, this patch no longer applies on the mainline. Could you rebase and repost this patch, please?
(You need to touch
arch/arm/cpu/armv7/zynq/Kconfig, intead ofarch/arm/Kconfig, board/xilinx/zynq/Kconfig)
I have rebased that patches on the top of Tom's tree. Here is v2 patch:
https://patchwork.ozlabs.org/patch/384762/
Thanks,
Michal
Signature · 14 lines
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91 w: 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 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 198 bytes Desc: OpenPGP digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140901/c2998e45/attachment.pgp>
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 2/3 configs: zynq: Add config support for ZYBO
Hi,
Quoted 10 lines · Steve Wang
Hi, Peter,
In ZYBO, there is an on-board eeprom that contains a unique MAC address for each board.
In FSBL (before u-boot), the MAC address is read out from EEPROM and write to the corresponding registers in ETH controller.
So, in u-boot env, mac-skip should be defined so that it will not over-write the unique MAC address.So, I wonder if it should be done in dts file or there is other ways to do that.
It can be done in as follow up patch.
U-Boot also supports SPL. It means if you want to read this address from EEPROM you should solve it just in u-boot. There should be some ways how to do it.
Thanks,
Michal
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140829/6f55b114/attachment.pgp>
PATCH 2/3 configs: zynq: Add config support for ZYBO
In reply to a message not in the archiveQuoted 9 lines · Steve Wang
Hi, Peter,
In ZYBO, there is an on-board eeprom that contains a unique MAC address for each board.
In FSBL (before u-boot), the MAC address is read out from EEPROM and write to the corresponding registers in ETH controller.
So, in u-boot env, mac-skip should be defined so that it will not over-write the unique MAC address.
Is this condition auto-detectable? If an earlier boot stage has set the MAC address that should be visible to the driver. Then the env is given the concept of a "weak" mac address - one that is set if the hardware is not initialised already.
This EEPROM MAC pre-init concept is also applicable to other Zynq boards that contain EEPROM such as 70x so I think its more general than ZYBO.
Quoted 3 lines
So, I wonder if it should be done in dts file or there is other ways to do that.
DTS might work, is it a "chosen" perhaps? If the value is absent, then u-boot will do nothing and assume other boot stages will do MAC addr init.
Regards,
Peter
Quoted 75 lines
Thanks indeed!
Regards,
Steve-----Peter Crosthwaite <[email protected]> wrote: -----
To: u-boot at lists.denx.de
From: Peter Crosthwaite <[email protected]>
Date: 08/28/2014 04:16AM
Cc: michals at xilinx.com, steven.wang at digilentinc.com
Subject: [PATCH 2/3] configs: zynq: Add config support for ZYBOFrom: Tinghui Wang <[email protected]>
This patch adds config support needed for ZYBO target and has been tested on Rev. B ZYBO hardware.
Signed-off-by Tinghui Wang <[email protected]>[PC changes:
* Dropped boards.cfg change (rebase conflict)
* Dropped custom u-boot env
* Added DTS
* Misc forward-porting changes
]Signed-off-by Peter Crosthwiate <[email protected]>---
I have dropped the custom u-boot env from the original patch, as I'm not sure what the purpose was and I didn't need it for ZYBO SPL.--- include/configs/zynq_zybo.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 include/configs/zynq_zybo.hinclude/configs/zynq_zybo.h new file +31
-1@@ -0,0 +1,31 @@ +/* +* (C) Copyright 2012 Xilinx +* (C) Copyright 2014 Digilent Inc. +* +* Configuration for Zynq Development Board - ZYBO +* See zynq_common.h for Zynq common configs +* +* SPDX-License-Identifier: GPL-2.0+ +*/ + +#ifndef __CONFIG_ZYNQ_ZYBO_H +#define __CONFIG_ZYNQ_ZYBO_H + +#define CONFIG_SYS_SDRAM_SIZE (512 * 1024 * 1024) + +#define CONFIG_ZYNQ_SERIAL_UART1 +#define CONFIG_ZYNQ_GEM0 +#define CONFIG_ZYNQ_GEM_PHY_ADDR0 0 + +#define CONFIG_SYS_NO_FLASH + +#define CONFIG_ZYNQ_SDHCI0 +#define CONFIG_ZYNQ_BOOT_FREEBSD +#define CONFIG_DEFAULT_DEVICE_TREE zynq-zybo + +/* Define ZYBO PS Clock Frequency to 50MHz */ +#define CONFIG_ZYNQ_PS_CLK_FREQ 50000000UL + +#include <configs/zynq-common.h> + +#endif /* __CONFIG_ZYNQ_ZYBO_H */ --1.9.1
cover ARM: Zynq: Add ZYBO board
In reply to Peter CrosthwaiteQuoted 18 lines · Peter Crosthwaite
Hi Michal, Steven,
This series adds the ZYBO board to u-boot. Some components were originally contributed to the digilent u-boot tree (P2). Thanks to Steven Wang. The original code had a custom u-boot env specific for Zybo but I have dropped that. I have added DTS support - which in general seems to have appeared in u-boot since the original digilent work (P1). The new configury is P3.
Regards,
PeterPeter Crosthwaite (2):
arm: dts: zynq: Add digilent ZYBO board dts
kconfig: zynq: Add ZYBO boardTinghui Wang (1):
configs: zynq: Add config support for ZYBO
Quoted 11 lines
arch/arm/Kconfig | 3 +++ arch/arm/dts/Makefile | 1 + arch/arm/dts/zynq-zybo.dts | 23 +++++++++++++++++++++++ board/xilinx/zynq/Kconfig | 24 ++++++++++++++++++++++++ configs/zynq_zybo_defconfig | 3 +++ include/configs/zynq_zybo.h | 31 +++++++++++++++++++++++++++++++ 6 files changed, 85 insertions(+) create mode 100644 arch/arm/dts/zynq-zybo.dts create mode 100644 configs/zynq_zybo_defconfig create mode 100644 include/configs/zynq_zybo.h
Applied all with that small fix in 2/3 reported by Jagan. I have also tested it on real HW.
Thanks,
Michal
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140829/083e9422/attachment.pgp>
cover ARM: Zynq: Add ZYBO board
Quoted 31 lines · Michal Simek
Quoted 18 lines · Peter Crosthwaite
Hi Michal, Steven,
This series adds the ZYBO board to u-boot. Some components were originally contributed to the digilent u-boot tree (P2). Thanks to Steven Wang. The original code had a custom u-boot env specific for Zybo but I have dropped that. I have added DTS support - which in general seems to have appeared in u-boot since the original digilent work (P1). The new configury is P3.
Regards,
PeterPeter Crosthwaite (2):
arm: dts: zynq: Add digilent ZYBO board dts
kconfig: zynq: Add ZYBO boardTinghui Wang (1):
configs: zynq: Add config support for ZYBOQuoted 11 lines
arch/arm/Kconfig | 3 +++ arch/arm/dts/Makefile | 1 + arch/arm/dts/zynq-zybo.dts | 23 +++++++++++++++++++++++ board/xilinx/zynq/Kconfig | 24 ++++++++++++++++++++++++ configs/zynq_zybo_defconfig | 3 +++ include/configs/zynq_zybo.h | 31 +++++++++++++++++++++++++++++++ 6 files changed, 85 insertions(+) create mode 100644 arch/arm/dts/zynq-zybo.dts create mode 100644 configs/zynq_zybo_defconfig create mode 100644 include/configs/zynq_zybo.h
Quoted 1 line
Applied all with that small fix in 2/3 reported by Jagan.
Thanks,
Regards,
Peter
Quoted 5 lines
I have also tested it on real HW.
Thanks,
Michal