[PATCH 1/2] ARM: zynq: add Digilent Zynq PYNQ Board(s)
Michal Simek
monstr at monstr.eu
Mon Jan 4 10:36:18 CET 2021
On 27. 12. 20 21:34, Florian Klink wrote:
> This adds the dts and entry in CONFIG_OF_LIST for the Digilent Zynq PYNQ
> Board(s).
>
> They're Zynq 7000 - based boards, the Z1 is from Digilent, the Z2 from
> TUL.
This is just saying that dt name is wrong. Pynq is not any board name.
>
> They have a slightly different audio system, and a different pin header,
> but these aren't really accessible from the PS, only from the PL, so the
> DTB is the same.
I am fine with this.
>
> Co-authored-by: Thomas Heijligen <src at posteo.de>
This is not standard tag - please remove it. I see SoB below.
> Signed-off-by: Florian Klink <flokli at flokli.de>
> Signed-off-by: Thomas Heijligen <src at posteo.de>
> ---
> arch/arm/dts/Makefile | 1 +
> arch/arm/dts/zynq-pynq.dts | 68 ++++++++++++++++++++++++++++++
> configs/xilinx_zynq_virt_defconfig | 2 +-
> 3 files changed, 70 insertions(+), 1 deletion(-)
> create mode 100644 arch/arm/dts/zynq-pynq.dts
>
> diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> index fd47e408f8..0631404dbd 100644
> --- a/arch/arm/dts/Makefile
> +++ b/arch/arm/dts/Makefile
> @@ -267,6 +267,7 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
> zynq-microzed.dtb \
> zynq-minized.dtb \
> zynq-picozed.dtb \
> + zynq-pynq.dtb \
> zynq-syzygy-hub.dtb \
> zynq-topic-miami.dtb \
> zynq-topic-miamilite.dtb \
> diff --git a/arch/arm/dts/zynq-pynq.dts b/arch/arm/dts/zynq-pynq.dts
> new file mode 100644
> index 0000000000..04ac0f7cdc
> --- /dev/null
> +++ b/arch/arm/dts/zynq-pynq.dts
> @@ -0,0 +1,68 @@
> +// SPDX-License-Identifier: GPL-2.0+
Just GPL-2.0
> +/dts-v1/;
> +#include "zynq-7000.dtsi"
> +#include <dt-bindings/gpio/gpio.h>
> +
> +/ {
> + model = "Digilent/TUL Zynq PYNQ";
> + compatible = "digilent,zynq-pynq", "digilent,zynq-pynq-z1", "tul,zynq-pynq", "tul,zynq-pynq-z2", "xlnx,zynq-7000";
1. tul is not recorded in Linux
Documentation/devicetree/bindings/vendor-prefixes.yaml
That's why please send a patch against Linux first to get it recorded.
2. Order is wrong. You all the time need to specify the most accurate
description.
For example:
"digilent,zynq-pynq-z1", "digilent,zynq-pynq", "xlnx,zynq-7000";
> +
> + aliases {
> + ethernet0 = &gem0;
> + serial0 = &uart0;
> + };
> +
> + memory at 0 {
> + device_type = "memory";
> + reg = <0x0 0x20000000>;
> + };
> +
> + chosen {
> + bootargs = "";
> + stdout-path = "serial0:115200n8";
> + };
> +
> + gpio-leds {
> + compatible = "gpio-leds";
> +
> + ld4 {
kernel dtb check reports that this should have led- prefix.
> + label = "zynq-pynq:green:ld4";
> + gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
> + };
> + };
> +
> + usb_phy0: phy0 {
> + #phy-cells = <0>;
> + compatible = "usb-nop-xceiv";
> + reset-gpios = <&gpio0 46 GPIO_ACTIVE_LOW>;
> + };
> +};
> +
> +&clkc {
> + ps-clk-frequency = <50000000>;
> +};
> +
> +&gem0 {
> + status = "okay";
> + phy-mode = "rgmii-id";
> + phy-handle = <ðernet_phy>;
> +
> + ethernet_phy: ethernet-phy at 0 {
> + reg = <0>;
> + device_type = "ethernet-phy";
> + };
> +};
> +
> +&sdhci0 {
> + status = "okay";
> +};
> +
> +&uart0 {
> + status = "okay";
> +};
> +
> +&usb0 {
> + status = "okay";
> + dr_mode = "host";
> + usb-phy = <&usb_phy0>;
> +};
> diff --git a/configs/xilinx_zynq_virt_defconfig b/configs/xilinx_zynq_virt_defconfig
> index 552f1b4dfb..c46f531d4d 100644
> --- a/configs/xilinx_zynq_virt_defconfig
> +++ b/configs/xilinx_zynq_virt_defconfig
> @@ -52,7 +52,7 @@ CONFIG_CMD_MTDPARTS=y
> CONFIG_CMD_MTDPARTS_SPREAD=y
> CONFIG_CMD_MTDPARTS_SHOW_NET_SIZES=y
> CONFIG_CMD_UBI=y
> -CONFIG_OF_LIST="zynq-zc702 zynq-zc706 zynq-zc770-xm010 zynq-zc770-xm011 zynq-zc770-xm011-x16 zynq-zc770-xm012 zynq-zc770-xm013 zynq-cc108 zynq-microzed zynq-minized zynq-picozed zynq-zed zynq-zturn zynq-zturn-v5 zynq-zybo zynq-zybo-z7 zynq-dlc20-rev1.0"
> +CONFIG_OF_LIST="zynq-zc702 zynq-zc706 zynq-zc770-xm010 zynq-zc770-xm011 zynq-zc770-xm011-x16 zynq-zc770-xm012 zynq-zc770-xm013 zynq-cc108 zynq-microzed zynq-minized zynq-picozed zynq-pynq zynq-zed zynq-zturn zynq-zturn-v5 zynq-zybo zynq-zybo-z7 zynq-dlc20-rev1.0"
> CONFIG_ENV_OVERWRITE=y
> CONFIG_ENV_IS_IN_SPI_FLASH=y
> CONFIG_SYS_RELOC_GD_ENV_ADDR=y
>
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs
More information about the U-Boot
mailing list