AIoT Yocto Overview

Based on the Yocto project, AIoT Yocto provides board support packages(BSP) for AIoT evaluation kits and development boards.

Derived from open source projects, AIoT Yocto aims to conform to upstream interfaces and designs when applicable, including:

  • Most components in the BSP, including bootloader and Linux kernel, are forked from corresponding open source upstream projects and closely tracked to keep updated with the upstream.

  • Some supporting packages, based on the collection of Yocto project, are patched for compatibility.

  • Certain hardware drivers and supporting softwares are provided as proprietary packages that allow redistribution to be used with MediaTek AIoT chipsets. Please read the license terms before using these components.

The following diagram shows software components used in AIoT Yocto. Please note that the support status of each software component depends on SoC and board capabilities.

../../_images/sw_rity_architecture.svg

Major components in AIoT Yocto

Key Features

As of 2022 Q3, the v22.1 release includes the following components and features:

Boot Loader and Kernel

For versions of each component in each release, please refer to the release notes.

Components

Based on Yocto project recipes, AIoT Yocto provides BSP support with following software components:

  • Display: libDRM/DRI support with Wayland display backend

  • Graphics: GPU driver with OpenGL ES support

  • AI: Tensorflow-lite integration and also proprietary runtime inference libraries

  • Audio: supported through ALSA framework

  • Video: hardware video codec with V4L2 interface and GStreamer integration, supported by proprietary user-space driver and services.

  • Camera: external OnSemi AP1302 ISP with V4L2 interface, GStreamer integration, and libcamera integration

  • Security: OP-TEE integration

  • Wi-Fi:

    • External MT7663 connectivity module support with proprietary Wi-Fi driver and network manager integration.

    • External MT7921 connectivity module support with open source Wi-Fi driver and network manager integration.

  • Bluetooth:
    • External MT7921 connectivity module support with open source Bluetooth driver and BlueZ integration.

Tools

  • Flash programming tool supporting AIoT evaluation kits such as Genio 350-EVK and Genio 1200-Demo Board.

Getting Access to AIoT Yocto

AIoT Yocto is currently hosted on http://www.gitlab.com/mediatek/aiot.

Most packages and Yocto recipes in AIoT Yocto are available for access without registration. For example, the Linux kernel fork for AIoT Yocto is hosted in https://gitlab.com/mediatek/aiot/bsp/linux. You can access it without a GitLab account.

However, certain proprietary packages are permission controlled, and require different license agreements. These packages are currently located under https://gitlab.com/mediatek/aiot/nda namespace. You can enable these proprietary pacakges during the build process using a configuration flag NDA_BUILD.

For more details, please refer to the chaper here GitLab Account Setup.