U-boot Drivers

U-boot Drivers

This page is intended to give more details on the Xilinx drivers for U-boot, such as testing, how to use the drivers, etc. The drivers included in the u-boot tree are intended to run on ARM (Zynq,
Zynq Ultrascale+ MPSoC).

Driver Information

There are a number of drivers in the u-boot tree and they may work, but the following list of drivers are currently what's tested and users are encouraged to use these rather than others.

Component

Platform/IP core

Link

In Mainline

Location

Comment

i2c

Zynq, ZynqMP and Versal

Yes

drivers/i2c/zynq_i2c.c and
drivers/i2c/i2c-cdns.c

 

SD controller

Zynq, ZynqMP and Versal

Yes

drivers/mmc/zynq_sdhci.c

 

GEM

Zynq, ZynqMP and Versal

Yes

drivers/net/zynq_gem.c

 

AXI Ethernet

PL

Ethernet driver for 1G/10G/25G

Yes

drivers/net/xilinx_axi_emac.c

 

MRMAC

PL

Multirate MAC 10G/25G

Yes

drivers/net/xilinx_axi_mrmac.c

Supports designs based on MCDMA only

AXI UART

PL

AXI UART driver

Yes

drivers/serial/serial_xuartlite.c

 

QSPI

Zynq

Yes

drivers/spi/zynq_qspi.c

 

QSPI

ZynqMP and Versal

                qspi driver

Yes

drivers/spi/zynqmp_gqspi.c

Need to upstream support for dual-parallel and dual-stacked configurations

OSPI

Versal

Octal SPI driver

Yes

drivers/spi/cadence_ospi_versal.c

drivers/spi/cadence_qspi.c

drivers/spi/cadence_qspi_apb.c

 

USB

Zynq, ZynqMP and Versal

Yes

drivers/usb/host/xhci-zynqmp.c and
drivers/usb/host/ehci-zynq.c

 

NAND

Zynq, ZynqMP and Versal

Yes

drivers/mtd/nand/zynq_nand.c and
drivers/mtd/nand/arasan_nfc.c

 

GPIO

Zynq, ZynqMP and Versal

Yes

drivers/gpio/zynq_gpio.c and

drivers/gpio/xilinx_gpio.c

 

Serial

Zynq and ZynqMP

UART driver

Yes

drivers/serial/serial_zynq.c

 

Watchdog

Versal

Watchdog driver

Yes

drivers/watchdog/xilinx_wwdt.c