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 |
|
---|---|
|
|
|
|
|
Prebuilt Images Download
Board |
Prebuilt Image |
MD5 Checksum |
---|---|---|
1c89c127f9e07b4a85320abd22dde2ea |
||
aa225e5ffd7cebb088236557a68c0a49 |
||
2e51bdf8d3802acc0c37446d9167621e |
||
c64488272e000dbc1e3ab196b3649c8e |
||
5197e799a0e461eec0459f39787d3809 |
||
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:
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 Adaptor 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
IoT Yocto v23.1 supports Genio 1200-EVK P1V2 (production version).
Genio 1200-EVK P1V1 (engineering version) has been moved to another bitbake machine name:
genio-1200-evk-p1v1
.
Partition Layout Update
The image partition layout in v23.1 has been modified to support these new features:
Boot logo for Genio 1200 EVK and Genio 700 EVK DSI Panel
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: