.. include:: /keyword.rst ================================= |IOT-YOCTO| v23.0 - 2023 March 29 ================================= .. _yocto-v23.0: |IOT-YOCTO| **v23.0** release supports three SoC families based on Yocto Kirkstone and Linux 5.15: - :ref:`Genio 350 ` - :ref:`Genio 1200 ` - :ref:`Genio 700 ` :bdg-primary:`NEW` .. contents:: Sections :local: :depth: 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 ` :bdg-primary:`NEW` - * ``genio-700-evk`` * - :doc:`Genio 1200-EVK (Preliminary) ` :bdg-primary:`NEW` - * ``genio-1200-evk`` (EMMC boot) * ``genio-1200-evk-ufs`` (UFS boot) * - Genio 1200-Demo Board (deprecated in v23.1) - * ``i1200-demo`` * - :doc:`Genio 350-EVK ` - * ``i350-evk`` Notable Changes in v23.0 ======================== New Platform and EVK Support ---------------------------- * In v23.0, IoT Yocto has added support for :ref:`Genio 700 ` and its official evaluation kits :doc:`Genio 700-EVK `. * v23.0 also supports :doc:`Genio 1200-EVK P1V1` (engineering version) for :ref:`Genio 1200 `. .. important:: * IoT Yocto v23.0 supports Genio 1200-EVK P1V1 (engineering version). It does not support P1V2 (production version). * The support of Genio 1200-EVK P1V2 (production version) is scheduled to be available in v23.1. Please note that while Genio 1200-Demo Board is still supported in v23.0, we plan to phase out its support in the next release, |IOT-YOCTO| v23.1. More DTBO and Out-Of-Tree Drivers --------------------------------- Starting from v23.0, several accelerator modules now require you to load additional device tree overlays to enable them: .. list-table:: :header-rows: 1 * - Module - DTBO Name - Applicable SOC - Applicable Boards (MACHINE) * - GPU - ``gpu-mali.dtbo`` - * MT8365 * MT8390 * MT8395 - * Genio 350 EVK * Genio 700 EVK * Genio 1200 EVK * Genio 1200 Demo board * - Video Codec - ``video.dtbo`` - * MT8365 * MT8390 * MT8395 - * Genio 350 EVK * Genio 700 EVK * Genio 1200 EVK * Genio 1200 Demo board * - APU (AI Processing Unit) - ``apusys.dtbo`` - * MT8390 * MT8395 - * Genio 700 EVK * Genio 1200 EVK * Genio 1200 Demo board For example, starting from |IOT-YOCTO| v23.0, you need to use the following command to explicitly enable GPU, APU, and video codec on Genio 700 and 1200: .. prompt:: bash > auto > genio-flash --load-dtbo gpu-mali.dtbo --load-dtbo video.dtbo --load-dtbo apusys.dtbo Failing to load ``gpu-mali.dtbo`` results in missing GPU driver, and as a result ``weston`` and its desktop does not appear after boot into the system. These driver components are either proprietary userspace components or not compatible with upstream Linux driver designs. We decided to isolate these components into out-of-tree drivers and device tree overlays in |IOT-YOCTO| v23.0. There are other DTBOs that are specific to on-board components or external daughterboards. For a complete list of all DTBO files, visit the overlay section of each board: * :ref:`Genio 1200 EVK Overlays ` * :ref:`Genio 1200 Demo Board Overlays ` * :ref:`Genio 700 EVK Overlays ` If you'd like to eliminate the extra DTBO file, you could still merge the device nodes in `the device tree overlay files `_ into your own board's device tree file. Development Environment Updates ------------------------------- The following updates and improvements are common for all Genio boards supported by |IOT-YOCTO|: * Added integration support for :ref:`initramfs ` * Added support for stand-alone :ref:`kernel module partition ` Notable Bug Fixes and Patches ----------------------------- Incorrect DRAM Reserve Regions in Genio 1200 Bootloader ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ IoT Yocto v23.0 addresses an issue that causes previous versions of Genio 1200 bootloaders may reserve an additional 64-KByte memory space following the BL31 and BL32 reserved regions. This may lead to corrupted memory content, especially when the system RAM is heavily stressed. Please refer to commit `aa1d1b450191761b18eb62b386e47769c762ef75 `__ in `trusted-firmware-a repository `__. This issue does not happen to Genio 350 bootloaders, and we recommend all Genio 1200 bootloaders to apply this patch. .. _prebuilt-image-download-v23.0: Prebuilt Images Download ======================== .. csv-table:: :header: "Board", "Prebuilt Image", "MD5 Checksum" :widths: 8, 20, 10 :align: left ":doc:`Genio 1200-EVK `", "`download private image `__", ``e4c051ce7ad11875ef867e2268e668b1`` ":doc:`Genio 1200-EVK `", "`download public image `__", ``993da0c7bbf7d1229f2bd2fc58eeac95`` ":doc:`Genio 350-EVK `", "`download private image `__", ``a4e893130e775e408deb7a6e0c4285d1`` ":doc:`Genio 350-EVK `", "`download public image (*) `__", ``575cc5eaf1a4a40f12a5718826142fad`` ":doc:`Genio 700-EVK `", "`download private image `__", ``c23c7983d59b50df774c0457a72095e2`` ":doc:`Genio 700-EVK `", "`download public image `__", ``25329009a58c164765d6cf5aac3b011e`` Public & Private Prebuilt Images -------------------------------- |IOT-YOCTO| v23.0 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. .. note:: (*) For the video evaluation of the Genio 350-EVK, please use the private image or update the ``mdp-prebuilt`` repo manually with `this commit `_ . **Private** images, on the other hand, requires access to `private repositories `_ in the GitLab group. In this release, the private image provides these additional features on top of the public configuration: - Xtensa-ANN support on Genio 350 - Neuron SDK support on Genio 700 and Genio 1200 - MT7663 proprietary Wi-Fi driver on Genio 350 - eFuse writer on all Genio platform - ISP support on Genio 1200 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.0** release, use the tag ``rity-kirkstone-v23.0`` 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.0 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 4.0.6 * Linux Kernel based on LTS version 5.15.37 * ATF version v2.6 * U-Boot version v2022.10 * OPTEE upgraded to version 3.19 * The Mali GPU driver for Genio 1200, 700 and 350 has been updated to DDK r41. Building time measurement ========================= The following table lists building time measurement on different machines. Note the numbers listed here are only for reference. The building time may vary depending on specification and runtime loading of a building host. * Machine 1: Intel Xeon 6248 x 2, 384GB RAM * Machine 2: AWS `r6a.8xlarge` (32 vCPUs, 256GiB RAM) * Image used for building: *rity-demo-image* .. list-table:: :widths: 40 60 :header-rows: 1 * - Machines - Elapsed time * - Machine 1 - ~ 1h 20m * - Machine 2 - ~ 2h 30m Feature Support Status - MT8395(Genio 1200) =========================================== New Features for MT8395(Genio 1200) ----------------------------------- In this release, Genio 1200 platform have the following new features and improvements: * **UFS boot**: A new machine ``genio-1200-evk-ufs`` has been added, which uses on-board UFS storage as the boot media. The ``genio-1200-evk`` is EMMC boot. * **RAW sensor and ISP**: |IOT-YOCTO| v23.0 adds internal ISP support of MT8395. This is demonstrated with the support of the :doc:`DTB-D1V1-D2 daughter board`, which integrates **IMX214** raw sensor. The sensor calibration and tuning tools are available to licensed customers. These tools are provided separately, and are not part of the |IOT-YOCTO| release. * **YUV sensor**: The support for YUV sensor are demonstrated by adding support of the :doc:`DTB-D1V1-D6 daughter board` of Genio EVK. * **JPEG Codec**: The hardware JPEG encoder and decoder on MT8395(Genio 1200) has been enabled. * **Low Power**: The power consumption during suspend, including both S0 and S0 modes, are improved. * **Secure Boot**: This version integrates a :doc:`secure boot` implementation for Genio 1200 platform. Genio 1200 Overlays ------------------- Certain external hardware components, and some software modules, are required to be enabled by loading `dtbo` files. The full list of overlay for each board is: .. _genio-1200-evk-dtbo-v23.0: |G1200-EVK| Overlays ^^^^^^^^^^^^^^^^^^^^ .. list-table:: :header-rows: 1 :widths: 4 6 * - DTBO name - Usage * - ``apusys.dtbo`` - Enables APU(AI Processing Unit). * - ``gpu-mali.dtbo`` - Enables GPU. * - ``video.dtbo`` - Enables hardware video encoder and decoder. * - **Camera overlays are mutually exclusive:** - * - ``camera-imx214-csi0.dtbo`` - Enables MIPI-CSI0 port for DTB-D1V1-D2 (RAW sensor). * - ``camera-imx214-csi1.dtbo`` - Enables MIPI-CSI1 port for DTB-D1V1-D2 (RAW sensor). * - ``camera-imx214-csi2.dtbo`` - Enables MIPI-CSI2 port for DTB-D1V1-D2 (RAW sensor). * - ``camera-ar0430-ap1302-csi0.dtbo`` - Enables MIPI-CSI0 for DTB-D1V1-D6 (YUV sensor). * - ``camera-ar0430-ap1302-csi1.dtbo`` - Enables MIPI-CSI1 for DTB-D1V1-D6 (YUV sensor). * - ``camera-ar0430-ap1302-csi2.dtbo`` - Enables MIPI-CSI2 for DTB-D1V1-D6 (YUV sensor). * - **Display overlays are mutually exclusive:** - * - ``display-dp.dtbo`` - Enables DPoC(Display Port over Type-C) external display. This disables HDMI output. * - ``display-dsiedp.dtbo`` - Enables both DSI and eDP panels. Disables both DPoC and HDMI output. * - ``display-dsilvds.dtbo`` - Enables both DSI panel and the LVDS panel. * - ``display-edp2lvds.dtbo`` - Enables the LVDS panel. This configuration disables built-in DSI panel. * - ``display-hdmidp.dtbo`` - Disables DSI panel and enables both HDMI and DPoC output. .. _genio-1200-demo-dtbo-v23.0: |i1200-DEMO| Overlays ^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :header-rows: 1 :widths: 4 6 * - DTBO name - Usage * - ``apusys.dtbo`` - Enables APU(AI Processing Unit). * - ``gpu-mali.dtbo`` - Enables GPU. * - ``video.dtbo`` - Enables hardware video encoder and decoder. * - ``camera-imx214-csi0.dtbo`` - Enables raw sensor camera module `imx214` * - **Display overlays are mutually exclusive:** - * - ``display-dp.dtbo`` - Enables DPoC(Display Port over Type-C) external display. This disables HDMI output. * - ``display-dsi.dtbo`` - Enables the DSI port and panel BOE TV101WUM-NL6. * - ``panel-boe-ne135fbm`` - Enables the eDP port and BOE NE135FBM panel. This is a 2K resolution panel. * - ``display-edp4k.dtbo`` - Enables the eDP port and enables 4K resolution support. Please refer to this page to :ref:`load DTBOs during flashing process`. Feature List for Genio 1200 --------------------------- These symbols represent 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. .. csv-table:: MT8395 Supported Features :file: /_asset/tables/v23.0-G1200-feature-status.csv :header-rows: 1 :encoding: utf-8 :width: 80% :widths: 25,55,5,5 Notable Software Limitations for MT8395(Genio 1200) --------------------------------------------------- - DisplayPort output only supports DisplayPort over Type C(DPoC), direct output from a DisplayPort connector is not supported. .. _known-issues-g1200: Known Issues for Genio 1200 in v23.0 ------------------------------------ .. csv-table:: :file: /_asset/tables/v23.0-G1200-known-issues.csv :header-rows: 1 :encoding: utf-8 :width: 80% :widths: 15,60 ------------------------------------------- Feature Support Status - MT8390(Genio 700) =========================================== New Features for MT8390(Genio 700) ---------------------------------- This release adds the support for Genio 700 platform, including: * **BSP Support**: A new machine ``genio-700-evk`` has been added to provide basic BSP support for |G700-EVK|. * **APU(AI processing unit)**: Support for the APU subsystem has been enabled. * **Hardware video codec**: Support for hardware video encoder and decoders has been enabled. * **GPU**: GPU has been enabled. * **Display**: Support for all display interfaces and also several multi-display configurations. Please note that internal ISP of MT8390 is not enabled in this release. |G700-EVK| Overlays in v23.0 ---------------------------- .. _genio-700-evk-dtbo-v23.0: .. list-table:: :header-rows: 1 :widths: 4 6 * - DTBO name - Usage * - ``apusys.dtbo`` - Enables APU(AI Processing Unit). * - ``gpu-mali.dtbo`` - Enables GPU. * - ``video.dtbo`` - Enables hardware video encoder and decoder. * - **Display overlays are mutually exclusive:** - * - ``display-dp.dtbo`` - Enables DPoC(Display Port over Type-C) external display. This disables HDMI output. * - ``display-dsiedp.dtbo`` - Enables both DSI and eDP panels. Disables both DPoC and HDMI output. * - ``display-edp.dtbo`` - Enables eDP output. This disables the default DSI panel output. * - ``display-hdmidp.dtbo`` - Disables DSI panel and enables both HDMI and DPoC output. Feature List for Genio 700 -------------------------- These symbols represent 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. .. csv-table:: MT8390 Supported Features :file: /_asset/tables/v23.0-G700-feature-status.csv :header-rows: 1 :encoding: utf-8 :width: 80% :widths: 25,55,5,5 Notable Software Limitations for MT8390(Genio 700) in v23.0 ----------------------------------------------------------- - DisplayPort output only supports DisplayPort over Type C(DPoC), direct output from a DisplayPort connector is not supported. - Low power performance during suspend is not fully optimized. Known Issues for Genio 700 in v23.0 ----------------------------------- .. csv-table:: :file: /_asset/tables/v23.0-G700-known-issues.csv :header-rows: 1 :encoding: utf-8 :width: 80% :widths: 15,60 ------------------------------------------- Feature Support Status - MT8365(Genio 350) =========================================== |G350-EVK| Overlays in v23.0 ---------------------------- .. _genio-350-evk-dtbo-v23.0: .. list-table:: :header-rows: 1 :widths: 4 6 * - DTBO name - Usage * - ``gpu-mali.dtbo`` - Enables GPU. * - ``video.dtbo`` - Enables hardware video encoder and decoder. * - ``net-ethernet.dtbo`` - Enables on-board Ethernet port and disables HDMI port. The on-board switch ``SW2101`` must be set to **Off-LAN** when using this `dtbo`. * - **Camera overlays are mutually exclusive:** - * - ``camera-ap1302-ar0430-single-csi0.dtbo`` - Single camera on MIPI-CSI0. * - ``camera-ap1302-ar0430-single-csi1.dtbo`` - Single camera on MIPI-CSI1. * - ``camera-ap1302-ar0430-dual.dtbo`` - Dual camera on MIPI-CSI0 and MIPICSI1. Feature List for Genio 350 -------------------------- These symbols represent 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. .. csv-table:: MT8390 Supported Features :file: /_asset/tables/v23.0-G350-feature-status.csv :header-rows: 1 :encoding: utf-8 :width: 80% :widths: 25,55,5,5 Known Issues for Genio 350 in v23.0 ----------------------------------- .. csv-table:: :file: /_asset/tables/v23.0-G350-known-issues.csv :header-rows: 1 :encoding: utf-8 :width: 80% :widths: 15,60