Test Report vB0049

From ESS-WIKI
Jump to: navigation, search
    Project Test Image Version      
    RSB-3720 Linux imx8mprsb3720a1 5.10.35-3720A1AIM40LIVB0049      
             
No Module Test Item Test Steps Remark Result Result Comment
1 CPU CPU Cores $ cat /proc/cpuinfo A53 x 4 PASS
CPU Max MHz $ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq 1800000 PASS
2 DDR Memory Size $ cat /proc/meminfo LPDDR4   6GB PASS MemTotal:        5748244 kB
Memory Clocks Check memory clock under boot loader N/A
DDR parameter Version Check info in bootloader PASS BL31: v2.4(release):lf-5.10.35-2.0.0-rc2-0-gec35fef92-dirty
U-Boot 2021.04-3720A1AIM40LIVB0049+g84d81e0e56
3 Stress Test Stress Test Refer to /tools/stress.sh Need to verify w/o cooling  PASS 12 hours pass
4 SD Card Access Mount and read/write/verify data under kernel PASS
Write Protect Check WP function N/A Default Off
5 Additional SD Slot Access Mount and read/write/verify data under kernel N/A
Write Protect Check WP function N/A
6 eMMC eMMC 16GB Write/Read/Verify data in the start/end 4 byte of flash PASS
7 Debug UART UART 4 A53 control:
$ stty -F /dev/ttymxc3 -echo -onlcr 115200
$ cat /dev/ttymxc3 &
$ echo "Serial Port Test" > /dev/ttymxc3
M7_Debug:
(1) emmc boot:
U-Boot > fatload mmc 2:1 0x48000000 imx8mp_m7_TCM_hello_world.bin;cp.b 0x48000000 0x7e0000 20000;
U-Boot > bootaux 0x7e0000
(2) sd card boot:
U-Boot > fatload mmc 1:1 0x48000000 imx8mp_m7_TCM_hello_world.bin;cp.b 0x48000000 0x7e0000 20000;
U-Boot > bootaux 0x7e0000
A53 control: /dev/ttymxc3
or
M7_Debug
2 wire (EXTENSION I/O B - COM4)
UIO4032 COM_4
PASS
UART 3 A53_Debug
4 wire (COM1 Pin Header)
PASS
8 RS-232 UART 1 bcm43xx:
$ hciattach /dev/ttymxc0 bcm43xx 115200 flow
4 wire (M.2)
/dev/ttymxc0
PASS verify with AW-NB136NF
UART 2 $ stty -F /dev/ttymxc1 -echo -onlcr 115200
$ cat /dev/ttymxc1 &
$ echo "Serial Port Test" > /dev/ttymxc1
2 wire (EXTENSION I/O B - COM2)
UIO4032 COM_3
/dev/ttymxc1
PASS
9 RS-485/422 UART 3 1. Test RS-485 with Adam-4520. Adam-4520 Pin Data- and Pin Data+ connect to RSB-3720 COM1 Pin 1: COM_DCD and Pin 3: COM_RXD
2. Test RS-422 with Adam-4520. Adam-4520 RX- <-->DB9 Pin 1, Adam-4520 RX+ <-->DB9 Pin 2, Adam-4520 TX- <-->DB9 Pin 4, Adam-4520 TX+ <--> DB9 Pin 3
$ stty -F /dev/ttymxc2 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
$ cat /dev/ttymxc2 &
$ echo "Serial Test" > /dev/ttymxc2
4 wire (COM1 Pin Header)
Set GPIO#496, #497
Set to 0,1 for RS-485
Set to 1,1 for RS-422
Set to 0,0 for loopback
Set to 1,0 for RS-232
Remember to set up RS-485 before test. RS-422 don't need to set up the following setting.
$ ./enable485 /dev/ttymxc2
PASS echo 496 > /sys/class/gpio/export
echo 497 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio1/direction
echo out > /sys/class/gpio/gpio2/direction
echo 0 > /sys/class/gpio/gpio1/value
echo 1 > /sys/class/gpio/gpio2/value
N/A N/A
N/A N/A
N/A N/A
10 SPI Bus QSPI 0A Write/Read/Verify data in the start/end 4 byte of flash
Note:Make sure the content of SPI nor flash is erased

$ echo -n $'\x06\x05\x04\x03\x02\x01' > test
$ dd if=test of=/dev/mtd0
$ hexdump -C /dev/mtd0 -n 64
SPI Rom PASS
N/A N/A
N/A N/A
N/A N/A
N/A N/A
11 GPIO GPIO pins Set direction (in/out) and value (0/1) 10 pins
[EXTENSION I/O A]
pin#2: gpio 501
pin#4: gpio 503
[EXTENSION I/O B]
pin#5: gpio 504
pin#6: gpio 505
pin#7: gpio 506
pin#8: gpio 507
pin#9: gpio 508
pin#10: gpio 509
pin#11: gpio 139
pin#12: gpio 138
PASS echo 501 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio1/direction
echo 1 > /sys/class/gpio/gpio1/value
12 PCIe N/A Device detect under kernel M.2 PASS lspci (EWM-163)
13 M.2 UART 1 bcm43xx:
$ hciattach /dev/ttymxc0 bcm43xx 115200 flow
PASS verify with AW-NB136NF
SDIO dmesg | grep SDIO
=> mmc0: new ultra high speed SDR104 SDIO card at address 0001
PASS verify with EWM-W169M201E
PCIe 3.0 lspci PASS Verify with EWM-W163
USB 2.0 PASS Verify with EWM-W163
I2S SAI2   No test equipment
14 3G Modules stty -F /dev/ttyACM0 -echo
cat /dev/ttyACM0 &
echo AT+csq > /dev/ttyACM0
echo AT+cops? > /dev/ttyACM0
echo AT+cgdcont? > /dev/ttyACM0

pppd connect 'chat -v -s -t 10 "" "AT" "" "ATDT*99***4#" "CONNECT" ""' user username password password /dev/ttyACM2 460800 nodetach crtscts debug usepeerdns defaultroute &
PASS Verify with EWM-C117FL06E
15 WiFi Modules $ ifconfig wlan0 up
$ wpa_passphrase ASUS-917C qwert12345 > /tmp/wpa.conf && wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf
$ udhcpc -b -i wlan0
PASS Verify with EWM-W163M201E
16 BT Modules $ hciconfig hci0 up
$ bluetoothctl
$ discoverable on
$ pairable on
$ scan on
[NEW] FC:18:3C:8D:75:F4 myphone
$ scan off
$ pair FC:18:3C:8D:75:F4
$ connect FC:18:3C:8D:75:F4
PASS Verify with EWM-W163M201E
17 Ethernet (Giga) Lan 1 1. Check IP & DHCP
2. Throughput
$ iperf3 -c 192.168.0.2 -t 60 -i 10
PASS AR8035
(Giga) Lan 2 PASS AR8035
18 LED N/A LED Status: Detect gpio signal
LED ON: echo 255 > /sys/class/leds/user/brightness
LED OFF: echo 0 > /sys/class/leds/user/brightness
PASS
19 USB USB Port 1 USB disk write/read/verify pattern EXTENSION I/O A PASS
USB Port 2 EXTENSION I/O A PASS
USB Port 3 EXTENSION I/O A PASS
USB Port 5 USB 3.0 Type A PASS
USB Port 6 USB 2.0 Type A PASS
USB Port 7 M.2 PASS lsusb (EWM-163)
USB Port 8 MINI CARD PASS lsusb (EWM-C117FL06E)
20 USB OTG USB OTG 1. Host: USB disk write/read/verify pattern
2. Client: PC/NB can detect the device
USB0 (USB_OTG1) N/A
21 HDMI HDMI 1.4 Display to HDMI screen PASS
22 VGA N/A Display to VGA screen N/A
23 LVDS LVDS 0 Display to 1st LVDS screen uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds0-auo.dtb; boot PASS
LVDS 1 Display to 2st LVDS screen uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds1-auo.dtb; boot PASS
Dual Channel(LVDS0+LVDS1) Modify DTS for dual channel LVDS uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds-dual.dtb; boot PASS
24 MIPI DSI DSI 1 MIPI DSI to HDMI Bridge uboot: setenv fdtfile imx8mp-rsb3720-a1-adv7535.dtb; boot PASS
MIPI DSI Panel uboot: setenv fdtfile imx8mp-rsb3720-a1-auog101uan02.dtb; boot PASS
N/A N/A
25 Multi-Display HDMI+LVDS0 All display interfaces should work at the same time uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds0-auo.dtb; boot PASS
HDMI+LVDS1 All display interfaces should work at the same time uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds1-auo.dtb; boot PASS
HDMI+Dual LVDS All display interfaces should work at the same time uboot: setenv fdtfile imx8mp-rsb3720-a1-lvds-dual.dtb; boot PASS
HDMI+DSI 1 to HDMI Bridge All display interfaces should work at the same time uboot: setenv fdtfile imx8mp-rsb3720-a1-adv7535.dtb; boot PASS
HDMI+DSI 1 Panel All display interfaces should work at the same time uboot: setenv fdtfile imx8mp-rsb3720-a1-auog101uan02.dtb; boot PASS
26 I2C I2C 0 1. Support function from I2C
2. Write/Read/Verify eeprom Hi/Low byte
CODEC: 0x0A
PMIC: 0x25
WDT MCU: 0x29
TPM: 0x2E
RTC: 0x30-0x37
M.2:
LVDS: 0x50-0x57
IO_EXP: 0x70-0x71
0x70-
gpio 496: UART3_MODE0
gpio 497: UART3_MODE1
gpio 498: UART3_SLEW
gpio 499: UART3_TERM
gpio 501: GPIO2
gpio 503: GPIO4
0x71-
gpio 504: GPIO5
gpio 505: GPIO6
gpio 506: GPIO7
gpio 507: GPIO8
gpio 508: GPIO9
gpio 509: GPIO10
gpio 510: GPIO11
gpio 511: GPIO12
PASS
I2C 1 CSI1: 0x3c - ov5640 camera PASS
I2C 2 CSI2: 0x3c - ov5640 camera PASS
I2C 3 UIO Board: 0x50: EEPROM
/sys/bus/i2c/devices/3-0050/eeprom
$ echo -n $'\x06\x05\x04\x03\x02\x01' > test
$ dd if=test of=/sys/bus/i2c/devices/3-0050/eeprom
$ hexdump -C /sys/bus/i2c/devices/3-0050/eeprom -n 64
PASS
27 I2C Switch N/A 1. Support function from I2C
2. Write/Read/Verify eeprom Hi/Low byte
N/A
N/A N/A
N/A N/A
N/A N/A
28 RTC RTC external $ date MMDDhhmm[[CC]YY][.ss]
$ hwclock -w
$ ntpdate tw.pool.ntp.org
SEIKO S-35390A PASS
RTC internal imx_sc_rtc N/A
29 Audio HDMI Audio $ aplay -D plughw:0,0 Advantech.wav PASS
Line-Out/Speaker $ aplay -D plughw:1,0 Advantech.wav PASS
Mic-In $ arecord -D plughw:1,0 -r 16000 -f S16_LE ./f-16000.wav PASS
30 SPDIF N/A Audio output N/A
31 WATCHDOG External Watchdog 1. Watchdog Function Test Data
(1) Timeout 10S:
# /unit_tests/Watchdog/wdt_driver_test.out 10 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C ==> System will reboot after 10 sec. Watchdog does not refresh after it timeout.

(2) Timeout 20S:
# /unit_tests/Watchdog/wdt_driver_test.out 20 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C ==> System will reboot after 20 sec. Watchdog does not refresh after it timeout.

(3) Timeout 50S:
# /unit_tests/Watchdog/wdt_driver_test.out 50 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C? ==> System will reboot after 50 sec. Watchdog does not refresh after it timeout.

(4) Timeout 100S:
# /unit_tests/Watchdog/wdt_driver_test.out 100 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C ==> System will reboot after 100 sec. Watchdog does not refresh after it timeout.
TI_MSP430G2202IRSA16R PASS
2. Cold Reset and Second Stage 300s Test
(1) switch boot strap to emmc boot up and boot up the system
(2) enable watchdog triger:
# /unit_tests/Watchdog/wdt_driver_test.out 2 1 0 &
(3) switch boot strap to sd boot up fail (no sd card image)
(4) force kernel panic:
# echo c > /proc/sysrq-trigger
(5) switch boot strap to emmc boot up
(6) System will reboot after 300s.
PASS
3. I2C bus stress for 8hour
# /tools/wdt_test/wdt_i2c_stress_test 2 1 0 &
# /tools/wdt_test/pmic_i2c_stress_test.sh &
PASS
4. Reboot 1000Times Test
# cp /tools/wdt_test/boottimes.sh /tools/
# rm /etc/boottimes
# reboot
If test pass => you can see the message in the log:
Boot Times:1000
PASS
32 Camera MIPI CSI0 Preview:
$gst-launch-1.0 v4l2src device=/dev/video2 ! 'video/x-raw,width=640,height=480' ! autovideosink
Snapshot:
$gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=2 ! jpegenc ! multifilesink location=sample0.jpeg max-files=1
OV5640 Camera - 2 lane PASS
Preview:
$gst-launch-1.0 -v v4l2src device=/dev/video2 ! waylandsink
Snapshot:
gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=2 ! jpegenc ! multifilesink location=sample0.jpeg max-files=1
Basler Camera - 4 lane
4k - uboot: setenv fdtfile imx8mp-rsb3720-a1-basler.dtb; boot
1080p - uboot: setenv fdtfile imx8mp-rsb3720-a1-dual-basler.dtb; boot
PASS
MIPI CSI1 Preview:
$gst-launch-1.0 v4l2src device=/dev/video3 ! 'video/x-raw,width=640,height=480' ! autovideosink
Snapshot:
$gst-launch-1.0 v4l2src device=/dev/video3 num-buffers=2 ! jpegenc ! multifilesink location=sample1.jpeg max-files=1
OV5640 Camera - 2 lane PASS
Preview:
$gst-launch-1.0 -v v4l2src device=/dev/video3 ! waylandsink
Snapshot:
gst-launch-1.0 v4l2src device=/dev/video3 num-buffers=2 ! jpegenc ! multifilesink location=sample0.jpeg max-files=1
Basler Camera - 4 lane
1080p - uboot: setenv fdtfile imx8mp-rsb3720-a1-dual-basler.dtb; boot
PASS
33 Keypad N/A 1. Detect 16 buttons
2. Verify each button event
N/A
34 Key & Button N/A Power on/off test N/A
N/A $ evtest N/A
N/A $ evtest N/A
N/A Detect gpio signal key_event N/A
N/A Detect gpio signal N/A
Reset Button Reset system PASS
N/A Close backlight N/A
35 Multi-Boot Selection Boot Select Switch EMMC or Carrier SD or Carrier SPI 1. QSPI Boot(boot switch: 1-off, 2-on, 3-on, 4-off): Need the imx-boot-imx8mprsb3720a1-fspi.bin-flash_evk_flexspi file
2. command: dd if=imx-boot-imx8mprsb3720a1-FSPI_6G.bin-flash_evk_flexspi of=/dev/mtdblock0 bs=1K seek=0 conv=fsync
PASS
36 Recovery & Rescue Downalod via USB OTG $ uuu -b emmc_all bootloader rootfs.sdcard N/A
37 MCU N/A MCU integration N/A
38 PMIC Vendor Solution Power sequence or GPIO or other configurations N/A
39 Battery & Charging Battery EC $ cat /sys/class/power_supply/bms/uevent N/A
40 CAN Bus CAN 1 $ ip link set can0 up type can bitrate 125000
$ ifconfig can0 up
$ ip link set can1 up type can bitrate 125000
$ ifconfig can1 up

