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