Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
3dfc457
arm: dts: Add PlutoSDR and SidekiqZ2 device trees
mhennerich Mar 27, 2026
892c980
cmd: Add ADI hardware reference detection commands
mhennerich Mar 27, 2026
c51a2ca
configs: Add PlutoSDR and SidekiqZ2 board config headers
mhennerich Mar 27, 2026
69c902d
configs: Add PlutoSDR, M2K, and SidekiqZ2 defconfigs
mhennerich Mar 27, 2026
01a44f3
board: zynq: Add ADI board support in board init
mhennerich Mar 27, 2026
4080018
spi-nor: Add bottom 1MB flash protection for ADI boards
mhennerich Mar 27, 2026
17064e7
fpga: xilinx: Always treat bitstream as full
mhennerich Mar 27, 2026
4b09792
cmd: nvedit: Add 'set' command alias for ADI boards
mhennerich Mar 27, 2026
f0fc756
Add ADALM2000 (M2K) board support
mhennerich Mar 30, 2026
3f85611
Add ADRV9361, ADRV9364, CoraZ7, and ADRV9009-ZU11EG board support
mhennerich Apr 1, 2026
0c32aa8
Add Jupiter SDR and Kria KV260 board support
mhennerich Apr 1, 2026
d9cf0d3
configs: Fix defconfig issues found in review
mhennerich Apr 1, 2026
6380dda
ADRV9009-ZU11EG: fix sync abort from unscrubbed DDR + SoC probe
mhennerich Apr 20, 2026
35f20ed
board: zynq: allow SPI flash env fallback when SD-booted
mhennerich Apr 21, 2026
05a7d25
configs: adrv9361/adrv9364: enable distro boot, drop Pluto hwref
mhennerich Apr 21, 2026
70e29f8
arm: dts: adrv9361/adrv9364: correct Ethernet PHY address
mhennerich Apr 21, 2026
6806e5c
configs: jupiter_sdr/kria: disable TOOLS_MKEFICAPSULE
mhennerich Apr 21, 2026
f5b03c2
arm: dts: zynqmp-jupiter-sdr: fix Ethernet MAC + PHY setup
mhennerich Apr 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ jobs:
strategy:
matrix:
defconfig:
- 'zynq_pluto_defconfig'
- 'zynq_m2k_defconfig'
- 'zynq_adrv9361_defconfig'
- 'zynq_adrv9364_defconfig'
- 'zynq_coraz7_defconfig'
Expand All @@ -26,7 +28,8 @@ jobs:
matrix:
defconfig:
- 'adi_zynqmp_adrv9009_zu11eg_adrv2crr_fmc_defconfig'
- 'zynqmp_pluto_ng_defconfig'
- 'zynqmp_jupiter_sdr_defconfig'
- 'zynqmp_kv260_defconfig'

check:
uses: analogdevicesinc/u-boot/.github/workflows/checks.yml@ci
9 changes: 9 additions & 0 deletions arch/arm/dts/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,12 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
zynq-microzed.dtb \
zynq-minized.dtb \
zynq-picozed.dtb \
zynq-adrv9361.dtb \
zynq-adrv9364.dtb \
zynq-coraz7s.dtb \
zynq-m2k.dtb \
zynq-pluto-sdr.dtb \
zynq-sidekiqz2.dtb \
zynq-syzygy-hub.dtb \
zynq-topic-miami.dtb \
zynq-topic-miamilite.dtb \
Expand All @@ -254,6 +260,9 @@ dtb-$(CONFIG_ARCH_ZYNQ) += \
zynq-zybo-z7.dtb
dtb-$(CONFIG_ARCH_ZYNQMP) += \
avnet-ultra96-rev1.dtb \
zynqmp-adrv9009-zu11eg-adrv2crr-fmc.dtb \
zynqmp-jupiter-sdr.dtb \
zynqmp-kv260.dtb \
zynqmp-a2197-revA.dtb \
zynqmp-dlc21-revA.dtb \
zynqmp-e-a2197-00-revA.dtb \
Expand Down
99 changes: 99 additions & 0 deletions arch/arm/dts/zynq-adrv9361.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Analog Devices Inc. ADRV9361-Z7035 board DTS
*
* Copyright (C) 2015-2026 Analog Devices Inc.
*/
/dts-v1/;
#include "zynq-7000.dtsi"

