Driver Commands

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.

Here's the list of drivers available for this board and the order they appear in the provided buildfile:

Graphics

Device Graphics
Command screen
Required binaries screen and several other binaries. For more information, see the Configure the Screen Graphics Subsystem chapter in this guide.
Required libraries For more information, see the Configure the Screen Graphics Subsystem chapter in this guide.
Source location N/A

Flash driver

Device Flash
Command devf-j7-ospi
Command with DMA support devf-j7-ospi -I -s soc=phy=ddr:dma=1
Required binaries devf-j7-ospi, devf-ram, flashctl, shmemallocator, tiipc-mgr, tisci-mgr, tiudma-mgr
Required libraries libsecpol.so, libti-pdk.so, libti-sciclient.so, libti-udmalld.so, libtiudma-usr.so
Source location src/hardware/flash/boards/j7-ospi
For more information about this driver, see the devf-j7-ospi section in the BSP-specific Drivers and Utilities chapter of this guide.

Inter-integrated Circuit (I2C)

The Jacinto 7 J721E SK supports I2C devices on buses 0 and 1. You need to launch an I2C driver instance for each device.

Device I2C
Commands i2c-tda4 -p0x2000000 -i232 -d

i2c-tda4 -p0x2010000 -i233 -d --u1

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

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

Network

Device Ethernet
Commands io-sock -m phy -m pci -d em -d ix -d re -m usb -d axe -d axge -d cdce -d smsc
Command with CPSW driver io-sock -o config=/etc/iosock.cfg -m phy -m pci -d em -d ix -d re -m usb -d axe -d axge -d cdce -d smsc -mfdt -mphy_fdt -dcpsw-j721e
Required binaries io-sock, if_up, dhcpcd, dhcpcd-run-hooks, ifconfig, pfctl, random
Required libraries devs-em.so, devs-ix.so, devs-re.so, devs-axe.so, devs-axge.so, devs-cdce.so, devs-smsc.so, devs-cpsw-j721e.so, libsocket.so, libsecpol.so, libjail.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-axe.so driver, see the devs-axe.so section in the QNX OS Utilities Reference guide of the QNX Software Development Platform 8.0 documentation.

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

Note:
In order to start the CPSW Ethernet driver the Texas Instruments resource managers and shared libraries must be included from the Texas Instruments PSDK and running. See the Build the BSP section of this guide for steps on how to include the Texas Instruments PSDK components into the BSP.

PCI Server

Device PCIe
Commands PCI_SLOG_MODULE=pci_slog2.so pci-server --config=/etc/system/config/pci/pci_server.cfg
Required binaries pci-server
Required libraries libpci.so, pci_server-buscfg-generic.so, pci_hw-ti-j721e-evm.so, pci_debug2.so, pci_slog2.so, pci_strings.so, pci_cap-0x10.so, pci_cap-0x11.so, pci_cap-0x05.so, pci_cap-0x01.so, pci_cap-0x11-ffffffff.so,
Environment variables PCI_HW_MODULE,

PCI_HW_CONFIG_FILE,

PCI_DEBUG_MODULE,

PCI_BASE_VERBOSITY,

PCI_SLOG_MODULE

For more information about the environment, see the Environment variables section in the Overview chapter of the PCI Server User's Guide.

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.

Note:
Due to Errata i2086 a requirement for the J721E HW module is to specify the PCIe topology in the HW configuration file, using the DEV_LIST option to list the available BDF values. If the BDF of of a device is not listed it will not be configured. For more information on using this feature see the example in your BSPs build file.

SD/MMC

The Jacinto 7 J721E SK BSP supports all of the following:

  • the SD_CARD (J23, MMC1) port on the EVM

Device microSD card
Command (microSD card) devb-sdmmc-am65x blk cache=1m sdio addr=0x04fb0000,irq=36,bs=sscfg=0x8000:ldo=0x42110000^9 cam pnp disk name=sd
Required binaries devb-sdmmc-am65x, fdisk, mkdosfs
Required libraries libsecpol.so
Source location $BSP_ROOT_DIR/src/hardware/devb/sdmmc
For more about this driver information, see the devb-sdmmc-* section in the Utilities Reference guide of the QNX Software Development Platform 8.0 documentation.

Serial

Device SERIAL
Command devc-seromap -e -F 0x02800000,224
Required binaries devc-seromap, devc-seromap_hci
Required libraries libsecpol.so
Source location $BSP_ROOT_DIR/src/hardware/devc/seromap
For more information about this driver, see the devc-seromap section in the BSP-specific Drivers and Utilities chapter of this guide.

SMMU Manager

Device Memory Management
Command

smmuman @/etc/j721e.smmu

Required binaries smmuman
Required libraries smmu-armsmmu.so, smmu-armsmmuv3.so, smmu-cfg-j721e.so
Required Configuration file /etc/j721e.smmu
Source location N/A

It's recommended that you start SMMU Manager (SMMUMAN) before you start any drivers that use SMMU. Some drivers may not start until SMMU Manager has been started. You can enable SMMU Manager support for a driver using an option. SMMUMAN refers to providing DMA containment and memory-management support. For most drivers, you use the smmu option to enable SMMUMAN. In other cases, the smmu is specified with the -o option. To see whether your driver provides SMMU Manager support, see the documentation for the driver either in this guide or the QNX SDP 8.0 documentation.

For more information about the SMMU Manager, see the SMMUMAN User's guide in the QNX SDP 8.0 documentation.

Startup

Device STARTUP
Command startup-j721e-sk -u arg -v -W -s1:1:2:2 -r0xA0000000,0x1000000,1 -Xcachesnooped
Required binaries startup-j721e-sk
Required libraries N/A
Source location $BSP_ROOT_DIR/src/hardware/startup/boards/j721e

For more about the options for this driver, see the startup-* options described in the Utilities Reference guide of the QNX Software Development Platform 8.0 documentation.

Note:
The -r option reserves memory regions for use by other cores. Additional memory reservations (carveouts) may be required based on your system configuration. Please refer to section 5.1.1. TI Modifications to the BSP of the Processor SDK QNX J721E documentation that's available on the Texas Instruments website at https://software-dl.ti.com/jacinto7/esd/processor-sdk-qnx-jacinto7/09_02_00_04/exports/ docs/qnx_sdk_components_j721e.html#ti-modifications-to-the-bsp

True Random Number Generator (TRNG)

Device True Random Number Generator
Command (High Performance Clock) random
Command (SA2UL Engine) random -l devr-sa2ul.so
Required binaries random
Required libraries devr-sa2ul.so
Source location $BSP_ROOT_DIR/src/hardware/devr/sa2ul

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

USB Host Mode

Device USB OTG (Host mode)
Command io-usb-otg -d cdns3-xhci ioport=0x6010000,irq=128,iosize=65536,ioport=0x6410000,irq=136,iosize=65536
Required binaries io-usb-otg, usb, devb-umass, devb-ram
Required libraries devu-hcd-cdns3-xhci.so, libhiddi.so, libusbdi.so, libusbdci.so
Source location Prebuilt only

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

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

Watchdog

Device Watchdog
Commands wdtkick-j7 -d 0

wdtkick-j7 -d 1

Required binaries wdtkick-j7
Required libraries N/A
Source location $BSP_ROOT_DIR/src/hardware/support/wdtkick-j7

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

Page updated: