From: Leonardo Costa <[email protected]>

Add a device tree overlay for the VGA output available on the Apalis
Evaluation Board, which is driven from a parallel RGB interface passing
through a non-programmable video DAC to a VGA connector, without VESA
DDC I2C signals.

The overlay is also combined with the various Apalis Evaluation Board
device trees to provide ready-to-use DTBs.

Signed-off-by: Leonardo Costa <[email protected]>
---
 arch/arm/boot/dts/nxp/imx/Makefile                 | 21 ++++++
 .../boot/dts/nxp/imx/imx6q-apalis-eval-vga.dtso    | 79 ++++++++++++++++++++++
 2 files changed, 100 insertions(+)

diff --git a/arch/arm/boot/dts/nxp/imx/Makefile 
b/arch/arm/boot/dts/nxp/imx/Makefile
index c5caca92ea10..b5ad9172e1f4 100644
--- a/arch/arm/boot/dts/nxp/imx/Makefile
+++ b/arch/arm/boot/dts/nxp/imx/Makefile
@@ -59,6 +59,22 @@ dtb-$(CONFIG_SOC_IMX53) += \
 imx53-qsb-hdmi-dtbs := imx53-qsb.dtb imx53-qsb-hdmi.dtbo
 imx53-qsrb-hdmi-dtbs := imx53-qsrb.dtb imx53-qsb-hdmi.dtbo
 
+imx6q-apalis-eval-v1.2-vga-dtbs := \
+       imx6q-apalis-eval-v1.2.dtb \
+       imx6q-apalis-eval-vga.dtbo
+
+imx6q-apalis-eval-vga-dtbs := \
+       imx6q-apalis-eval.dtb \
+       imx6q-apalis-eval-vga.dtbo
+
+imx6q-apalis-v1.2-eval-v1.2-vga-dtbs := \
+       imx6q-apalis-v1.2-eval-v1.2.dtb \
+       imx6q-apalis-eval-vga.dtbo
+
+imx6q-apalis-v1.2-eval-vga-dtbs := \
+       imx6q-apalis-v1.2-eval.dtb \
+       imx6q-apalis-eval-vga.dtbo
+
 imx6qdl-dhcom-pdk2-overlay-497-200-x12-dtbs := \
        imx6q-dhcom-pdk2.dtb \
        imx6qdl-dhcom-pdk2-overlay-497-200-x12.dtbo
@@ -184,11 +200,16 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
        imx6dl-yapp4-ursa.dtb \
        imx6q-apalis-eval.dtb \
        imx6q-apalis-eval-v1.2.dtb \
+       imx6q-apalis-eval-v1.2-vga.dtb \
+       imx6q-apalis-eval-vga.dtb \
+       imx6q-apalis-eval-vga.dtbo \
        imx6q-apalis-ixora.dtb \
        imx6q-apalis-ixora-v1.1.dtb \
        imx6q-apalis-ixora-v1.2.dtb \
        imx6q-apalis-v1.2-eval.dtb \
        imx6q-apalis-v1.2-eval-v1.2.dtb \
+       imx6q-apalis-v1.2-eval-v1.2-vga.dtb \
+       imx6q-apalis-v1.2-eval-vga.dtb \
        imx6q-apalis-v1.2-ixora.dtb \
        imx6q-apalis-v1.2-ixora-v1.1.dtb \
        imx6q-apalis-v1.2-ixora-v1.2.dtb \
diff --git a/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval-vga.dtso 
b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval-vga.dtso
new file mode 100644
index 000000000000..a449ef9fbfaf
--- /dev/null
+++ b/arch/arm/boot/dts/nxp/imx/imx6q-apalis-eval-vga.dtso
@@ -0,0 +1,79 @@
+// SPDX-License-Identifier: GPL-2.0-only OR MIT
+/*
+ * Copyright (c) Toradex
+ *
+ * VGA output connected to a parallel RGB LCD interface through a
+ * non-programmable video DAC with a VGA connector.
+ *
+ * The VGA output is available on the Apalis Evaluation Board without VESA DDC
+ * I2C signals.
+ */
+
+/dts-v1/;
+/plugin/;
+
+&{/} {
+       disp1 {
+               compatible = "fsl,imx-parallel-display";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_ipu2_vdac>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               interface-pix-fmt = "rgb565";
+
+               port@0 {
+                       reg = <0>;
+
+                       vga_display_in: endpoint {
+                               remote-endpoint = <&ipu2_di0_disp0>;
+                       };
+               };
+
+               port@1 {
+                       reg = <1>;
+
+                       vga_display_out: endpoint {
+                               remote-endpoint = <&vga_enc_in>;
+                       };
+               };
+       };
+
+       vga-encoder {
+               compatible = "toradex,apalis-imx6-vga-dac";
+
+               ports {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       port@0 {
+                               reg = <0>;
+
+                               vga_enc_in: endpoint {
+                                       remote-endpoint = <&vga_display_out>;
+                               };
+                       };
+
+                       port@1 {
+                               reg = <1>;
+
+                               vga_enc_out: endpoint {
+                                       remote-endpoint = <&vga_connector_in>;
+                               };
+                       };
+               };
+       };
+
+       vga-connector {
+               compatible = "vga-connector";
+
+               port {
+                       vga_connector_in: endpoint {
+                               remote-endpoint = <&vga_enc_out>;
+                       };
+               };
+       };
+};
+
+&ipu2_di0_disp0 {
+       remote-endpoint = <&vga_display_in>;
+};

-- 
2.43.0

Reply via email to