$ candump can0 &
$ cansend can1 1F334455#1122334455667788
UIO-4034 CAN Pin 2 and Pin 7 connect to RSB-3720 COM1 Pin 8 and Pin 2 PASS
CAN 2 PASS
41 SATA N/A Mount and read/write/verify data under kernel N/A
42 System Bus N/A Test two uart ports N/A
43 IR Controller N/A Verify each button event N/A
44 GPS N/A Set correct date/time before test

sudo apt-get install gpsd-clients gnss-gpsd

$ systemctl start gpsd.socket
$ systemctl start gpsd
$ systemctl start qdsp-start
$ systemctl start gnss-gpsd
$ gpsmon

If you have DNS problem, you can try commands below.
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
sudo apt-get updat
To stop GPS hardware, follow the instructions:
1. close gpsmon
2. systemctl stop gnss-gpsd

To restart GPS hardware, follow the instructions:
1. systemctl start gnss-gpsd
2. close gpsmon
N/A
45 Warm Reboot Warm Reboot Software reboot PASS
46 Security Boot NXP HAB Depends on platforms N/A
47 TPM Trust Platform Module tpm_test.bin PASS

 

    Project Test Image Version      
    ROM-5722 inux imx8mprom5722a1 5.10.35-5722A1AIM40LIVB0049      
             
             
No Module Test Item Test Steps Remark Result Result Comment
1 CPU CPU Cores $ cat /proc/cpuinfo A35 x 4 PASS
CPU Max MHz $ cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq 1800000 PASS
2 DDR Memory Size $ cat /proc/meminfo LPDDR4   6GB PASS MemTotal:        5748236 kB
Memory Clocks Check memory clock under boot loader N/A
DDR parameter Version Check info in bootloader PASS ATF: lf-5.10.35-2.0.0-rc2-0
U-Boot: 2021.04-5722A1AIM40LIVB0049
3 Stress Test Stress Test Refer to /tools/stress.sh Need to verify w/o cooling  PASS 12 hr pass
4 SD Card Access Mount and read/write/verify data under kernel SOM-DB2510 J15~J21 (1 and 2: M.2, 2 and 3: SD) PASS
Write Protect Check WP function PASS Test with ROM-DB5901
5 Additional SD Slot Access Mount and read/write/verify data under kernel N/A
Write Protect Check WP function N/A
6 eMMC eMMC 16GB Write/Read/Verify data in the start/end 4 byte of flash PASS
7 Debug UART Debug UART Select Disable/Enable debug message
Change the ROM-5722 SW1 switch
PASS Disable debug message: reserve the debug uart message of uboot
UART 2 System output and input 2 wire (COM2) PASS
UART 4 M7_Debug:
(1) emmc boot:
U-Boot > fatload mmc 2:1 0x48000000 imx8mp_m7_TCM_hello_world.bin;cp.b 0x48000000 0x7e0000 20000;
U-Boot > bootaux 0x7e0000
(2) sd card boot:
U-Boot > fatload mmc 1:1 0x48000000 imx8mp_m7_TCM_hello_world.bin;cp.b 0x48000000 0x7e0000 20000;
U-Boot > bootaux 0x7e0000
2 wire (COM4) PASS
8 RS-232 UART 1 UART 1: Change the SOM-DB2510 SW1 jumper to switch modes. (10: 232)
UART 2: Change the ROM-5722 SW1 switch to 1-on
UART 3: Change the SOM-DB2510 SW2 jumper to switch modes. (10: 232)

$ stty -F /dev/ttymxc0 -echo -onlcr 115200
$ cat /dev/ttymxc0 &
$ echo "Serial Port Test" > /dev/ttymxc0
4 wire (COM1) /dev/ttymxc0 PASS
UART 2 2 wire (COM2) /dev/ttymxc1 PASS
UART 3 4 wire (COM3 / M.2) /dev/ttymxc2 PASS
UART 4 2 wire (COM4) /dev/ttymxc3 PASS
9 RS-485/422 UART 1 Change the SOM-DB2510 SW1 and SW2 jumper to switch modes. (01: 485, 11: 422)
1. Test RS-485 with Adam-4520. Adam-4520 Pin Data- and Pin Data+ connect to DB9 Pin1 and Pin 2
2. Test RS-422 with Adam-4520. Adam-4520 RX- <-->DB9 Pin 1, Adam-4520 RX+ <-->DB9 Pin 2, Adam-4520 TX- <-->DB9 Pin 4, Adam-4520 TX+ <--> DB9 Pin 3
Remember to set up RS-485 before test.
$ stty -F /dev/ttymxc0 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
$ ./enable485 /dev/ttymxc0
$ stty -F /dev/ttymxc0 speed 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke
$ cat /dev/ttymxc0 &
$ echo "Serial Test" > /dev/ttymxc0
4 wire (COM1) /dev/ttymxc0 PASS
UART 3 4 wire (COM3 / M.2) /dev/ttymxc2 PASS
N/A N/A
N/A N/A
10 SPI Bus QSPI 0A 1. SPI 0:
SOM-DB2510 J24: SPI_BIOS1 chip selection (1 and 2: CS0, 2 and 3: CS1)
SOM-DB2510 J49: SPI_BIOS2 chip selection (1 and 2: CS0, 2 and 3: CS1)
SOM-DB2510 J46, J47, J48: SPI_BIOS selection (1 and 2: SPI_BIOS1, 2 and 3: SPI_BIOS2)
2. SPI 1:
SOM-DB2510 CN10

Write/Read/Verify data in the start/end 4 byte of flash
Note:Make sure the content of SPI nor flash is erased

