IoT Yocto v22.1 - 2022 Aug 03

IoT Yocto v22.1 release provides two hardware configurations supported by separate software configurations:

  • Genio 1200 lands on Linux Kernel 5.15 (mtk-v5.15-dev) and Yocto Kirkstone.

  • Genio 350 is supported by Linux Kernel 5.10 (mtk-v5.10) and Yocto Dunfell, same as the previous release.

We plan to upgrade the support for Genio 350 to Kernel 5.15 and Yocto Kirkstone in future releases.

Supported Hardware

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

Notable New Features and Changes in v22.1

  • MT8395 SoC and Genio 1200-demo (deprecated in v23.1) board support on Linux kernel version 5.15, notably:

    • AI Processor Unit (APU) support through MediaTek Neuron SDK for MT8395

    • Hardware video decoder and encoder support for MT8395

    • HDMI & DisplayPort support for MT8395

    • Wi-Fi & Bluetooth connectivity with external M.2 MT7921 PCIe module (AzureWave AW-XB468NF) for Genio 1200-demo (deprecated in v23.1) board

  • In this release, the template configuration is builds Public images that skips access controlled repositories. Please update the NDA_BUILD config if you have access to proprietary source packages.

Prebuilt Images

Board

Prebuilt Image

MD5 Checksum

Genio 350-EVK

download private image

7ba00c50b4eb5482dc66fe887a4d732c

Genio 350-EVK

download public image

3a56f9cbafeb8285856662833c8ce3c8

Public & Private Prebuilt Images

IoT Yocto v22.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 AIoT 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 access permissions to AIoT GitLab group. This lacks some proprietary features and also some proprietary components are provided in binary-only format.

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

  • Xtensa-ANN support on Genio 350-EVK

  • Neuron SDK support on Genio 1200-demo (deprecated in v23.1)

  • MT7663 proprietary Wi-Fi driver on Genio 350-EVK

  • eFuse writer

Software Packages

Important

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

To download IoT Yocto recipes for v22.1 release, determine the SoC and board hardware you’d like to use first:

Genio 1200

For MT8395 & Genio 1200-demo (deprecated in v23.1), use the following manifest:

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

Genio 350

For MT8365 & Genio 350-EVK, use the following manifest:

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

Private (NDA) configuration

In v22.1 release configures to public image by default (NDA_BUILD = "0"). To build the private image configuration, set the configuration flag NDA_BUILD = "1" in local.conf:

echo NDA_BUILD = \"1\" >> ${BUILD_DIR}/conf/local.conf

Before building with the bitbake commands.

Please refer to Get Started with IoT Yocto for detailed steps.

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.

Feature Support Status - MT8365(Genio 350)

  • Yocto LTS Dunfell 3.1

  • Linux Kernel based on LTS version 5.10.113

  • ATF upgraded to v2.6

  • U-Boot upgraded to v2022.01

  • OPTEE upgraded to 3.16

These symbol represents the supporting status:

  • V: function enabled by software and available on hardware board.

  • O: software integrated but cannot validate due to hardware board limitation.

  • --: not supported in this release; development on-going.

MT8365 Supported Features

Category

Feature

Dunfell with Kernel 5.10

Boot

Bootloader :: TF-A

V

Boot

Bootloader :: U-Boot

V

Boot

Boot Device :: eMMC

V

Linux Kernel

Version :: Kernel 5.10

V

Linux Kernel

Kernel :: 64-bit

V

Yocto

3.1 Dunfell (LTS)

V

Yocto

4.0 Kirkstone (LTS)

Security

TEE OS :: OP-TEE

V

Security

Secure Boot (root of trust)

V

Power Mgnt

Suspend to RAM (S3)

V

Power Mgnt

USB Host Suspend & Remote Wakeup

V

Power Mgnt

CPU Idle

V

Power Mgnt

CPU Hotplug

V

Power Mgnt

PMIC (Regulator framework)

V

Power Mgnt

Clock Manager (Linux CCF)

V

Power Mgnt

Thermal framework (Governor/Cooling)

V

Power Mgnt

DVFS :: cpufreq

V

Power Mgnt

DVFS :: gpufreq

V

Video Processing

MDP (Multimedia Data Path)

V

Video Processing

GStreamer :: convert plug-in

V

Camera

UVC

V

Camera

YUV Sensor

V

Camera

Gstreamer :: v4l2src plug-ins

V

Camera

libcamera :: simplepipe

V

Camera

Multi-Sensor :: YUV(4)+YUV(4)

V

Video

HW Decode :: H.264

V

Video

HW Decode :: H.265

V

Video

HW Decode :: VP9

V

Video

HW Decode :: MPEG-4

V

Video

HW Encode :: H.264

V

Video

HW Encode :: H.265

