ARM: dts: imx: Add DT overlays for DH i.MX6 DHCOM SoM and boards

Add DT overlays to support DH i.MX6 DHCOM SoM carrier board expansion
modules. The following DT overlays are implemented:
- PDK2:
  - DH 497-200 Display board in edge connector X12
  - DH 505-200 Display board in edge connector X12
  - DH 531-100 SPI/I2C board in header X21
  - DH 531-200 SPI/I2C board in header X22
  - DH 560-200 Display board in edge connector X12
- PicoITX:
  - DH 626-100 Display board in edge connector X2

Signed-off-by: Marek Vasut <marex@nabladev.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
This commit is contained in:
Marek Vasut 2026-03-24 20:03:11 +01:00 committed by Frank Li
parent c59ebeb2ad
commit 0037d16644
10 changed files with 341 additions and 3 deletions

View File

@ -58,6 +58,31 @@ dtb-$(CONFIG_SOC_IMX53) += \
imx53-voipac-bsb.dtb
imx53-qsb-hdmi-dtbs := imx53-qsb.dtb imx53-qsb-hdmi.dtbo
imx53-qsrb-hdmi-dtbs := imx53-qsrb.dtb imx53-qsb-hdmi.dtbo
imx6qdl-dhcom-pdk2-overlay-497-200-x12-dtbs := \
imx6q-dhcom-pdk2.dtb \
imx6qdl-dhcom-pdk2-overlay-497-200-x12.dtbo
imx6qdl-dhcom-pdk2-overlay-505-200-x12-ch101olhlwh-dtbs := \
imx6q-dhcom-pdk2.dtb \
imx6qdl-dhcom-pdk2-overlay-505-200-x12-ch101olhlwh.dtbo
imx6qdl-dhcom-pdk2-overlay-531-100-x21-dtbs := \
imx6q-dhcom-pdk2.dtb \
imx6qdl-dhcom-pdk2-overlay-531-100-x21.dtbo
imx6qdl-dhcom-pdk2-overlay-531-100-x22-dtbs := \
imx6q-dhcom-pdk2.dtb \
imx6qdl-dhcom-pdk2-overlay-531-100-x22.dtbo
imx6qdl-dhcom-pdk2-overlay-560-200-x12-dtbs := \
imx6q-dhcom-pdk2.dtb \
imx6qdl-dhcom-pdk2-overlay-560-200-x12.dtbo
imx6qdl-dhcom-picoitx-overlay-626-100-x2-ch101olhlwh-dtbs := \
imx6q-dhcom-pdk2.dtb \
imx6qdl-dhcom-picoitx-overlay-626-100-x2-ch101olhlwh.dtbo
dtb-$(CONFIG_SOC_IMX6Q) += \
imx6dl-alti6p.dtb \
imx6dl-apf6dev.dtb \
@ -179,6 +204,18 @@ dtb-$(CONFIG_SOC_IMX6Q) += \
imx6q-cubox-i-som-v15.dtb \
imx6q-dfi-fs700-m60.dtb \
imx6q-dhcom-pdk2.dtb \
imx6qdl-dhcom-pdk2-overlay-497-200-x12.dtb \
imx6qdl-dhcom-pdk2-overlay-497-200-x12.dtbo \
imx6qdl-dhcom-pdk2-overlay-505-200-x12-ch101olhlwh.dtb \
imx6qdl-dhcom-pdk2-overlay-505-200-x12-ch101olhlwh.dtbo \
imx6qdl-dhcom-pdk2-overlay-531-100-x21.dtb \
imx6qdl-dhcom-pdk2-overlay-531-100-x21.dtbo \
imx6qdl-dhcom-pdk2-overlay-531-100-x22.dtb \
imx6qdl-dhcom-pdk2-overlay-531-100-x22.dtbo \
imx6qdl-dhcom-pdk2-overlay-560-200-x12.dtb \
imx6qdl-dhcom-pdk2-overlay-560-200-x12.dtbo \
imx6qdl-dhcom-picoitx-overlay-626-100-x2-ch101olhlwh.dtb \
imx6qdl-dhcom-picoitx-overlay-626-100-x2-ch101olhlwh.dtbo \
imx6q-display5-tianma-tm070-1280x768.dtb \
imx6q-dmo-edmqmx6.dtb \
imx6q-dms-ba16.dtb \

View File

@ -0,0 +1,75 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (C) 2021-2026 Marek Vasut
*/
/dts-v1/;
/plugin/;
#include "imx6qdl-dhcom-overlay-panel-dpi.dtsi"
&{/} {
lvds-encoder {
compatible = "onnn,fin3385", "lvds-encoder";
pclk-sample = <1>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
lvds_bridge_in: endpoint {
remote-endpoint = <&ipu1_dpi0_out>;
};
};
port@1 {
reg = <1>;
lvds_bridge_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
};
};
&display_bl {
pwms = <&pwm1 0 5000000 0>;
};
&i2c2 {
#address-cells = <1>;
#size-cells = <0>;
touchscreen@41 {
compatible = "ilitek,ili251x";
reg = <0x41>;
interrupt-parent = <&gpio4>;
interrupts = <7 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
touchscreen-size-x = <16384>;
touchscreen-size-y = <9600>;
touchscreen-inverted-x;
touchscreen-inverted-y;
};
eeprom@50 {
compatible = "atmel,24c04";
reg = <0x50>;
pagesize = <16>;
};
};
&ipu1_dpi0_out {
remote-endpoint = <&lvds_bridge_in>;
};
&panel {
compatible = "chefree,ch101olhlwh-002";
};
&panel_in {
remote-endpoint = <&lvds_bridge_out>;
};