/ {
model = "Analog Devices ADRV9361-Z7035 (Z7035/AD9361)";
compatible = "adi,adrv9361", "xlnx,zynq-7000";

aliases {
ethernet0 = &gem0;
serial0 = &uart1;
spi0 = &qspi;
};

memory {
device_type = "memory";
reg = <0x0 0x40000000>;
};

chosen {
bootargs = "earlyprintk";
linux,stdout-path = &uart1;
stdout-path = &uart1;
};

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

&gem0 {
status = "okay";
phy-mode = "rgmii-id";
phy-handle = <&ethernet_phy>;

ethernet_phy: ethernet-phy@0 {
reg = <0>;
marvell,reg-init = <3 16 0xff00 0x1e 3 17 0xfff0 0x00>;
};
};

&qspi {
status = "okay";
is-dual = <0>;
num-cs = <1>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <4>;
spi-max-frequency = <50000000>;
#address-cells = <1>;
#size-cells = <1>;
partition@qspi-fsbl-uboot {
label = "qspi-fsbl-uboot";
reg = <0x0 0xE0000>; /* 896k */
};
partition@qspi-uboot-env {
label = "qspi-uboot-env";
reg = <0xE0000 0x20000>; /* 128k */
};
partition@qspi-linux {
label = "qspi-linux";
reg = <0x100000 0x500000>; /* 5M */
};
partition@qspi-device-tree {
label = "qspi-device-tree";
reg = <0x600000 0x20000>; /* 128k */
};
partition@qspi-rootfs {
label = "qspi-rootfs";
reg = <0x620000 0xCE0000>; /* ~13M */
};
partition@qspi-bitstream {
label = "qspi-bitstream";
reg = <0x1300000 0xD00000>; /* 13M */
};
};
};

&sdhci0 {
status = "okay";
};

&uart1 {
status = "okay";
};

&usb0 {
status = "okay";
dr_mode = "host";
usb-phy = <&usb_phy0>;
};
99 changes: 99 additions & 0 deletions arch/arm/dts/zynq-adrv9364.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Analog Devices Inc. ADRV9364-Z7020 board DTS
*
* Copyright (C) 2015-2026 Analog Devices Inc.
*/
/dts-v1/;
#include "zynq-7000.dtsi"

/ {
model = "Analog Devices ADRV9364-Z7020 (Z7020/AD9364)";
compatible = "adi,adrv9364", "xlnx,zynq-7000";

aliases {
ethernet0 = &gem0;
serial0 = &uart1;
spi0 = &qspi;
};

memory {
device_type = "memory";
reg = <0x0 0x40000000>;
};

chosen {
bootargs = "earlyprintk";
linux,stdout-path = &uart1;
stdout-path = &uart1;
};

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

&gem0 {
status = "okay";
phy-mode = "rgmii-id";
phy-handle = <&ethernet_phy>;

ethernet_phy: ethernet-phy@0 {
reg = <0>;
marvell,reg-init = <3 16 0xff00 0x1e 3 17 0xfff0 0x00>;
};
};

&qspi {
status = "okay";
is-dual = <0>;
num-cs = <1>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <4>;
spi-max-frequency = <50000000>;
#address-cells = <1>;
#size-cells = <1>;
partition@qspi-fsbl-uboot {
label = "qspi-fsbl-uboot";
reg = <0x0 0xE0000>; /* 896k */
};
partition@qspi-uboot-env {
label = "qspi-uboot-env";
reg = <0xE0000 0x20000>; /* 128k */
};
partition@qspi-linux {
label = "qspi-linux";
reg = <0x100000 0x500000>; /* 5M */
};
partition@qspi-device-tree {
label = "qspi-device-tree";
reg = <0x600000 0x20000>; /* 128k */
};
partition@qspi-rootfs {
label = "qspi-rootfs";
reg = <0x620000 0xCE0000>; /* ~13M */
};
partition@qspi-bitstream {
label = "qspi-bitstream";
reg = <0x1300000 0xD00000>; /* 13M */
};
};
};

