0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/panel/tpo,tpg110.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: TPO TPG110 Panel
0008
0009 maintainers:
0010 - Linus Walleij <linus.walleij@linaro.org>
0011 - Thierry Reding <thierry.reding@gmail.com>
0012
0013 description: |+
0014 This panel driver is a component that acts as an intermediary
0015 between an RGB output and a variety of panels. The panel
0016 driver is strapped up in electronics to the desired resolution
0017 and other properties, and has a control interface over 3WIRE
0018 SPI. By talking to the TPG110 over SPI, the strapped properties
0019 can be discovered and the hardware is therefore mostly
0020 self-describing.
0021
0022 +--------+
0023 SPI -> | TPO | -> physical display
0024 RGB -> | TPG110 |
0025 +--------+
0026
0027 If some electrical strap or alternate resolution is desired,
0028 this can be set up by taking software control of the display
0029 over the SPI interface. The interface can also adjust
0030 for properties of the display such as gamma correction and
0031 certain electrical driving levels.
0032
0033 The TPG110 does not know the physical dimensions of the panel
0034 connected, so this needs to be specified in the device tree.
0035
0036 It requires a GPIO line for control of its reset line.
0037
0038 The serial protocol has line names that resemble I2C but the
0039 protocol is not I2C but 3WIRE SPI.
0040
0041
0042 allOf:
0043 - $ref: panel-common.yaml#
0044
0045 properties:
0046 compatible:
0047 oneOf:
0048 - items:
0049 - enum:
0050 - ste,nomadik-nhk15-display
0051 - const: tpo,tpg110
0052 - const: tpo,tpg110
0053
0054 reg: true
0055
0056 grestb-gpios:
0057 maxItems: 1
0058 description: panel reset GPIO
0059
0060 spi-3wire: true
0061
0062 spi-max-frequency:
0063 const: 3000000
0064
0065 required:
0066 - compatible
0067 - reg
0068 - grestb-gpios
0069 - width-mm
0070 - height-mm
0071 - spi-3wire
0072 - spi-max-frequency
0073 - port
0074
0075 unevaluatedProperties: false
0076
0077 examples:
0078 - |+
0079 spi {
0080 #address-cells = <1>;
0081 #size-cells = <0>;
0082
0083 panel: display@0 {
0084 compatible = "tpo,tpg110";
0085 reg = <0>;
0086 spi-3wire;
0087 /* 320 ns min period ~= 3 MHz */
0088 spi-max-frequency = <3000000>;
0089 /* Width and height from data sheet */
0090 width-mm = <116>;
0091 height-mm = <87>;
0092 grestb-gpios = <&foo_gpio 5 1>;
0093 backlight = <&bl>;
0094
0095 port {
0096 nomadik_clcd_panel: endpoint {
0097 remote-endpoint = <&foo>;
0098 };
0099 };
0100 };
0101 };
0102
0103 ...