AOM-5721 Yocto user guide

From ESS-WIKI
Jump to: navigation, search

產品介紹(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


產品官網連結(Product official website link)

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

DCIN connector Pin Definition

Pin

Pin Name

1

PGND

2

DC_IN

3

DC_IN

4

PGND

 


Switch/Jumper Settings

AOM-5721:

SW1 ON OFF
1 eMMC boot UFS boot
2 Enter Download/Recovery Normal boot

AOM-DB6700:

SW1

Switch

1

2

3

4

5

6

Function

SW1

ON

---

---

---

---

---

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]

---

---

---

---

---

ON

Enable: GBE0_LINK_ACT# pull high

---

---

---

---

---

OFF

Disable: GBE0_LINK_ACT# pull high [Default]

SW2

Switch

1

BOOT_SEL0#

2

BOOT_SEL1#

3

BOOT_SEL2#

4

FORCE_RECOV#

5

TEST#

6

NC

'Function '[Baseon Module specific]

SW2

ON

ON

ON

---

---

NC

Carrier SATA

OFF

ON

ON

---

---

NC

Carrier SD Card

ON

OFF

ON

---

---

NC

Carrier eSPI(CS0#)

OFF

OFF

ON

---

---

NC

Carrier SPI(CS0#)

ON

ON

OFF

---

---

NC

Module Device (NAND, NOR)

OFF

ON

OFF

---

---

NC

Remote Boot (GBE, Serial)

ON

OFF

OFF

---

---

NC

Module eMMC Flash [Default]

OFF

OFF

OFF

---

---

NC

Module SPI

---

---

---

ON

---

NC

Force Recovery Enable

---

---

---

OFF

---

NC

Force Recovery Disable [Default]

---

---

---

---

ON

NC

Specific Test Function Enable

---

---

---

---

OFF

NC

Specific Test Function Disable [Default]

SW3

Switch

1

COM0_MODE0

2

COM0_MODE1

3

COM0_MODE2

4

COM0_TERM_TX

5

COM0_TERM_RX

6

COM0_SLEW

Function

SW3

OFF

OFF

OFF

---

---

---

RS232 Loopback Mode

ON

OFF

OFF

---

---

---

RS232 Mode [Default]

OFF

ON

OFF

---

---

---

RS485 Half-Duplex Mode

ON

ON

OFF

---

---

---

RS485 Full-Duplex (RS422) Mode

OFF

OFF

ON

---

---

---

Reserved (Do Not Use)

ON

OFF

ON

---

---

---

Reserved (Do Not Use)

OFF

ON

ON

---

---

---

Reserved (Do Not Use)

ON

ON

ON

---

---

---

Reserved (Do Not Use)

---

---

---

ON

ON

---

Termination Enable

---

---

---

OFF

OFF

---

Termination Disable [Default]

---

---

---

---

---

ON

Specific Test Function Enable

---

---

---

---

---

OFF

Specific Test Function Disable [Default]

SW4

Switch

1

COM2_MODE0

2

COM2_MODE1

3

COM2_MODE2

4

COM2_TERM_TX

5

COM2_TERM_RX

6

COM2_SLEW

Function

SW4

OFF

OFF

OFF

---

---

---

RS232 Loopback Mode

ON

OFF

OFF

---

---

---

RS232 Mode [Default]

OFF

ON

OFF

---

---

---

RS485 Half-Duplex Mode

ON

ON

OFF

---

---

---

RS485 Full-Duplex (RS422) Mode

OFF

OFF

ON

---

---

---

Reserved(Do Not Use)

ON

OFF

ON

---

---

---

Reserved (Do Not Use)

OFF

ON

ON

---

---

---

Reserved (Do Not Use)

ON

ON

ON

---

---

---

Reserved (Do Not Use)

---

---

---

ON

ON

---

Termination Enable

---

---

---

OFF

OFF

---

Termination Disable [Default]

---

---

---

---

---

ON

Specific Test Function Enable

---

---

---

---

---

OFF

Specific Test Function Disable [Default]

SW5

Switch SW5

Function

1-2

I2S2_MCK from module [Default]

2-3

I2S2_MCK from 24MHz_Oscillator

SD_WP

Switch

1-2

Function

SD_WP

ON

WriteProtection Enable

OFF

Write Protection Disable[Default]

J1 HDMI DP1 Function Select

J1  HDMI DP1 Function Select

Pin

Function

1-2

HDMI0 [Default]

2-3

DP1

J5 LVDS0 VDD Power Select

J5  LVDS0 VDD Power Select

Pin

Function

3-5

+3V3 [Default]

1-3

+5V

3-4

+12V

Other

No Function (Do Not Use)

J6 eDP0 & LVDS0 Hot-Plug Detect Select

J6 eDP & LVDS0 Hot-Plug Detect Select

Pin

Function

1-2

LVDS0 & DSI0

2-3

eDP0_HPD [Default]

J7 LVDS0 Backlight Power Select

J7  LVDS0 Backlight Power Select

Pin

Function

1-2

+5V [Default]

2-3

+12V

J8 LVDS1 VDD Power Select

J8  LVDS1 VDD Power Select

Pin

Function

3-5

+3V3 [Default]

1-3

+5V

3-4

+12V

Other

No Function (Do Not Use)

J9 eDP1 & LVDS1 Hot-Plug Detect Select

J9  eDP1 & LVDS1 Hot-Plug Detect Select

Pin

Function

1-2

LVDS1 & DSI1 [Default]

2-3

eDP1_HPD

J10 LVDS1 Backlight Power Select

'J10 'LVDS1 Backlight Power Select

Pin

Function

1-2

+5V [Default]

2-3

+12V

J12 CAN BUS Port0 Terminal Resistor

'J12 'CAN BUS Port0 Terminal Resistor

Pin

Function

1-2

Mount CAN0 Terminal Resistor [Default]

1-X

NC for CAN0 Terminal Resistor

J13 CAN BUS Port1 Terminal Resistor

Table'3.1.'11.9: J13  CAN BUS Port1 Terminal Resistor

Pin

Function

1-2

Mount CAN1 Terminal Resistor [Default]

1-X

NC for CAN1 Terminal Resistor

J30 SD Card Connector Power Source Select

J30  SD Card Connector Power Source Select

Pin

Function

1-2

+3V3_SB

2-3

+3V3 [Default]

J31 SDIO to M2_E or SD Card Connector Select

J31  SDIO to M2_E or SD Card Connector Select

Pin

Function

1-2

To SDConnector [Default]

2-3

To M.2

J32 PCIE_A_CKREQ# Select for PCIEX1_A

J32  PCIE_A_CKREQ# Select for PCIEX1_A

Pin

Function

1-2

PCIE_A_CKREQ#

1-X

NC for PCIE_A_CKREQ# [Default]

J33 UART0 to M2_E or COM0/2 Connector Select

J33  UART0 to M2_E or COM0/2 Connector Select

Pin

Function

1-2

UART0 to M.2 E-Key

2-3

UART0 to COM Connector[Default]

J34 PCIE_A_CKREQ# Select for M2_E

J34  PCIE_A_CKREQ# Select for M2_E

Pin

Function

1-2

PCIE_A_CKREQ# [Default]

1-X

NC for PCIE_A_CKREQ#

J35 Clear CMOS Header

Table'3.1.'11.15: J35  Clear CMOS Header

Pin

Function

1-2

Normal Operation[Default]

2-3

Clear CMOS

PJ3 AT & ATX Select

PJ3  AT & ATX Select

Pin

Function

1-2

ATX Mode 

2-3

AT Mode[Default]

SPI0_Jumper SPI0_Jumper_Group

SPI0_Jumper  SPI0_Jumper_Group

Pin

Function

J15-J19:1-2, J14:1-2

FLASH CS0 SPI[Default]

J15-J19:1-2, J14:2-3

FLASH CS1 SPI

J15-J19:2-3

PIN HEADER

SPI1/ESPI/QSPI_Jumper SPI1/ESPI/QSPI_Jumper_Group

SPI1/ESPI/QSPI_Jumper  SPI1/ESPI/QSPI_Jumper_Group

Pin

Function

J23-J29:1-2, J21-J22:1-2, J20:1-2

FLASH,CS0 SPI [Default]

J23-J29:1-2, J21-J22:1-2, J20:2-3

FLASH,CS1 SPI

J23-J29:1-2, J21-J22:2-3, J20:1-2

FLASH,CS0 QSPI

J23-J29:1-2, J21-J22:2-3, J20:2-3

FLASH,CS1 QSPI

J23-J29:2-3

PIN HEADER

GPIO5 function Select

GPIO5  GPIO5 PWM_OUT Function Select

Pin

Function

1-2

GPIO5[Default]

2-3

PWM_OUT (For FAN function)

GPIO6 function Select

GPIO6  GPIO6 TACHIN Function Select

Pin

Function

1-2

GPIO6[Default]

2-3

TACHIN (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 

      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. 

RTENOTITLE

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 UFS Switch cconfig
AOM-5721 SW1 1-off, 2-on
AOM-DB6700 SW2 4-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   RTENOTITLE  

RTENOTITLE

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. 

RTENOTITLE

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

RTENOTITLE

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 UFS Switch cconfig
AOM-5721 SW1 1-off, 2-on
AOM-DB6700 SW2 4-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. 

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

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

8. UFS Download 'completed

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

11. 'Please remove the micro USB cable, turn off the power 

12. UFS boot-up setting: 

UFS boot Switch cconfig
AOM-5721 SW1 1-off, 2-off
AOM-DB6700 SW2 1-on

13. Connect the ebug cable and open the terminal,  turn on the power. 

 

Flash eMMC

1. Change the SW1 

Flash eMMC Switch cconfig
AOM-5721 SW1 1-on, 2-on
AOM-DB6700 SW2 4-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. 

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

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

8. eMMC Download 'completed

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

11. 'Please remove the micro USB cable, turn off the power 

12. eMMC boot-up setting:

eMMC boot Switch cconfig
AOM-5721 SW1 1-on, 2-off
AOM-DB6700 SW2 1-on

13. Connect the ebug cable and open the terminal,  turn on the power. 

 

基本功能測試(Basic Function test) 

Display Setting

HDMI

Item Setting Command
HDMI setting

AOM-DB6700: HDMI0_DP1

J1: (1-2) : HDMI0 (Default), (2-3) : DP1

SW change to HDMI setting:
# /tools/cdt/emmcChangeToHDMI.sh
or 
# /tools/cdt/ufsChangeToHDMI.sh

HDMI resolution 1920x1080 # 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 status Status # cat /sys/class/drm/card0-DSI-1/status

DSI

Item Setting Command
DSI setting

(BOM option)

AOM-DB6700: LVDS1, LVDS0_BL
J9: (1-2) : LVDS, (2-3) : EDP HPD

SW change to DSI panel setting:
# /tools/cdt/ufsChangeToDSIwithWCD9385.sh
or
# /tools/cdt/emmcChangeToDSIwithWCD9385.sh

DSI backlight Backlight
  1. 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

Item Setting Command
eDP setting AOM-DB6700: LVDS0, LVDS0_BL
J6: (1-2) : LVDS, (2-3) : EDP HPD
SW change to eDP setting:
# /tools/cdt/ufsChangeToEDPwithSGTL5000.sh
or
# /tools/cdt/emmcChangeToEDPwithSGTL5000.sh
eDP backlight Backlight # 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 status Status # cat /sys/class/drm/card0-eDP-1/status

DP

Item Setting Command
DP Setting AOM-DB6700: CSI -> AOM-EC-91 CN4 SW change to HDMI setting:
# /tools/cdt/emmcChangeToHDMI.sh
or 
# /tools/cdt/ufsChangeToHDMI.sh
DP 1920x1080 # 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 status Status # cat /sys/class/drm/card0-DP-1/status

Multi display

Item Setting Command
Multi display HDMI+DP SW change to HDMI setting:
# /tools/cdt/emmcChangeToHDMI.sh
or
# /tools/cdt/ufsChangeToHDMI.sh
DSI+DP SW change to DSI panel setting:
# /tools/cdt/ufsChangeToDSIwithWCD9385.sh
or
# /tools/cdt/emmcChangeToDSIwithWCD9385.sh
eDP+DP SW change to LVDS setting:
# /tools/cdt/ufsChangeToEDPwithSGTL5000.sh
or
# /tools/cdt/emmcChangeToEDPwithSGTL5000.sh

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

Item Setting Command
1G LAN0 Down(GBE0)

enP1p5s0f0

# ifconfig enP1p5s0f0
# ping google.com
1G LAN0 LED

AOM-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 LED

AOM-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

Item Setting Command
AIW-170BQ

Connect AIW-170BQ to M2_E_1

Edit wpa_supplicant.conf file:

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

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

Item Setting Command
AIW-170BQ Connect 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 status AIW-170BQ
Bus 001 Device 004: ID 0cf3:e600 Qualcomm Atheros Communications
# lsusb

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

Item Setting Command
AIW-356

Connect 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
  1. 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 status AIW-356
Bus 003 Device 003: ID 2cb7:0111 Fibocom Fibocom FM160 Modem_SN:8AF6F50C
# lsusb

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

Item Setting Command
SQF-C8BV2-128GDEDC

Connect the module to M2_M


# lsblk | grep nvme0
# mount /dev/nvme0n1p1 /mnt/
 
SQF-C8BV2-128GDEDC
0001: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# CPU Kernel GPIO #
GPIO0/CAM0_PWR#(P108) GPIO0_1V8 GPIO_141 676
GPIO1/CAM1_PWR#(P109) GPIO1_1V8 GPIO_142 677
GPIO2/CAM0_RST#(P110) GPIO2_1V8 GPIO_20 555
GPIO3/CAM1_RST#(P111) GPIO3_1V8 GPIO_21 556
GPIO4/HDA_RST#(P112) GPIO4_1V8 GPIO_8 543
GPIO5/PWM_OUT(P113) GPIO5_1V8 GPIO_11 546
GPIO6/TACHIN(P114) GPIO6_1V8 GPIO_15 550
GPIO7/SERDES0_INT#(P115) GPIO7_1V8 GPIO_16 551
GPIO8/SERDES1_INT#(P116) GPIO8_1V8 GPIO_18 553
GPIO9/CAM2_RST#(P117) GPIO9_1V8 GPIO_19 554
GPIO10/CAM2_PWR#(P118) GPIO10_1V8 GPIO_35 570
GPIO11/CAM2_MCK(P119) GPIO11_1V8 GPIO_44 579
GPIO12(S142) GPIO12_1V8 GPIO_68 603
GPIO13(S123) GPIO13_1V8 GPIO_104 639
GPIO14/LID#(S148) GPIO14_1V8 GPIO_112 647
GPIO15/CHARGING#(S151) GPIO15_1V8 NA NA
GPIO16/CHARGER_PRSNT#(S152) GPIO16_1V8 GPIO_9 544
GPIO17/BATLOW#(S156) GPIO17_1V8 GPIO_111 646
       
# 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 port SMARC pin# device node
COM0(4 wire) SER0 /dev/ttyHS1
COM1(2 wire) SER1 /dev/ttyHS3
COM2(4 wire) SER2 /dev/ttyHS2
COM3(2 wire) SER3 Debug console(115200)

RS-232

RS-232 Default RS-232 function Loopback Test and Function after reboot
COM0 Set 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
COM2 Set 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-422 Set RS-422 function

Test with ADAM-4520I
Teraterm: 115200 8 n 1 Xon/Xoff

COM0 Set 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" | tee /dev/ttyHS1
COM2 Set 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" | tee /dev/ttyHS2

RS-485

RS-485 Set RS-485 function

Test with ADAM-4520I
Teraterm: 115200 8 n 1 Xon/Xoff

COM0 Set 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" | tee /dev/ttyHS1
COM2 Set 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" | tee /dev/ttyHS2

SPI Bus(SPI bus Operating Method)

Item Setting Command
SPI0 AOM-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
SPI1 AOM-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)

Item Setting Command
CAN FD Connect CAN1 and CAN2 loop test 
  1. ip 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)

Item Setting Command
HDMI Audio Copy 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= ! wavparse LRMonoPhase4.wav ! audioconvert ! pulsesink volume=1
ROM-EG51(I2S0) Mic: 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
  1. 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)

