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:

Flash driver

Device Flash
Command devf-j7-ospi -s soc=rclk=200000000:clk=25000000:rdelay=4
Command with DMA support devf-j7-ospi -I -s soc=rclk=200000000:clk=25000000:rdelay=4: poffset=0x3fc0000: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 J742S2 EVM supports I2C devices on buses 0, 4 and 9. You need to launch an I2C driver instance for each device.

Device I2C
Commands

i2c-tda4 -p0x2000000 -i232 -d --u0

i2c-tda4 -p0x2040000 -i236 -d --u4

i2c-tda4 -p0x42120000 -i928 -d --u9

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 usb -d axe -d axge -d cdce -d smsc
Command with CPSW driver io-sock -m phy -m usb -d axe -d axge -d cdce -d smsc -m fdt -m phy_fdt -d cpsw-j742s2
Required binaries io-sock, if_up, dhcpcd, dhcpcd-run-hooks, ifconfig, pfctl, random
Required libraries devs-axe.so, devs-axge.so, devs-cdce.so, devs-smsc.so, devs-cpsw-j742s2.so, libsocket.so, libsecpol.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 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-j742s2.so driver, see the devs-cpsw-j742s2.so section in the BSP-specific Drivers and Utilities chapter of this guide.

Real-time clock (RTC)

Utility Real-time clock
Command rtc hw
Required binaries rtc
Required libraries N/A
Source location $BSP_ROOT_DIR/src/utils/r/rtc

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

SD/MMC

The Jacinto 7 J742S2 EVM BSP supports all of the following:

  • the eMMC memory

  • the SD_CARD port on the CPU board

A single devb-sdmmc instance can manage all SD/MMC devices and create device nodes /dev/hd0 and /dev/hd1. However,the device node’s sequence number is assigned based on the relative order in which a device is initialized. This means that, for example, /dev/hd0 could randomly represents the microSD card, or even the eMMC memory, if you start the driver without explicitly assigning a device node to a device.

Thus, when you start devb-sdmmc, you need to specify the name of the device node for each MMC/SD device. See the Command entries in the table below.

Device eMMC, microSD card
Command (microSD card) devb-sdmmc-am65x blk cache=1m sdio addr=0x04fb0000,irq=36,bs=sscfg=0x8000:ldo=0x600000^8:pwrdev=/dev/i2c0 cam pnp disk name=sd
Command (eMMC) devb-sdmmc-am65x blk cache=1m sdio addr=0x4f80000,irq=35,timing=~hs400,emmc,bs=sscfg=0x8000 disk name=emmc
Required binaries devb-sdmmc-am65x
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 0x02880000,280
Required binaries devc-seromap, devc-seromap_hci
Required libraries libsecpol.so
Source location $BSP_ROOT_DIR/src/hardware/devc/seromap
For more information about the devc-seromap driver, see the devc-seromap section in the BSP-specific Drivers and Utilities chapter of this guide.

Startup

Device STARTUP
Command startup-j742s2-evm -u arg -v -s1:1:1:2 -r0xA0000000,0x1000000,1
Required binaries startup-j742s2-evm
Required libraries N/A
Source location $BSP_ROOT_DIR/src/hardware/startup/boards/ti-j7/j742s2

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 contact Texas Instruments for more information on TI Modifications to the BSP.

True Random Number Generator (TRNG)

Device True Random Number Generator
Command (High Performance Clock) random -t
Command (SA2UL Engine) random -l devr-sa2ul.so mmra=0x40901000,trng=0x40910000,irq=913
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
Required binaries io-usb-otg, usb, devb-umass, devb-ram
Required libraries devu-hcd-cdns3-xhci.so, devnp-asix.so, libusbdi.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 this driver, see the devu-hcd-cdns3-xhci section in the BSP-specific Drivers and Utilities chapter of this guide.

For more information about the devnp-asix.so driver, see the devnp-asix.so section in the QNX OS Utilities Reference guide of the QNX Software Development Platform 8.0 documentation.

Page updated: