Merge tag 'for-linus-5.14-1' of git://github.com/cminyard/linux-ipmi
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / input / touchscreen / hycon,hy46xx.yaml
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/hycon,hy46xx.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Hycon HY46XX series touchscreen controller bindings
8
9 description: |
10   There are 6 variants of the chip for various touch panel sizes and cover lens material
11    Glass: 0.3mm--4.0mm
12     PET/PMMA: 0.2mm--2.0mm
13     HY4613(B)-N048  < 6"
14     HY4614(B)-N068  7" .. 10.1"
15     HY4621-NS32  < 5"
16     HY4623-NS48  5.1" .. 7"
17    Glass: 0.3mm--8.0mm
18     PET/PMMA: 0.2mm--4.0mm
19     HY4633(B)-N048  < 6"
20     HY4635(B)-N048  < 7" .. 10.1"
21
22 maintainers:
23   - Giulio Benetti <giulio.benetti@benettiengineering.com>
24
25 allOf:
26   - $ref: touchscreen.yaml#
27
28 properties:
29   compatible:
30     enum:
31       - hycon,hy4613
32       - hycon,hy4614
33       - hycon,hy4621
34       - hycon,hy4623
35       - hycon,hy4633
36       - hycon,hy4635
37
38   reg:
39     maxItems: 1
40
41   interrupts:
42     maxItems: 1
43
44   reset-gpios:
45     maxItems: 1
46
47   vcc-supply: true
48
49   hycon,threshold:
50     description: Allows setting the sensitivity in the range from 0 to 255.
51     $ref: /schemas/types.yaml#/definitions/uint32
52     minimum: 0
53     maximum: 255
54
55   hycon,glove-enable:
56     type: boolean
57     description: Allows enabling glove setting.
58
59   hycon,report-speed-hz:
60     description: Allows setting the report speed in Hertz.
61     minimum: 1
62     maximum: 255
63
64   hycon,noise-filter-enable:
65     type: boolean
66     description: Allows enabling power noise filter.
67
68   hycon,filter-data:
69     description: Allows setting how many samples throw before reporting touch
70                  in the range from 0 to 5.
71     $ref: /schemas/types.yaml#/definitions/uint32
72     minimum: 0
73     maximum: 5
74
75   hycon,gain:
76     description: Allows setting the sensitivity distance in the range from 0 to 5.
77     $ref: /schemas/types.yaml#/definitions/uint32
78     minimum: 0
79     maximum: 5
80
81   hycon,edge-offset:
82     description: Allows setting the edge compensation in the range from 0 to 16.
83     $ref: /schemas/types.yaml#/definitions/uint32
84     minimum: 0
85     maximum: 16
86
87   touchscreen-size-x: true
88   touchscreen-size-y: true
89   touchscreen-fuzz-x: true
90   touchscreen-fuzz-y: true
91   touchscreen-inverted-x: true
92   touchscreen-inverted-y: true
93   touchscreen-swapped-x-y: true
94   interrupt-controller: true
95
96 additionalProperties: false
97
98 required:
99   - compatible
100   - reg
101   - interrupts
102
103 examples:
104   - |
105     #include <dt-bindings/gpio/gpio.h>
106     #include <dt-bindings/interrupt-controller/arm-gic.h>
107     i2c {
108       #address-cells = <1>;
109       #size-cells = <0>;
110       touchscreen@1c {
111         compatible = "hycon,hy4633";
112         reg = <0x1c>;
113         interrupt-parent = <&gpio2>;
114         interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
115         reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
116       };
117     };
118
119 ...