Baremetal Drivers and Libraries

This page is intended to summarize key details related to Xilinx baremetal software for both hardened peripherals within Versal, Zynq UltraScale+ MPSoC, Zynq-7000 AP SoC, and embedded soft IP cores. Users who wish for higher overview of the Xilinx Baremetal solution can find it in our GIT on the Baremetal Documentation page.

Note: Linux-specific driver details can be found on our Linux Drivers page.

Table of Contents

Baremetal Driver Information

Unless otherwise noted, all standalone drivers included within Xilinx SDK are found at: C:\Xilinx\Vitis\201x.y\data\embeddedsw\XilinxProcessorIPLib\drivers (when default installation paths are used on a Windows host).

These drivers can also be found on the Xilinx GIT at: including the Doxygen generated documentation listed below.

Driver Information
IP NameClassDriver NamePlatformDriver wiki pageDocumentation
(Doxygen Generated)
AXI central dma controllerDMAaxicdmaZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalAXI CDMA Standalone Driveraxicdma
AXI dmaDMAaxidmaZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalAXI DMA Standalone Driveraxidma
AXI MCDMADMAmcdmaZynq UltraScale+ MPSoC, VersalAXI MCDMA Standalone Drivermcdma
AXI ethernet subsystemNetworkingaxiethernetZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalAXI Ethernet Standalone Driveraxiethernet
XXV Ethernet, USXGMIINetworkingxxvethernetZynqMPXXV Ethernet Standalone Driverxxvethernet
AXI PCIexpress corePCIeaxipcieZynq, Zynq UltraScale+ MPSoC, MicroBlazeTo be updatedaxipcie
AXI performance monitorMonitoraxipmonZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalAXI PM standalone driveraxipmon
Versal Performance MonitorPerformance monitorpmonpsvVersalPmonpsv Performance Monitor standalonepmonpsv
AXI video dmaDMAaxivdmaZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalAXI VDMA Standalone Driveraxivdma
AXI i2cI2CiicZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalAXI-I2C standalone driveraxii2c
Block ram controllerMemorybramZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalBRAM Standalone driveraxibram
EmacliteNetworkingemacliteZynq, Zynq UltraScale+ MPSoC, MicroBlazeEmaclite Standalone Driveremaclite
AXI gpio controllerI/OgpioZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalAXI gpio standalone drivergpio
IO moduleI/OiomoduleZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalTo be updatediomodule
AXI streaming fifoFIFOllfifoZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalFIFO Standalone Driverllfifo
MutexIPCmutexZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalMutex Standalone Drivermutex
MailboxIPCmailboxZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalMailbox Standalone Drivermailbox
AXI watchdog timerTimerwdttb

Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal

AXI Watchdog Timer standalone driverwdttb
AXI usbUsbusbZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI USB Standalone Driverusb
AXI uart liteSerialuartliteZynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal AXI UART Lite standalone driveruartlite
AXI uart 16550SerialuartnsZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI UART 16550 standalone driveruartns550
Axi traffic generatorPerformancetrafgenZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalAxi traffic generator standalone drivertrafgen
Test pattern generatorPerformancetpgZynq, Zynq UltraScale+ MPSoC, MicroBlazeTo be updatedtpg
Axi timer and counterTimertmrctrZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalAXI TIMER Standalone Drivertmrctr
AXI TFT controllerIOaxitftZynq, Zynq UltraScale+ MPSoC, MicroBlazeTo be updatedtft
Serial RapidIOIOsrioZynq, Zynq UltraScale+ MPSoC, MicroBlazeTo be updatedsrio
Zynq scu watchdog timerTimerscuwdtZynqSCU Watchdog Standalone driverscuwdt
Zynq scu timerTimerscutimerZynqSCUTIMER Standalone Driver scutimer
Memory Interface GeneratorMemorymig_7seriesMicroBlazeTo be updatedmig_7series
Controller area networkNetworkingcanZynq, Zynq UltraScale+ MPSoC, MicroBlazeCAN standalone drivercan
Zynq and Zynq MPSoC
controller area network
NetworkingcanpsZynq, Zynq UltraScale+ MPSoCCAN PS Standalone Drivercanps
CANFDNetworkingcanfdZynq, Zynq UltraScale+ MPSoC,, Versalcanfd standalone Drivercanfd
GPIO controllerI/OgpiopsZynq, UltraScale+ MPSoC, Versal Gpio-PS standalone drivergpiops

