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