Skip to main content

AOM-5721 Yocto 4.0 User Guide

產品介紹(Product introduction)

產品特性(Product Features)

  • Qualcomm® QCS6490/QCS5430 on 3.5" SBC, support extend operating temperature -20~70°C
  • Powerful but Low Power with 8x Kryo 670 CPU from 1.9 up to 2.7 GHz + Adreno GPU 643 + up to 12.3 TOPs iNPU
  • Rugged Design with On-board 8GB LPDDR5 and 128GB UFS or eMMC
  • Flexible Displays with HDMI and LVDS or eDP & Rich I/Os: 2x GbE, 6x USB, 4x COM, 2x MIPI-CSI, 1x Audio
  • 3x M.2 Expansions: M.2 E-Key 2230 for WiFi/BT, M.2 B-Key 3052 for 4G/LTE, M.2 B-Key 2280 for NVMe Storage
  • Various OS Support: Yocto, Windows on Arm

AOM-5721

AOM-5721+AOM-DB6700 LE SW User Manual | ESS-KMS

Yocto4.0 image: 2025-10-31 - Dropbox

硬件接口說明(Hardware interface introduction)

接口布局(Layout)

Connector Pin Definitions

DCIN_2 Connector

PinPin Name
1PGND
2DC_IN
3DC_IN
4PGND

Switch/Jumper Settings

AOM-5721:

SW1ONOFF
1eMMC bootUFS boot
2Enter Download/RecoveryNormal boot

AOM-DB6700:

SW1

Switch123456Function
SW1ON---------------Enable: GBE0_LINK_MID# pull high [Default]
OFF---------------Disable: GBE0_LINK_MID# pull high
---ON------------Enable: GBE0_LINK_MAX# pull high [Default]
---OFF------------Disable: GBE0_LINK_MAX# pull high
------ON---------Enable: GBE1_LINK_MID# pull high [Default]
------OFF---------Disable: GBE1_LINK_MID# pull high
---------ON------Enable: GBE1_LINK_MAX# pull high [Default]
---------OFF------Disable: GBE1_LINK_MAX# pull high
------------ON---Enable: GBE1_LINK_ACT# pull high
------------OFF---Disable: GBE1_LINK_ACT# pull high [Default]
---------------ONEnable: GBE0_LINK_ACT# pull high
---------------OFFDisable: GBE0_LINK_ACT# pull high [Default]

SW2

