xref: /linux/Documentation/devicetree/bindings/input/touchscreen/zinitix,bt400.yaml (revision 566ab427f827b0256d3e8ce0235d088e6a9c28bd)
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/zinitix,bt400.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Zinitix BT4xx and BT5xx series touchscreen controller
8
9description: The Zinitix BT4xx and BT5xx series of touchscreen controllers
10  are Korea-produced touchscreens with embedded microcontrollers. The
11  BT4xx series was produced 2010-2013 and the BT5xx series 2013-2014.
12
13maintainers:
14  - Michael Srba <Michael.Srba@seznam.cz>
15  - Linus Walleij <linus.walleij@linaro.org>
16
17allOf:
18  - $ref: touchscreen.yaml#
19  - $ref: ../input.yaml#
20
21properties:
22  $nodename:
23    pattern: "^touchscreen(@.*)?$"
24
25  compatible:
26    enum:
27      - zinitix,bt402
28      - zinitix,bt403
29      - zinitix,bt404
30      - zinitix,bt412
31      - zinitix,bt413
32      - zinitix,bt431
33      - zinitix,bt432
34      - zinitix,bt531
35      - zinitix,bt532
36      - zinitix,bt538
37      - zinitix,bt541
38      - zinitix,bt548
39      - zinitix,bt554
40      - zinitix,at100
41
42  reg:
43    description: I2C address on the I2C bus
44
45  clock-frequency:
46    description: I2C client clock frequency, defined for host when using
47      the device on the I2C bus
48    minimum: 0
49    maximum: 400000
50
51  interrupts:
52    description: Interrupt to host
53    maxItems: 1
54
55  vcca-supply:
56    description: Analog power supply regulator on the VCCA pin
57
58  vdd-supply:
59    description: Digital power supply regulator on the VDD pin.
60      In older device trees this can be the accidental name for the analog
61      supply on the VCCA pin, and in that case the deprecated vddo-supply is
62      used for the digital power supply.
63
64  vddo-supply:
65    description: Deprecated name for the digital power supply, use vdd-supply
66      as this reflects the real name of the pin. If this supply is present,
67      the vdd-supply represents VCCA instead of VDD. Implementers should first
68      check for this property, and if it is present assume that the vdd-supply
69      represents the analog supply.
70    deprecated: true
71
72  reset-gpios:
73    description: Reset line for the touchscreen, should be tagged
74      as GPIO_ACTIVE_LOW
75
76  zinitix,mode:
77    description: Mode of reporting touch points. Some modes may not work
78      with a particular ts firmware for unknown reasons. Available modes are
79      1 and 2. Mode 2 is the default and preferred.
80    $ref: /schemas/types.yaml#/definitions/uint32
81    enum: [1, 2]
82
83  linux,keycodes:
84    description:
85      This property specifies an array of keycodes assigned to the
86      touch-keys that can be present in some touchscreen configurations.
87      If the touch-keys are enabled, controller firmware will assign some
88      touch sense lines to those keys.
89    minItems: 1
90    maxItems: 8
91
92  touchscreen-size-x: true
93  touchscreen-size-y: true
94  touchscreen-fuzz-x: true
95  touchscreen-fuzz-y: true
96
97additionalProperties: false
98
99required:
100  - compatible
101  - reg
102  - interrupts
103  - touchscreen-size-x
104  - touchscreen-size-y
105
106examples:
107  - |
108    #include <dt-bindings/interrupt-controller/irq.h>
109    #include <dt-bindings/gpio/gpio.h>
110    i2c {
111      #address-cells = <1>;
112      #size-cells = <0>;
113
114      touchscreen@20 {
115        compatible = "zinitix,bt541";
116        reg = <0x20>;
117        interrupt-parent = <&gpio>;
118        interrupts = <13 IRQ_TYPE_EDGE_FALLING>;
119        vcca-supply = <&reg_vcca_tsp>;
120        vdd-supply = <&reg_vdd_tsp>;
121        touchscreen-size-x = <540>;
122        touchscreen-size-y = <960>;
123        zinitix,mode = <2>;
124      };
125    };
126