Zynq UltraScale+ MPSoC, Versal

RTC standalone driverrtcpsu
Watchdog timerTimerwdtpsZynq, Zynq UltraScale+ MPSoCWatchdog Timer standalone driverwdtps
Arasan nand controllerNandnandpsuZynq UltraScale+ MPSoCNandpsu standalone drivernandpsu
Pl353 nand controllerNandnandpsZynqNandps standalone drivernandps
Pl330 dma controllerDMAdmapsZynqPL330 standalone driverdmaps
ZDMA controllerDMAzdmaZynq UltraScale+ MPSoC, VersalZynqMP/Versal DMA Standalone driverzdma
CSU dmaDMAcsudmaZynq UltraScale+ MPSoC, VersalCSUDMA standalone drivercsudma
USB 2.0 Synopsys DRD controllerUsbusbpsZynqZynq standalone usb device driverusbps
USB 3.0 Synopsys DRD controllerUsbusbpsuZynq UltraScale+ MPSoC, VersalZynqMp usb stadalone driverusbpsu
Gigabit Ethernet MACNetworkingemacpsZynq, Zynq UltraScale+ MPSoC, VersalEthernet standalone driveremacps
AXI Quad SPISPIspiZynq,Zynq UltraScale+ MPSoC, MicroBlazeAxi-QuadSPIspi
GQSPI controllerSPIqspipsuZynq UltraScale+ MPSoC, VersalQspipsu standalone driverqspipsu
Cadence spi controllerSPIspipsZynq, Zynq UltraScale+ MPSoC, VersalSpips Standalone driverspips
QSPI controllerQSPIqspipsZynqQspips standalone driverqspi
Cadence uart controllerSerialuartpsZynq, Zynq UltraScale+ MPSoCUART standalone driveruartps
Cadence iicps controllerI2CiicpsZynq, Zynq UltraScale+ MPSoC, VersalI2CPS standalone driveri2cps
Arasan SD 3.0 host controllerSDsdps

Zynq UltraScale+ MPSoC, Versal

SDPS standalone driversdps
Arasan SD 2.0 host controllerSDsdpsZynqZynq SD standalone driversdps
Triple-timer counterTimerttcpsZynq, Zynq UltraScale+ MPSoC, VersalTTC standalone driverttcps
Interrupt controllerGICscugicZynq, Zynq UltraScale+ MPSoC, VersalGIC standalone drivergic
Sysmonpsu controllerSysmonsysmonpsuZynq UltraScale+ MPSoCSysmonpsu standalone driversysmonpsu
XADC controllerADCxadcZynqXADC standalone driverxadc
Zynq MPSoc DisplayPort ControllerDisplayPort ControllerdppsuZynq UltraScale+ MPSoCZynqMp DisplayPort Subsystemdppsu
Zynq MPSoc Video PipelineVideoavbufZynq UltraScale+ MPSoCZynqMp DisplayPort Subsystemavbuf
Zynq MPSoc DPDMADMAdpdmaZynq UltraScale+ MPSoCZynqMp DisplayPort Subsystemdpdma
RFdc wrapperusp data converterrfdcZynq UltraScale+ RFSoCRFdc Standalone driverrfdc
Video Frame Buffer ReadVideov_frmbuf_rdZynq UltraScale+ MPSoCVideo Frame Buffer Readv_frmbuf_rd
Video Frame Buffer WriteVideov_frmbuf_wrZynq UltraScale+ MPSoCVideo Frame Buffer Writev_frmbuf_wr
Video Scene ChangeVideov_scenechangeZynq UltraScale+ MPSoCVideo Scene change driverv_scenechange
Video MixerVideov_mixZynq UltraScale+ MPSoCVideo Mixer driverv_mix
Video Processing SubsystemVideovprocssZynq UltraScale+ MPSoCVideo Processing Subsystem drivervprocss
Video Horizontal ScalerVideov_hscalerZynq UltraScale+ MPSoCVideo Processing Subsystem driverv_hscaler
Video Vertical ScalerVideov_vscalerZynq UltraScale+ MPSoCVideo Processing Subsystem driverv_vscaler
Video Horizontal ResamplerVideov_hcresamplerZynq UltraScale+ MPSoCVideo Processing Subsystem driverv_hcresampler
Video Vertical ResamplerVideov_vcresamplerZynq UltraScale+ MPSoCVideo Processing Subsystem driverv_vcresampler
Video Color Space ConverterVideov_cscZynq UltraScale+ MPSoCVideo Processing Subsystem driverv_csc
Video Multi ScalerVideov_multi_scalerZynq UltraScale+ MPSoCVideo Multi Scaler Driverv_multi_scaler
Video Letter BoxVideov_letterboxZynq UltraScale+ MPSoCVideo Processing Subsystem driverv_letterbox
csi2txssVideocsi2txssZynq UltraScale+ MPSoCCSI2Tx drivercsi2txss
dsiVideodsiZynq UltraScale+ MPSoCDSI Driverdsi
mipicsissVideomipicsissZynq UltraScale+ MPSoCMIPICSISS Drivermipicsiss
sdiaudAudiosdiaudZynq UltraScale+ MPSoCsdiaud Driversdiaud
sdirxssVideov_sdirxssZynq UltraScale+ MPSoCsdirxss Driverv_sdirxss

