Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Linux Drivers

...

Component

Platform/IP Core

Link

In Mainline

Location

Comment

Analog to Digital Converter

Zynq-7000 SoC, axi_xadc, xadc_wiz

XADC Driver

Yes

drivers/iio/adc/xilinx-xadc-core.c


AI Engine Driver

Versal

AI Engine Driver

Yes

drivers/misc/xilinx-ai-engine/

AI Engine SSW Driver

System Monitor

Ultrascale+ MPSoC

AMS

No

drivers/iio/adc/xilinx-ams.c


CAN Controller

Zynq-7000 SoC , axi_can
Ultrascale+ MPSoC

LinuxCAN Driver

Yes

drivers/net/can/xilinx_can.c

Alternative CAN4Linux project: can4linux

CANFD Controller

axi_canfd

LinuxCAN Driver

No

drivers/net/can/xilinx_can.c


Common Clock Framework

Zynq-7000 SoC

CCF

Yes

drivers/clk/zynq/


cpufreq

Zynq-7000 SoC and
Ultrascale+ MPSoC

Cpufreq

Yes

drivers/cpufreq/cpufreq-dt.c


cpuidle

Zynq-7000 SoC and
Ultrascale+ MPSoC

cpuidle

Yes

drivers/cpuidle/cpuidle-zynq.c


Devcfg

Zynq-7000 SoC

PL Programming

No

drivers/char/xilinx_devcfg.c

xilinx_devcfg.c driver got deprecated in 2018.1 release. So this driver is not part of mainline tree.

DFX Decoupler

DFX Axi Shutdown  manager

Zynq Ultrascale+ MPSoC, Versal

PL Programming

Yes

drivers/fpga/xilinx-pr-decoupler.c


DMA Controller

Zynq-7000 SoC (PL330)

N/A

Yes

drivers/dma/pl330.c

PL330 driver is owned/maintained by linux open source community.

DMA Controller

Platform: Zynq-7000 SoC/Zynq Ultrascale+ MPSoC/Versal
and Microblaze

IP: axi_dma

DMA drivers

Yes

drivers/dma/xilinx/xilinx_dma.c


DMA Controller

Platform:Zynq-7000 SoC/Zynq Ultrascale+ MPSoC/Versal and Microblaze

IP: axi_cdma

DMA drivers

Yes

drivers/dma/xilinx/xilinx_dma.c


DMA Controller

Platform: Zynq-7000 SoC/Zynq Ultrascale+ MPSoC/Versal and Microblaze

IP: axi_vdma

DMA drivers

Yes

drivers/dma/xilinx/xilinx_dma.c


DMA Controller

Platform: Zynq-7000 SoC/Zynq Ultrascale+ MPSoC/Versal and Microblaze

IP: axi_mcdma

DMA drivers

Yes

drivers/dma/xilinx/xilinx_dma.c


DMA Controller

Platform: Zynq Ultrascale+ MPSoC, Versal

IP: ZynqMP DMA

Zynqmp and Versal DMA

Yes

drivers/dma/xilinx/zynqmp_dma.c


DMA Controller

Platform: Zynq Ultrascale+ MPSoC

IP: Video Framebuffer Write
IP: Video Framebuffer Read

Video Framebuffer Write
Video Framebuffer Read

No

drivers/dma/xilinx/xilinx_frmbuf.c


DRM KMS

Ultrascale+ MPSoC

DRM KMS Driver
DisplayPort driver




Yes

