[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 = <&ethernet_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