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.
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 AMD Xilinx Vitis/SDK are found at: C:\Xilinx\Vitis\202x.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: https://github.com/Xilinx/embeddedsw including the Doxygen generated documentation listed below.
Users of AMD Xilinx Baremetal Drivers must note the following:
- AMD Xilinx Baremetal Drivers are independent of OS/RTOS and processors. They are intended to be highly portable. Users can have adapter layer(s) on top of the relevant driver(s) which will:
- Encapsulate OS and processor dependencies.
- Handle threads, semaphores/mutual exclusion.
- Handle dynamic memory management (if any), threads and/or mutual exclusion, cache policies/maintenance.
- AMD Xilinx Baremetal Drivers do not initialize and setup interrupt controllers. For interrupt-based usage users must initialize the interrupt controller in the adapter layer.
AMD Xilinx Baremetal Drivers and libraries do not handle watchdog timers. For watchdog timer-based use cases users must refresh the same in the adapter layer.
Driver InformationIP Name Class Driver Name Platform Driver wiki page Documentation
(Doxygen Generated)Comments AXI central dma controller DMA axicdma Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal AXI CDMA Standalone Driver axicdma AXI dma DMA axidma Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal AXI DMA Standalone Driver axidma AXI MCDMA DMA mcdma Zynq UltraScale+ MPSoC, Versal AXI MCDMA Standalone Driver mcdma AXI ethernet subsystem Networking axiethernet Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal AXI Ethernet Standalone Driver axiethernet XXV Ethernet, USXGMII Networking xxvethernet ZynqMP XXV Ethernet Standalone Driver xxvethernet AXI PCIexpress core PCIe axipcie Zynq, Zynq UltraScale+ MPSoC, MicroBlaze To be updated axipcie AXI performance monitor Monitor axipmon Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal AXI PM standalone driver axipmon Versal Performance Monitor Performance monitor pmonpsv Versal Pmonpsv Performance Monitor standalone pmonpsv AXI video dma DMA axivdma Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal AXI VDMA Standalone Driver axivdma AXI i2c I2C iic Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal AXI-I2C standalone driver axii2c Block ram controller Memory bram Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal BRAM Standalone driver axibram Emaclite Networking emaclite Zynq, Zynq UltraScale+ MPSoC, MicroBlaze Emaclite Standalone Driver emaclite AXI gpio controller I/O gpio Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal AXI gpio standalone driver gpio IO module I/O iomodule Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal To be updated iomodule AXI streaming fifo FIFO llfifo Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal FIFO Standalone Driver llfifo Mutex IPC mutex Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal Mutex Standalone Driver mutex Mailbox IPC mbox Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal Mailbox Standalone Driver mbox AXI watchdog timer Timer wdttb Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal
AXI Watchdog Timer standalone driver wdttb AXI usb Usb usb Zynq, Zynq UltraScale+ MPSoC, MicroBlaze AXI USB Standalone Driver usb AXI uart lite Serial uartlite Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal AXI UART Lite standalone driver uartlite AXI uart 16550 Serial uartns Zynq, Zynq UltraScale+ MPSoC, MicroBlaze AXI UART 16550 standalone driver uartns550 Axi traffic generator Performance trafgen Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal Axi traffic generator standalone driver trafgen Test pattern generator Performance tpg Zynq, Zynq UltraScale+ MPSoC, MicroBlaze To be updated tpg Axi timer and counter Timer tmrctr Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal AXI TIMER Standalone Driver tmrctr AXI TFT controller IO axitft Zynq, Zynq UltraScale+ MPSoC, MicroBlaze TFT standalone driver tft Serial RapidIO IO srio Zynq, Zynq UltraScale+ MPSoC, MicroBlaze To be updated srio Zynq scu watchdog timer Timer scuwdt Zynq SCU Watchdog Standalone driver scuwdt Zynq scu timer Timer scutimer Zynq SCUTIMER Standalone Driver scutimer Memory Interface Generator Memory mig_7series MicroBlaze To be updated mig_7series Controller area network Networking can Zynq, Zynq UltraScale+ MPSoC, MicroBlaze CAN standalone driver can Zynq and Zynq MPSoC
controller area networkNetworking canps Zynq, Zynq UltraScale+ MPSoC CAN PS Standalone Driver canps CANFD Networking canfd Zynq, Zynq UltraScale+ MPSoC,, Versal canfd standalone Driver canfd GPIO controller I/O gpiops Zynq, UltraScale+ MPSoC, Versal Gpio-PS standalone driver gpiops RTC Clock rtcpsu Zynq UltraScale+ MPSoC, Versal
RTC standalone driver rtcpsu Watchdog timer Timer wdtps Zynq, Zynq UltraScale+ MPSoC Watchdog Timer standalone driver wdtps Arasan nand controller Nand nandpsu Zynq UltraScale+ MPSoC Nandpsu standalone driver nandpsu Pl353 nand controller Nand nandps Zynq Nandps standalone driver nandps Pl330 dma controller DMA dmaps Zynq PL330 standalone driver dmaps ZDMA controller DMA zdma Zynq UltraScale+ MPSoC, Versal ZynqMP/Versal DMA Standalone driver zdma CSU dma DMA csudma Zynq UltraScale+ MPSoC, Versal CSUDMA standalone driver csudma USB 2.0 Synopsys DRD controller Usb usbps Zynq Zynq standalone usb device driver usbps USB 3.0 Synopsys DRD controller Usb usbpsu Zynq UltraScale+ MPSoC, Versal ZynqMp usb stadalone driver usbpsu Gigabit Ethernet MAC Networking emacps Zynq, Zynq UltraScale+ MPSoC, Versal Ethernet standalone driver emacps AXI Quad SPI SPI spi Zynq,Zynq UltraScale+ MPSoC, MicroBlaze Axi-QuadSPI spi GQSPI controller SPI qspipsu Zynq UltraScale+ MPSoC, Versal Qspipsu standalone driver qspipsu Cadence spi controller SPI spips Zynq, Zynq UltraScale+ MPSoC, Versal Spips Standalone driver spips QSPI controller QSPI qspips Zynq Qspips standalone driver qspi Cadence uart controller Serial uartps Zynq, Zynq UltraScale+ MPSoC UART standalone driver uartps Cadence iicps controller I2C iicps Zynq, Zynq UltraScale+ MPSoC, Versal I2CPS standalone driver i2cps Arasan SD 3.0 host controller SD sdps Zynq UltraScale+ MPSoC, Versal
SDPS standalone driver sdps Arasan SD 2.0 host controller SD sdps Zynq Zynq SD standalone driver sdps Triple-timer counter Timer ttcps Zynq, Zynq UltraScale+ MPSoC, Versal TTC standalone driver ttcps Interrupt controller GIC scugic Zynq, Zynq UltraScale+ MPSoC, Versal GIC standalone driver gic Sysmonpsu controller Sysmon sysmonpsu Zynq UltraScale+ MPSoC Sysmonpsu standalone driver sysmonpsu XADC controller ADC xadc Zynq XADC standalone driver xadc Zynq MPSoc DisplayPort Controller DisplayPort Controller dppsu Zynq UltraScale+ MPSoC ZynqMp DisplayPort Subsystem dppsu Zynq MPSoc Video Pipeline Video avbuf Zynq UltraScale+ MPSoC ZynqMp DisplayPort Subsystem avbuf Zynq MPSoc DPDMA DMA dpdma Zynq UltraScale+ MPSoC ZynqMp DisplayPort Subsystem dpdma RFdc wrapper usp data converter rfdc Zynq UltraScale+ RFSoC RFdc Standalone driver rfdc Video Frame Buffer Read Video v_frmbuf_rd Zynq UltraScale+ MPSoC Video Frame Buffer Read v_frmbuf_rd Video Frame Buffer Write Video v_frmbuf_wr Zynq UltraScale+ MPSoC Video Frame Buffer Write v_frmbuf_wr Video Scene Change Video v_scenechange Zynq UltraScale+ MPSoC Video Scene change driver v_scenechange Video Mixer Video v_mix Zynq UltraScale+ MPSoC Video Mixer driver v_mix Video Processing Subsystem Video vprocss Zynq UltraScale+ MPSoC Video Processing Subsystem driver vprocss Video Horizontal Scaler Video v_hscaler Zynq UltraScale+ MPSoC Video Processing Subsystem driver v_hscaler Video Vertical Scaler Video v_vscaler Zynq UltraScale+ MPSoC Video Processing Subsystem driver v_vscaler Video Horizontal Resampler Video v_hcresampler Zynq UltraScale+ MPSoC Video Processing Subsystem driver v_hcresampler Video Vertical Resampler Video v_vcresampler Zynq UltraScale+ MPSoC Video Processing Subsystem driver v_vcresampler Video Color Space Converter Video v_csc Zynq UltraScale+ MPSoC Video Processing Subsystem driver v_csc Video Multi Scaler Video v_multi_scaler Zynq UltraScale+ MPSoC Video Multi Scaler Driver v_multi_scaler Video Letter Box Video v_letterbox Zynq UltraScale+ MPSoC Video Processing Subsystem driver v_letterbox csi2txss Video csi2txss Zynq UltraScale+ MPSoC CSI2Tx driver csi2txss dsi Video dsi Zynq UltraScale+ MPSoC DSI Driver dsi mipicsiss Video mipicsiss Zynq UltraScale+ MPSoC MIPICSISS Driver mipicsiss sdiaud Audio sdiaud Zynq UltraScale+ MPSoC sdiaud Driver sdiaud sdirxss Video v_sdirxss Zynq UltraScale+ MPSoC sdirxss Driver v_sdirxss IPI IPI ipipsu Zynq UltraScale+ MPSoC, Versal
Ipipsu Standalone driver ipipsu Sysmon for Versal Sysmon sysmonpsv Versal Sysmon Standalone driver sysmonpsv ospi ospi ospipsv Versal OSPI Standalone driver ospipsv Clocking Wizard Clocking clk_wiz Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal Clocking Wizard Standalone driver clk_wiz AXI intc interrupt controller intc Zynq, Zynq UltraScale+ MPSoC, MicroBlaze, Versal intc PS-PCIe PCIe pciepsu Zynq UltraScale+ MPSoC PCIePSU Standalone driver pcipsu DFX Decoupler DFX prd Zynq UltraScale+ MPSoC, Versal Prd_Standalone_Driver prd DFX AXI Shutdown manager DFX dfxasm Zynq UltraScale+ MPSoC, Versal Dfxasm Standalone Driver dfxasm Uartpsv Serial uartpsv Versal Uartpsv standalone driver uartpsv AXI DDR Synopsys controller DDR ddrcpsu Zynq UltraScale+ MPSoC ddrcpsu Standalone Driver ddrcpsu DDR4 memory controller DDR ddrpsv Versal ddrpsv Standalone Driver ddrpsv DDR3 memory controller DDR ddrps Zynq ddrps Standalone Driver ddrps Clockps Clock driver clockps Zynq UltraScale+ MPSoC Clockps Standalone Driver clockps axi4-stream switch Axi stteam switch axis_switch Zynq, Zynq UltraScale+ MPSoC, Versal axis_switchStandalone Driver axis_switch Resetps Reset driver resetps Zynq UltraScale+ MPSoC resetps Standalone Driver resetps ARM Coresightps controller Debugger coresightps_dcc Zynq, Zynq UltraScale+ MPSoC, Versal coresightps Standalone Driver coresightps_dcc AXI I3C controller Serial i3c Zynq UltraScale+ MPSoC AXI I3C Standalone Driver NA I3C controller Serial i3cpsx Versal i3cpsx Standalone Driver i3cpsx Axi EMC controlled EMC emc MicroBlaze Emc standalone driver emc Libraries Information
Library Name Class Drivers/Processors Platform Link Documentation
(Doxygen Generated)Comments lwip Network TCP/IP stack emacps, axiethernet Zynq,Zynq UltraScale+ MPSoC, MicroBlaze, Versal LWIP library lwip xilisf Flash spips, qspips, qspipsu, axi qspi Zynq,Zynq UltraScale+ MPSoC, MicroBlaze xilisf library xilisf Deprecated in 2020.2 release xilflash Parallel Flash emc Microblaze xilflash library xilflash standalone bsp bsp cortex-A9, cortex-A53, cortex-R5 processors, Cortex-A72 Zynq,Zynq UltraScale+ MPSoC, MicroBlaze, Versal Standalone BSP standalone bsp xilffs FAT File System sdps Zynq,Zynq UltraScale+ MPSoC, Versal xilffs library xilffs xilfpga Bitstream loading csudma Zynq UltraScale+ MPSoC, Versal Xilfpga library xilfpga xilskey Security efuse, bbram Zynq, ZynqMP and Ultrascale xilskey Library xilskey xilsecure security AES, RSA, SHA2/SHA3 Zynq,Zynq UltraScale+ MPSoC xilsecure Library xilsecure xilrsa security RSA, SHA2 Zynq xilrsa library xilrsa xilmailbox Mailbox ipipsu Zynq,Zynq UltraScale+ MPSoC, Versal xilmailbox library xilmailbox Change Log for the Drivers, BSPs, Libraries
Related Links
© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy