xref: /linux/Documentation/devicetree/bindings/display/panel/tpo,tpg110.yaml (revision 06f054b1fee83415fe35204845708988fc16ef22)
197530410SRob Herring# SPDX-License-Identifier: GPL-2.0
297530410SRob Herring%YAML 1.2
397530410SRob Herring---
497530410SRob Herring$id: http://devicetree.org/schemas/display/panel/tpo,tpg110.yaml#
597530410SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
697530410SRob Herring
797530410SRob Herringtitle: TPO TPG110 Panel
897530410SRob Herring
997530410SRob Herringmaintainers:
1097530410SRob Herring  - Linus Walleij <linus.walleij@linaro.org>
1197530410SRob Herring  - Thierry Reding <thierry.reding@gmail.com>
1297530410SRob Herring
1397530410SRob Herringdescription: |+
1497530410SRob Herring  This panel driver is a component that acts as an intermediary
1597530410SRob Herring  between an RGB output and a variety of panels. The panel
1697530410SRob Herring  driver is strapped up in electronics to the desired resolution
1797530410SRob Herring  and other properties, and has a control interface over 3WIRE
1897530410SRob Herring  SPI. By talking to the TPG110 over SPI, the strapped properties
1997530410SRob Herring  can be discovered and the hardware is therefore mostly
2097530410SRob Herring  self-describing.
2197530410SRob Herring
2297530410SRob Herring         +--------+
2397530410SRob Herring  SPI -> |  TPO   | -> physical display
2497530410SRob Herring  RGB -> | TPG110 |
2597530410SRob Herring         +--------+
2697530410SRob Herring
2797530410SRob Herring  If some electrical strap or alternate resolution is desired,
2897530410SRob Herring  this can be set up by taking software control of the display
2997530410SRob Herring  over the SPI interface. The interface can also adjust
3097530410SRob Herring  for properties of the display such as gamma correction and
3197530410SRob Herring  certain electrical driving levels.
3297530410SRob Herring
3397530410SRob Herring  The TPG110 does not know the physical dimensions of the panel
3497530410SRob Herring  connected, so this needs to be specified in the device tree.
3597530410SRob Herring
3697530410SRob Herring  It requires a GPIO line for control of its reset line.
3797530410SRob Herring
3897530410SRob Herring  The serial protocol has line names that resemble I2C but the
3997530410SRob Herring  protocol is not I2C but 3WIRE SPI.
4097530410SRob Herring
4197530410SRob Herring
4297530410SRob HerringallOf:
4397530410SRob Herring  - $ref: panel-common.yaml#
445b4248bfSKrzysztof Kozlowski  - $ref: /schemas/spi/spi-peripheral-props.yaml#
4597530410SRob Herring
4697530410SRob Herringproperties:
4797530410SRob Herring  compatible:
4897530410SRob Herring    oneOf:
4997530410SRob Herring      - items:
5097530410SRob Herring          - enum:
5197530410SRob Herring              - ste,nomadik-nhk15-display
5297530410SRob Herring          - const: tpo,tpg110
5397530410SRob Herring      - const: tpo,tpg110
5497530410SRob Herring
55*6b2358ffSKrzysztof Kozlowski  reg:
56*6b2358ffSKrzysztof Kozlowski    maxItems: 1
5797530410SRob Herring
5897530410SRob Herring  grestb-gpios:
5997530410SRob Herring    maxItems: 1
6097530410SRob Herring    description: panel reset GPIO
6197530410SRob Herring
6297530410SRob Herring  spi-3wire: true
6397530410SRob Herring
6497530410SRob Herring  spi-max-frequency:
6597530410SRob Herring    const: 3000000
6697530410SRob Herring
6797530410SRob Herringrequired:
6897530410SRob Herring  - compatible
6997530410SRob Herring  - reg
7097530410SRob Herring  - grestb-gpios
7197530410SRob Herring  - width-mm
7297530410SRob Herring  - height-mm
7397530410SRob Herring  - spi-3wire
7497530410SRob Herring  - spi-max-frequency
7597530410SRob Herring  - port
7697530410SRob Herring
776fdc6e23SRob HerringunevaluatedProperties: false
786fdc6e23SRob Herring
7997530410SRob Herringexamples:
8097530410SRob Herring  - |+
8197530410SRob Herring    spi {
8297530410SRob Herring      #address-cells = <1>;
8397530410SRob Herring      #size-cells = <0>;
8497530410SRob Herring
8597530410SRob Herring      panel: display@0 {
8697530410SRob Herring        compatible = "tpo,tpg110";
8797530410SRob Herring        reg = <0>;
8897530410SRob Herring        spi-3wire;
8997530410SRob Herring        /* 320 ns min period ~= 3 MHz */
9097530410SRob Herring        spi-max-frequency = <3000000>;
9197530410SRob Herring        /* Width and height from data sheet */
9297530410SRob Herring        width-mm = <116>;
9397530410SRob Herring        height-mm = <87>;
9497530410SRob Herring        grestb-gpios = <&foo_gpio 5 1>;
9597530410SRob Herring        backlight = <&bl>;
9697530410SRob Herring
9797530410SRob Herring        port {
9897530410SRob Herring          nomadik_clcd_panel: endpoint {
9997530410SRob Herring            remote-endpoint = <&foo>;
10097530410SRob Herring          };
10197530410SRob Herring        };
10297530410SRob Herring      };
10397530410SRob Herring    };
10497530410SRob Herring
10597530410SRob Herring...
106