xref: /linux/Documentation/devicetree/bindings/display/panel/tpo,tpg110.yaml (revision 40ccd6aa3e2e05be93394e3cd560c718dedfcc77)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/display/panel/tpo,tpg110.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: TPO TPG110 Panel
8
9maintainers:
10  - Linus Walleij <linus.walleij@linaro.org>
11  - Thierry Reding <thierry.reding@gmail.com>
12
13description: |+
14  This panel driver is a component that acts as an intermediary
15  between an RGB output and a variety of panels. The panel
16  driver is strapped up in electronics to the desired resolution
17  and other properties, and has a control interface over 3WIRE
18  SPI. By talking to the TPG110 over SPI, the strapped properties
19  can be discovered and the hardware is therefore mostly
20  self-describing.
21
22         +--------+
23  SPI -> |  TPO   | -> physical display
24  RGB -> | TPG110 |
25         +--------+
26
27  If some electrical strap or alternate resolution is desired,
28  this can be set up by taking software control of the display
29  over the SPI interface. The interface can also adjust
30  for properties of the display such as gamma correction and
31  certain electrical driving levels.
32
33  The TPG110 does not know the physical dimensions of the panel
34  connected, so this needs to be specified in the device tree.
35
36  It requires a GPIO line for control of its reset line.
37
38  The serial protocol has line names that resemble I2C but the
39  protocol is not I2C but 3WIRE SPI.
40
41
42allOf:
43  - $ref: panel-common.yaml#
44  - $ref: /schemas/spi/spi-peripheral-props.yaml#
45
46properties:
47  compatible:
48    oneOf:
49      - items:
50          - enum:
51              - ste,nomadik-nhk15-display
52          - const: tpo,tpg110
53      - const: tpo,tpg110
54
55  reg:
56    maxItems: 1
57
58  grestb-gpios:
59    maxItems: 1
60    description: panel reset GPIO
61
62  spi-3wire: true
63
64  spi-max-frequency:
65    const: 3000000
66
67required:
68  - compatible
69  - reg
70  - grestb-gpios
71  - width-mm
72  - height-mm
73  - spi-3wire
74  - spi-max-frequency
75  - port
76
77unevaluatedProperties: false
78
79examples:
80  - |+
81    spi {
82      #address-cells = <1>;
83      #size-cells = <0>;
84
85      panel: display@0 {
86        compatible = "tpo,tpg110";
87        reg = <0>;
88        spi-3wire;
89        /* 320 ns min period ~= 3 MHz */
90        spi-max-frequency = <3000000>;
91        /* Width and height from data sheet */
92        width-mm = <116>;
93        height-mm = <87>;
94        grestb-gpios = <&foo_gpio 5 1>;
95        backlight = <&bl>;
96
97        port {
98          nomadik_clcd_panel: endpoint {
99            remote-endpoint = <&foo>;
100          };
101        };
102      };
103    };
104
105...
106