1// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2//
3// Copyright (C) 2020 Pengutronix, Ulrich Oelmann <kernel@pengutronix.de>
4
5&ecspi4 {
6	pinctrl-names = "default";
7	pinctrl-0 = <&pinctrl_ecspi4>;
8	cs-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
9	status = "okay";
10
11	touchscreen@0 {
12		pinctrl-names = "default";
13		pinctrl-0 = <&pinctrl_touch>;
14		compatible = "ti,tsc2046";
15		reg = <0>;
16		spi-max-frequency = <1000000>;
17		interrupts-extended = <&gpio3 19 IRQ_TYPE_LEVEL_LOW>;
18		vcc-supply  = <&reg_3v3>;
19		pendown-gpio = <&gpio3 19 GPIO_ACTIVE_LOW>;
20		ti,x-plate-ohms = /bits/ 16 <850>;
21		ti,y-plate-ohms = /bits/ 16 <295>;
22		ti,pressure-min = /bits/ 16 <2>;
23		ti,pressure-max = /bits/ 16 <1500>;
24		ti,vref-mv	= /bits/ 16 <3300>;
25		ti,settle-delay-usec = /bits/ 16 <15>;
26		ti,vref-delay-usecs = /bits/ 16 <0>;
27		ti,penirq-recheck-delay-usecs = /bits/ 16 <100>;
28		ti,debounce-max = /bits/ 16 <100>;
29		ti,debounce-tol = /bits/ 16 <(~0)>;
30		ti,debounce-rep = /bits/ 16 <4>;
31		touchscreen-swapped-x-y;
32		touchscreen-inverted-y;
33		wakeup-source;
34	};
35};
36
37&iomuxc {
38	pinctrl_ecspi4: ecspi4grp {
39		fsl,pins = <
40			MX6QDL_PAD_EIM_D28__ECSPI4_MOSI			0x100b1
41			MX6QDL_PAD_EIM_D22__ECSPI4_MISO			0x000b1
42			MX6QDL_PAD_EIM_D21__ECSPI4_SCLK			0x000b1
43			/* *no* external pull up */
44			MX6QDL_PAD_EIM_D20__GPIO3_IO20		0x40000058
45		>;
46	};
47
48	pinctrl_touch: touchgrp {
49		fsl,pins = <
50			/* external pull up */
51			MX6QDL_PAD_EIM_D19__GPIO3_IO19			0x10040
52		>;
53	};
54};
55