Video

GStreamer :: video4linux2 plug-ins

V

Display

TX :: External Bridge :: DPI to HDMI :: IT66121FN

V

Display

TX :: MIPI-DSI

V

Display

Multi-Display :: DSI + DPI to HDMI

V

Display

Compositor :: Wayland :: Weston

V

Display

GStreamer :: waylandsink plug-in

V

Display

Backend :: Direct Render Manager

V

Display

I2C :: Touch Panel :: Goodix GT9271

V

Audio

IN :: PDM :: DMIC

V

Audio

IN :: I2S :: AMIC

V

Audio

IN :: UAC :: 1.0

V

Audio

OUT :: Analog :: JACK

V

Audio

OUT :: I2S :: JACK

V

Audio

Gstreamer :: alsasink plugins

V

Audio

ALSA-lib

V

Audio

OUT :: HDMI Audio

V

GPU

EGL :: Display Backend :: Wayland

V

GPU

Graphics API :: OpenGL ES :: 3.2

V

GPU

Graphics API :: Vulkan :: 1.2

V

GPU

Computation API :: OpenCL :: 3.0

V

AI/ML

TFLite Interpreter :: ANN Delegate :: VP6 Backend

V

AI/ML

TFLite Interpreter :: ArmNN Delegate :: CPU Backend

V

AI/ML

TFLite Interpreter :: ArmNN Delegate :: GPU Backend

V

Peripheral

I2C

V

Peripheral

UART

V

Peripheral

UART :: DMA

Peripheral

USB :: 2.0 OTG

V

Peripheral

USB :: 2.0 Host Only

V

Peripheral

SPI :: Master

V

Peripheral

PWM :: General

V

Peripheral

PWM :: Display

V

Peripheral

GPIO

V

Peripheral

MSDC :: eMMC

V

Peripheral

MSDC :: SD Card

V

Peripheral

MSDC :: SDIO

V

Peripheral

KeyPad Scanner

V

Peripheral

Ethernet :: 10M/100M (RMII)

V

App Framework

Qt (Yocto meta-qt)

V

Tools

Flash Tool :: genio-flash

V

Tool

Factory Tool :: eFuse Writer

V

Tool

ADB (Android Debug Bridge)

V

MT7663

Wi-Fi :: Wi-Fi 5

V

MT7663

SDIO Module :: AzureWave (AW-CB451NF)

V

MT7663

Wi-Fi :: WPA3 :: STA

V

Feature Support Status - MT8395(Genio 1200)

  • Yocto LTS Kirkstone 4.0.2

  • Linux Kernel based on LTS version 5.15.37

  • ATF upgraded to v2.6

  • U-Boot upgraded to v2022.04

  • OPTEE upgraded to 3.16

These symbol represents the supporting status:

  • V: function enabled by software and available on hardware board.

  • O: software integrated but cannot validate due to hardware board limitation.

  • --: not supported in this release; development on-going.

MT8395 Supported Features

Category

Feature

K5.15 + Kirkstone

HDK

Genio 1200-Demo Board

V

Boot

Bootloader :: TF–A

V

Boot

Bootloader :: U–Boot

V

Boot

Boot Device :: eMMC

V

Boot

Boot Device :: UFS

O

Boot

SystemReady IR

Linux Kernel

Kernel :: 64-bit

V

Yocto

3.1 Dunfell (LTS)

Yocto

4.0 Kirkstone (LTS)

V

Security

TEE OS :: OP-TEE

V

Security

Secure Boot (root of trust)

Power Mgnt

Suspend to RAM (S3)

V

Power Mgnt

USB Host Suspend & Remote Wakeup

Power Mgnt

CPU Idle

V

Power Mgnt

CPU Hotplug

V

Power Mgnt

PMIC (Regulator framework)

V

Power Mgnt

Clock Manager (Linux CCF)

V

Power Mgnt

Thermal framework (Governor/Cooling)

V

Power Mgnt

DVFS :: cpufreq

V

Power Mgnt

DVFS :: gpufreq

V

Camera

UVC (USB Video Class)

V

Camera

YUV Sensor

Camera

RAW Sensor + ISP

Display

TX :: HDMI

V

Display

TX :: eDP

V

Display

TX :: DP

V

Display

TX :: MIPI-DSI

Display

Multi–Display :: eDP + HDMI

V

Display

Multi–Display :: eDP + DP

V

Display

Compositor :: Wayland :: Weston

V

Display

GStreamer :: waylandsink plug–in

V

Display

Backend :: Direct Render Manager

V

Audio

IN :: PDM :: DMIC

V

Audio

IN :: I2S :: PIN

V

Audio

IN :: UAC :: 1.0

V

Audio

IN :: Headset :: JACK

V

Audio

