Baremetal Drivers and Libraries

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 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 Information

IP 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 PMON 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

Iomodule Standalone driver

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 network

Networking

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

© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy