AM62x SK EVM
Introduction
The AM62x starter kit (SK) evaluation module (EVM) is a stand-alone test and development platform built around the AM62x (SoC).
There are many hardware revisions available for this EVM, mainly 2 families:
AM62x SK EVM
AM62x Low Power (LP) SK EVM
Both families are supported in Android using the same lunch target.
Each families can also have slightly different SoCs, based on security:
GP (Global Purpose)
HS-FS (High Secure, Field Securable)
Initial flashing procedure
Flashing Android the first time requires booting from DFU.
First, make sure to install snagboot
following
the official instructions
Make sure to install the udev rules as documented:
$ snagrecover --udev > 50-snagboot.rules
$ sudo cp 50-snagboot.rules /etc/udev/rules.d/
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
Then, the following steps are required:
Change
BOOTMODE
DIP switches for DFU (USB) boot:Switch Label
SW2: 12345678
SW3: 12345678
USB DFU
00000000
11001010
For E1 revision, make sure to set
SW1: 01001010
instead.Ensure the device is plugged in with USB Host and Debug UART/Serial Debug.
The board should be setup as follow:
Open a terminal debugger to view console output from the device:
$ sudo picocom -b 115200 -r -l /dev/ttyUSB0
Run
snagrecover
# for AM62x SK EVM (GP) $ snagrecover -s am625 -f ./am62x-sk-evm.yaml # for AM62x SK EVM (HS-FS) $ snagrecover -s am625 -f ./am62x-sk-evm-hsfs.yaml # for AM62x LP SK EVM (GP) $ snagrecover -s am625 -f ./am62x-lp-sk-evm.yaml # for AM62x LP SK EVM (HS-FS) $ snagrecover -s am625 -f am62x-lp-sk-evm-hsfs.yaml
In the serial console, you will see some logs ending with:
SYSFW ABI: 3.1 (firmware rev 0x0009 '9.0.5--v09.00.05 (Kool Koala)') SPL initial stack usage: 1856 bytes MMC: no card present ** Bad device specification mmc 1 ** Couldn't find partition mmc 1:1 Error: could not access storage. Trying to boot from DFU
Type
Ctrl-C
in the serial console to continue to U-Boot. Then hit any key to halt on the U-Boot prompt.Make sure the default U-Boot environment is configured
=> env default -a -f => saveenv
Start fastboot
=> fastboot usb 0
In a different terminal, change directory to
out/target/product/am62x
and run theflashall.sh
script:$ cd out/target/product/am62x # for AM62x SK EVM (GP) $ sudo ./flashall.sh --board am62x-sk # for AM62x SK EVM (HS-FS) $ sudo ./flashall.sh --board am62x-sk --hsfs # for AM62x LP SK EVM (GP) $ sudo ./flashall.sh --board am62x-lp-sk # for AM62x LP SK EVM (HS-FS) $ sudo ./flashall.sh --board am62x-lp-sk --hsfs
Change Boot mode DIP switches to boot from eMMC UDA mode and power cycle the board:
Switch Label
SW2: 12345678
SW3: 12345678
EMMC (with UDA)
00000000
11000010
Device Tree Overlays
Device Tree Overlays (DTBO) can be enabled from U-Boot when extra
peripherals are connected to the board.
DTBOs are board specific.
To configure dtbos, reboot to the U-Boot console and set
the adtbo_idx
environment variable.
=> env set adtbo_idx '2'
=> saveenv
Note
Enabling multiple DTBOs is not supported.
Here is the list of adtbo_idx
that is supported on AM62x SK EVM and its LP variant:
Index |
Description |
---|---|
0 |
HDMI audio output (bridge by shorting a (J24) header on the board.) |
1 |
Digilent PCam 5C OV5640 Camera |
2 |
TEVI-OV5640C-S84-IR-RPI Camera |
3 |
Microtips Technology USA 10.1” WUXGA (1920x1200) OLDI panel |
4 |
Enable MAIN and MCU GPIO + CANUART wakeup source |
5 |
for LP Microtips Technology USA 10.1” WUXGA (1920x1200) OLDI panel |
11 |
M.2-CC3301 WiFi board on the M.2 connector |
Touch support
To enable touch input on the am62x:
Power off the LVDS board by disconnecting the 12V barrel jack (do not power off the SK EVM)
Run the following commands from the Linux prompt:
# rmmod ili210x
# i2ctransfer -f -y 0 w3@0x3f 0x09 0x1 0x0e
# i2ctransfer -f -y 0 w6@0x3f 0x08 0x04 0x47 0x50 0x73 0x68
Power on the LVDS board
Run the following command:
insmod /vendor/lib/modules/ili210x.ko
After re-initializing the module, the touch IC should now be registered as an input and touch should be functional.
Note
This step needs to be done each time the board reboots.