OUT :: Headset :: JACK

V

Audio

OUT :: UAC :: 1.0

V

Audio

OUT :: I2S :: PIN

V

Audio

Gstreamer :: alsasink plugins

V

Audio

ALSA–lib

V

Audio

Audio Jack Detection

GPU

EGL :: Display Backend :: Wayland

V

GPU

Graphics API :: OpenGL ES :: 3.2

V

GPU

Graphics API :: Vulkan :: 1.2

V

GPU

Computation API :: OpenCL :: 3.0

V

AI/ML

TFLite Interpreter :: ArmNN Delegate :: CPU Backend

V

AI/ML

TFLite Interpreter :: ArmNN Delegate :: GPU Backend

V

AI/ML

TFLite Interpreter :: GPU Delegate

V

AI/ML

Neuron SDK :: Neuron Runtime :: APUSYS Backend

V

AI/ML

Neuron SDK :: Compiler :: ncc_tflite

V

Peripheral

I2C

V

Peripheral

UART

V

Peripheral

UART :: DMA

Peripheral

USB :: 2.0 Host Only

V

Peripheral

USB :: 2.0 Device Only

V

Peripheral

USB :: 2.0 Host+Device (Dual-Role-Switch)

V

Peripheral

USB :: 3.0 Host Only

V

Peripheral

USB :: 3.0 Device Only

V

Peripheral

USB :: 3.0 Host+Device (Dual-Role-Switch)

V

Peripheral

PCIe :: Gen2 (1 lane)

V

Peripheral

PCIe :: Gen3 (2 lane)

V

Peripheral

SPI :: Master

V

Peripheral

PWM :: Display

V

Peripheral

GPIO

V

Peripheral

MSDC :: eMMC

V

Peripheral

MSDC :: SD Card

V

Peripheral

Storage :: UFS

O

Peripheral

Ethernet :: Gigabit (RGMII)

V

App Framework

Qt (Yocto meta-qt)

V

App Framework

ROS (Yocto meta-ros)

Tool

Flash Tool

V

Tool

Factory Tool :: eFuse Writer

V

Tool

ADB (Android Debug Bridge)

V

Tool

SDK :: Yocto SDK

V

MT7921

Wi-Fi :: Wi-Fi 6

V

MT7921

Bluetooth :: Bluetooth 5.2

V

MT7921

Bluetooth :: Host :: BlueZ :: GATT

V

MT7921

PCIe Module :: AzureWave (#AW-XB468NF)

V

MT7921

Wi-Fi :: WPA3 :: STA

V

MT7921

Wi-Fi :: WPA3 :: SoftAP

Image

HW Decode :: JPEG

Image

HW Encode :: JPEG

Video Processing

MDP (Multimedia Data Path)

V

Video Processing

GStreamer :: v4l2convert plug-in

V

Video

HW Decode :: H.264

V

Video

HW Decode :: H.265

V

Video

HW Decode :: VP8

V

Video

HW Decode :: VP9

V

Video

HW Decode :: AV1

Video

HW Decode :: MPEG-4

V

Video

HW Encode :: H.264

V

Video

HW Encode :: H.265

V

Notable Software Limitations for MT8395

  • Video encoder only support to 4K 30fps

  • Embedded Display Port only support up to 2K 60fps

  • MIPI-DSI display interfaces are not supported

  • USB Peripheral/Host dual-role requires timeout when switching roles

Fixed Issues from v22.0.1

  • Genio 1200-demo: HDMI does not work when eDP is enabled

  • Genio 1200-demo: Display Port over USB-C port does not work

Known Issues

  • Genio 350-evk: Instabilities with video encode/decode H.264

  • Genio 350-evk: Unstable camera frame rate

  • Genio 350-evk: HDMI resolution switch can be slow

  • Genio 350-evk: modetest permission denied sometimes

  • Genio 350-evk: AIOT-1241: Incomplete Suspend/Resume support

  • Genio 1200-demo: AIOT-1283: UART1 is occupied by firmware and not available for use

  • Genio 1200-demo: AIOT-1224: DisplayPort audio playback does not resume after suspend/resume operations

  • Genio 1200-demo: AIOT-1260: Occasionally Weston may fail to start when connected to HDMI display output

  • Genio 1200-demo: AIOT-1216: DisplayPort may fail to connect to monitors with Type-C receptacles

  • Genio 1200-demo: AIOT-1266: DisplayPort may fail to show display output after unplugging and replugging the cable

  • Genio 1200-demo: AIOT-1223: System console may freeze when suspend-resume under heavy stress

  • Genio 1200-demo: AIOT-1268: infra_ao_gce clock kernel warning when entering suspend Mode

  • Genio 1200-demo: AIOT-1248: H264 decode failed for resolution < 720P with avimux