From 02df9d2fb6bccfd25c1e2d2d47abe96200a04712 Mon Sep 17 00:00:00 2001
From: Tobias Kahlki <tobias.kahlki@seco.com>
Date: Mon, 9 Sep 2024 16:42:19 +0200
Subject: [PATCH] [D18][DTBO] Add overlay for I2C MXT touch controller

---
 .../seco-imx8mp-d18-ts-mxt-overlay.dts        | 53 +++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 arch/arm64/boot/dts/seco/overlays/seco-imx8mp-d18-ts-mxt-overlay.dts

diff --git a/arch/arm64/boot/dts/seco/overlays/seco-imx8mp-d18-ts-mxt-overlay.dts b/arch/arm64/boot/dts/seco/overlays/seco-imx8mp-d18-ts-mxt-overlay.dts
new file mode 100644
index 00000000000000..8c486516035c46
--- /dev/null
+++ b/arch/arm64/boot/dts/seco/overlays/seco-imx8mp-d18-ts-mxt-overlay.dts
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2024 SECO
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include "../include/imx8mp-pinfunc.h"
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+
+/dts-v1/;
+/plugin/;
+
+/ {
+	compatible = "fsl,imx8mp-evk", "seco,imx8mp-d18", "fsl,imx8mp";
+
+/*  __________________________________________________________________________
+ * |                                                                          |
+ * |                       I2C Touch Controller maXTouch                      |
+ * |__________________________________________________________________________|
+ */
+
+	fragment@0 {
+		target = <&i2c2>;
+		__overlay__ {
+			mxt@4a {
+				compatible = "atmel,maxtouch";
+				status = "okay";
+				reg = <0x4a>;
+				/*
+				 * The touch_int is connected to the GPIO-Expander
+				 * and needs no pinmuxing.
+				 */
+				interrupt-parent = <&pca6416>;
+				interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
+				/*
+				 * The atmel-mxt driver doesn't support the irq-gpio
+				 * or the irq-low-active properties.
+				 */
+				reset-gpio = <&pca6416 2 GPIO_ACTIVE_LOW>;
+				reset-low-active = <1>;
+			};
+		};
+	};
+};
-- 
GitLab