// SPDX-License-Identifier: (GPL-2.0 OR MIT)
//
// Copyright (C) 2020 Pengutronix, Ulrich Oelmann <kernel@pengutronix.de>

/ {
	touchscreen {
		compatible = "resistive-adc-touch";
		io-channels = <&adc_ts 1>, <&adc_ts 3>, <&adc_ts 4>, <&adc_ts 5>;
		io-channel-names = "y", "z1", "z2", "x";
		touchscreen-min-pressure = <65000>;
		touchscreen-inverted-y;
		touchscreen-swapped-x-y;
		touchscreen-x-plate-ohms = <300>;
		touchscreen-y-plate-ohms = <800>;
	};
};

&ecspi4 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi4>;
	cs-gpios = <&gpio3 20 GPIO_ACTIVE_LOW>;
	status = "okay";

	adc_ts: adc@0 {
		compatible = "ti,tsc2046e-adc";
		reg = <0>;
		pinctrl-0 = <&pinctrl_touch>;
		pinctrl-names ="default";
		spi-max-frequency = <1000000>;
		interrupts-extended = <&gpio3 19 IRQ_TYPE_LEVEL_LOW>;
		#io-channel-cells = <1>;

		#address-cells = <1>;
		#size-cells = <0>;

		channel@1 {
			reg = <1>;
			settling-time-us = <700>;
			oversampling-ratio = <5>;
		};

		channel@3 {
			reg = <3>;
			settling-time-us = <700>;
			oversampling-ratio = <5>;
		};

		channel@4 {
			reg = <4>;
			settling-time-us = <700>;
			oversampling-ratio = <5>;
		};

		channel@5 {
			reg = <5>;
			settling-time-us = <700>;
			oversampling-ratio = <5>;
		};
	};
};

&iomuxc {
	pinctrl_ecspi4: ecspi4grp {
		fsl,pins = <
			MX6QDL_PAD_EIM_D28__ECSPI4_MOSI			0x100b1
			MX6QDL_PAD_EIM_D22__ECSPI4_MISO			0x000b1
			MX6QDL_PAD_EIM_D21__ECSPI4_SCLK			0x000b1
			/* *no* external pull up */
			MX6QDL_PAD_EIM_D20__GPIO3_IO20		0x40000058
		>;
	};

	pinctrl_touch: touchgrp {
		fsl,pins = <
			/* external pull up */
			MX6QDL_PAD_EIM_D19__GPIO3_IO19			0x10040
		>;
	};
};
