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.
- 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
- Inter-integrated Circuit (I2C)
- Network
- PCI Server
- Real-time clock (RTC)
- SD/MMC
- Serial
- Startup
- True Random Number Generator (TRNG)
- USB host controller
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=1: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 |
devf-j7-ospisection in the
BSP-specific Drivers and Utilitieschapter of this guide.
Inter-integrated Circuit (I2C)
The Jacinto 7 J784S4 EVM 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 --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 pci -d em -d ix -d re -d igc -m usb -d axe -d axge -d cdce -d smsc |
Command with CPSW driver | io-sock -o config=/etc/iosock-cpsw.conf -m phy -m pci -d em -d ix -d re -d igc -m usb -d axe -d axge -d cdce -d smsc -mfdt -mphy_fdt -dcpsw-j784s4 |
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-em.so, devs-ix.so, devs-re.so, devs-igc.so, devs-smsc.so, devs-cpsw-j784s4.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-j784s4.so driver, see the
devs-cpsw-j784s4.so
section in the BSP-specific Drivers and Utilities
chapter of this guide.
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-j784s4-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 |
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.
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 J784S4 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 |
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 |
devc-seromapsection in the
BSP-specific Drivers and Utilitieschapter of this guide.
Startup
Device | STARTUP |
Command | startup-j784s4-evm -u arg -v -s1:1:1:2 -r0xA0000000,0x1000000,1 |
Required binaries | startup-j784s4-evm |
Required libraries | N/A |
Source location | $BSP_ROOT_DIR/src/hardware/startup/boards/ti-j7/j784s4 |
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.
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.