drivers/gpu/drm/xilinx/*
drivers/gpu/drm/xlnx/*




Including subdevice drivers
- HDMI Tx

-DP Tx Subsystem
- On Screen Display
- Video Mixer
- Chroma Resampler
- Video Timing Controller
- RGB to YUV converter
- DisplayPort: Soft IP (LogiCORE v7.0 only not DP RX/TX Subsystems) and ZynqMP DisplayPort Controller
- MIPI DSI2 Tx Controller
- SDI Tx

- HDMI 2.1 Tx driver


Video Mixer driver

No

drivers/gpu/drm/xlnx/xlnx_mixer.c

Video SDI-TX driver

No

drivers/gpu/drm/xlnx/xlnx_sdi.c

MIPI DSI2-TX driver

No

drivers/gpu/drm/xlnx/xlnx_dsi.c

HDMI Tx driver

No

hdmi-modules/hdmi/xilinx_drm_hdmi.c

DP Tx Subsystem driver

No

drivers/gpu/drm/xlnx/xlnx_dptx.c

DRM VPSS Scaler driver

No

drivers/gpu/drm/xlnx/xlnx_scaler.c

HDMI 2.1 Tx driver

No

drivers/gpu/drm/xlnx/xlnx_hdmi.c

EDAC

Zynq-7000 SoC and
Ultrascale+ MPSoC
Zynq Ultrascale+ MPSoC OCM

EDAC Driver

ZynqMP OCM EDAC

Yes
No
No

drivers/edac/synopsys_edac.c

drivers/edac/zynqmp_ocm_edac.c


Ethernet MAC

Platform: Zynq, Zynq Ultrascale+ MPSoC, Versal
IP Core: GEM

Macb Driver

Yes

drivers/net/ethernet/cadence/macb.c


Ethernet MAC

Platform: Zynq-7000 SoC/Zynq Ultrascale+ MPSoC, Versal
and Microblaze

IP: axi_ethernet, legacy 10G MAC,10G/25G, USXGMII Ethernet Subsystem, and MRMAC.

Axi Ethernet Driver

Yes

drivers/net/ethernet/xilinx/xilinx_axienet_main.c
drivers/net/ethernet/xilinx/xilinx_axienet_dma.c
drivers/net/ethernet/xilinx/xilinx_axienet_mcdma.c
drivers/net/ethernet/xilinx/xilinx_axienet_mdio.c
drivers/net/ethernet/xilinx/xilinx_axienet.h

Uses AXI DMA and AXI MCDMA

Ethernetlite

Platform: Zynq-7000 SoC/Zynq Ultrascale+ MPSoC
and Microblaze

IP: axi_ethernetlite

EmacLite Driver

Yes

drivers/net/ethernet/xilinx/xilinx_emaclite.c


FPGA Manager

Ultrascale+ MPSoC

PL Programming

Yes

drivers/fpga/zynqmp-fpga.c


FPGA Manager

Zynq-7000 SoC

PL Programming

Yes

drivers/fpga/zynq-fpga.c


FPGA Manager

Versal

PL Programming

No

drivers/fpga/versal.c


GPIO

Zynq-7000 SoC,
Ultrascale+ MPSoC, Versal

GPIO Driver

Yes

drivers/gpio/gpio-zynq.c


GPIO

axi_gpio

AXI GPIO Driver

Yes

drivers/gpio/gpio-xilinx.c


HDMI Clocks

SI5324 Clock

CCF SI5324 Driver

No

drivers/clk/clk-si5324.c


HDMI Clocks

 Multiplier/Jitter Attenuator
SNx5DP159 device

Misc DP159 Driver

No
No

hdmi-modules/misc/dp159.c


HDMI PHY

Video PHY Controller LogiCORE™ IP

Xilinx Phy VideoPhy Driver

No

/hdmi-modules/hdmi/phy-xilinx-vphy/xvphy_hdmi.c


pinctrl

Ultrascale+ MPSoC

Pin-Controller Driver

No

drivers/pinctrl/pinctrl-zynqmp.c


I2C Controller

Zynq-7000 SoC and
Ultrascale+ MPSoC, Versal

Cadence I2C Driver

Yes

drivers/i2c/busses/i2c-cadence.c


I2C Controller

axi_iic

I2C Driver

Yes

drivers/i2c/busses/i2c-xiic.c


Interrupt Controller

Zynq-7000 SoC and
Ultrascale+ MPSoC

GIC driver

Yes

drivers/irqchip/irq-gic.c


Interrupt Controller

MicroBlaze (axi_intc)

INTC

Yes 

drivers/irqchip/irq-xilinx-intc.c

INTC as module feature is in experimental form and yet to be upstreamed

MALI

Ultrascale+ MPSoC

Xilinx MALI driver

No

drivers/staging/mali/*


NAND

Ultrascale+ MPSoC

ZynqMP NAND

Yes

drivers/mtd/nand/raw/arasan-nand-controller.c


Nvmem-
SoC revision read mechanism

Ultrascale+ MPSoC

SoC revision read mechanism

No

drivers/nvmem/zynqmp_nvmem.c


PCIe

axi_pcie (Zynq-7000 SoC)

PCIe Root Port Driver

Yes

drivers/pci/controller/pcie-xilinx.c


PCIe

Ultrascale+ MPSoC

PCIe Root Port Driver

Yes

drivers/pci/controller/pcie-xilinx-nwl.c


PL PCIe

Ultrascale+ MPSoC

Xilinx Linux PL PCIe Root Port

No

drivers/pci/controller/pcie-xdma-pl.c


CPM4 PCIe RC

Versal

Versal Adaptive SoC CCIX-PCIe Module (CPM) Root port Linux driver

Yes

drivers/pci/controller/pcie-xilinx-cpm.c


PCIe

axi_pcie (MicroBlaze)

PCIe Root Port Driver

Yes

drivers/pci/controller/pcie-xilinx.c


Pinctrl

Zynq-7000 SoC

Zynq Linux Pin Controller Driver

Yes

drivers/pinctrl/pinctrl-zynq.c


Zynq QSPI

Zynq-7000 SoC

Zynq QSPI Driver

Yes

drivers/spi/spi-zynq-qspi.c

EAR support, Dual parallel and stacked mode support is pending

Zynq Ultrascale + MPSoC QSPI

Ultrascale+ MPSoC, Versal

ZynqMP QSPI


drivers/spi/spi-zynqmp-gqspi.c

Dual parallel and stacked mode support is pending

Reset-Controller

Ultrascale+ MPSoC

Versal

Reset-controller Driver

Yes

drivers/reset/reset-zynqmp.c


remoteproc

Zynq-7000 SoC

Zynq Ultrascale+ MPSoC

OpenAMP

No

drivers/remoteproc/zynq_remoteproc.c

drivers/remoteproc/zynqmp_r5*.c


RTC

Ultrascale+ MPSoC, Versal

Zynqmp RTC

Yes

drivers/rtc/rtc-zynqmp.c


SATA

Ultrascale+ MPSoC

SATA

Yes

drivers/ata/ahci_ceva.c


SD Controller

Zynq-7000 SoC,
Ultrascale+ MPSoC and Versal

SD controller

Yes

drivers/mmc/host/sdhci-of-arasan.c


SD-FEC

Zynq Ultrascale+ RFSoC

SD-FEC Driver

Yes

drivers/misc/xilinx_sdfec.c


SDIO WiFi


SDIO WiFi Driver

Yes

drivers/net/wireless/ath/ath6kl/sdio.c


SMC Controller

Zynq-7000 SoC

SMC & NAND driver

Yes

drivers/memory/pl353-smc.c
drivers/mtd/nand/raw/pl35x-nand-controller.c

PL353 SMC controller driver
PL353 SMC Nand Controller driver

SPIPS Controller

Zynq-7000 SoC,
Ultrascale+ MPSoC, Versal

Zynq SPI Driver

Yes

drivers/spi/spi-cadence.c


SPI/QSPI Controller

axi_spi/axi_quad_spi

SPI Driver

No

drivers/spi/spi-xilinx.c


System ACE

axi_sysace

System ACE Driver

Yes

drivers/block/xsysace.c


TFT

axi_tft

TFT Driver

Yes

drivers/video/fbdev/xilinxfb.c


Timer

axi_timer

AXI timer

Yes

arch/microblaze/kernel/timer.c

Timer Counter

TSN

Zynq-7000 SoC, Zynq Ultrascale+ MPSoC

TSN

Yes

drivers/ethernet/net/ethernet/xilinx/*


SHA

Ultrascale+ MPSoC

SHA

No

drivers/crypto/zynqmp-sha.c


RSA

Ultrascale+ MPSoC

RSA

No

drivers/crypto/zynqmp-rsa.c


UART

Zynq-7000 SoC and
Ultrascale+ MPSoC

PSUART

Yes

drivers/tty/serial/xilinx_uartps.c


UART

axi_uartlite

Uartlite Driver

Yes

drivers/tty/serial/uartlite.c


UART

Versal

Versal uart Driver

Yes

drivers/tty/serial/amba-pl011.c


USB (host)

Zynq-7000 SoC

USB Host Driver


Yes

Yes


drivers/usb/chipidea/ci_hdrc_usb2.c

drivers/usb/chipidea/host.c

Zynq PS USB Dual role driver
Zynq PS ehci host controller driver

USB (device)

Zynq-7000 SoC

USB Gadget driver

Yes
Yes

Yes

drivers/usb/chipidea/udc.c
drivers/usb/chipidea/ci_hdrc_usb2.c

drivers/usb/chipidea/core.c

Zynq PS usb gadget controller driver

USB (OTG)

Zynq-7000 SoC

USB OTG Driver

Yes

Yes

drivers/usb/phy/phy-ulpi.c
drivers/usb/chipidea/otg_fsm.c

Zynq PS OTG driver

USB (device)

axi_usb2_device

AXI USB gadget driver

Yes

drivers/usb/gadget/udc/udc-xilinx.c

AXI USB device soft IP linux driver.

USB

Ultrascale+ MPSoC, Versal

zynqMP USB Driver

Yes

drivers/usb/dwc3/dwc3-xilinx.c

dwc3 - xilinx driver

V4L2

UltraScale+ MPSoC

VIPP

Yes

drivers/media/platform/xilinx/xilinx-vipp.c

and xilinx-vip.c and xilinx-dma.c


Multi-Scaler

No

drivers/media/platform/xilinx/xilinx-multi-scaler.c


CFA

No

drivers/media/platform/xilinx/xilinx-cfa.c


CRESAMPLE

No

drivers/media/platform/xilinx/xilinx-cresample.c


CSIRX

Yes

drivers/media/platform/xilinx/xilinx-csi2rxss.c


REMAPPER

No

drivers/media/platform/xilinx/xilinx-remapper.c


RGB2YUV

No

drivers/media/platform/xilinx/xilinx-rgb2yuv.c


SCALER

No

drivers/media/platform/xilinx/xilinx-scaler.c


SWITCH

No

drivers/media/platform/xilinx/xilinx-switch.c


TPG (including VTC)

Yes

drivers/media/platform/xilinx/xilinx-tpg.c + xilinx-vtc.c


VPSS CSC

No

drivers/media/platform/xilinx/xilinx-vpss-csc.c


VPSS Scaler

No

drivers/media/platform/xilinx/xilinx-vpss-scaler.c


Video Demosaic

No

drivers/media/platform/xilinx/xilinx-demosaic.c


Gamma Correction LUT

No

drivers/media/platform/xilinx/xilinx-gamma.c


HDMI Rx

No

hdmi-modules/hdmi/xilinx-hdmirx.c


SDI RX Subsystem

No

drivers/media/platform/xilinx/xilinx-sdirxss.c


DP Rx Subsystem Driver

No

drivers/media/platform/xilinx/xilinx-dprxss.c


HDMI 2.1 Rx Subsystem Driver

No

drivers/media/platform/xilinx/xilinx-hdmirxss.c

Video Codec Unit (VCU) 

Zynq UltraScale+ MPSoC

Xilinx Zynq UltraScale+ MPSoC Video Codec Unit

No

https://github.com/Xilinx/vcu-modules/

drivers/clk/xilinx/xlnx_vcu.c


Watchdog

Zynq and
Ultrascale+ MPSoC

Cadence WDT Driver

Yes

drivers/watchdog/cadence_wdt.c


Watchdog

axi_timebase_wdt,

Zynq UltraScale+ MPSoC, Versal

Axi Watchdog

Yes

drivers/watchdog/of_xilinx_wdt.c


Window Watchdog

Versal

Window Watchdog

Yes

drivers/watchdog/xilinx_wwdt.c

APM

axi Performance monitor

APM

No

drivers/uio/uio_xilinx_apm.c


SERDES/SIOU

Ultrascale+ MPSoC

SERDES

No

drivers/phy/phy-zynqmp.c

serdes/siou linux device driver

Clock Framework Zynqmp

Ultrascale+ MPSoC
Versal

CCF

Yes

drivers/clk/zynqmp


GMII2RGMII converter

Platform: Zynq-7000 SoC/Zynq Ultrascale+ MPSoC 
and Microblaze

IP: gmii_to_rgmii

GMII2RGMII converter

Yes

drivers/net/phy/xilinx_gmii2rgmii.c


ALSA SoC

Ultrascale+ MPSoC

ASoC Platform/DMA
ASoC I2S
ASoC SPDIF
ASoC SDI

ASoC Sound Card

ASoC HDMI

Yes
Yes
Yes
No

No

No

sound/soc/xilinx/xlnx_formatter_pcm.c
sound/soc/xilinx/xlnx_i2s.c
sound/soc/xilinx/xlnx_spdif.c
sound/soc/xilinx/xlnx_sdi_audio.c

sound/soc/xilinx/xlnx_pl_snd_card.c

hdmi-modules/hdmi/xlnx_hdmirx_audio.c

hdmi-modules/hdmi/xlnx_hdmitx_audio.c

Linux PL audio drivers based on ALSA SoC (ASoC) framework.

ZynqMP firmware driver

Ultrascale+ MPSoC

ZynqMP firmware driver

Yes

drivers/firmware/xilinx/zynqmp/


RFdc wrapper

Zynq Ultrascale+ RFSoC

rfdc

No

/XilinxProcessorIPLib/drivers/rfdc

Linux user space driver

ZynqMP AES driver

Ultrascale+ MPSoC

AES

No

drivers/crypto/zynqmp-aes.c


ZynqMp Secure driver

Ultrascale+ MPSoC

ZynqMp Secure driver 

No

drivers/firmware/xilinx/zynqmp-secure.c


OSPI

Versal

OSPI Linux driver

No

drivers/mtd/spi-nor/cadence-quadspi.c


Clock Wizard

Platform: Zynq-7000 SoC/Zynq Ultrascale+ MPSoC , Versal
and Microblaze

Linux Clocking Wizard

Yes

drivers/clk/xilinx/clk-xlnx-clock-wizard.c


Xilinx EDAC

Versal

Linux Versal EDAC Driver

Yes

drivers/edac/xilinx_ddrmc_edac.c


Versal Sysmon Driver

Versal

Versal Sysmon Driver

No

drivers/iio/adc/versal-sysmon.c


Microblaze Triple Modular Redundancy (TMR) Subsystem

Microblaze

/wiki/spaces/XWUC/pages/2352283674

No

drivers/misc/xilinx_tmr_manager.c

drivers/misc/xilinx_tmr_inject.c


...