View File

@ -0,0 +1,61 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (C) 2021-2026 Marek Vasut
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/pwm/pwm.h>
&{/} {
display_bl: display-bl {
compatible = "pwm-backlight";
brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>;
default-brightness-level = <8>;
enable-gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
status = "okay";
};
lcd_display: disp0 {
compatible = "fsl,imx-parallel-display";
#address-cells = <1>;
#size-cells = <0>;
interface-pix-fmt = "rgb24";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_ipu1_lcdif>;
status = "okay";
port@0 {
reg = <0>;
ipu1_display_in: endpoint {
remote-endpoint = <&ipu1_di0_disp0>;
};
};
port@1 {
reg = <1>;
ipu1_dpi0_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
};
panel: panel {
backlight = <&display_bl>;
port {
panel_in: endpoint {
};
};
};
};
&ipu1_di0_disp0 {
remote-endpoint = <&ipu1_display_in>;
};
&pwm1 {
status = "okay";
};

View File

@ -0,0 +1,28 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (C) 2021-2026 Marek Vasut
*/
/dts-v1/;
/plugin/;
#include "imx6qdl-dhcom-overlay-panel-dpi.dtsi"
&display_bl {
pwms = <&pwm1 0 50000 PWM_POLARITY_INVERTED>;
};
&ipu1_dpi0_out {
remote-endpoint = <&panel_in>;
};
&panel {
compatible = "dataimage,scf0700c48ggu18";
};
&panel_in {
remote-endpoint = <&ipu1_dpi0_out>;
};
&touch_som { /* TSC2004 */
status = "okay";
};

View File

@ -0,0 +1,26 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (C) 2021-2026 Marek Vasut
*/
/dts-v1/;
/plugin/;
#include "imx6qdl-dhcom-overlay-panel-dpi-ch101olhlwh.dtsi"
&{/} {
gpio-keys {
/* BUTTON1 GPIO-B conflicts with touchscreen reset */
button-1 {
/* Use status as /delete-node/ does not work in DTOs */
status = "disabled";
};
};
led {
/* LED7 GPIO-H conflicts with touchscreen IRQ */
led-7 {
/* Use status as /delete-node/ does not work in DTOs */
status = "disabled";
};
};
};

View File

@ -0,0 +1,32 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (C) 2021-2026 Marek Vasut
*/
/dts-v1/;
/plugin/;
&ecspi1 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
eeprom@1 {
compatible = "microchip,25aa010a", "atmel,at25";
reg = <1>;
address-width = <8>;
pagesize = <16>;
size = <128>;
spi-max-frequency = <5000000>;
};
};
&i2c2 {
#address-cells = <1>;
#size-cells = <0>;
eeprom@56 {
compatible = "atmel,24c04";
reg = <0x56>;
pagesize = <16>;
};
};

View File

@ -0,0 +1,32 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (C) 2021-2026 Marek Vasut
*/
/dts-v1/;
/plugin/;
&ecspi2 {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
eeprom@0 {
compatible = "microchip,25aa010a", "atmel,at25";
reg = <0>;
address-width = <8>;
pagesize = <16>;
size = <128>;
spi-max-frequency = <5000000>;
};
};
&i2c1 {
#address-cells = <1>;
#size-cells = <0>;
eeprom@56 {
compatible = "atmel,24c04";
reg = <0x56>;
pagesize = <16>;
};
};

View File

@ -0,0 +1,39 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (C) 2021-2026 Marek Vasut
*/
/dts-v1/;
/plugin/;
#include "imx6qdl-dhcom-overlay-panel-dpi.dtsi"
&display_bl {
pwms = <&pwm1 0 50000 PWM_POLARITY_INVERTED>;
};
&i2c2 {
#address-cells = <1>;
#size-cells = <0>;
touchscreen@38 {
compatible = "edt,edt-ft5406";
reg = <0x38>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_dhcom_e>;
/* Touchscreen IRQ GPIO-E conflicts with LED5 GPIO */
interrupt-parent = <&gpio4>;
interrupts = <5 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */
};
};
&ipu1_dpi0_out {
remote-endpoint = <&panel_in>;
};
&panel {
compatible = "edt,etm0700g0edh6";
};
&panel_in {
remote-endpoint = <&ipu1_dpi0_out>;
};

View File

@ -0,0 +1,8 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (C) 2023-2026 Marek Vasut
*/
/dts-v1/;
/plugin/;
#include "imx6qdl-dhcom-overlay-panel-dpi-ch101olhlwh.dtsi"

View File

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (C) 2015-2021 DH electronics GmbH
* Copyright (C) 2018 Marek Vasut <marex@denx.de>
* Copyright (C) 2015-2026 DH electronics GmbH
* Copyright (C) 2018-2026 Marek Vasut
*/
#include <dt-bindings/pwm/pwm.h>
@ -303,7 +303,7 @@ ldo2_reg: ldo2 {
};
};
touchscreen@49 { /* TSC2004 */
touch_som: touchscreen@49 { /* TSC2004 */
compatible = "ti,tsc2004";
interrupts-extended = <&gpio4 14 IRQ_TYPE_EDGE_FALLING>;
pinctrl-0 = <&pinctrl_tsc2004>;