Item Setting Command
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 preview 1280x800 and 1280x720 preview
  1. source /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)

Item Setting Command Result
Watchdog Internal Watchdog
  1. echo c > /proc/sysrq-trigger
System will reboot after 7 sec

RTC(RTC testing)

Item Setting Command
RTC Disable 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)

Item Setting Command Result
TPM   # dmesg | 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)

Item Setting Command
I2C_PM

APPS_I2C  (GPIO_4, GPIO_5)-> AOM-DB6700: I2C_PM

0x27: TCA9555PWR GPIO Expandor
0x2B: LT9611UXC(DSI to HDMI bridge)
(SW change to HDMI setting: /tools/cdt/emmcChangeToHDMI.sh or /tools/cdt/ufsChangeToHDMI.sh)
0x2E: TPM
0x32: RTC
0x50: EEPROM
0x53: EEPROM
0x6C: PCIe CLKGEN
0x71: ERP_MCU

# i2cdetect -y -r 1
I2C_PM 0x50: 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
I2C_A

I2C_A (GPIO_12, GPIO_13)-> AOM-DB6700: I2C_GP

0x0A: SGTL5000(Audio Codec)
(Use the /tools/cdt/ufsChangeToEDPwithSGTL5000.sh or /tools/cdt/emmcChangeToEDPwithSGTL5000.sh script to change the dtb)
0x27: TCA9555PWR GPIO Expandor
0x57: EEPROM

# i2cdetect -y -r 3

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

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