$ echo -n $'\x06\x05\x04\x03\x02\x01' > test
$ dd if=test of=/dev/mtd0
$ hexdump -C /dev/mtd0 -n 64
PASS
SPI 0 SPI0_CS0 && SPI0_CS1 PASS
SPI 1 SPI1_CS0 && SPI1_CS1 PASS
N/A N/A
N/A N/A
11 GPIO GPIO pins Set direction (in/out) and value (0/1) SOM-DB2510 CN9 14 pins, GPIO_0~GPIO_6, GPIO_10 jumper to 1 and 2
pin#0: gpio 114, pin#1: gpio 115
pin#2: gpio 124, pin#3: gpio 125
pin#4: gpio 123, pin#5: gpio 133
pin#6: gpio 154, pin#7: gpio 155
pin#8: gpio 506, pin#9: gpio 507
pin#10: gpio 508, pin#11: gpio 509
pin#12: gpio 510, pin#13: gpio 511
PASS echo 114 > /sys/class/gpio/export
echo 115 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio1/direction
echo out > /sys/class/gpio/gpio2/direction
echo 0 > /sys/class/gpio/gpio1/value
echo 1 > /sys/class/gpio/gpio2/value
12 PCIe PCIe Mini Half Solt Device detect under kernel lspci PASS Verify with EWM-W189H02E
N/A N/A
13 M.2 UART 3 uboot:
=> setenv fdtfile imx8mp-rom5722-a1-m2-sdio.dtb; boot
SOM-DB2510: /opt/rtl8723bs_bt# ./start_bt.sh ttymxc0
PASS verify with EWM-W167M201E
SDIO uboot:
=> setenv fdtfile imx8mp-rom5722-a1-m2-sdio.dtb; boot
SOM-DB2510: Need to switch J15~J21 to 1,2 PASS verify with EWM-W167M201E
PCIe 3.0 lspci PASS verify with EWM-W163M201E, Test with ROM-DB5901
USB 2.0 hciconfig USB1 (USB_OTG2 + SMSC_USB2512) PASS verify with EWM-W163M201E
I2S Test the SOM-DB2510 CN5 PASS
14 3G Modules stty -F /dev/ttyACM0 -echo
cat /dev/ttyACM0 &
echo AT+csq > /dev/ttyACM0
echo AT+cops? > /dev/ttyACM0
echo AT+cgdcont? > /dev/ttyACM0

