[PATCH 6/6] arm64: dts: freescale: imx8mp-verdin: Add Mezzanine with Toradex Display 10.1" LVDS V2

Frank Li Frank.li at oss.nxp.com
Thu Aug 13 07:58:52 PDT 2026


On Thu, Aug 13, 2026 at 10:33:35AM -0300, Leonardo Costa wrote:
> From: Leonardo Costa <leonardo.costa at toradex.com>
>
> Add a device tree overlay enabling the Toradex Capacitive Touch Display
> 10.1" LVDS V2 on the Verdin Development Board with Verdin iMX8M Plus
> Mezzanine expansion board. The panel connects via the i.MX8M Plus LCDIF
> on the Mezzanine LVDS interface (J10). The panel is an Opto Logic
> SCX1001511GGC49 10.1" WXGA TFT LCD LVDS and the touch input is provided
> by an ILITEK ILI251x capacitive touch controller.
>
> Link: https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-lvds
> Link: https://developer.toradex.com/hardware/verdin-som-family/add-ons/verdin-imx8m-plus-mezzanine
> Signed-off-by: Leonardo Costa <leonardo.costa at toradex.com>
> ---

what's difference with Add Toradex Capacitive Touch Display 10.1" LVDS V2

why not share one dtso?

Frank

>  arch/arm64/boot/dts/freescale/Makefile        |   5 +
>  ...zanine-panel-cap-touch-10inch-lvds-v2.dtso | 107 ++++++++++++++++++
>  2 files changed, 112 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-verdin-dev-mezzanine-panel-cap-touch-10inch-lvds-v2.dtso
>
> diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile
> index 236bfb6a1e19..39c5f0db5203 100644
> --- a/arch/arm64/boot/dts/freescale/Makefile
> +++ b/arch/arm64/boot/dts/freescale/Makefile
> @@ -509,6 +509,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw74xx.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw75xx-2x.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-venice-gw82xx-2x.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-dev-mezzanine-panel-cap-touch-10inch-lvds.dtbo
> +dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-dev-mezzanine-panel-cap-touch-10inch-lvds-v2.dtbo
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-dsi-to-lvds-panel-cap-touch-10inch.dtbo
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-dsi-to-lvds-v2-panel-cap-touch-10inch.dtbo
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-nonwifi-dahlia.dtb
> @@ -524,6 +525,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-dev.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-dev-dsi-to-lvds-panel-cap-touch-10inch.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-dev-dsi-to-lvds-v2-panel-cap-touch-10inch.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-dev-mezzanine-panel-cap-touch-10inch-lvds.dtb
> +dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-dev-mezzanine-panel-cap-touch-10inch-lvds-v2.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-ivy.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-mallow.dtb
>  dtb-$(CONFIG_ARCH_MXC) += imx8mp-verdin-wifi-mallow-panel-cap-touch-10inch-lvds.dtb
> @@ -540,6 +542,9 @@ imx8mp-verdin-wifi-dev-dsi-to-lvds-v2-panel-cap-touch-10inch-dtbs := \
>  imx8mp-verdin-wifi-dev-mezzanine-panel-cap-touch-10inch-lvds-dtbs := \
>  	imx8mp-verdin-wifi-dev.dtb \
>  	imx8mp-verdin-dev-mezzanine-panel-cap-touch-10inch-lvds.dtbo
> +imx8mp-verdin-wifi-dev-mezzanine-panel-cap-touch-10inch-lvds-v2-dtbs := \
> +	imx8mp-verdin-wifi-dev.dtb \
> +	imx8mp-verdin-dev-mezzanine-panel-cap-touch-10inch-lvds-v2.dtbo
>  imx8mp-verdin-wifi-mallow-panel-cap-touch-10inch-lvds-dtbs := \
>  	imx8mp-verdin-wifi-mallow.dtb \
>  	imx8mp-verdin-panel-cap-touch-10inch-lvds.dtbo
> diff --git a/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev-mezzanine-panel-cap-touch-10inch-lvds-v2.dtso b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev-mezzanine-panel-cap-touch-10inch-lvds-v2.dtso
> new file mode 100644
> index 000000000000..b78322907192
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/imx8mp-verdin-dev-mezzanine-panel-cap-touch-10inch-lvds-v2.dtso
> @@ -0,0 +1,107 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
> +/*
> + * Copyright (c) Toradex
> + *
> + * Toradex Capacitive Touch Display 10.1" LVDS V2 on the Verdin iMX8M Plus
> + * Mezzanine LVDS interface (J10), used with the Verdin Development Board.
> + *
> + * https://developer.toradex.com/hardware/accessories/displays/capacitive-touch-display-101inch-lvds
> + * https://www.toradex.com/accessories/capacitive-touch-display-10.1-inch-lvds
> + * https://developer.toradex.com/hardware/verdin-som-family/add-ons/verdin-imx8m-plus-mezzanine
> + * https://www.toradex.com/accessories/verdin-imx8m-plus-mezzanine
> + */
> +
> +/dts-v1/;
> +/plugin/;
> +
> +#include <dt-bindings/clock/imx8mp-clock.h>
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/interrupt-controller/irq.h>
> +
> +#include "imx8mp-pinfunc.h"
> +
> +&{/} {
> +	panel-lvds-native {
> +		compatible = "optologic,scx1001511ggc49", "panel-lvds";
> +		backlight = <&backlight_mezzanine>;
> +		data-mapping = "vesa-24";
> +		power-supply = <&reg_3p3v>;
> +		height-mm = <136>;
> +		width-mm = <217>;
> +
> +		panel-timing {
> +			clock-frequency = <64500000>;
> +			hactive = <1280>;
> +			hback-porch = <20>;
> +			hfront-porch = <20>;
> +			hsync-len = <2>;
> +			vactive = <800>;
> +			vback-porch = <5>;
> +			vfront-porch = <5>;
> +			vsync-len = <3>;
> +			de-active = <1>;
> +			hsync-active = <0>;
> +			vsync-active = <0>;
> +			pixelclk-active = <0>;
> +		};
> +
> +		port {
> +			panel_lvds_native_in: endpoint {
> +				remote-endpoint = <&ldb_lvds_ch0>;
> +			};
> +		};
> +	};
> +};
> +
> +&backlight_mezzanine {
> +	/* Verdin PWM_2 (SODIMM 16) */
> +	pwms = <&pwm2 0 6666667 0>;
> +
> +	status = "okay";
> +};
> +
> +/* Verdin I2C_2_DSI */
> +&i2c2 {
> +	#address-cells = <1>;
> +	#size-cells = <0>;
> +
> +	touchscreen at 41 {
> +		compatible = "ilitek,ili251x";
> +		reg = <0x41>;
> +		/* Verdin GPIO_3 (SODIMM 210) */
> +		interrupt-parent = <&gpio1>;
> +		interrupts = <5 IRQ_TYPE_EDGE_RISING>;
> +		/* Verdin GPIO_2 (SODIMM 208) */
> +		reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
> +	};
> +};
> +
> +&lcdif2 {
> +	status = "okay";
> +};
> +
> +&lvds_bridge {
> +	assigned-clocks = <&clk IMX8MP_CLK_MEDIA_LDB>,
> +			  <&clk IMX8MP_VIDEO_PLL1>;
> +	/*
> +	 * This display uses 64.5 MHz pixel clock, so IMX8MP_VIDEO_PLL1 needs
> +	 * to be 7 times 64.5MHz, or 451.5 MHz as the internal divider will
> +	 * always divide the output LVDS clock by 7.
> +	 */
> +	assigned-clock-rates = <0>, <451500000>;
> +
> +	status = "okay";
> +
> +	ports {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		port at 1 {
> +			reg = <1>;
> +
> +			ldb_lvds_ch0: endpoint {
> +				remote-endpoint = <&panel_lvds_native_in>;
> +			};
> +		};
> +	};
> +};
>



More information about the linux-arm-kernel mailing list