Android 13 for Toradex Verdin i.MX8MP
Android 13 for Toradex Verdin iMX8M Plus¶
by Roberto Sartori
The Toradex Verdin iMX8M Plus is a small form-factor System on Module based on the NXP i.MX8M Plus SoC.
Kynetics, as part of the Toradex early access program, is released a new update for the Toradex Verdin i.MX8M Plus: the Android 13 evaluation BSP, compatible with the Dahlia carrier board. Please read carefully the compatibility checklist on the Release Notes. Toradex products are defined by their part number and some products may be not compatible with the provided BSP because of their different hardware configuration. The more common difference is the presence (or not) of the WiFi and Bluetooth module. Kynetics BSP are tested in SOM modules featuring WiFi and Bluetooth chips, if not explicititelly specified. Please make sure also that the version and the part number of the carrier board is what reported in the Release Notes.
Here are some important notes about our build:
- Android 13, U-Boot 2022.04, Linux Kernel 5.15
- Google GKI:
- December 2022 release from Google: https://source.android.com/docs/core/architecture/kernel/gki-android13-5_15-release-builds#december-2022-releases
- Based on NXP release: android-13.0.0_1.0.0
- Android Virtual A/B partition scheme is supported and enabled by default: https://source.android.com/docs/core/ota/virtual_ab
- Compatible with
- Toradex Verdin i.MX8M Plus V1.1A (PN: 00581100) with Dahlia Carrier board revision V1.1A (PN: 99981100)
- Toradex Verdin i.MX8M Plus V1.1A (PN: 00581100) with Dahlia Carrier board revision V1.1C (PN: 99981102)
- Compatible with any HDMI display using the native HDMI port on the Dahlia carrier board
- Userdebug build with permissive SELinux and disabled DM-Verity
- Application updates can be deployed using Update Factory: learn more about our Android client for Update Factory.
- This is an unsupported release. For commercial support please contact us.
The following peripherals have been tested and work as espected:
- Serial port from USB-C port DEBUG (X18)
- ADB and fastboot from USB-C port DRP (X3)
- FullHD HDMI display from the native HDMI port X21
- Audio output from the 3.5mm jack on connector X14
- Ethernet connectivity from ethernet rj45 connector X11
- Wifi and Bluetooth connectivity using the AzureWave AW-CM276NF Wifi/Bluetooth chip on the Verdin iMX8MP SOM
- USB Host functionalities from the X4 USB connectors
- Mouse, keyboards and USB drives are supported
- MicroSD cards can be used from SDCard slot X7
- SDCards formatted in FAT32 or exFAT are automatically mounted on Android
The build includes the following Kynetics applications:
- Update Factory Android Client app
- Serial TTY handler (Serial SDK Extension evaluation app)
- PWM handler (PWM SDK Extension evaluation app)
- SPI handler (SPI SDK Extension evaluation app)
- CAN bus handler (CAN SDK Extension evaluation app)
Update Factory is a cloud-based platform that provides a complete solution for over-the-air (OTA) software updates and device management for IoT devices. Update Factory supports various IoT devices and platforms, including Android, Linux, and FreeRTOS.
The following steps will guide you through the installation of Android 13 on the Verdin i.MX8M Plus.
- Toradex Verdin i.MX8MP 1.1A with the Dahlia carrier board 1.1A/1.1C
- SOM with wifi and bluetooth support, 4GB of RAM and 32GB of eMMC
- A USB drive formatted in FAT32 (at least 2 GB)
- A USB mouse
- A host computer running Windows or GNU/Linux
- A USB-A to USB-C cable - to load the Toradex Easy Installer
- The Verdin board running the Toradex Easy Installer
- Kynetics Android 13 Easy Installer archive, downloadable here
- Android platform tools installed on the host computer - Optional for debugging
- Download the Toradex Easy Installer archive for the Verdin iMX8MP here
- Unpack the Toradex Easy Installer archive in a directory on the host PC
- Unpack the Kynetics Android 13 Easy Installer archive in the USB drive
- Insert the USB drive in one of the USB port on the Dahlia carrier board
Part 1: load the Toradex Easy Installer¶
If your board is already running the Toradex Easy Installer, skip Part 1 and start from Part 2.
- Connect a USB-C cable to the USB-C DRP (X3) port from the Dahlia Carrier board to the host pc
- Press and keep pressing the RECOVERY button on the Dahlia Carrier board (the button is close to the USB-C DEBUG port)
- Power up the board
- Wait a couple of seconds, then release the RECOVERY button
- From the host Linux pc, enter in the directory with the unpacked Toradex Easy Installer archive and, on Windows (from a prompt with admin priviliges):
$ sudo ./recovery-linux.sh
- Wait for the Successfully downloaded Toradex Easy Installer message, that will indicate that the board is now booting the Toradex Easy Installer.
Part 2: flash Android¶
If you have skipped point 1, power up the board.
It is necessary to have the Toradex Easy Installer interface available: connect an HDMI display to the connector X21 on the Dahlia board.
From the Easy Installer interface, the RNDIS tab will show the Kynetics Android 13 for Verdin iMX8M Plus V1.1 image. Using a mouse, double click to flash it on the device. After the procedure is finished, reboot the board.
Android is now installed on the device.
Kynetics includes in this image different applications to help your evaluation. In particular Update Factory our SDK Extensions. SDK Extension apps can help you with testing and managing common peripherals from the Android userspace such as serial devices, GPIO and PWM. All example application sources are available on Kynetics Github.
Contact us for licensing questions.
- Update Factory
- Kynetics' artifact content and software update delivery platform
- TTY Serial handler:
- the Serial handler application. It is possible to read and write on the serial ports available as /dev/ttymxcX.
- PWM handler
- the PWM handler application to test the PWM functionality.
- SPI handler
- the SPI handler application to test the SPI functionality. On the Verdin iMX8M Plus, the /dev/spidev1.0 device is available to test.
- CAN bus handler
- the CAN handler application to test the CAN bus functionality.
More applications are available on Kynetics Github.
Enjoy the Art of Coding©