pppd connect 'chat -v -s -t 10 "" "AT" "" "ATDT*99***4#" "CONNECT" ""' user username password password /dev/ttyACM2 460800 nodetach crtscts debug usepeerdns defaultroute &
PASS Verify with EWM-C117FL06E
15 WiFi Modules $ ifconfig wlan0 up
$ wpa_passphrase ${SSID} ${WPA_KEY} > /tmp/wpa.conf
$ wpa_supplicant -BDwext -iwlan0 -c/tmp/wpa.conf
$ udhcpc -b -i wlan0
PASS Verify with EWM-167, EWM-W189H02E
16 BT Modules $ hciconfig hci0 up
$ bluetoothctl
$ discoverable on
$ pairable on
$ scan on
[NEW] FC:18:3C:8D:75:F4 myphone
$ scan off
$ pair FC:18:3C:8D:75:F4
$ connect FC:18:3C:8D:75:F4
PASS Verify with EWM-163, EWM-167, EWM-W189H02E
17 Ethernet (Giga) Lan 1 1. Check IP & DHCP
2. Throughput
$ iperf3 -c 192.168.0.2 -t 60 -i 10
AR8035 PASS
(Giga) Lan 2 AR8035 PASS
18 LED N/A LED Status: Detect gpio signal N/A
19 USB USB Port 1 USB disk write/read/verify pattern USB 2.0 PASS
USB Port 2 USB 2.0 + USB 3.0 PASS
USB Port 3 TypeC PASS
N/A N/A
N/A N/A
N/A N/A
N/A N/A
20 USB OTG USB OTG 1. Host: USB disk write/read/verify pattern
2. Client: PC/NB can detect the device
USB0 (USB_OTG1) PASS
21 HDMI N/A Display to HDMI screen PASS
22 VGA N/A Display to VGA screen N/A
23 LVDS LVDS 0 Display to 1st LVDS screen uboot: setenv fdtfile imx8mp-rom5722-a1-lvds0-auo.dtb; boot PASS Verify with G070VW01
LVDS 1 Display to 2st LVDS screen uboot: setenv fdtfile imx8mp-rom5722-a1-lvds1-auo.dtb; boot PASS Verify with G070VW01
Dual Channel(LVDS0+LVDS1) Modify DTS for dual channel LVDS uboot: setenv fdtfile imx8mp-rom5722-a1-lvds-dual.dtb; boot PASS Verify with G215HVN01.0
24 MIPI DSI N/A N/A
DSI 1 MIPI DSI to HDMI Bridge uboot: setenv fdtfile imx8mp-rom5722-a1-adv7535.dtb; boot PASS Verify with MIPI to HDMI bridge: adv7535
MIPI DSI Panel uboot: setenv fdtfile imx8mp-rom5722-a1-auog101uan02.dtb; boot PASS Verify with MIPI DSI Panel: auog101uan02
25 Multi-Display 2 displays All display interfaces should work at the same time PASS
26 I2C I2C 0 1. Support function from I2C
2. Write/Read/Verify eeprom Hi/Low byte
0x25: PMIC
0x29: WDT
0x30: RTC
0x2E: TPM
0x70: I/O Expander
- gpio 498: CHARGER#
- gpio 499: CHARGER_PRSNT#
- gpio 500: BATLOW#
- gpio 501: TEST#
- gpio 502: LID#
- gpio 503: SLEEP#
0x71: I/O Expander
- gpio 504: TPM_PRESENSE_1V8
- gpio 505: TPM_IRQ#_1V8
- gpio 506: GPIO8
- gpio 507: GPIO9
- gpio 508: GPIO10
- gpio 509: GPIO11
- gpio 510: GPIO12
- gpio 511: GPIO13
PASS
I2C 1 0x3C: Camera PASS
I2C 2 0x3C: Camera PASS
I2C 3 I2C_LCD PASS
I2C 4 0x57: EEPROM
/sys/bus/i2c/devices/4-0057/eeprom
0x70: I/O Expander
- gpio 488: W_DISABLE1#
- gpio 489: W_DISABLE2#
- gpio 490: BT_WAKE#
- gpio 491: M2_SDIO_WAKE#
- gpio 492: M2_SDIO_RST#
- gpio 495: CCG5_I2C_INT
PASS
I2C 5 0x08: USB CYPRESS_CYPD5126
0x0B: Battery
PASS
27 I2C Switch N/A 1. Support function from I2C
2. Write/Read/Verify eeprom Hi/Low byte
N/A
N/A N/A
N/A N/A
N/A N/A
28 RTC RTC external $ date MMDDhhmm[[CC]YY][.ss]
$ hwclock -w
$ ntpdate tw.pool.ntp.org
EPSON_RX-8900CE-UB PASS
RTC internal imx_sc_rtc PASS
29 Audio HDMI Audio $ aplay -D plughw:0,0 Advantech.wav
$ aplay -D plughw:1,0 Advantech.wav
PASS
Line-Out/Speaker CN5 need to change the dts, default is  CN17
CN5 & CN17
J26: no jumper
SW3: 1-off, 2-on
CN17:
1. LOUT1+MIC1: J50~J53 jumper to 1 and 3
2. LINEOUT_1+MIC_1: J50~J53 jumper to 3 and 5
CN5:
1. LOUT1+MIC1: J50~J53 jumper to 4 and 6
2. LINEOUT_1+MIC_1: J50~J53 jumper to 2 and 4
PASS
Mic-In $ arecord -D plughw:1,0 -r 16000 -f S16_LE ./f-16000.wav CN5 need to change the dts, default is  CN17
CN5 & CN17
J26: no jumper
SW3: 1-off, 2-on
CN17:
1. LOUT1+MIC1: J50~J53 jumper to 1 and 3
2. LINEOUT_1+MIC_1: J50~J53 jumper to 3 and 5
CN5:
1. LOUT1+MIC1: J50~J53 jumper to 4 and 6
2. LINEOUT_1+MIC_1: J50~J53 jumper to 2 and 4
PASS
30 SPDIF N/A Audio output N/A
31 WATCHDOG External Watchdog 1. Watchdog Function Test Data
(1) Timeout 10S:
# /unit_tests/Watchdog/wdt_driver_test.out 10 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C ==> System will reboot after 10 sec. Watchdog does not refresh after it timeout.

(2) Timeout 20S:
# /unit_tests/Watchdog/wdt_driver_test.out 20 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C ==> System will reboot after 20 sec. Watchdog does not refresh after it timeout.

(3) Timeout 50S:
# /unit_tests/Watchdog/wdt_driver_test.out 50 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C? ==> System will reboot after 50 sec. Watchdog does not refresh after it timeout.

(4) Timeout 100S:
# /unit_tests/Watchdog/wdt_driver_test.out 100 1 0 ==> System will not reboot. Watchdog can be refreshed when feed dog before it timeout.
# Ctrl + C ==> System will reboot after 100 sec. Watchdog does not refresh after it timeout.
TI_MSP430G2202IRSA16R PASS
2. Cold Reset and Second Stage 300s Test
(1) switch boot strap to emmc boot up and boot up the system
(2) enable watchdog triger:
# /unit_tests/Watchdog/wdt_driver_test.out 2 1 0 &
(3) switch boot strap to sd boot up fail (no sd card image)
(4) force kernel panic:
# echo c > /proc/sysrq-trigger
(5) switch boot strap to emmc boot up
(6) System will reboot after 300s.
PASS
3. I2C bus stress for 8hour
# /tools/wdt_test/wdt_i2c_stress_test 2 1 0 &
# /tools/wdt_test/pmic_i2c_stress_test.sh &
PASS
4. Reboot 1000Times Test
# cp /tools/wdt_test/boottimes.sh /tools/
# rm /etc/boottimes
# reboot
If test pass => you can see the message in the log:
Boot Times:1000
PASS
32 Camera MIPI CSI0 Preview:
$gst-launch-1.0 v4l2src device=/dev/video3 ! 'video/x-raw,width=640,height=480' ! autovideosink
Snapshot:
$gst-launch-1.0 v4l2src device=/dev/video3 num-buffers=3 ! jpegenc ! multifilesink location=sample0.jpeg max-files=1
OV5640 Camera - 2 lane PASS
MIPI CSI1 Preview:
$gst-launch-1.0 v4l2src device=/dev/video2 ! 'video/x-raw,width=640,height=480' ! autovideosink
Snapshot:
$gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=3 ! jpegenc ! multifilesink location=sample1.jpeg max-files=1
OV5640 Camera - 2 lane PASS
Preview:
$gst-launch-1.0 -v v4l2src device=/dev/video2 ! waylandsink
Snapshot:
gst-launch-1.0 v4l2src device=/dev/video2 num-buffers=6 ! jpegenc ! multifilesink location=sample0.jpeg max-files=1
Basler Camera - 4 lane
uboot: setenv fdtfile imx8mp-rom5722-a1-basler.dtb; boot
PASS
33 Keypad N/A 1. Detect 16 buttons
2. Verify each button event
N/A
34 Key & Button Power Button Power on/off test PASS
N/A $ evtest N/A
N/A $ evtest N/A
Sleep Button Detect gpio signal key_event PASS
N/A Detect gpio signal N/A
Reset Button Reset system PASS
LID Button PASS
35 Multi-Boot Selection Boot Select Switch EMMC or Carrier SD or Carrier SPI QSPI boot: dd if=imx-boot-imx8mprom5722a1-FSPI_6G.bin-flash_evk_flexspi of=/dev/mtdblock0 bs=1K seek=0 conv=fsync PASS SD: OK
EMMC: OK
QSPI:  OK
36 Recovery & Rescue Downalod via USB OTG $ uuu -b emmc_all bootloader rootfs.sdcard PASS
37 MCU N/A MCU integration N/A
38 PMIC Vendor Solution Power sequence or GPIO or other configurations N/A
39 Battery & Charging Battery EC $ cat /sys/class/power_supply/bms/uevent PASS
40 CAN Bus CAN 1 $ ip link set can0 up type can bitrate 125000
$ ifconfig can0 up
$ ip link set can1 up type can bitrate 125000
$ ifconfig can1 up

$ candump can0 &
$ cansend can1 1F334455#1122334455667788
PASS
CAN 2 PASS
41 SATA N/A Mount and read/write/verify data under kernel N/A
42 System Bus N/A Test two uart ports N/A
43 IR Controller N/A Verify each button event N/A
44 GPS N/A Set correct date/time before test

sudo apt-get install gpsd-clients gnss-gpsd

$ systemctl start gpsd.socket
$ systemctl start gpsd
$ systemctl start qdsp-start
$ systemctl start gnss-gpsd
$ gpsmon

If you have DNS problem, you can try commands below.
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
sudo apt-get updat
To stop GPS hardware, follow the instructions:
1. close gpsmon
2. systemctl stop gnss-gpsd

To restart GPS hardware, follow the instructions:
1. systemctl start gnss-gpsd
2. close gpsmon
N/A
45 Warm Reboot Warm Reboot Software reboot PASS
46 Security Boot NXP HAB Depends on platforms N/A
47 TPM Trust Platform Module tpm_test.bin PASS