Disable HDMI & LVDS in device tree

My custom carrier board does not use the HDMI or LVDS interfaces of the Apalis module.

I have copied the Apalis Evaluation board DTS file and would like to disable HDMI and LVDS in the device tree, but there seem to be many nodes involved with those interfaces. Are there a few specific nodes that control the entire HDMI and LVDS functionality? If so, will disabling those nodes “turn off” those functional units in the i.MX8QM?

Greetings @aunt_enna,

To disable those interfaces I believe it should be enough to just disable the top level nodes for each interface. hdmi node for the HDMI interface and the ldb2 node for LVDS. I’ve linked the locations where each node is enabled in the source here:

ldb2/LVDS: fsl-imx8qm-apalis-v1.1.dtsi « freescale « dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules
hdmi/HDMI: fsl-imx8qm-apalis-eval.dtsi « freescale « dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules

Best Regards,
Jeremias

Thanks for the answer!

Disabling ldb2 appears to disable the ldb node, but not the ldb_phy:

root@apalis-imx8:~# more /proc/device-tree/ldb*/status
::::::::::::::
/proc/device-tree/ldb@562410e0/status
::::::::::::::
disabled
::::::::::::::
/proc/device-tree/ldb@572410e0/status
::::::::::::::
disabled
::::::::::::::
/proc/device-tree/ldb_phy@56241000/status
::::::::::::::
disabled
::::::::::::::
/proc/device-tree/ldb_phy@57241000/status
::::::::::::::
okay

However, disabling the hdmi node hangs the kernel during start up.

Here is the device tree overlay applied to fsl-imx8qm-apalis-eval.dtb:

// Disable unused interfaces on the Apalis i.MX8QM

#include "dt-bindings/gpio/gpio.h"
#include "dt-bindings/pinctrl/pads-imx8qm.h"

    /dts-v1/;
    /plugin/;
    
    / {
    	compatible = "toradex,apalis-imx8qm";
    
    	fragment@1020	{ target = <&hdmi>;				__overlay__ { status = "disabled"; }; };
    };

I have attached a file with the console messages ending with the error: HDMI-disabled-startup-crash-console

If you also want to disable the associated ldb2_phy then the node can be found here int he device tree: fsl-imx8qm-apalis-eval.dtsi « freescale « dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules

As for HDMI let me look into this issue and get back to you.

Best Regards,
Jeremias

Thanks! Disabling ldb2_phy worked.

Any solution for HDMI?

So for the HDMI interface you may need to consult the i.MX8 SoC reference manual, specifically the display block-diagram in order to figure out what you need to disable. But in short you can try disabling the following nodes:

  • &prg*
  • &dpu*
  • &dpr*_channel*
  • &gpu*

This is in addition to the hdmi node. These nodes should all be found here: fsl-imx8qm-apalis-eval.dtsi « freescale « dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules

Please double-check which you disable as I believe only some are strictly routed to the HDMI.

Best Regards,
Jeremias

As tips to help customers disable the interfaces, we’ve compiled the content from this question and Apalis iMX8: Disable GPU - Technical Support - Toradex Community into a section on Device Tree Customization Examples | Toradex Developer Center