Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / display / panel / tpo,tpg110.yaml
blob59a373728e628d62375ecee2d22fa6df9af48107
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#
44   - $ref: /schemas/spi/spi-peripheral-props.yaml#
46 properties:
47   compatible:
48     oneOf:
49       - items:
50           - enum:
51               - ste,nomadik-nhk15-display
52           - const: tpo,tpg110
53       - const: tpo,tpg110
55   reg:
56     maxItems: 1
58   grestb-gpios:
59     maxItems: 1
60     description: panel reset GPIO
62   spi-3wire: true
64   spi-max-frequency:
65     const: 3000000
67 required:
68   - compatible
69   - reg
70   - grestb-gpios
71   - width-mm
72   - height-mm
73   - spi-3wire
74   - spi-max-frequency
75   - port
77 unevaluatedProperties: false
79 examples:
80   - |+
81     spi {
82       #address-cells = <1>;
83       #size-cells = <0>;
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>;
97         port {
98           nomadik_clcd_panel: endpoint {
99             remote-endpoint = <&foo>;
100           };
101         };
102       };
103     };