blob: 678756ad0f929accbc905c97f50ffdc88e1c812d [file] [log] [blame]
Tom Rini6bb92fc2024-05-20 09:54:58 -06001# 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
65required:
66 - compatible
67 - reg
68 - interrupts
69 - clocks
70 - clock-names
71 - xnur-gpios
72
73allOf:
74 - $ref: touchscreen.yaml#
75
76additionalProperties: false
77
78examples:
79 - |
80 #include <dt-bindings/interrupt-controller/arm-gic.h>
81 #include <dt-bindings/clock/imx6ul-clock.h>
82 #include <dt-bindings/gpio/gpio.h>
83 touchscreen@2040000 {
84 compatible = "fsl,imx6ul-tsc";
85 reg = <0x02040000 0x4000>, <0x0219c000 0x4000>;
86 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
87 <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
88 clocks = <&clks IMX6UL_CLK_IPG>,
89 <&clks IMX6UL_CLK_ADC2>;
90 clock-names = "tsc", "adc";
91 pinctrl-names = "default";
92 pinctrl-0 = <&pinctrl_tsc>;
93 xnur-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
94 measure-delay-time = <0xfff>;
95 pre-charge-time = <0xffff>;
96 touchscreen-average-samples = <32>;
97 };