Zynq UltraScale+ MPSoC, Versal

Ipipsu Standalone driveripipsu
Sysmon for VersalSysmonsysmonpsvVersalSysmon Standalone driversysmonpsv
ospiospiospipsvVersalOSPI Standalone driverospipsv
Clocking WizardClocking clk_wizZynq, Zynq UltraScale+ MPSoC, MicroBlaze, VersalClocking Wizard Standalone driverclk_wiz
AXI intcinterrupt controllerintcZynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal

AXI INTC Standalone driver

PS-PCIePCIepciepsuZynq UltraScale+ MPSoCPCIePSU Standalone driverpcipsu
DFX DecouplerDFXprdZynq UltraScale+ MPSoC, VersalTo be Updatedprd
DFX AXI Shutdown managerDFXdfxasmZynq UltraScale+ MPSoC, VersalTo be Updateddfxasm
UartpsvSerialuartpsvVersalUartpsv standalone driveruartpsv

Libraries Information

Library NameClassDrivers/ProcessorsPlatformLinkDocumentation
(Doxygen Generated)
lwipNetwork TCP/IP stackemacps, axiethernetZynq,Zynq UltraScale+ MPSoC, MicroBlaze, VersalLWIP librarylwip
xilisfFlashspips, qspips, qspipsu, axi qspiZynq,Zynq UltraScale+ MPSoC, MicroBlazexilisf libraryxilisfDeprecated in 2020.2 release
xilflashParallel FlashemcMicroblazexilflash-libraryxilflash
standalone bspbspcortex-A9, cortex-A53, cortex-R5 processors, Cortex-A72Zynq,Zynq UltraScale+ MPSoC, MicroBlaze, VersalStandalone BSPstandalone bsp
xilffsFAT File SystemsdpsZynq,Zynq UltraScale+ MPSoC, Versalxilffs libraryxilffs
xilfpgaBitstream loadingcsudmaZynq UltraScale+ MPSoC, VersalXilfpga libraryxilfpga
xilskeySecurityefuse, bbramZynq, ZynqMP and Ultrascalexilskey Libraryxilskey
xilsecuresecurityAES, RSA, SHA2/SHA3Zynq,Zynq UltraScale+ MPSoCxilsecure Libraryxilsecure
xilrsasecurityRSA, SHA2Zynqxilrsa libraryxilrsa

xilmailboxMailboxipipsuZynq,Zynq UltraScale+ MPSoC, Versalxilmailbox libraryxilmailbox

Change Log for the Drivers, BSPs, Libraries

Related Links