Commit 0037d166 authored by Marek Vasut's avatar Marek Vasut Committed by Frank Li
Browse files

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: default avatarMarek Vasut <marex@nabladev.com>
Signed-off-by: default avatarFrank Li <Frank.Li@nxp.com>
parent c59ebeb2
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -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 \
+75 −0
Original line number Diff line number Diff line
// 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>;
};
+61 −0
Original line number Diff line number Diff line
// 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";
};
+28 −0
Original line number Diff line number Diff line
// 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";
};
+26 −0
Original line number Diff line number Diff line
// 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";
		};
	};
};
Loading