&sdhci0 {
status = "okay";
};

&uart1 {
status = "okay";
};

&usb0 {
status = "okay";
dr_mode = "host";
usb-phy = <&usb_phy0>;
};
69 changes: 69 additions & 0 deletions arch/arm/dts/zynq-coraz7s.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Digilent Cora Z7 board DTS
*
* Copyright (C) 2016 Digilent
*/
/dts-v1/;
#include "zynq-7000.dtsi"

/ {
model = "Zynq Cora Z7 Development Board";
compatible = "digilent,zynq-coraz7", "xlnx,zynq-7000";

aliases {
ethernet0 = &gem0;
serial0 = &uart0;
mmc0 = &sdhci0;
};

cpus {
/delete-node/ cpu1;
};

memory@0 {
device_type = "memory";
reg = <0x0 0x20000000>;
};

chosen {
bootargs = "console=ttyPS0,115200 earlyprintk";
stdout-path = "serial0:115200n8";
};

usb_phy0: phy0@e0002000 {
compatible = "ulpi-phy";
#phy-cells = <0>;
reg = <0xe0002000 0x1000>;
view-port = <0x0170>;
drv-vbus;
};
};

&clkc {
ps-clk-frequency = <50000000>;
};

&gem0 {
status = "okay";
phy-mode = "rgmii-id";
phy-handle = <&ethernet_phy>;

ethernet_phy: ethernet-phy@0 { /* rtl8211e-vl */
reg = <1>;
};
};

&sdhci0 {
status = "okay";
};

&uart0 {
status = "okay";
};

&usb0 {
status = "okay";
dr_mode = "host";
usb-phy = <&usb_phy0>;
};
82 changes: 82 additions & 0 deletions arch/arm/dts/zynq-m2k.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/*
* Analog Devices ADALM-2000 board DTS
*
* Copyright (C) 2015-2025 Analog Devices Inc.
*
* SPDX-License-Identifier: GPL-2.0+
*/
/dts-v1/;
#include "zynq-7000.dtsi"

/ {
model = "Zynq M2k Board";
compatible = "xlnx,zynq-picozed-sdr2", "xlnx,zynq-7000";

aliases {
ethernet0 = &gem0;
serial0 = &uart1;
serial1 = &nulldev;
spi0 = &qspi;
};

memory {
device_type = "memory";
reg = <0x0 0x20000000>;
};

chosen {
bootargs = "earlyprintk";
linux,stdout-path = &uart1;
stdout-path = &uart1;
};

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

nulldev: nulldev {
compatible = "nulldev-serial";
};
};

&qspi {
status = "okay";
is-dual = <0>;
num-cs = <1>;
flash@0 {
compatible = "jedec,spi-nor";
reg = <0x0>;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <4>;
spi-max-frequency = <50000000>;
#address-cells = <1>;
#size-cells = <1>;
partition@qspi-fsbl-uboot {
label = "qspi-fsbl-uboot";
reg = <0x0 0x100000>; /* 1M */
};
partition@qspi-uboot-env {
label = "qspi-uboot-env";
reg = <0x100000 0x20000>; /* 128k */
};
partition@qspi-nvmfs {
label = "qspi-nvmfs";
reg = <0x120000 0xE0000>; /* 1M */
};
partition@qspi-linux {
label = "qspi-linux";
reg = <0x200000 0x1E00000>; /* 30M */
};
};
};

&uart1 {
status = "okay";
};

&usb0 {
status = "okay";
dr_mode = "host";
usb-phy = <&usb_phy0>;
};
Loading
Loading