.. include:: /keyword.rst .. _display-g720-evk: =============== |G520-G720-EVK| =============== This page provides board-specific information on the display interfaces of the |G520-EVK-REF-BOARD| and |G720-EVK-REF-BOARD|. Both EVKs use the same image. For common display and compositor information, please visit the :ref:`Display page `. .. contents:: Sections :local: :depth: 1 Display Interfaces on |G520-G720-EVK-REF-BOARD| =============================================== |IOT-YOCTO| supports four display interfaces on |G520-G720-EVK-REF-BOARD|: * :ref:`DSI ` with DSI Panel ``STARTEK KD070FHFID078`` * :ref:`DisplayPort(DP) ` through USB Type-C port * :ref:`Embedded Display Port(eDP) ` with eDP Panel ``INNOLUX HK173VB-01B`` * :ref:`LVDS ` with LVDS Panel ``KOE TX18D204VM0BAA`` The display system VDOSYS0 has two different pipelines - that can be used for any of the dual display combinations. These pipelines are abstracted as different `crtc` in the DRM framework. Each pipeline provides 3840x2160, 60Hz refresh rate. Default `rity-demo-image` enables single display DSI. Other display combinations can be enabled by loading the `device tree overlay `_ during the flash programming process. .. _G720-evk-dsi-setup: .. _G720-evk-dp-setup: .. list-table:: G520/G720 EVK Display Ports :widths: 50 50 50 :header-rows: 1 * - .. figure:: /_asset/sw_rity_display_G720-evk_display_interfaces_front.png :align: center :width: 100% - .. figure:: /_asset/sw_rity_display_G720-evk_display_interfaces_front_dsi.png :align: center :width: 65% - .. figure:: /_asset/sw_rity_display_G720-evk_display_interfaces_back.png :align: center :width: 75% * - top view without DSI panel installed (showing eDP, DPoC, DSI/LVDS jumper) - side view with DSI panel installed - bottom view without DSI panel installed (showing DSI, LVDS) .. note:: - The LVDS connector shares the same data lanes with the DSI connector, so only one of them can be used at the same time. Check :ref:`LVDS ` for hardware setup instructions. Lists of Display Device Tree Overlay ==================================== Starting from v25, none of the EVK default DTS files enable any display interfaces; loading the relevant DTBOs is required to enable them. For the G720 EVK, the default configuration loads display-dsi.dtbo. .. code-block:: bash $ genio-flash -i rity-demo-image Genio Tools: v1.7.0a1 Yocto Image: ... machine: genio-720-evk overlays: ['apusys.dtbo', 'emmc.dtbo', 'video.dtbo', 'display-dsi.dtbo'] If you do not need display-dsi.dtbo, use the unload-dtbo option to remove the default display-dsi.dtbo .. code-block:: bash $ genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo Genio Tools: v1.7.0a1 Yocto Image: ... machine: genio-720-evk overlays: ['apusys.dtbo', 'emmc.dtbo', 'video.dtbo'] Here are lists of all available display combination device tree overlays and description link of each one: .. list-table:: Default Display :widths: 30 30 :header-rows: 1 * - `dtbo` - Description * - ``display-dsi.dtbo`` - :ref:`DSI ` .. list-table:: Headless Device Tree Overlay :widths: 30 30 :header-rows: 1 * - `dtbo` - Description * - No need `dtbo` - :ref:`Headless ` .. list-table:: Single Display Device Tree Overlays :widths: 30 30 :header-rows: 1 * - `dtbo` - Description * - ``display-dsi.dtbo`` - :ref:`DSI ` * - ``display-edp-4k.dtbo`` or ``display-edp-fhd.dtbo`` - :ref:`eDP ` * - ``display-dpoc.dtbo`` or ``display-dp.dtbo`` - :ref:`DP ` * - ``display-lvds.dtbo`` - :ref:`LVDS ` .. _G720-evk-dual-dt: .. list-table:: Dual Display Device Tree Overlays :widths: 30 30 :header-rows: 1 * - `dtbo` - Description * - ``display-dsi.dtbo`` + ``display-edp-4k.dtbo`` - :ref:`DSI + eDP ` * - ``display-dsi.dtbo`` + ``display-dpoc.dtbo`` - :ref:`DSI + DP ` * - ``display-lvds.dtbo`` + ``display-edp-4k.dtbo`` - :ref:`LVDS + eDP ` * - ``display-lvds.dtbo`` + ``display-dpoc.dtbo`` - :ref:`LVDS + DP ` * - ``display-edp-4k.dtbo`` + ``display-dpoc.dtbo`` - :ref:`eDP + DP ` .. _G720-evk-dsi: DSI ---- **DSI** is the default display interface for the prebuilt `rity-demo-image`. A DSI panel is pre-connected to G520/G720 EVK. Flash the board with: .. code-block:: bash $ genio-flash -i rity-demo-image Genio Tools: v1.7.0a1 Yocto Image: ... machine: genio-720-evk overlays: ['apusys.dtbo', 'emmc.dtbo', 'video.dtbo', 'display-dsi.dtbo'] As shown in the example above, display-dsi.dtbo is loaded by default. After boot into the console you can use ``modeprint mediatek`` command to check if DSI port have been properly configured: .. code-block:: text root@genio-720-evk:~# modeprint mediatek Starting test Resources count_connectors : 1 count_encoders : 1 count_crtcs : 2 count_fbs : 0 Connector: DSI-1 id : 32 encoder id : 31 conn : connected size : 95x151 (mm) count_modes : 1 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 31 Mode: "1200x1920" 1200x1920 60 The associated display data pipeline can process up to 2.5K(2560 x 1600) with 60Hz refresh rate for DSI. .. _G720-evk-headless: Headless -------- Headless means that Yocto works without enabling any physical display connector. There is a virtual display at ``/dev/dri/renderD128`` prepared for offline rendering. To enable Headless, remove the overlay file ``display-dsi.dtbo`` during flashing process: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo If you don't want to re-flash the entire root file system, you can simply update the overlay configuration with: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo kernel mmc0boot1 After boot into the console you will see the following error log which is because there is no physical display for Weston desktop rendering .. code-block:: text [FAILED] Failed to start Weston, a compositor, as a system service. See 'systemctl status weston.service' for details. You can use ``modeprint mediatek`` command to check if headless has been properly configured by checking if connector count equals 0: .. code-block:: text root@genio-720-evk:~# modeprint mediatek Starting test Resources count_connectors : 0 count_encoders : 0 .. _G720-evk-edp: eDP --- To enable eDP as the only display connector, load the overlay file ``display-edp-4k.dtbo`` during flashing process: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-edp-4k.dtbo If you don't want to re-flash the entire root file system, you can simply update the overlay configuration with: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-edp-4k.dtbo kernel mmc0boot1 After boot into the console you can use ``modeprint mediatek`` command to check if eDP port have been properly configured: .. code-block:: text root@genio-720-evk:~# modeprint mediatek Starting test Resources count_connectors : 1 count_encoders : 1 count_crtcs : 2 count_fbs : 0 Connector: eDP-1 id : 32 encoder id : 31 conn : connected size : 279x174 (mm) count_modes : 2 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 31 Mode: "3840x2160" 3840x2160 60 Mode: "3840x2160" 3840x2160 60 The associated display data pipeline can process up to 4K(3840 x 2160) with 60Hz refresh rate for eDP. On the other hand, if you are using an FHD eDP panel in your design, you can load display-edp-fhd.dtbo to enable support for the ``AUO G156HAN03`` eDP panel. .. _G720-evk-dp: DP -- To enable DP as the only display connector, load the overlay file ``display-dpoc.dtbo`` during flashing process: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-dpoc.dtbo If you don't want to re-flash the entire root file system, you can simply update the overlay configuration with: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-dpoc.dtbo kernel mmc0boot1 After boot into the console you can use ``modeprint mediatek`` command to check if DP port have been properly configured: .. code-block:: text root@genio-720-evk:~# modeprint mediatek Starting test Resources count_connectors : 1 count_encoders : 1 count_crtcs : 2 count_fbs : 0 Connector: DP-1 id : 32 encoder id : 31 conn : connected size : 720x390 (mm) count_modes : 27 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 31 Mode: "3840x2160" 3840x2160 60 Mode: "3840x2160" 3840x2160 30 ... The associated display data pipeline can process up to 4K(3840 x 2160) with 60Hz refresh rate for DP. On the other hand, if you are using a full-size DisplayPort (fsDP) connector in your design, you can load display-dp.dtbo to enable support. .. _G720-evk-lvds: LVDS ---- To enable LVDS as the only display connector, load the overlay file ``display-lvds.dtbo`` during flashing process: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-lvds.dtbo If you don't want to re-flash the entire root file system, you can simply update the overlay configuration with: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-lvds.dtbo kernel mmc0boot1 After boot into the console you can use ``modeprint mediatek`` command to check if LVDS port have been properly configured: .. code-block:: text root@genio-720-evk:~# modeprint mediatek Starting test Resources count_connectors : 1 count_encoders : 1 count_crtcs : 2 count_fbs : 0 Connector: LVDS-1 id : 32 encoder id : 31 conn : connected size : 109x103 (mm) count_modes : 1 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 31 Mode: "1920x1080" 1920x1080 60 The associated display data pipeline can process up to FHD(1920 x 1080) with 60Hz refresh rate for LVDS. .. _G720-evk-dsiedp: DSI + eDP ---------- You can configure the DSI + eDP combination with: .. prompt:: bash genio-flash -i rity-demo-image --load-dtbo display-edp-4k.dtbo If you don't want to re-flash the entire root file system, you can simply update the overlay configuration with: .. prompt:: bash genio-flash -i rity-demo-image --load-dtbo display-edp-4k.dtbo kernel mmc0boot1 After boot into the console you can use ``modeprint mediatek`` command to check if both DSI and eDP ports have been properly configured: .. code-block:: text root@genio-720-evk:~# modeprint mediatek Starting test Resources count_connectors : 2 count_encoders : 2 count_crtcs : 2 count_fbs : 0 Connector: DSI-1 id : 32 encoder id : 31 conn : connected size : 95x151 (mm) count_modes : 1 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 31 Mode: "1200x1920" 1200x1920 60 Connector: eDP-1 id : 34 encoder id : 33 conn : connected size : 279x174 (mm) count_modes : 2 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 33 Mode: "3840x2160" 3840x2160 60 Mode: "3840x2160" 3840x2160 60 The associated display data pipeline can process up to 2.5K(2560 x 1600) with 60Hz refresh rate for DSI, and 4K(3840 x 2160) with 60Hz refresh rate for eDP. .. _G720-evk-dsidp: DSI + DP --------- To enable DSI + DP, load the `dtbo` file ``display-dpoc.dtbo`` during flashing process: .. prompt:: bash genio-flash -i rity-demo-image --load-dtbo display-dpoc.dtbo If you don't want to re-flash the entire root file system, you can simply update the overlay configuration with: .. prompt:: bash genio-flash -i rity-demo-image --load-dtbo display-dpoc.dtbo kernel mmc0boot1 After boot into the console you can use ``modeprint mediatek`` command to check if both DSI and DP ports have been properly configured: .. code-block:: text root@genio-720-evk:~# modeprint mediatek Starting test Resources count_connectors : 2 count_encoders : 2 count_crtcs : 2 count_fbs : 0 Connector: DSI-1 id : 32 encoder id : 31 conn : connected size : 95x151 (mm) count_modes : 1 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 31 Mode: "1200x1920" 1200x1920 60 Connector: DP-1 id : 34 encoder id : 33 conn : connected size : 600x340 (mm) count_modes : 33 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 33 Mode: "3840x2160" 3840x2160 60 Mode: "3840x2160" 3840x2160 30 ... The associated display data pipeline can process up to 2.5K(2560 x 1600) with 60Hz refresh rate for DSI, and 4K(3840 x 2160) with 60Hz refresh rate for DP. .. _G720-evk-lvdsedp: LVDS + eDP ---------- You can configure the LVDS + eDP combination with: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-lvds.dtbo --load-dtbo display-edp-4k.dtbo If you don't want to re-flash the entire root file system, you can simply update the overlay configuration with: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-lvds.dtbo --load-dtbo display-edp-4k.dtbo kernel mmc0boot1 After boot into the console you can use ``modeprint mediatek`` command to check if both LVDS and eDP ports have been properly configured: .. code-block:: text root@genio-720-evk:~# modeprint mediatek Starting test Resources count_connectors : 2 count_encoders : 2 count_crtcs : 2 count_fbs : 0 Connector: eDP-1 id : 32 encoder id : 31 conn : connected size : 279x174 (mm) count_modes : 2 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 31 Mode: "3840x2160" 3840x2160 60 Mode: "3840x2160" 3840x2160 60 Connector: LVDS-1 id : 34 encoder id : 33 conn : connected size : 109x103 (mm) count_modes : 1 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 33 Mode: "1920x1080" 1920x1080 60 The associated display data pipeline can process up to FHD(1920 x 1080) with 60Hz refresh rate for LVDS, and 4K(3840 x 2160) with 60Hz refresh rate for eDP. .. _G720-evk-lvdsdp: LVDS + DP --------- You can configure the LVDS + DP combination with: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-lvds.dtbo --load-dtbo display-dpoc.dtbo If you don't want to re-flash the entire root file system, you can simply update the overlay configuration with: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-lvds.dtbo --load-dtbo display-dpoc.dtbo kernel mmc0boot1 After boot into the console you can use ``modeprint mediatek`` command to check if both LVDS and HDMI ports have been properly configured: .. code-block:: text root@genio-720-evk:~# modeprint mediatek Starting test Resources count_connectors : 2 count_encoders : 2 count_crtcs : 2 count_fbs : 0 Connector: LVDS-1 id : 36 encoder id : 35 conn : connected size : 109x103 (mm) count_modes : 1 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 35 Mode: "1920x1080" 1920x1080 60 Connector: DP-1 id : 32 encoder id : 31 conn : connected size : 720x390 (mm) count_modes : 27 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 31 Mode: "3840x2160" 3840x2160 60 Mode: "3840x2160" 3840x2160 30 ... The associated display data pipeline can process up to FHD(1920 x 1080) with 60Hz refresh rate for LVDS, and 4K(3840 x 2160) with 60Hz refresh rate for DP. .. _G720-evk-edpdp: eDP + DP -------- You can configure the eDP + DP combination with: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-edp-4k.dtbo --load-dtbo display-dpoc.dtbo If you don't want to re-flash the entire root file system, you can simply update the overlay configuration with: .. prompt:: bash genio-flash -i rity-demo-image --unload-dtbo display-dsi.dtbo --load-dtbo display-edp-4k.dtbo --load-dtbo display-dpoc.dtbo After boot into the console you can use ``modeprint mediatek`` command to check if both eDP and DP ports have been properly configured: .. code-block:: text root@genio-720-evk:~# modeprint mediatek Starting test Resources count_connectors : 2 count_encoders : 2 count_crtcs : 2 count_fbs : 0 Connector: eDP-1 id : 32 encoder id : 31 conn : connected size : 279x174 (mm) count_modes : 2 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 31 Mode: "3840x2160" 3840x2160 60 Mode: "3840x2160" 3840x2160 60 Connector: DP-1 id : 34 encoder id : 33 conn : connected size : 600x340 (mm) count_modes : 33 count_props : 5 props : 1 2 5 6 4 count_encoders : 1 encoders : 33 Mode: "3840x2160" 3840x2160 60 Mode: "3840x2160" 3840x2160 30 ... The associated display data pipeline can process up to 4K(3840 x 2160) with 60Hz refresh rate for eDP, and 4K(3840 x 2160) with 60Hz refresh rate for DP. .. _G720-evk-edp-setup: Hardware Setup for eDP ======================= The prebuilt `rity-demo-image` supports ``INNOLUX HK173VB-01B`` panel with an eDP cable, as shown below: .. figure:: /_asset/sw_rity_display_G1200_evk_eDP-cable.jpg :align: center :width: 55% Please always use this associated cable to connect to the panel. Connect either side to the |G520-G720-EVK| board and to the panel, as shown below: .. figure:: /_asset/sw_rity_display_G720-evk_edp_install.jpg :align: center :width: 35% .. note:: - The eDP panel ``INNOLUX HK173VB-01B`` is the same panel used on |G1200-EVK-REF-BOARD|. .. _G720-evk-lvds-setup: Hardware Setup for LVDS ======================= The prebuilt `rity-demo-image` supports ``KOE TX18D204VM0BAA panel`` with a LVDS cable, as shown below: .. figure:: /_asset/sw_rity_display_G1200_evk_LVDS-cable.jpg :align: center :width: 35% Please always use this associated cable to connect to the panel. Connect either side to the |G520-G720-EVK| board and to the panel, as shown below: .. figure:: /_asset/sw_rity_display_G720-evk_lvds_install.jpg :align: center :width: 35% .. note:: - Two jumpers, J501 and J510, on the EVK must be adjusted to enable either DSI or LVDS .. list-table:: Jumper Settings to Enable DSI/LVDS on G520/G720 EVK :widths: 20 20 :header-rows: 1 * - .. figure:: /_asset/sw_rity_display_G720-evk_dsi_jumper_setting.png :align: center :width: 55% - .. figure:: /_asset/sw_rity_display_G720-evk_lvds_jumper_setting.png :align: center :width: 55% * - Jumper settings to enable DSI - Jumper Settings to enable LVDS .. note:: - The LVDS panel ``KOE TX18D204VM0BAA`` is the same panel used on |G1200-EVK-REF-BOARD|. Related Kernel Source Files ============================ - The shared `Genio 720 EVK and Genio 520 EVK board dts file `_ is located in the kernel path ``arch/arm64/boot/dts/mediatek/mt8391-genio-720-evk.dts``. - The driver for display data path and interfaces are located under the ``drivers/gpu/drm/mediatek``, the same as other DRM drivers. - The driver for PHY hardware are located under the ``drivers/phy/mediatek`` path, such as: * `drivers/phy/mediatek/phy-mtk-mipi-dsi.c `_ * `drivers/phy/mediatek/phy-mtk-dp.c `_ * `drivers/phy/mediatek/phy-mtk-edp.c `_ * `drivers/phy/mediatek/phy-mtk-lvds.c `_ - The USB Type-C associated drivers: * usb_dp_selector (chip internal mux)driver is located in ``drivers/usb/typec/mux/usb_dp_selector.c`` * ts3usbca4 (external SBU mux) driver is located in ``drivers/usb/typec/mux/ts3usbca4.c`` * The MT6375 PD driver for USB Type-C is located in ``drivers/usb/typec/tcpm/tcpci_mt6375.c`` Please note that the support for MT8391/MT8371 on |IOT-YOCTO| starts from ``mtk-v6.6`` kernel and the Yocto ``scarthgap`` branch. The `device tree overlay files `_ are not located in the kernel source. Instead, these overlay files are managed in the Yocto meta layer ``meta-mediatek-bsp``'s ``scarthgap/recipes-kernel/dtbo/genio-720-evk`` directory.