.. spelling:word-list:: Azureware nd .. include:: /keyword.rst =============================== |IOT-YOCTO| v23.1 - 2023 Aug 18 =============================== .. contents:: Sections :local: :depth: 1 .. _yocto-v23.1: |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: .. list-table:: :header-rows: 1 * - Board Name - :ref:`MACHINE name for bitbake ` * - :doc:`Genio 700-EVK ` - * ``genio-700-evk`` * - :doc:`Genio 1200-EVK ` - * ``genio-1200-evk`` (EMMC boot) * ``genio-1200-evk-ufs`` (UFS boot) * - :doc:`Genio 350-EVK ` - * ``genio-350-evk`` [#]_ .. [#] ``genio-350-evk`` is the new machine name for Genio 350 EVK. It is an alias to ``i350-evk``. We encourage using the new machine name for this release and the prebuilt images are built using the new machine name. .. _prebuilt-image-download-v23.1: Prebuilt Images Download ======================== .. csv-table:: :header: "Board", "Prebuilt Image", "MD5 Checksum" :widths: 8, 20, 10 :align: left ":doc:`Genio 1200-EVK `", "`download private image `__", ``1c89c127f9e07b4a85320abd22dde2ea`` ":doc:`Genio 1200-EVK `", "`download public image `__", ``aa225e5ffd7cebb088236557a68c0a49`` ":doc:`Genio 350-EVK `", "`download private image `__", ``2e51bdf8d3802acc0c37446d9167621e`` ":doc:`Genio 350-EVK `", "`download public image `__", ``c64488272e000dbc1e3ab196b3649c8e`` ":doc:`Genio 700-EVK `", "`download private image `__", ``5197e799a0e461eec0459f39787d3809`` ":doc:`Genio 700-EVK `", "`download public image `__", ``acfe0d73917a380889896a21ece06075`` Please refer to :doc:`/sw/yocto/get-started/download-prebuilt-image` page to extract and flash these image packages. .. _private-image-v23.1: 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 :ref:`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 :ref:`Software License Agreement ` before accessing or using |IOT-YOCTO| software. If you do not agree to the terms and conditions of the :ref:`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: .. prompt:: bash $ auto $ 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 :doc:`/sw/yocto/get-started/build-code` Tools ===== ``genio-tools`` is released to load built images to the development boards. Please refer to :doc:`/sw/yocto/get-started` and :doc:`/tools/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 ============ .. contents:: v23.1 List of New Features :local: :depth: 1 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 :doc:`/sw/yocto/ab-part`. 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 :ref:`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 :ref:`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: * :ref:`Genio 700 EVK ` * :ref:`Genio 1200 EVK ` If auto power on is enabled, the system boot automatically after system power (DC input) is supplied. .. _feature-bootloader-performance: 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 :ref:`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 :ref:`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 :ref:`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 :ref:`hdmirx_tool ` provides basic hardware checking for HDMI-RX information. Applications can then capture HDMI input video using the GStreamer :ref:`video4linux2 plugins `. Please visit :doc:`/sw/yocto/app-dev/hdmirx/hdmirx` 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 :ref:`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 :ref:`sw/yocto/app-dev/ethernet/ethernet-common:Wake on LAN (WoL)` for details. Ethernet TSN (Time Sensitive Network) for Genio 700 and Genio 1200 ------------------------------------------------------------------ Please refer to :download:`Genio 700/1200 TSN Evaluation Guide ` for details. SDIO Wireless Module for Genio 700 EVK -------------------------------------- v23.1 provides support for :ref:`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 :doc:`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 :doc:`/tools/nnstreamer` Genio Linux Test Suite ---------------------- :doc:`/tools/genio-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 :doc:`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: * :doc:`Bootloader firmware A/B update ` * :ref:`Improve bootloader performance ` * Boot logo for Genio 1200 EVK and Genio 700 EVK DSI Panel Please refer to :doc:`/sw/yocto/part-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 :doc:`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: .. prompt:: bash 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 :ref:`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: .. toctree:: :titlesonly: Genio 350 Genio 700 Genio 1200