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