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).
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 |
ZynqMPVersal | i2c driver | Yes | drivers/i2c/zynq_i2c.c and drivers/i2c/i2c-cdns.c |
|
SD controller | Zynq, ZynqMP and |
ZynqMPVersal | mmc driver | Yes | drivers/mmc/zynq_sdhci.c |
|
GEM | Zynq, ZynqMP and |
ZynqMPVersal | ethernet driver | 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 |
and ZynqMPqspi driverqspigqspi.c | Need to upstream support for dual-parallel and dual-stacked configurations |
OSPI | Versal | Octal SPI driver | No | drivers/spi/ |
zynqcadence_ospi_versal.c drivers/spi/cadence_qspi.c drivers/spi/ |
zynqmpcadence_qspi_apb.c | drivers/spi/cadence_ospi_versal.c is not in mainline yet |
USB | Zynq, ZynqMP and |
ZynqMPVersal | usb driver | Yes | drivers/usb/host/xhci-zynqmp.c and drivers/usb/host/ehci-zynq.c |
nand ZynqMPVersal | nand driver | Yes | drivers/mtd/nand/zynq_nand.c and drivers/mtd/nand/arasan_nfc.c |
gpio ZynqMPVersal | gpio driver | 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 |
|