IoT Yocto Overview

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

Derived from open source projects, IoT 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 software are provided as proprietary packages that allow redistribution to be used with MediaTek Genio chipsets. Please read the license terms before using these components.

The following diagram shows software components used in IoT 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 IoT 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, IoT 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 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.

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

  • HDMI-RX: supports video data and audio packet data reception according to the HDMI standard specification.

  • 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 MT7663 connectivity module support with proprietary Bluetooth driver and Bluedroid integration.

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

Tools

  • Flash programming tool is supported for Genio evaluation kits.

Getting Access to IoT Yocto

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

Most packages and Yocto recipes in IoT Yocto are available for access without registration. For example, the Linux kernel fork for IoT 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 packages during the build process using a configuration flag NDA_BUILD.

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