xref: /linux/Documentation/devicetree/bindings/input/touchscreen/fsl,imx6ul-tsc.yaml (revision 79790b6818e96c58fe2bffee1b418c16e64e7b80)
1*b6376606SSebastian Reichel# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b6376606SSebastian Reichel%YAML 1.2
3*b6376606SSebastian Reichel---
4*b6376606SSebastian Reichel$id: http://devicetree.org/schemas/input/touchscreen/fsl,imx6ul-tsc.yaml#
5*b6376606SSebastian Reichel$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b6376606SSebastian Reichel
7*b6376606SSebastian Reicheltitle: Freescale i.MX6UL Touch Controller
8*b6376606SSebastian Reichel
9*b6376606SSebastian Reichelmaintainers:
10*b6376606SSebastian Reichel  - Haibo Chen <haibo.chen@nxp.com>
11*b6376606SSebastian Reichel  - Shawn Guo <shawnguo@kernel.org>
12*b6376606SSebastian Reichel  - Sascha Hauer <s.hauer@pengutronix.de>
13*b6376606SSebastian Reichel
14*b6376606SSebastian Reichelproperties:
15*b6376606SSebastian Reichel  compatible:
16*b6376606SSebastian Reichel    const: fsl,imx6ul-tsc
17*b6376606SSebastian Reichel
18*b6376606SSebastian Reichel  reg:
19*b6376606SSebastian Reichel    items:
20*b6376606SSebastian Reichel      - description: touch controller address
21*b6376606SSebastian Reichel      - description: ADC2 address
22*b6376606SSebastian Reichel
23*b6376606SSebastian Reichel  interrupts:
24*b6376606SSebastian Reichel    items:
25*b6376606SSebastian Reichel      - description: touch controller address
26*b6376606SSebastian Reichel      - description: ADC2 address
27*b6376606SSebastian Reichel
28*b6376606SSebastian Reichel  clocks:
29*b6376606SSebastian Reichel    maxItems: 2
30*b6376606SSebastian Reichel
31*b6376606SSebastian Reichel  clock-names:
32*b6376606SSebastian Reichel    items:
33*b6376606SSebastian Reichel      - const: tsc
34*b6376606SSebastian Reichel      - const: adc
35*b6376606SSebastian Reichel
36*b6376606SSebastian Reichel  xnur-gpios:
37*b6376606SSebastian Reichel    maxItems: 1
38*b6376606SSebastian Reichel    description:
39*b6376606SSebastian Reichel      The X- gpio this controller connect to. This xnur-gpio returns to
40*b6376606SSebastian Reichel      low once the finger leave the touch screen (The last touch event
41*b6376606SSebastian Reichel      the touch controller capture).
42*b6376606SSebastian Reichel
43*b6376606SSebastian Reichel  measure-delay-time:
44*b6376606SSebastian Reichel    $ref: /schemas/types.yaml#/definitions/uint32
45*b6376606SSebastian Reichel    description:
46*b6376606SSebastian Reichel      The value of measure delay time. Before X-axis or Y-axis measurement,
47*b6376606SSebastian Reichel      the screen need some time before even potential distribution ready.
48*b6376606SSebastian Reichel    default: 0xffff
49*b6376606SSebastian Reichel    minimum: 0
50*b6376606SSebastian Reichel    maximum: 0xffffff
51*b6376606SSebastian Reichel
52*b6376606SSebastian Reichel  pre-charge-time:
53*b6376606SSebastian Reichel    $ref: /schemas/types.yaml#/definitions/uint32
54*b6376606SSebastian Reichel    description:
55*b6376606SSebastian Reichel      The touch screen need some time to precharge.
56*b6376606SSebastian Reichel    default: 0xfff
57*b6376606SSebastian Reichel    minimum: 0
58*b6376606SSebastian Reichel    maximum: 0xffffffff
59*b6376606SSebastian Reichel
60*b6376606SSebastian Reichel  touchscreen-average-samples:
61*b6376606SSebastian Reichel    $ref: /schemas/types.yaml#/definitions/uint32
62*b6376606SSebastian Reichel    description: Number of data samples which are averaged for each read.
63*b6376606SSebastian Reichel    enum: [ 1, 4, 8, 16, 32 ]
64*b6376606SSebastian Reichel
65*b6376606SSebastian Reichelrequired:
66*b6376606SSebastian Reichel  - compatible
67*b6376606SSebastian Reichel  - reg
68*b6376606SSebastian Reichel  - interrupts
69*b6376606SSebastian Reichel  - clocks
70*b6376606SSebastian Reichel  - clock-names
71*b6376606SSebastian Reichel  - xnur-gpios
72*b6376606SSebastian Reichel
73*b6376606SSebastian ReichelallOf:
74*b6376606SSebastian Reichel  - $ref: touchscreen.yaml#
75*b6376606SSebastian Reichel
76*b6376606SSebastian ReicheladditionalProperties: false
77*b6376606SSebastian Reichel
78*b6376606SSebastian Reichelexamples:
79*b6376606SSebastian Reichel  - |
80*b6376606SSebastian Reichel    #include <dt-bindings/interrupt-controller/arm-gic.h>
81*b6376606SSebastian Reichel    #include <dt-bindings/clock/imx6ul-clock.h>
82*b6376606SSebastian Reichel    #include <dt-bindings/gpio/gpio.h>
83*b6376606SSebastian Reichel    touchscreen@2040000 {
84*b6376606SSebastian Reichel        compatible = "fsl,imx6ul-tsc";
85*b6376606SSebastian Reichel        reg = <0x02040000 0x4000>, <0x0219c000 0x4000>;
86*b6376606SSebastian Reichel        interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
87*b6376606SSebastian Reichel                     <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
88*b6376606SSebastian Reichel        clocks = <&clks IMX6UL_CLK_IPG>,
89*b6376606SSebastian Reichel                 <&clks IMX6UL_CLK_ADC2>;
90*b6376606SSebastian Reichel        clock-names = "tsc", "adc";
91*b6376606SSebastian Reichel        pinctrl-names = "default";
92*b6376606SSebastian Reichel        pinctrl-0 = <&pinctrl_tsc>;
93*b6376606SSebastian Reichel        xnur-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
94*b6376606SSebastian Reichel        measure-delay-time = <0xfff>;
95*b6376606SSebastian Reichel        pre-charge-time = <0xffff>;
96*b6376606SSebastian Reichel        touchscreen-average-samples = <32>;
97*b6376606SSebastian Reichel    };
98