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