Driver Commands

QNX Board Support Packages8.0BSP User's GuideAMD Versal AI Edge VE2302AMDAMDARM

The tables below provide a summary of driver commands.

The tables list any additional libraries and binaries that are required. Default required libraries, such as libc.so and libgcc_s.so.1 aren't listed, but should be included in your buildfile.

Some of the drivers are commented out in the buildfile. To use these drivers on the target hardware, you may need to uncomment them in the buildfile, rebuild the image, and load the image onto the board.

The order that the drivers are started in the provided buildfile is one way to start them. The order that you start the drivers is completely customizable and is often specific to the requirements of your system. For example, if you need an audible sound to play immediately, you must start the audio driver earlier than other drivers. It's important to recognize that the order you choose impacts the boot time.

Note:
Some drivers depend on other drivers, so it's sometimes necessary to start them in a specific order because of these dependencies. For example, in the provided buildfile, the USB driver is started before the mass storage drivers because they rely on it.
  • For more information on best practices for building an embedded system and optimizing boot times for your system, see the Building Embedded Systems and the Boot Optimization guides in the QNX Software Development Platform 8.0 documentation.
  • For more information about the drivers and commands listed here, see the QNX OS Utilities Reference. This chapter provides information about BSP-specific options for any of the commands and drivers that aren't described in the Utilities Reference. In some cases, the driver or command is specific to this BSP, in which cases, you'll find the information in the chapter BSP-specific Drivers and Utilities.

Here's the list of drivers available for this board and the order they appear in the provided buildfile. In some cases, the driver or command is specific to this BSP, in which case you will find the information in the BSP-specific Drivers and Utilities chapter of this guide.

Here's the list of custom utilities provided with this BSP:

Startup

Device Startup
Command startup-versal-ve2302 -u -vv -D 0xFF010000.0.100000000.16
Required binaries startup-versal-ve2302
Required libraries libstartup.a
Source location $BSP_ROOT_DIR/src/hardware/startup/boards/versal (common), $BSP_ROOT_DIR/src/hardware/startup/boards/versal/ve2302 (board-specific)

For more information about the common options available for the startup-* command, see the Utilities Reference in the QNX SDP 8.0 documentation.

Clock controller

Device Clock controller
Command clock-versal -v
Required binaries clock-versal
Required libraries libsecpol.so
Source location $BSP_ROOT_DIR/src/hardware/support/versal/clock

For more information about clock-versal, see the clock-versal section in the BSP-specific Drivers and Utilities chapter of this guide.

Inter-integrated Circuit (I2C)

Device I2C0, I2C1, and I2C2
Command i2c-xzynq-versal -p0xFF020000 -i46 --u0

i2c-xzynq-versal -p0xFF030000 -i47 --u1

i2c-xzynq-versal -p0xF1000000 -i155 --u2

Required binaries i2c-xzynq-versal, isendrecv, isend
Required libraries libsecpol.so
Source location $BSP_ROOT_DIR/src/hardware/i2c/xzynq

For more information about i2c-xzynq-versal driver, see the i2c-xzynq-versal section in the BSP-specific Drivers and Utilities chapter of this guide.

Real-time clock (RTC)

Device RTC
Command rtc hw
Required binaries rtc, date
Required libraries libc.so, libgcc_s.so
Source location $BSP_ROOT_DIR/src/utils/rtc

For more information about rtc, see the rtc section in the BSP-specific Drivers and Utilities chapter of this guide.

Serial

Device Serial (UART2)
Command devc-serpl011 -e -F -c $(get-uart-clk-versal -u1) -b115200 -u2 0xFF010000^2,51
Required binaries devc-serpl011, get-uart-clk-versal
Required libraries libsecpol.so
Source location $BSP_ROOT_DIR/src/hardware/devc/serpl011

For information about the devc-serpl011 driver, see devc-serpl011 section in the BSP-specific Drivers and Utilities chapter of this guide.

Block Drivers (SDMMC + RAM)

Device SD card/eMMC interface and RAM block driver
Command (devb-sdmmc-*) devb-sdmmc-xzynq sdio addr=0xF1050000,irq=160,timing=~hs devb-sdmmc-xzynq sdio addr=0xf1040000,irq=158,emmc disk name=emmc
Command (devb-ram) devb-ram ram capacity=256,address=0xfffc0000 disk name=ocm
Required binaries devb-sdmmc-xzynq, devb-ram
Required libraries libcam.so, io-blk.so, cam-disk.so, cam-cdrom.so, fs-qnx6.so, fs-dos.so
Source location $BSP_ROOT_DIR/src/hardware/devb/sdmmc

For more information about this driver, see the "devb-*" section in the QNX OS Utilities Reference guide of the QNX Software Development Platform 8.0 documentation.

For information about the board-specific options for devb-sdmmc-xzynq, see devb-sdmmc-xzynq section in the BSP-specific Drivers and Utilities chapter of this guide.

USB XHCI driver

Device USB host
Command io-usb-otg -d hcd-xzynq-xhci ioport=0xFE200000,irq=54,nousb3
Required binaries io-usb-otg, usb, devb-umass
Required libraries devu-hcd-xzynq-xhci.so libhiddi.so libusbdi.so libpci.so libusbdci.so
Source location Prebuilt Only

For more information about io-usb-otg, see the "io-usb-otg" section in the QNX OS Utilities Reference guide of the QNX Software Development Platform 8.0 documentation.

For information about the devu-hcd-xzynq-xhci.so driver, see devu-hcd-xzynq-xhci.so section in the BSP-specific Drivers and Utilities chapter of this guide.

Network

Device Ethernet
Command io-sock -m phy -m fdt -m phy_fdt -d marvell_phy -d cgem -m usb -d axe -d axge -d cdce -d smsc
Required binaries io-sock, if_up, dhcpcd, dhcpcd-run-hooks, ifconfig, pfctl
Required libraries devs-cgem.so, devs-marvell_phy.so, devs-axe.so, devs-axge.so, devs-cdce.so, devs-smsc.so, libsocket.so, libjail.so, libsecpol.so, mods-phy.so, mods-pci.so, mods-usb.so, mods-fdt.so, mods-phy_fdt.so, qcrypto-openssl-3.so, libtracelog.so, libqcrypto
Source location Prebuilt Only

For more information about the devs-cgem.so network driver, see the devs-cgem.so section in the BSP-specific Drivers and Utilities chapter of this guide.

Get UART clock utility

Device Utility to get UART clock frequency from clock controller
Command See Serial
Required binaries get-uart-clk-versal
Required libraries
Source location $BSP_ROOT_DIR/src/hardware/support/versal/get-uart-clk

For more information about get-uart-clk-versal utility, see the get-uart-clk-versal section in the BSP-specific Drivers and Utilities chapter of this guide.

Page updated: