Driver Commands
The tables below provide a summary of driver commands for the Variscite i.MX8MP DART.
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 then 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 your system requirements. 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.
- 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
QNX OS 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
.
Startup
Device | Startup |
Command | startup-imx8mp-dart -u arg -W |
Required binaries | startup-imx8mp-dart |
Required libraries | libstartup.a |
Source location | $BSP_ROOT_DIR/src/hardware/startup/boards/imx8mp (common), $BSP_ROOT_DIR/src/hardware/startup/boards/imx8mp/dart (board-specific) |
In additional to the common options available for the startup-* command as described in the QNX OS Utilities Reference in the QNX SDP 8.0 documentation, this driver supports these options:
- -W
- Enable watchdog timer support. Ensure that you start the watchdog driver after when you use this option.
Watchdog utility
To enable the watchdog:
Modify the buildfile so that startup launches with the -W option:
startup-imx8mp-dart -u arg -WLaunch the watchdog timer utility early on in the boot script:
wdtkick -t 5000
Device | Watchdog timer |
Command | wdtkick -t 5000 |
Required binaries | wdtkick |
Required libraries | libc.so.6, libgcc_s.so.1 |
Source location | $BSP_ROOT_DIR/src/hardware/support/wdtkick |
For more information about this driver, see
wdtkick
in the Utilities Reference guide of the
QNX SDP 8.0 documentation.
I2C
Device | I2C |
Command (I2C1) | i2c-imx -p 0x30A20000 -i67 -c66000000 --u 1
|
Command (I2C2) | i2c-imx -p 0x30A30000 -i68 -c66000000 --u 2 |
Command (I2C3) | i2c-imx -p 0x30A40000 -i69 -c66000000 --u 3 |
Command (I2C4) | i2c-imx -p 0x30A50000 -i70 -c66000000 --u 4 |
Required binaries | i2c-imx |
Required libraries | libc.so.6, libgcc_s.so.1, libsecpol.so |
Source location | $BSP_ROOT_DIR/src/hardware/i2c/imx |
For more information about this driver, see the i2c-imx
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.6, libgcc_s.so.1 |
Source location | src/utils/rtc |
For more information about this driver, see the
rtc
in the Utilities Reference guide of the QNX SDP 8.0 documentation.
PCI Server
Device | PCI |
Command |
|
Required binaries | pci-server |
Required libraries | pci_hw-nxp-imx8m-cpu.so, libc.so.6, libgcc_s.so.1, libsecpol.so, pci_server-buscfg-generic.so, pci_debug2.so, pci_slog2.so, pci_strings.so, pci_cap-0x01.so, pci_cap-0x05.so, pci_cap-0x10.so, pci_cap-0x11.so |
Configuration files | /etc/system/config/pci/pci_hw-imx8m-dart.cfg |
Environment variables | PCI_HW_MODULE,
PCI_HW_CONFIG_FILE, PCI_DEBUG_MODULE, PCI_BASE_VERBOSITY, PCI_SLOG_MODULE, PCI_BKWD_COMPAT_MODULE, PCI_MODULE_BLACKLIST, For more information about the environment,
see the |
Source location | Prebuilt only |
For more information about this driver, see the pci-server
section in the QNX OS Utilities Reference guide of the QNX SDP 8.0 documentation.
CAN
Device | FlexCAN |
Command (FlexCAN0) |
|
Required binaries | devcan-flexcan, canctl |
Required libraries | libc.so.6, libgcc_s.so.1 |
Source location | $BSP_ROOT_DIR/src/hardware/can/flexcan |
For more information about the devcan-flexcan driver, see devcan-flexcan
in the BSP-specific Drivers and Utilities
chapter of this guide.
Serial
Device | Serial |
Command for UART1 (X18) | devc-sermx1 -e -F -S -u 1 -c 24000000 0x30860000,58
|
Command for UART2 (X18) | devc-sermx1 -e -F -S -u 2 -c 24000000 0x30890000,59
|
Command for UART3 (X18) | devc-sermx1 -e -F -S -u 3 -c 24000000 0x30880000,60
|
Command for UART4 (X18) | devc-sermx1 -e -F -S -u 4 -c 24000000 0x30A60000,61
|
Required binaries | devc-sermx1 |
Required libraries | libc.so.6, libgcc_s.so.1, libsecpol.so |
Source location | $BSP_ROOT_DIR/src/hardware/devc/sermx1 |
For more information about this driver, see the devc-sermx1
section in the BSP-specific Drivers and Utilities
chapter of this guide.
SPI
Device | SPI |
Command |
|
Required binaries | spi-ecspi |
Required libraries | libc.so.6, libgcc_s.so.1, libsecpol.so |
Configuration files | spi.conf (Update the configuration file for DMA, as required) |
Source location | $BSP_ROOT_DIR/src/hardware/spi/ecspi |
For more information about this driver, see spi-ecspi
in the chapter BSP-specific Drivers and Utilities
of this guide.
SD/MMC
Device | SD/MMC |
Command (eMMC, which uses USDHC3 controller) |
|
Command (SD card, which uses USDHC2 microSD card driver) |
waitfor /dev/sd0 |
Required binaries | devb-sdmmc-mx8x |
Required libraries | libc.so.6, libgcc_s.so.1, libsecpol.so, cam-disk.so, io-blk.so, libcam.so |
Source location | $BSP_ROOT_DIR/src/hardware/devb/sdmmc |
For more information about this driver, see devb-sdmmc-mx8x
in the chapter BSP-specific Drivers and Utilities
of this guide.
USB OTG host controller (io-usb-otg stack)
Device | USB host controller |
Command for xHCI USBH4 (X8) |
io-usb-otg -d hcd-imx8-xhci ioport=0x38100000,irq=72,ioport=0x38200000,irq=73
|
Required binaries | io-usb-otg, usb, nxp-ptn5150a-imx8mp |
Required libraries | libusbdi.so, devu-hcd-imx8-xhci.so, libc.so.6, libgcc_s.so.1, |
Source location | Prebuilt only |
You must run the utility nxp-ptn5150a-imx8mp after you run the devu-hcd-imx8-xhci driver to start USB Type-C.
io-usb-otg -d hcd-imx8-xhci ioport=0x38100000,irq=72,ioport=0x38200000,irq=73
waitfor /dev/usb/io-usb-otg
waitfor /dev/usb/devu-hcd-imx8-xhci.so
nxp-ptn5150a-imx8mp -a 0x3d -u2 &
devb-umass cam pnp dos exe=all disk name=umass
When a mass storage device is plugged in, devb-umass creates a
resource manager under
/dev/hdXtY where
X represents the partition number and Y
represents the partition type. For example, if you use a mass storage with one FAT32
partition (MBR), it creates two resource manager paths, which are
/dev/hd0 and /dev/hd0t11. You would
mount the second resource manager, where in this example, 11specifies a FAT32 filesystem (i.e., mount -t dos /dev/hd0t11 /fs/usb0).
For more information about the devu-hcd-imx8-xhci.so
driver, see the devu-hcd-imx8-xhci.so
section in the BSP-specific Drivers and Utilities
chapter.
Network
Device | Ethernet |
Command |
|
Required binaries | io-sock, dhcpcd, dhcpcd-run-hooks, ifconfig, if_up, pfctl, netstat |
Required libraries | devs-dwceqos.so, devs-em.so, devs-ix.so, devs-re.so, devs-axe.so, devs-axge.so, devs-cdce.so, devs-smsc.so libsocket.so, libsecpol.so, libedit.so, libexpat.so, libxo.so, libfdt.so, librpc.so, libjail.so, mods-phy.so, mods-pci.so, mods-usb.so, mods-fdt.so, mods-phy_fdt.so, libgcc_s.so.1, libc.so.6, qcrypto-openssl-3.so, libtracelog.so, libqcrypto |
Source location | Binary only |
For more information about this driver, see devs-dwceqos.so
in the BSP-specific Drivers and Utilities
chapter of this guide.
For information about io-sock, see QNX SDP 8.0 High-Performance Networking Stack User's Guide.
GPIO
Device | GPIO Resource Manager |
Command (/dev/gpio) | gpio-imx8mp |
Required binaries | gpio-imx8mp |
Required libraries | libslog2.so, libsecpol.so, libc.so.6 |
Source location | $BSP_ROOT_DIR/src/hardware/support/imx8/gpio/resmgr, $BSP_ROOT_DIR/src/hardware/support/imx8/gpio/test |
For more information about this driver, see gpio-imx8mp
in the chapter BSP-specific Drivers and Utilities
of this guide.