[PATCH 10/10] ARM: dts: imx6ulz: Add SPI display and touch overlay for BSH SMM-M2

Haoning Cheng Haoning.CHENG at cn.bosch.com
Tue Nov 3 23:35:50 PST 2026


From: Simon Holesch <simon.holesch at bshg.com>

Add a device tree overlay to support an SPI-connected display
and touchscreen on the BSH SMM-M2 board.

Signed-off-by: Leonhard Hesse <leonhard.hesse at bshg.com>
Signed-off-by: Simon Holesch <simon.holesch at bshg.com>
Signed-off-by: Haoning Cheng <Haoning.CHENG at cn.bosch.com>
---
 arch/arm/boot/dts/nxp/imx/Makefile                 |  4 +
 .../imx/imx6ulz-bsh-smm-m2-ws13506-ads7846.dtso    | 99 ++++++++++++++++++++++
 2 files changed, 103 insertions(+)

diff --git a/arch/arm/boot/dts/nxp/imx/Makefile b/arch/arm/boot/dts/nxp/imx/Makefile
index de9a317132ed..9b27d2f0fa89 100644
--- a/arch/arm/boot/dts/nxp/imx/Makefile
+++ b/arch/arm/boot/dts/nxp/imx/Makefile
@@ -421,7 +421,11 @@ dtb-$(CONFIG_SOC_IMX6UL) += \
 	imx6ull-var-som-concerto-full.dtb \
 	imx6ulz-14x14-evk.dtb \
 	imx6ulz-bsh-smm-m2.dtb \
+	imx6ulz-bsh-smm-m2-ws13506-ads7846.dtb \
 	imx6ulz-bsh-smm-m2b.dtb
+imx6ulz-bsh-smm-m2-ws13506-ads7846-dtbs := \
+	imx6ulz-bsh-smm-m2.dtb \
+	imx6ulz-bsh-smm-m2-ws13506-ads7846.dtbo
 
 imx7d-colibri-emmc-aster-panel-cap-touch-7inch-parallel-dtbs := \
 	imx7d-colibri-emmc-aster.dtb \
diff --git a/arch/arm/boot/dts/nxp/imx/imx6ulz-bsh-smm-m2-ws13506-ads7846.dtso b/arch/arm/boot/dts/nxp/imx/imx6ulz-bsh-smm-m2-ws13506-ads7846.dtso
new file mode 100644
index 000000000000..869443dd648e
--- /dev/null
+++ b/arch/arm/boot/dts/nxp/imx/imx6ulz-bsh-smm-m2-ws13506-ads7846.dtso
@@ -0,0 +1,99 @@
+// SPDX-License-Identifier: (GPL-2.0+)
+/*
+ * Copyright 2024 BSH Hausgeraete GmbH
+ */
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include "imx6ul-pinfunc.h"
+
+/ {
+	fragment at 0 {
+		target-path = "/";
+		__overlay__ {
+			backlight: backlight {
+				compatible = "gpio-backlight";
+				gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>;
+			};
+		};
+	};
+
+	fragment at 1 {
+		target = <&ecspi1>;
+		__overlay__ {
+			pinctrl-names = "default";
+			pinctrl-0 = <&pinctrl_ecspi1>;
+			cs-gpios = <&gpio3 26 GPIO_ACTIVE_LOW>,
+				<&gpio2 15 GPIO_ACTIVE_LOW>;
+			status = "okay";
+
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			display at 0 {
+				compatible = "waveshare,rpi-lcd-35", "ilitek,ili9486";
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_lcd>;
+				reg = <0>;
+				spi-max-frequency = <32000000>;
+				dc-gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>;
+				reset-gpios = <&gpio3 6 GPIO_ACTIVE_HIGH>;
+				backlight = <&backlight>;
+				rotation = <180>;
+			};
+
+			touchscreen at 1 {
+				compatible = "ti,ads7846";
+				pinctrl-names = "default";
+				pinctrl-0 = <&pinctrl_touchscreen>;
+				reg = <1>;
+				interrupt-parent = <&gpio3>;
+				interrupts = <18 IRQ_TYPE_EDGE_FALLING>;
+				pendown-gpio = <&gpio3 18 GPIO_ACTIVE_HIGH>;
+				spi-max-frequency = <1000000>;
+
+				touchscreen-min-x = <184>;
+				touchscreen-size-x = <3869>;
+				touchscreen-min-y = <141>;
+				touchscreen-size-y = <3959>;
+				ti,x-plate-ohms = /bits/ 16 <150>;
+				touchscreen-max-pressure = <255>;
+				ti,settle-delay-usec = /bits/ 16 <150>;
+				ti,keep-vref-on;
+				wakeup-source;
+			};
+		};
+	};
+
+	fragment at 2 {
+		target = <&iomuxc>;
+		__overlay__ {
+			pinctrl_ecspi1: ecspi1grp {
+				fsl,pins = <
+					MX6UL_PAD_LCD_DATA20__ECSPI1_SCLK    0x100b1
+					MX6UL_PAD_LCD_DATA22__ECSPI1_MOSI    0x100b1
+					MX6UL_PAD_LCD_DATA23__ECSPI1_MISO    0x100b1
+					MX6UL_PAD_LCD_DATA21__GPIO3_IO26     0x0b0b1     /* SPI CS.0 */
+					MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15    0x0b0b1     /* SPI CS.1 */
+				>;
+			};
+
+			pinctrl_lcd: lcdgrp {
+				fsl,pins = <
+					MX6UL_PAD_LCD_DATA01__GPIO3_IO06       0x180b1     /* LCD_RST */
+					MX6UL_PAD_UART5_RX_DATA__GPIO1_IO31    0x180b1     /* LCD_DC */
+					MX6UL_PAD_LCD_DATA16__GPIO3_IO21       0x180b1     /* backlight */
+				>;
+			};
+
+			pinctrl_touchscreen: touchscreengrp {
+				fsl,pins = <
+					MX6UL_PAD_LCD_DATA13__GPIO3_IO18    0x1b0b0
+				>;
+			};
+		};
+	};
+};

-- 
2.43.0




More information about the linux-arm-kernel mailing list