Baremetal Drivers and Libraries

This page is intended to summarize key details related to Xilinx baremetal software for both hardened peripherals within 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\SDK\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, MicroBlazeAXI CDMA Standalone Driveraxicdma
AXI dmaDMAaxidmaZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI DMA Standalone Driveraxidma
AXI MCDMADMAmcdmaZynq UltraScale+ MPSoCAXI MCDMA Standalone Drivermcdma
AXI ethernet subsystemNetworkingaxiethernetZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI Ethernet Standalone Driveraxiethernet
XXV Ethernet, USXGMIINetworkingxxvethernetZynqMPXXV Ethernet Standalone Driverxxvethernet
AXI PCIexpress corePCIeaxipcieZynq, Zynq UltraScale+ MPSoC, MicroBlazeTo be updatedaxipcie
AXI performance monitorMonitoraxipmonZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI PM standalone driveraxipmon
Versal Performance MonitorPerformance monitorpmonpsvVersalPmonpsv Performance Monitor standalonepmonpsv
AXI video dmaDMAaxivdmaZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI VDMA Standalone Driveraxivdma
AXI i2cI2CiicZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI-I2C standalone driveraxii2c
Block ram controllerMemorybramZynq, Zynq UltraScale+ MPSoC, MicroBlazeBRAM Standalone driveraxibram
EmacliteNetworkingemacliteZynq, Zynq UltraScale+ MPSoC, MicroBlazeEmaclite Standalone Driveremaclite
AXI gpio controllerI/OgpioZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI gpio standalone drivergpio
IO moduleI/OiomoduleZynq, Zynq UltraScale+ MPSoC, MicroBlazeTo be updatediomodule
AXI streaming fifoFIFOllfifoZynq, Zynq UltraScale+ MPSoC, MicroBlazeFIFO Standalone Driverllfifo
MutexIPCmutexZynq, Zynq UltraScale+ MPSoC, MicroBlazeMutex Standalone Drivermutex
MailboxIPCmailboxZynq, Zynq UltraScale+ MPSoC, MicroBlazeMailbox Standalone Drivermailbox
AXI watchdog timerTimerwdttb

Zynq, Zynq UltraScale+ MPSoC, MicroBlaze

AXI Watchdog Timer standalone driverwdttb
AXI usbUsbusbZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI USB Standalone Driverusb
AXI uart liteSerialuartliteZynq, Zynq UltraScale+ MPSoC, MicroBlaze AXI UART Lite standalone driveruartlite
AXI uart 16550SerialuartnsZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI UART 16550 standalone driveruartns550
Axi traffic generatorPerformancetrafgenZynq, Zynq UltraScale+ MPSoC, MicroBlazeAxi traffic generator standalone drivertrafgen
Test pattern generatorPerformancetpgZynq, Zynq UltraScale+ MPSoC, MicroBlazeTo be updatedtpg
Axi timer and counterTimertmrctrZynq, Zynq UltraScale+ MPSoC, MicroBlazeAXI 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+ MPSoCcanfd standalone Drivercanfd
GPIO controllerI/Ogpiops, UltraScale+ MPSoC  Gpio-PS standalone drivergpiops

Zynq UltraScale+ MPSoC

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+ MPSoCZynqMP Dma standalone driver zdma
CSU dmaDMAcsudmaZynq UltraScale+ MPSoCCSUDMA standalone drivercsudma
USB 2.0 Synopsys DRD controllerUsbusbpsZynqZynq standalone usb device driverusbps
USB 3.0 Synopsys DRD controllerUsbusbpsuZynq UltraScale+ MPSoCZynqMp usb stadalone driverusbpsu
Gigabit Ethernet MACNetworkingemacpsZynq, Zynq UltraScale+ MPSoCEthernet standalone driveremacps
AXI Quad SPISPIspiZynq,Zynq UltraScale+ MPSoC, MicroBlazeAxi-QuadSPIspi
GQSPI controllerSPIqspipsuZynq UltraScale+ MPSoCQspipsu standalone driverqspipsu
Cadence spi controllerSPIspipsZynq, Zynq UltraScale+ MPSoCSpips Standalone driverspips
QSPI controllerQSPIqspipsZynqQspips standalone driverqspi
Cadence uart controllerSerialuartpsZynq, Zynq UltraScale+ MPSoCUART standalone driveruartps
Cadence iicps controllerI2CiicpsZynq, Zynq UltraScale+ MPSoCI2CPS 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+ MPSoCTTC standalone driverttcps
Interrupt controllerGICscugicZynq, Zynq UltraScale+ MPSoCGIC 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

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

AXI INTC Standalone driver

PS-PCIePCIepciepsuZynq UltraScale+ MPSoCPCIePSU Standalone driverpcipsu

Libraries Information

Library NameClassDrivers/ProcessorsPlatformLinkDocumentation
(Doxygen Generated)
lwipNetwork TCP/IP stackemacps, axiethernetZynq,Zynq UltraScale+ MPSoC, MicroBlazeLWIP librarylwip
xilisfFlashspips, qspips, qspipsu, axi qspiZynq,Zynq UltraScale+ MPSoC, MicroBlazexilisf libraryxilisf
xilflashParallel FlashemcMicroblazexilflash-libraryxilflash
standalone bspbspcortex-A9, cortex-A53, cortex-R5 processorsZynq,Zynq UltraScale+ MPSoC, MicroBlazeStandalone BSPstandalone bsp
xilffsFAT File SystemsdpsZynq,Zynq UltraScale+ MPSoCxilffs libraryxilffs
xilfpgaBitstream loadingcsudmaZynq UltraScale+ MPSoCXilfpga libraryxilfpga
xilskeySecurityefuse, bbramZynq, ZynqMP and Ultrascalexilskey Libraryxilskey
xilsecuresecurityAES, RSA, SHA2/SHA3Zynq,Zynq UltraScale+ MPSoCxilsecure Libraryxilsecure
xilrsasecurityRSA, SHA2Zynqxilrsa libraryxilrsa

Type your task here, using "@" to assign to a user and "//" to select a due date

Change Log for the Drivers, BSPs, Libraries

Related Links