IoT Yocto v23.1 - 2023 Aug 18

IoT Yocto v23.1 release supports Genio SoC families based on Yocto Kirkstone and Linux 5.15. This page provides an overview of the major changes and new features in v23.1.

Supported Boards

This release supports following boards based on MT8365(Genio 350), MT8390(Genio 700), and MT8395(Genio 1200) MediaTek SoC families:

Board Name

MACHINE name for bitbake

Genio 700-EVK

  • genio-700-evk

Genio 1200-EVK

  • genio-1200-evk (EMMC boot)

  • genio-1200-evk-ufs (UFS boot)

Genio 350-EVK

  • genio-350-evk [1]

Prebuilt Images Download

Board

Prebuilt Image

MD5 Checksum

Genio 1200-EVK

download private image

1c89c127f9e07b4a85320abd22dde2ea

Genio 1200-EVK

download public image

aa225e5ffd7cebb088236557a68c0a49

Genio 350-EVK

download private image

2e51bdf8d3802acc0c37446d9167621e

Genio 350-EVK

download public image

c64488272e000dbc1e3ab196b3649c8e

Genio 700-EVK

download private image

5197e799a0e461eec0459f39787d3809

Genio 700-EVK

download public image

acfe0d73917a380889896a21ece06075

Please refer to Download Prebuilt Image page to extract and flash these image packages.

Public & Private Prebuilt Images

IoT Yocto v23.1 is available in two different packages groups:

  • You don’t need a GitLab account to download both private and public prebuilt images, but you need to agree to the Software License Agreement.

  • You don’t need a GitLab account to build the public image configurations.

  • You need a GitLab account and contracts to MediaTek to access and build the private image.

Public images are built with packages that are available without explicit access permissions to the GitLab group. This lacks some proprietary features, and some proprietary components are provided in binary-only format.

Private images, on the other hand, require access to private repositories in the GitLab group. In v23.1 release, the private image provides these additional features on top of the public configuration:

  • Security features on all Genio platforms, including:

    • eFuse writer and custom data field access

    • RPMB access API

  • Neuron SDK support on Genio 700 and Genio 1200

  • ISP for RAW sensors and YUV sensors support on Genio 700 and Genio 1200

  • Xtensa-ANN support on Genio 350

  • MT7663 proprietary Wi-Fi driver on Genio 350

  • MT7663 BlueDroid support and proprietary Bluetooth driver on Genio 350

Source Code Download

Important

Please read and agree the Software License Agreement before accessing or using IoT Yocto software. If you do not agree to the terms and conditions of the Software License Agreement, you must not access or use the software.

To download IoT Yocto recipes for v23.1 release, use the tag rity-kirkstone-v23.1 to download Yocto Kirkstone recipes for all Genio boards, including Genio 350 EVK, Genio 700 EVK, and Genio 1200 EVK:

repo init -u https://gitlab.com/mediatek/aiot/bsp/manifest.git -b refs/tags/rity-kirkstone-v23.1

To fetch source code and build images using these Yocto recipes, please refer to steps in Build from Source Code

Tools

genio-tools is released to load built images to the development boards. Please refer to Get Started with IoT Yocto and Genio Tools for detailed usage.

Major Software Package Versions

  • Yocto LTS Kirkstone updated to 4.0.10

  • Linux Kernel updated to 5.15.42 by merging LTS patches

  • ATF version kept in v2.6

  • U-Boot version kept in v2022.10

  • OPTEE version kept in 3.19

  • Mali GPU driver for Genio 1200, 700 and 350 has been updated to DDK r43

New Features

Bootloader Firmware A/B Update

The bootloader firmware for Genio 350, Genio 700, and Genio 1200 now supports A/B update on eMMC storage.

Please note that there are several limitations:

  • There is no OTA solution integrated.

  • Only eMMC storage is supported. There is no capsule update support for UFS storage.

  • There is no support for OS partition nor package update, e.g. kernel and user space programs.

For details, please refer to A/B Firmware Updates.

eMMC RPMB Access API

v23.1 provides APIs to access the RPMB (Replay Protected Memory Block) Storage on eMMC storage for Genio 350, Genio 700, and Genio 1200.

Please refer to the details here.

Custom Field Access in eFuse

v23.1 provides APIs to access on-chip on-time programmable field called eFuse custom field. The size of the fields varies on different SoC. Please refer to the documents for details.

Note

This feature is only available to licensed customers. It is not available in the public release.

Auto Power On Support

v23.1 now supports auto power on configuration for:

  • Genio 700 EVK

  • Genio 1200 EVK

If auto power on is enabled, the system boot automatically after system power (DC input) is supplied.

Improved Bootloader Performance

v23.1 improves the bootloader’s boot time for Genio 1200 and Genio 700, including:

  • Improved image verification performance for secure boot flow

  • Improved CPU frequency in earlier boot stages

  • Improved eMMC performance in U-Boot

In addition, the boot time starting from the 2nd system boot is further improved by storing hardware information on eMMC storage of Genio 1200 and Genio 700 EVKs.

Low Power Optimization

v23.1 improves low-power optimization for Genio 700 EVK and Genio 1200 EVK during system idle and system suspend.

YUV Sensor Support on Genio 700

Genio 700 now supports YUV sensors.

Note

The camera feature on Genio 700 and Genio 1200 is only available to licensed customers. It is not available in the public release.

MIPI-CSI 2-lane Raw Sensor Support on Genio 1200

Genio 1200 now supports IMX214 sensor connected to MIPI-CSI 2-lane interface.

Note

The camera feature on Genio 700 and Genio 1200 is only available to licensed customers. It is not available in the public release.

OnSemi AP1302+AR0830 Sensor Support on Genio 1200

Genio 1200 now supports a combination of AP1302 and AR0380 for both MIPI-CSI 4-lane and 2-lane configurations.

MCP2518 CAN Bus Interface Controller on Genio 1200 EVK

The MCP2518 CAN bus controller on Genio 1200 EVK has been enabled on IoT Yocto v23.1. Please refer to here for details.

HDMI-RX on Genio 1200

The HDMI-RX port on Genio 1200 is now enabled in v23.1. It is available as a V4L2 capture device. The hdmirx_tool provides basic hardware checking for HDMI-RX information. Applications can then capture HDMI input video using the GStreamer video4linux2 plugins.

Please visit HDMI-RX for details.

IT6122 DSI to LVDS Adapter Board for Genio 700 EVK

v23.1 integrates the IT6122 driver to enable a DSI to LVDS daughter board, Genio ETB-MIPI to LVDS_M1V1, for Genio 700 EVK.

Please note that the daughter board is not part of the evaluation kit.

Triple Display Configuration for Genio 1200

  • Genio 1200 EVK now supports triple display configurations.

  • The display configuration overlays (dtbo) of Genio 350, Genio 700, and Genio 1200 EVK has been expanded to support various display configurations.

DSI Panel Boot Logo for Genio 700 and Genio 1200

v23.1 provides boot logo on the DSI panels on Genio 700 EVK and Genio 1200 EVK.

EGL 1.5

The GPU driver has been updated to support EGL 1.5. This provides support to the extension KHR_platform_gbm.

BlueDroid Framework Support for MT7663 and Genio 350

v23.1 provides a ported BlueDroid framework on Yocto to provide following Bluetooth features for the MT7663 wireless module on Genio 350 EVK:

  • GATT

  • HID

  • HoGP

Note

This feature is only available to licensed customers. It is not available in the public release.

Ethernet Wake-On-LAN for Genio 700 and Genio 1200

Genio 700 and Genio 1200 now supports Wake-on-LAN (WOL). Please refer to Wake on LAN (WoL) for details.

Ethernet TSN (Time Sensitive Network) for Genio 700 and Genio 1200

Please refer to Genio 700/1200 TSN Evaluation Guide for details.

SDIO Wireless Module for Genio 700 EVK

v23.1 provides support for AW-XB554NF SDIO module on Genio 700 EVK. Please note that:

  • The Azureware AW-XB554NF SDIO Module uses a proprietary pin definition instead of the M.2 Standard, even though it is mounted on a M.2 slot.

NNStreamer Integration

v23.1 integrates the NNStreamer framework into the demo image, using NeuroPilot as the inference backend on Genio 700 and Genio 1200. On Genio 350 Tensorflow Lite is used as the inference backend.

It integrates the following examples:

  • object detection

  • object classification

  • PoseNet demonstration

For details, please refer to NNStreamer

Genio Linux Test Suite

Genio Linux Test Suite is a test suite to assist board bring-up for Genio SoCs using IoT Yocto. It allows customers to verify if the required functionalities are correctly integrated at the SOC level when porting components to their products.

Major Changes in v23.1

Genio 1200 EVK P1V2 Support

Partition Layout Update

The image partition layout in v23.1 has been modified to support these new features:

Please refer to Partition Layout for details.

GPU Memory Reserve Region Removed

Starting from IoT Yocto v23.1, we no longer specifically reserve memory of Contiguous Memory Allocator (CMA) heap for GPU usage. The size of reserved memory is very difficult to estimate.

Therefore, we allow the GPU to directly use the system memory instead of the reserved CMA.

The device tree for Genio EVKs has been updated to remove the GPU CMA region.

Flash Tool Update

Along with the release of v23.1, the flash tool has been renamed to Genio Tools. It has been published to the Python package index to simplify the tool installation process.

You can now simply install the flash tool with:

pip3 install genio-tools

Genio Tools still supports older commands such as aiot-flash, but these aiot- commands will be deprecated in future releases. We encourage all users to migrate to new command genio-flash.

Auto-Load GPU and Video Device Overlays

In v23.1, the gpu-mali.dtbo and video.dtbo for Genio 350 EVK, Genio 700 EVK, and Genio 1200 EVK are configured to be automatically loaded in the template local.conf file for ease of evaluation.

The apusys.dtbo requires manual loading because it is only available on the private image configuration.

The camera configurations, and display interface configurations still require manual loading during the flashing process, because these configurations are mutually exclusive to each other.

Platform-Specific Feature Support Status

For configurations and supported features of each Genio SoC, visit the link below: