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