Switch123456Function [Baseon Module specific]
SW2ONONON------NCCarrier SATA
OFFONON------NCCarrier SD Card
ONOFFON------NCCarrier eSPI(CS0#)
OFFOFFON------NCCarrier SPI(CS0#)
ONONOFF------NCModule Device (NAND, NOR)
OFFONOFF------NCRemote Boot (GBE, Serial)
ONOFFOFF------NCModule eMMC Flash [Default]
OFFOFFOFF------NCModule SPI
---------ON---NCForce Recovery Enable
---------OFF---NCForce Recovery Disable [Default]
------------ONNCSpecific Test Function Enable
------------OFFNCSpecific Test Function Disable [Default]

SW3

Switch123456Function
SW3OFFOFFOFF---------RS232 Loopback Mode
ONOFFOFF---------RS232 Mode [Default]
OFFONOFF---------RS485 Half-Duplex Mode
ONONOFF---------RS485 Full-Duplex (RS422) Mode
OFFOFFON---------Reserved (Do Not Use)
ONOFFON---------Reserved (Do Not Use)
OFFONON---------Reserved (Do Not Use)
ONONON---------Reserved (Do Not Use)
---------ONON---Termination Enable
---------OFFOFF---Termination Disable [Default]
---------------ONSpecific Test Function Enable
---------------OFFSpecific Test Function Disable [Default]

SW4

Switch123456Function
SW4OFFOFFOFF---------RS232 Loopback Mode
ONOFFOFF---------RS232 Mode [Default]
OFFONOFF---------RS485 Half-Duplex Mode
ONONOFF---------RS485 Full-Duplex (RS422) Mode
OFFOFFON---------Reserved (Do Not Use)
ONOFFON---------Reserved (Do Not Use)
OFFONON---------Reserved (Do Not Use)
ONONON---------Reserved (Do Not Use)
---------ONON---Termination Enable
---------OFFOFF---Termination Disable [Default]
---------------ONSpecific Test Function Enable
---------------OFFSpecific Test Function Disable [Default]

SW5

Switch SW5Function
1-2I2S2_MCK from module [Default]
2-3I2S2_MCK from 24MHz_Oscillator

SD_WP

SwitchFunction
ONWriteProtection Enable
OFFWrite Protection Disable[Default]

J1 HDMI DP1 Function Select

PinFunction
1-2HDMI0 [Default]
2-3DP1

J5 LVDS0 VDD Power Select

PinFunction
3-5+3V3 [Default]
1-3+5V
3-4+12V
OtherNo Function (Do Not Use)

J6 eDP0 & LVDS0 Hot-Plug Detect Select

PinFunction
1-2LVDS0 & DSI0
2-3eDP0_HPD [Default]

J7 LVDS0 Backlight Power Select

PinFunction
1-2+5V [Default]
2-3+12V

J8 LVDS1 VDD Power Select

PinFunction
3-5+3V3 [Default]
1-3+5V
3-4+12V
OtherNo Function (Do Not Use)

J9 eDP1 & LVDS1 Hot-Plug Detect Select

PinFunction
1-2LVDS1 & DSI1 [Default]
2-3eDP1_HPD

J10 LVDS1 Backlight Power Select

PinFunction
1-2+5V [Default]
2-3+12V

J12 CAN BUS Port0 Terminal Resistor

PinFunction
1-2Mount CAN0 Terminal Resistor [Default]
1-XNC for CAN0 Terminal Resistor

J13 CAN BUS Port1 Terminal Resistor

PinFunction
1-2Mount CAN1 Terminal Resistor [Default]
1-XNC for CAN1 Terminal Resistor

J30 SD Card Connector Power Source Select

PinFunction
1-2+3V3_SB
2-3+3V3 [Default]

J31 SDIO to M2_E or SD Card Connector Select

PinFunction
1-2To SDConnector [Default]
2-3To M.2

J32 PCIE_A_CKREQ# Select for PCIEX1_A

PinFunction
1-2PCIE_A_CKREQ#
1-XNC for PCIE_A_CKREQ# [Default]

J33 UART0 to M2_E or COM0/2 Connector Select

PinFunction
1-2UART0 to M.2 E-Key
2-3UART0 to COM Connector[Default]

J34 PCIE_A_CKREQ# Select for M2_E

PinFunction
1-2PCIE_A_CKREQ# [Default]
1-XNC for PCIE_A_CKREQ#

J35 Clear CMOS Header

PinFunction
1-2Normal Operation[Default]
2-3Clear CMOS

PJ3 AT & ATX Select

PinFunction
1-2ATX Mode
2-3AT Mode[Default]

SPI0_Jumper SPI0_Jumper_Group

PinFunction
J15-J19:1-2, J14:1-2FLASH CS0 SPI[Default]
J15-J19:1-2, J14:2-3FLASH CS1 SPI
J15-J19:2-3PIN HEADER

SPI1/ESPI/QSPI_Jumper SPI1/ESPI/QSPI_Jumper_Group

PinFunction
J23-J29:1-2, J21-J22:1-2, J20:1-2FLASH,CS0 SPI [Default]
J23-J29:1-2, J21-J22:1-2, J20:2-3FLASH,CS1 SPI
J23-J29:1-2, J21-J22:2-3, J20:1-2FLASH,CS0 QSPI
J23-J29:1-2, J21-J22:2-3, J20:2-3FLASH,CS1 QSPI
J23-J29:2-3PIN HEADER

GPIO5 function Select

PinFunction
1-2GPIO5[Default]
2-3PWM_OUT (For FAN function)

GPIO6 function Select

PinFunction
1-2GPIO6[Default]
2-3TACHIN (For FAN function)

快速入門(Quick Start)

系统下载(OS Download)

Yocto 4.0 :

2025-10-31 - Dropbox

Login information: root/oelinux123

燒錄方法(Recovery & Rescue method)

Install flash tool: The version below has been tested.

  • Qualcomm USB Driver v1.00.91.6
  • Qualcomm Product Configuration Assistant Tool v2.42.2.165
  • Qualcomm Unified Tools Services v1.85.2.5
  • Qualcomm Software Center v1.22.1
  1. Download the Qualcomm Software Center
  2. Open the Qualcomm Software Center
  3. Search "PCAT" in the search bar
  4. Install Qualcomm® Product Configuration Assistant Tool
  5. Install Qualcomm® Unified Tools Services
  6. You will find the new application in your Windows system.
  7. Unzip the UFS File and eMMC File
    • For example :
      • aom5721a1_yocto4.0.18-le1.1_v1.0.0_kernel-6.6.28_qcs6490_8g_emmc_2025-10-31.tgz
      • aom5721a1_yocto4.0.18-le1.1_v1.0.0_kernel-6.6.28_qcs6490_8g_ufs_2025-10-31.tgz
  8. Connect your device via Micro USB.
  9. Set up to Download/Recovery mode and power on the system. If your PC can not identify the USB, please download the "Qualcomm USB Driver."
  10. Search "Qualcomm USB Driver" in the search bar, then install the driver.

Flash UFS provision:

For confirmation, we will erase the partition before UFS installation.

  1. Change the SW1 of the AOM-5721 and SW2 of the AOM-DB6700:

    Flash UFSSwitch config
    AOM-5721 SW11-off, 2-on
    AOM-DB6700 SW24-on
  2. Turn on the power

  3. Open "PCATApp" Tool

  4. Select "Qualcomm HS-USB QDLoader 9008" and click connect

  5. When you connect successfully, it will show "green word" - Qualcomm HS-USB QDLoader 9008 (COM $X)

  6. Select the UFS Folder in the PCAT Tool. The Tool will help load Files automatically and select "MEMORY_TYPE_UFS."

  7. Select the provision button

  8. Add the prog_firehose_ddr.elf and provision_ufs31.xml in UFS folder.

  9. Then press "OK", it will start to do the USF Provision.

  10. When the Provision is finished, you can see the result in the message window.

  11. Click "Download."

  12. When you finish the download process, please power off and power on to flash UFS.

Flash UFS

  1. Change the SW1

    Flash UFSSwitch config
    AOM-5721 SW11-off, 2-on
    AOM-DB6700 SW24-on
  2. Turn on the power

  3. Make sure the device connection status.

  4. If the device disconnects from the PCAT Tool, please connect it again.

  5. Select the UFS Folder in the PCAT Tool. The Tool will help load Files automatically and select "MEMORY_TYPE_UFS."

  6. Make sure the setting, then press the "Download" button.

  7. UFS Download completed

  8. When the UFS installation is finished. Close the PCAT tool,

  9. Please remove the micro USB cable, turn off the power

  10. UFS boot-up setting:

    UFS bootSwitch config
    AOM-5721 SW11-off, 2-off
    AOM-DB6700 SW21-on
  11. Connect the debug cable and open the terminal, turn on the power.

Flash eMMC

  1. Change the SW1

    Flash eMMCSwitch config
    AOM-5721 SW11-on, 2-on
    AOM-DB6700 SW24-on
  2. Turn on the power

  3. Make sure the device connection status.

  4. If the device disconnects from the PCAT Tool, please connect it again.

  5. Select the EMMC Folder in the PCAT Tool. The Tool will help load Files automatically and select "MEMORY_TYPE_EMMC."

  6. Make sure the setting, then press the "Download" button.

  7. eMMC Download completed

  8. When the eMMC installation is finished. Close the PCAT tool,

  9. Please remove the micro USB cable, turn off the power

  10. eMMC boot-up setting:

    eMMC bootSwitch config
    AOM-5721 SW11-on, 2-off
    AOM-DB6700 SW21-on
  11. Connect the debug cable and open the terminal, turn on the power.

基本功能測試(Basic Function test)

Display Setting

HDMI

ItemSettingCommand
HDMI settingAOM-DB6700: HDMI0_DP1
J1: (1-2) : HDMI0 (Default), (2-3) : DP1
# /tools/cdt/emmcChangeToHDMI.sh
or
# /tools/cdt/ufsChangeToHDMI.sh
HDMI resolution1920x1080# echo 1920 1080 60 > /sys/bus/i2c/drivers/lt9611uxc/1-002b/edid_mode
# systemctl restart init_display.service
1280x720# echo 1280 720 60 > /sys/bus/i2c/drivers/lt9611uxc/1-002b/edid_mode
# systemctl restart init_display.service
720x480# echo 720 480 60 > /sys/bus/i2c/drivers/lt9611uxc/1-002b/edid_mode
# systemctl restart init_display.service
HDMI statusStatus# cat /sys/class/drm/card0-DSI-1/status

eDP

ItemSettingCommand
eDP settingAOM-DB6700: LVDS0, LVDS0_BL
J6: (1-2) : LVDS, (2-3) : EDP HPD
# /tools/cdt/ufsChangeToEDPwithSGTL5000.sh
or
# /tools/cdt/emmcChangeToEDPwithSGTL5000.sh
eDP backlightBacklight# echo 0 > /sys/class/backlight/panel-backlight/brightness
# echo 50 > /sys/class/backlight/panel-backlight/brightness
# echo 100 > /sys/class/backlight/panel-backlight/brightness
eDP statusStatus# cat /sys/class/drm/card0-eDP-1/status

DP

ItemSettingCommand
DP SettingAOM-DB6700: CSI -> AOM-EC-91 CN4# /tools/cdt/emmcChangeToHDMI.sh
or
# /tools/cdt/ufsChangeToHDMI.sh
DP1920x1080# echo 1920 1080 60 0 > /sys/kernel/debug/drm_dp/edid_modes
# echo 0 > /sys/kernel/debug/drm_dp/hpd
# echo 1 > /sys/kernel/debug/drm_dp/hpd
DP statusStatus# cat /sys/class/drm/card0-DP-1/status

Multi display

ItemSettingCommand
Multi displayHDMI+DP# /tools/cdt/emmcChangeToHDMI.sh
or
# /tools/cdt/ufsChangeToHDMI.sh
DSI+DP# /tools/cdt/ufsChangeToDSIwithWCD9385.sh
or
# /tools/cdt/emmcChangeToDSIwithWCD9385.sh
eDP+DP# /tools/cdt/ufsChangeToEDPwithSGTL5000.sh
or
# /tools/cdt/emmcChangeToEDPwithSGTL5000.sh

乙太網路使用方法(Ethernet Testing Method)

ItemSettingCommand
1G LAN0 Down(GBE0)enP1p5s0f0# ifconfig enP1p5s0f0
# ping google.com
1G LAN0 LEDAOM-DB6700: SW1 set all ON

LAN0 Link:
# ethtool -s enP1p5s0f0 speed 1000 duplex full - Green light
# ethtool -s enP1p5s0f0 speed 100 duplex full - Orange light
# ethtool -s enP1p5s0f0 speed 10 duplex full - Always off

LAN0 Active: Green light: flashing on
1G LAN1Up(GBE1)enP1p5s0f1# ifconfig enP1p5s0f1
# ping google.com
1G LAN1 LEDAOM-DB6700: SW1 set all ON

LAN1 Link:
# ethtool -s enP1p5s0f0 speed 1000 duplex full - Green light
# ethtool -s enP1p5s0f0 speed 100 duplex full - Orange light
# ethtool -s enP1p5s0f0 speed 10 duplex full - Always off

LAN1 Active: Green light: flashing on

WiFi使用方法(WiFi Testing Method): M.2 KeyE

ItemSettingCommand
AIW-170BQConnect AIW-170BQ to M2_E_1Edit wpa_supplicant.conf file:
vi /etc/wpa_supplicant.conf<br/>network={<br/> ssid="SSID"<br/> key_mgmt=WPA-PSK<br/> proto=WPA RSN<br/> auth_alg=OPEN<br/> pairwise=TKIP CCMP<br/> group=TKIP CCMP<br/> psk="PASSWORD"<br/>}
# wpa_supplicant -i wlp1s0 -Dnl80211 -c /etc/wpa_supplicant.conf &
# ping 8.8.8.8 -I wlp1s0
# ping google.com -I wlp1s0
AIW-170BQ statusAIW-170BQ
0000:01:00.0 Network controller: Qualcomm QCNFA765 Wireless Network Adapter (rev 01)
# lspci

藍芽使用方法(Bluetooth Testing Method): M.2 KeyE

ItemSettingCommand
AIW-170BQConnect AIW-170BQ to M2_E_1# hciconfig
# hciconfig hci0 up
# bluetoothctl
# discoverable on
# pairable on
# scan on
Device D0:57:7E:FF:7B:A6 Name: NB140511
# pair 84:C5:A6:D3:AF:E4
# connect 84:C5:A6:D3:AF:E4
AIW-170BQ statusAIW-170BQ
Bus 001 Device 004: ID 0cf3:e600 Qualcomm Atheros Communications
# lsusb

數據網路使用方法(Mobil Modem Testing Method): M.2 KeyB

ItemSettingCommand
AIW-356Connect AIW-356 to M2_B
(Test by MBIM mode)
Change to the MBIM + MODEM + DIAG + AT mode (One-time Prerequisite) for the AIW-356.
The default mode is DIAG + MODEM + AT + PIPE + RMNET.
# microcom -t 15000 -s 115200 /dev/ttyUSB2
at+gtusbmode=30

Use the MBIM to connect to the internet:
chmod u+w /sys/bus/usb-serial/drivers/option1/new_id
# echo "2cb7 0111" > /sys/bus/usb-serial/drivers/option1/new_id
# mbimcli -d /dev/cdc-wdm0 -p --query-connection-state
# mbimcli -d /dev/cdc-wdm0 -p --query-subscriber-ready-status
# mbimcli -d /dev/cdc-wdm0 -p --set-radio-state=on
//# mbimcli -d /dev/cdc-wdm0 -p --enter-pin=0000 (If needed)
# mbim-network /dev/cdc-wdm0 start
# mbimcli -d /dev/cdc-wdm0 -p --query-ip-configuration
# /tools/modem/mbim-set-ip /dev/cdc-wdm0 wwan0
# ping 8.8.8.8 -I wwan0
AIW-356 statusAIW-356
Bus 003 Device 003: ID 2cb7:0111 Fibocom Fibocom FM160 Modem_SN:8AF6F50C
# lsusb

NVMe使用方法(NVMe Testing Method): M.2 KeyM

ItemSettingCommand
SQF-C8BV2-128GDEDCConnect the module to M2_M# lsblk
SQF-C8BV2-128GDEDC status0001:03:00.0 Non-Volatile memory controller: Phison Electronics Corporation PS5013 E13 NVMe Controller (rev 01)# lspci

GPIO使用方法(GPIO Operating Method)

GPIO pin

SMARC PIN#SMARC Carrier GPIO#CPUKernel GPIO #
GPIO0/CAM0_PWR#(P108)GPIO0_1V8GPIO_141676
GPIO1/CAM1_PWR#(P109)GPIO1_1V8GPIO_142677
GPIO2/CAM0_RST#(P110)GPIO2_1V8GPIO_20555
GPIO3/CAM1_RST#(P111)GPIO3_1V8GPIO_21556
GPIO4/HDA_RST#(P112)GPIO4_1V8GPIO_8543
GPIO5/PWM_OUT(P113)GPIO5_1V8GPIO_11546
GPIO6/TACHIN(P114)GPIO6_1V8GPIO_15550
GPIO7/SERDES0_INT#(P115)GPIO7_1V8GPIO_16551
GPIO8/SERDES1_INT#(P116)GPIO8_1V8GPIO_18553
GPIO9/CAM2_RST#(P117)GPIO9_1V8GPIO_19554
GPIO10/CAM2_PWR#(P118)GPIO10_1V8GPIO_35570
GPIO11/CAM2_MCK(P119)GPIO11_1V8GPIO_44579
GPIO12(S142)GPIO12_1V8GPIO_68603
GPIO13(S123)GPIO13_1V8GPIO_104639
GPIO14/LID#(S148)GPIO14_1V8GPIO_112647
GPIO15/CHARGING#(S151)GPIO15_1V8NANA
GPIO16/CHARGER_PRSNT#(S152)GPIO16_1V8GPIO_9544
GPIO17/BATLOW#(S156)GPIO17_1V8GPIO_111646

GPIO 控制命令:

echo 676 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio676/direction

echo 1 > /sys/class/gpio/gpio676/value

串口使用方法(Serial Port Operating Method)

Serial port

Serial portSMARC pin#device node
COM0(4 wire)SER0/dev/ttyHS1
COM1(2 wire)SER1/dev/ttyHS3
COM2(4 wire)SER2/dev/ttyHS2
COM3(2 wire)SER3Debug console(115200)

RS-232

RS-232Default RS-232 functionLoopback Test and Function after reboot
COM0Set AOM-DB6700 SW3 to 1-on, 2-off# stty -F /dev/ttyHS1 -echo -onlcr 115200 raw
# cat /dev/ttyHS1 &
# echo "Serial Port Test" > /dev/ttyHS1
COM2Set AOM-DB6700 SW4 to 1-on, 2-off# stty -F /dev/ttyHS2 -echo -onlcr 115200 raw
# cat /dev/ttyHS2 &
# echo "Serial Port Test" > /dev/ttyHS2
COM1# stty -F /dev/ttyHS3 -echo -onlcr 115200 raw
# cat /dev/ttyHS3 &
# echo "Serial Port Test" > /dev/ttyHS3

RS-422

RS-422Set RS-422 functionTest with ADAM-4520I
Teraterm: 115200 8 n 1 Xon/Xoff
COM0Set AOM-DB6700 SW3 to 1245-on# stty -F /dev/ttyHS1 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
# cat /dev/ttyHS1 &
# echo "Serial Test" > /dev/ttyHS1
# echo -e "123456789-123456789-123456789-123456789-123456789-\r"
COM2Set AOM-DB6700 SW4 to 1245-on# stty -F /dev/ttyHS2 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
# cat /dev/ttyHS2 &
# echo "Serial Test" > /dev/ttyHS2
# echo -e "123456789-123456789-123456789-123456789-123456789-\r"

RS-485

RS-485Set RS-485 functionTest with ADAM-4520I
Teraterm: 115200 8 n 1 Xon/Xoff
COM0Set AOM-DB6700 SW3 to 245-on# stty -F /dev/ttyHS1 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
# cat /dev/ttyHS1 &
# echo "Serial Test" > /dev/ttyHS1
# echo -e "123456789-123456789-123456789-123456789-123456789-\r"
COM2Set AOM-DB6700 SW4 to 245-on# stty -F /dev/ttyHS2 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
# cat /dev/ttyHS2 &
# echo "Serial Test" > /dev/ttyHS2
# echo -e "123456789-123456789-123456789-123456789-123456789-\r"

SPI Bus(SPI bus Operating Method)

ItemSettingCommand
SPI0AOM-DB6700: SPI_CN
SPI0 Default: U34
J14: (1-2): CS0 (Default), (2-3): CS1
J15~J19: (1-2): Flash (Default),(2-3): PIN HEADER
# hexdump -C /dev/mtdblock0 -n 64
# echo -n $'\x06\x05\x04\x03\x02\x01' > test
# dd if=test of=/dev/mtdblock0
# hexdump -C /dev/mtdblock0 -n 64
SPI1AOM-DB6700: ESPI_CN
SPI1 Default: U35
J20: (1-2): CS0 (Default), (2-3): CS1
J21: (1-2): SPI1 (Default), (2-3): QSPI
J22: (1-2): SPI1 (Default), (2-3): QSPI
J23~J29: (1-2): Flash (Default), (2-3): PIN HEADER
# hexdump -C /dev/mtdblock1 -n 64
# echo -n $'\x06\x05\x04\x03\x02\x01' > test
# dd if=test of=/dev/mtdblock1
# hexdump -C /dev/mtdblock1 -n 64

CAN Bus(CAN bus Operating Method)

ItemSettingCommand
CAN FDConnect CAN1 and CAN2 loop testip link set can0 up type can bitrate 1000000 dbitrate 8000000 fd on
# ip link set can1 up type can bitrate 1000000 dbitrate 8000000 fd on
# candump can0 && candump can1 &
# cansend can0 123##300112233445566778899aabbccddeeff
# cansend can1 123##300112233445566778899aabbccddeeff
Connect CAN1 and CAN2 loop test with the CANFD test script# /tools/canbus/canfd_test.sh

Audio(Audio Operating Method)

ItemSettingCommand
HDMI AudioCopy audio wav file to the system# pactl set-sink-port 0 headset
# pactl set-sink-port 1 headset
# paplay LRMonoPhase4.wav
or
# pactl set-sink-port 0 headset
# pactl set-sink-port 1 headset
# source /opt/qcom/qirp-sdk/qirp-setup.sh
# gst-launch-1.0 -e filesrc location=LRMonoPhase4.wav ! wavparse ! audioconvert ! pulsesink volume=5
ROM-EG51(I2S0)I2S0 AUDIO output is AUDIO0
Audio: Connect ROM-EG51 to I2S0 (DB6700 needs to rework)
Run:
# /tools/cdt/ufsChangeToEDPwithSGTL5000.sh
or
# /tools/cdt/emmcChangeToEDPwithSGTL5000.sh
Check model:
# dmesg | grep model
# pactl set-sink-port 0 speaker
# pactl set-sink-port 1 speaker
# paplay LRMonoPhase4.wav
or
# pactl set-sink-port 0 speaker
# pactl set-sink-port 1 speaker
# source /opt/qcom/qirp-sdk/qirp-setup.sh
# gst-launch-1.0 -e filesrc location=LRMonoPhase4.wav ! wavparse ! audioconvert ! pulsesink volume=1
ROM-EG51(I2S0) MicMic: Connect the Mic to the Audio output and play a WAV file that was recorded. Then play the recorded WAV file
Run:
# /tools/cdt/ufsChangeToEDPwithSGTL5000.sh
or
# /tools/cdt/emmcChangeToEDPwithSGTL5000.sh
Check model:
# dmesg | grep model
tinymix set "Mic Volume" 3
# pactl set-source-port regular2 speaker-mic
# parec -v --rate=48000 --format=s16le --channels=1 --file-format=wav /tmp/audio_48k.wav --device=regular2
or
# tinymix set "Mic Volume" 3
# pactl set-source-port regular2 speaker-mic
# source /opt/qcom/qirp-sdk/qirp-setup.sh
# gst-launch-1.0 -v pulsesrc volume=1 ! audioconvert ! wavenc ! filesink location=/tmp/audio_48k.wav

CSI Camera(CSI Camera Testing Method)

ItemSettingCommand
CSI camera(AOM-DB6700: CSI -> AOM-EC-91 -> cam*)
(Module need to connect to the AOM-EC-91 CN2/CN3)
Machine model: Advantech Technologies, Inc. AOM-5721 + HDMI + HDMI Audio
CAM0: ov9282: 2-lanes
1280x720@30:
# source /opt/qcom/qirp-sdk/qirp-setup.sh
# export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e qtiqmmfsrc camera=0 name=camsrc ! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! waylandsink fullscreen=true async=true sync=false
CAM1: imx577: 4-lanes
3840x2160@30:
# source /opt/qcom/qirp-sdk/qirp-setup.sh
# export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e qtiqmmfsrc camera=1 name=camsrc ! video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1 ! waylandsink fullscreen=true async=true sync=false
1920x1080@30:# source /opt/qcom/qirp-sdk/qirp-setup.sh
# export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e qtiqmmfsrc camera=1 name=camsrc ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! waylandsink fullscreen=true async=true sync=false
CAM2: imx577: 4-lanes
3840x2160@30:
# source /opt/qcom/qirp-sdk/qirp-setup.sh
# export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e qtiqmmfsrc camera=2 name=camsrc ! video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1 ! waylandsink fullscreen=true async=true sync=false
1920x1080@30:# source /opt/qcom/qirp-sdk/qirp-setup.sh
# export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e qtiqmmfsrc camera=2 name=camsrc ! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! waylandsink fullscreen=true async=true sync=false
CAM3: imx577: 4-lanes
3840x2160@30:
# source /opt/qcom/qirp-sdk/qirp-setup.sh
# export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e qtiqmmfsrc camera=3 name=camsrc ! video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1 ! waylandsink fullscreen=true async=true sync=false
1920x1080@30:# source /opt/qcom/qirp-sdk/qirp-setup.sh
# export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1 && gst-launch-1.0 -e qtiqmmfsrc camera=3 name=camsrc ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! waylandsink fullscreen=true async=true sync=false
Multi-camera preview1280x800 and 1280x720 previewsource /opt/qcom/qirp-sdk/qirp-setup.sh
# export XDG_RUNTIME_DIR=/dev/socket/weston
# export WAYLAND_DISPLAY=wayland-1
Set 0~7 CPU to performance:
# echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# echo "performance" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
# echo "performance" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
# echo "performance" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
# echo "performance" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
# echo "performance" > /sys/devices/system/cpu/cpu5/cpufreq/scaling_governor
# echo "performance" > /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor
# echo "performance" > /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor
Launch 4 camera:
# gst-launch-1.0 -e qtivcomposer name=mixer \
sink_0::position="<0, 0>" sink_0::dimensions="<1280, 800>" \
sink_1::position="<1280, 0>" sink_1::dimensions="<1280, 720>" \
sink_2::position="<0, 720>" sink_2::dimensions="<1280, 720>" \
sink_3::position="<1280, 720>" sink_3::dimensions="<1280, 720>" \
mixer. ! queue ! waylandsink enable-last-sample=false fullscreen=true \
qtiqmmfsrc video_0::type=preview name=camsrc_0 camera=0 ife-direct-stream=1 ! 'video/x-raw,format=NV12,width=1280,height=800,framerate=30/1' ! mixer. \
qtiqmmfsrc name=camsrc_1 camera=1 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! mixer. \
qtiqmmfsrc name=camsrc_2 camera=2 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! mixer. \
qtiqmmfsrc name=camsrc_3 camera=3 ! video/x-raw, format=NV12, width=1280, height=720, framerate=30/1 ! mixer.

通用方法(General Method)

Watchdog(Watchdog Testing)

ItemSettingCommandResult
WatchdogInternal Watchdogecho c > /proc/sysrq-triggerSystem will reboot after 7 sec

RTC(RTC testing)

ItemSettingCommand
RTCDisable RTC sync service# systemctl stop systemd-timesyncd
# systemctl disable systemd-timesyncd
Set system time to current, then write to RTC# date 021710452022 && hwclock -w && date
Set one incorrect time, then read time from RTC to verify# date 010100002000 && hwclock -r && date
Set the system time from the RTC# hwclock -s && date
Store into RTC and check RTC current status# hwclock -w -f /dev/rtc0
# hwclock -v -f /dev/rtc0
Enable RTC sync service# systemctl enable systemd-timesyncd
# systemctl start systemd-timesyncd

TPM(TPM Testing)

ItemSettingCommandResult
TPM# dmesg &#124; grep tpm
# /tools/tpm/tpm_test.bin
[TPM Command]
80010000000C000001440000
[TPM Response]
80010000000A00000100

[TPM Command]
80010000000B0000014301
[TPM Response]
80010000000A00000000

[TPM Command]
8001000000160000017A000000060000010500000001
[TPM Response]
80010000001B000000000100000006000000010000010553544D20

[TPM Command]
8001000000160000017A000000060000010B00000002
[TPM Response]
800100000023000000000100000006000000020000010B000901010000010C00000000

I2C(I2C Testing)

ItemSettingCommand
I2C_PM0x27: TCA9555PWR GPIO Expandor
0x2B: LT9611UXC (DSI to HDMI bridge)
0x2E: TPM
0x32: RTC
0x50: EEPROM
0x53: EEPROM
0x6C: PCIe CLKGEN
0x71: ERP_MCU
# i2cdetect -y -r 1
I2C_PM0x50: EEPROM test# echo -n $'\x06\x05\x04\x03\x02\x01' > test
# dd if=test of=/sys/bus/i2c/devices/1-0050/eeprom
# hexdump -C /sys/bus/i2c/devices/1-0050/eeprom -n 64

Linux BSP編譯方法(Linux BSP Compile Method)

AIM-Linux/BSP/Qualcomm/LE1.1 BSP User Guide - ESS-WIKI