[PATCH 5/5] ARM: dts: imx6dl-colibri: Add VGA overlay

From: Antoine Gouby

Date: Mon Oct 19 2026 - 07:23:19 EST


From: Antoine Gouby <antoine.gouby@xxxxxxxxxxx>

Add a device tree overlay for the VGA output on the Colibri iMX6
parallel RGB LCD interface. The VGA output is driven through a
non-programmable video DAC without VESA DDC I2C signals to a DVI
connector. The DAC power-save input is driven by the BL_ON signal on
SODIMM 71, like on the Colibri iMX6ULL and Colibri iMX7.

The overlay is also combined with the Colibri iMX6 V1.2 Aster,
Evaluation Board v3, Iris and Iris v2 carrier board device trees to
provide ready-to-use DTBs.

Signed-off-by: Antoine Gouby <antoine.gouby@xxxxxxxxxxx>
---
arch/arm/boot/dts/nxp/imx/Makefile | 21 +++++++
arch/arm/boot/dts/nxp/imx/imx6dl-colibri-vga.dtso | 67 +++++++++++++++++++++++
2 files changed, 88 insertions(+)

diff --git a/arch/arm/boot/dts/nxp/imx/Makefile b/arch/arm/boot/dts/nxp/imx/Makefile
index 1ea51b13ab7c..11fcef5195c8 100644
--- a/arch/arm/boot/dts/nxp/imx/Makefile
+++ b/arch/arm/boot/dts/nxp/imx/Makefile
@@ -84,6 +84,10 @@ imx6dl-colibri-v1.2-aster-panel-cap-touch-7inch-parallel-dtbs := \
imx6dl-colibri-v1.2-aster.dtb \
imx6dl-colibri-panel-cap-touch-7inch-parallel.dtbo

+imx6dl-colibri-v1.2-aster-vga-dtbs := \
+ imx6dl-colibri-v1.2-aster.dtb \
+ imx6dl-colibri-vga.dtbo
+
imx6dl-colibri-v1.2-eval-v3-hdmi-dtbs := \
imx6dl-colibri-v1.2-eval-v3.dtb \
imx6dl-colibri-hdmi.dtbo
@@ -96,10 +100,18 @@ imx6dl-colibri-v1.2-eval-v3-panel-res-touch-7inch-parallel-dtbs := \
imx6dl-colibri-v1.2-eval-v3.dtb \
imx6dl-colibri-panel-res-touch-7inch-parallel.dtbo

+imx6dl-colibri-v1.2-eval-v3-vga-dtbs := \
+ imx6dl-colibri-v1.2-eval-v3.dtb \
+ imx6dl-colibri-vga.dtbo
+
imx6dl-colibri-v1.2-iris-hdmi-dtbs := \
imx6dl-colibri-v1.2-iris.dtb \
imx6dl-colibri-hdmi.dtbo

+imx6dl-colibri-v1.2-iris-vga-dtbs := \
+ imx6dl-colibri-v1.2-iris.dtb \
+ imx6dl-colibri-vga.dtbo
+
imx6dl-colibri-v1.2-iris-v2-hdmi-dtbs := \
imx6dl-colibri-v1.2-iris-v2.dtb \
imx6dl-colibri-hdmi.dtbo
@@ -108,6 +120,10 @@ imx6dl-colibri-v1.2-iris-v2-panel-cap-touch-7inch-parallel-dtbs := \
imx6dl-colibri-v1.2-iris-v2.dtb \
imx6dl-colibri-panel-cap-touch-7inch-parallel.dtbo

+imx6dl-colibri-v1.2-iris-v2-vga-dtbs := \
+ imx6dl-colibri-v1.2-iris-v2.dtb \
+ imx6dl-colibri-vga.dtbo
+
imx6qdl-dhcom-pdk2-overlay-497-200-x12-dtbs := \
imx6q-dhcom-pdk2.dtb \
imx6qdl-dhcom-pdk2-overlay-497-200-x12.dtbo
@@ -154,15 +170,20 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6dl-colibri-v1.2-aster.dtb \
imx6dl-colibri-v1.2-aster-hdmi.dtb \
imx6dl-colibri-v1.2-aster-panel-cap-touch-7inch-parallel.dtb \
+ imx6dl-colibri-v1.2-aster-vga.dtb \
imx6dl-colibri-v1.2-eval-v3.dtb \
imx6dl-colibri-v1.2-eval-v3-hdmi.dtb \
imx6dl-colibri-v1.2-eval-v3-panel-cap-touch-7inch-parallel-touch-adapter.dtb \
imx6dl-colibri-v1.2-eval-v3-panel-res-touch-7inch-parallel.dtb \
+ imx6dl-colibri-v1.2-eval-v3-vga.dtb \
imx6dl-colibri-v1.2-iris.dtb \
imx6dl-colibri-v1.2-iris-hdmi.dtb \
+ imx6dl-colibri-v1.2-iris-vga.dtb \
imx6dl-colibri-v1.2-iris-v2.dtb \
imx6dl-colibri-v1.2-iris-v2-hdmi.dtb \
imx6dl-colibri-v1.2-iris-v2-panel-cap-touch-7inch-parallel.dtb \
+ imx6dl-colibri-v1.2-iris-v2-vga.dtb \
+ imx6dl-colibri-vga.dtbo \
imx6dl-cubox-i.dtb \
imx6dl-cubox-i-emmc-som-v15.dtb \
imx6dl-cubox-i-som-v15.dtb \
diff --git a/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-vga.dtso b/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-vga.dtso
new file mode 100644
index 000000000000..f22f1969a6a8
--- /dev/null
+++ b/arch/arm/boot/dts/nxp/imx/imx6dl-colibri-vga.dtso
@@ -0,0 +1,67 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * VGA output connected to the Colibri parallel RGB LCD interface through a
+ * non-programmable video DAC with a DVI connector.
+ *
+ * The VGA output is available on multiple carrier boards (including Iris,
+ * Eval, Aster) without VESA DDC I2C signals.
+ *
+ * The DAC power-save input is driven by the BL_ON signal on SODIMM 71.
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+
+&{/} {
+ vga-encoder {
+ compatible = "dumb-vga-dac";
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_gpio_bl_on>;
+ /* Colibri SODIMM 71 - BL_ON */
+ enable-gpios = <&gpio3 26 GPIO_ACTIVE_HIGH>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ vga_enc_in: endpoint {
+ remote-endpoint = <&lcd_display_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ vga_enc_out: endpoint {
+ remote-endpoint = <&dvi_connector_in>;
+ };
+ };
+ };
+ };
+
+ dvi-connector {
+ compatible = "dvi-connector";
+ analog;
+
+ port {
+ dvi_connector_in: endpoint {
+ remote-endpoint = <&vga_enc_out>;
+ };
+ };
+ };
+};
+
+&lcd_display {
+ status = "okay";
+};
+
+&lcd_display_out {
+ remote-endpoint = <&vga_enc_in>;
+};

--
2.55.0