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
7title: Hycon HY46XX series touchscreen controller bindings
8
9description: |
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
22maintainers:
23  - Giulio Benetti <giulio.benetti@benettiengineering.com>
24
25allOf:
26  - $ref: touchscreen.yaml#
27
28properties:
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
96additionalProperties: false
97
98required:
99  - compatible
100  - reg
101  - interrupts
102
103examples:
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...
120