blob: d90f045ac06c89b6053e56b3d50829056698c3fb [file] [log] [blame]
Tom Rini6bb92fc2024-05-20 09:54:58 -06001# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/input/touchscreen/goodix,gt9916.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Goodix Berlin series touchscreen controller
8
9description: The Goodix Berlin series of touchscreen controllers
10 be connected to either I2C or SPI buses.
11
12maintainers:
13 - Neil Armstrong <neil.armstrong@linaro.org>
14
15allOf:
16 - $ref: touchscreen.yaml#
17 - $ref: /schemas/spi/spi-peripheral-props.yaml#
18
19properties:
20 compatible:
21 enum:
22 - goodix,gt9916
23
24 reg:
25 maxItems: 1
26
27 interrupts:
28 maxItems: 1
29
30 reset-gpios:
31 maxItems: 1
32
33 avdd-supply:
34 description: Analog power supply regulator on AVDD pin
35
36 vddio-supply:
37 description: power supply regulator on VDDIO pin
38
39 spi-max-frequency: true
40 touchscreen-inverted-x: true
41 touchscreen-inverted-y: true
42 touchscreen-size-x: true
43 touchscreen-size-y: true
44 touchscreen-swapped-x-y: true
45
46additionalProperties: false
47
48required:
49 - compatible
50 - reg
51 - interrupts
52 - avdd-supply
53 - touchscreen-size-x
54 - touchscreen-size-y
55
56examples:
57 - |
58 #include <dt-bindings/interrupt-controller/irq.h>
59 #include <dt-bindings/gpio/gpio.h>
60 i2c {
61 #address-cells = <1>;
62 #size-cells = <0>;
63 touchscreen@5d {
64 compatible = "goodix,gt9916";
65 reg = <0x5d>;
66 interrupt-parent = <&gpio>;
67 interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
68 reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
69 avdd-supply = <&ts_avdd>;
70 touchscreen-size-x = <1024>;
71 touchscreen-size-y = <768>;
72 };
73 };
74 - |
75 #include <dt-bindings/interrupt-controller/irq.h>
76 #include <dt-bindings/gpio/gpio.h>
77 spi {
78 #address-cells = <1>;
79 #size-cells = <0>;
80 num-cs = <1>;
81 cs-gpios = <&gpio 2 GPIO_ACTIVE_HIGH>;
82 touchscreen@0 {
83 compatible = "goodix,gt9916";
84 reg = <0>;
85 interrupt-parent = <&gpio>;
86 interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
87 reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
88 avdd-supply = <&ts_avdd>;
89 spi-max-frequency = <1000000>;
90 touchscreen-size-x = <1024>;
91 touchscreen-size-y = <768>;
92 };
93 };
94
95...