1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/input/touchscreen/fsl,imx6ul-tsc.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Freescale i.MX6UL Touch Controller 8 9maintainers: 10 - Haibo Chen <haibo.chen@nxp.com> 11 - Shawn Guo <shawnguo@kernel.org> 12 - Sascha Hauer <s.hauer@pengutronix.de> 13 14properties: 15 compatible: 16 const: fsl,imx6ul-tsc 17 18 reg: 19 items: 20 - description: touch controller address 21 - description: ADC2 address 22 23 interrupts: 24 items: 25 - description: touch controller address 26 - description: ADC2 address 27 28 clocks: 29 maxItems: 2 30 31 clock-names: 32 items: 33 - const: tsc 34 - const: adc 35 36 xnur-gpios: 37 maxItems: 1 38 description: 39 The X- gpio this controller connect to. This xnur-gpio returns to 40 low once the finger leave the touch screen (The last touch event 41 the touch controller capture). 42 43 measure-delay-time: 44 $ref: /schemas/types.yaml#/definitions/uint32 45 description: 46 The value of measure delay time. Before X-axis or Y-axis measurement, 47 the screen need some time before even potential distribution ready. 48 default: 0xffff 49 minimum: 0 50 maximum: 0xffffff 51 52 pre-charge-time: 53 $ref: /schemas/types.yaml#/definitions/uint32 54 description: 55 The touch screen need some time to precharge. 56 default: 0xfff 57 minimum: 0 58 maximum: 0xffffffff 59 60 touchscreen-average-samples: 61 $ref: /schemas/types.yaml#/definitions/uint32 62 description: Number of data samples which are averaged for each read. 63 enum: [ 1, 4, 8, 16, 32 ] 64 65 debounce-delay-us: 66 description: | 67 Minimum duration in microseconds a signal must remain stable 68 to be considered valid. 69 70 Drivers must convert this value to IPG clock cycles and map 71 it to one of the four discrete thresholds exposed by the 72 TSC_DEBUG_MODE2 register: 73 74 0: 8191 IPG cycles 75 1: 4095 IPG cycles 76 2: 2047 IPG cycles 77 3: 1023 IPG cycles 78 79required: 80 - compatible 81 - reg 82 - interrupts 83 - clocks 84 - clock-names 85 - xnur-gpios 86 87allOf: 88 - $ref: touchscreen.yaml# 89 90additionalProperties: false 91 92examples: 93 - | 94 #include <dt-bindings/interrupt-controller/arm-gic.h> 95 #include <dt-bindings/clock/imx6ul-clock.h> 96 #include <dt-bindings/gpio/gpio.h> 97 touchscreen@2040000 { 98 compatible = "fsl,imx6ul-tsc"; 99 reg = <0x02040000 0x4000>, <0x0219c000 0x4000>; 100 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 101 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>; 102 clocks = <&clks IMX6UL_CLK_IPG>, 103 <&clks IMX6UL_CLK_ADC2>; 104 clock-names = "tsc", "adc"; 105 pinctrl-names = "default"; 106 pinctrl-0 = <&pinctrl_tsc>; 107 xnur-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>; 108 measure-delay-time = <0xfff>; 109 pre-charge-time = <0xffff>; 110 touchscreen-average-samples = <32>; 111 }; 112