WIP FPC-III support
[linux/fpc-iii.git] / Documentation / devicetree / bindings / display / panel / tpo,tpg110.yaml
blob6f1f02044b4b32a9b5fb95bb62f03b6d2c01a017
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#
7 title: TPO TPG110 Panel
9 maintainers:
10   - Linus Walleij <linus.walleij@linaro.org>
11   - Thierry Reding <thierry.reding@gmail.com>
13 description: |+
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.
22          +--------+
23   SPI -> |  TPO   | -> physical display
24   RGB -> | TPG110 |
25          +--------+
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.
33   The TPG110 does not know the physical dimensions of the panel
34   connected, so this needs to be specified in the device tree.
36   It requires a GPIO line for control of its reset line.
38   The serial protocol has line names that resemble I2C but the
39   protocol is not I2C but 3WIRE SPI.
42 allOf:
43   - $ref: panel-common.yaml#
45 properties:
46   compatible:
47     oneOf:
48       - items:
49           - enum:
50               - ste,nomadik-nhk15-display
51           - const: tpo,tpg110
52       - const: tpo,tpg110
54   reg: true
56   grestb-gpios:
57     maxItems: 1
58     description: panel reset GPIO
60   spi-3wire: true
62   spi-max-frequency:
63     const: 3000000
65 required:
66   - compatible
67   - reg
68   - grestb-gpios
69   - width-mm
70   - height-mm
71   - spi-3wire
72   - spi-max-frequency
73   - port
75 unevaluatedProperties: false
77 examples:
78   - |+
79     spi {
80       #address-cells = <1>;
81       #size-cells = <0>;
83       panel: display@0 {
84         compatible = "tpo,tpg110";
85         reg = <0>;
86         spi-3wire;
87         /* 320 ns min period ~= 3 MHz */
88         spi-max-frequency = <3000000>;
89         /* Width and height from data sheet */
90         width-mm = <116>;
91         height-mm = <87>;
92         grestb-gpios = <&foo_gpio 5 1>;
93         backlight = <&bl>;
95         port {
96           nomadik_clcd_panel: endpoint {
97             remote-endpoint = <&foo>;
98           };
99         };
100       };
101     };