xref: /openbmc/linux/Documentation/devicetree/bindings/display/panel/tpo,tpg110.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
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#
44*5b4248bfSKrzysztof 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
5597530410SRob Herring  reg: true
5697530410SRob Herring
5797530410SRob Herring  grestb-gpios:
5897530410SRob Herring    maxItems: 1
5997530410SRob Herring    description: panel reset GPIO
6097530410SRob Herring
6197530410SRob Herring  spi-3wire: true
6297530410SRob Herring
6397530410SRob Herring  spi-max-frequency:
6497530410SRob Herring    const: 3000000
6597530410SRob Herring
6697530410SRob Herringrequired:
6797530410SRob Herring  - compatible
6897530410SRob Herring  - reg
6997530410SRob Herring  - grestb-gpios
7097530410SRob Herring  - width-mm
7197530410SRob Herring  - height-mm
7297530410SRob Herring  - spi-3wire
7397530410SRob Herring  - spi-max-frequency
7497530410SRob Herring  - port
7597530410SRob Herring
766fdc6e23SRob HerringunevaluatedProperties: false
776fdc6e23SRob Herring
7897530410SRob Herringexamples:
7997530410SRob Herring  - |+
8097530410SRob Herring    spi {
8197530410SRob Herring      #address-cells = <1>;
8297530410SRob Herring      #size-cells = <0>;
8397530410SRob Herring
8497530410SRob Herring      panel: display@0 {
8597530410SRob Herring        compatible = "tpo,tpg110";
8697530410SRob Herring        reg = <0>;
8797530410SRob Herring        spi-3wire;
8897530410SRob Herring        /* 320 ns min period ~= 3 MHz */
8997530410SRob Herring        spi-max-frequency = <3000000>;
9097530410SRob Herring        /* Width and height from data sheet */
9197530410SRob Herring        width-mm = <116>;
9297530410SRob Herring        height-mm = <87>;
9397530410SRob Herring        grestb-gpios = <&foo_gpio 5 1>;
9497530410SRob Herring        backlight = <&bl>;
9597530410SRob Herring
9697530410SRob Herring        port {
9797530410SRob Herring          nomadik_clcd_panel: endpoint {
9897530410SRob Herring            remote-endpoint = <&foo>;
9997530410SRob Herring          };
10097530410SRob Herring        };
10197530410SRob Herring      };
10297530410SRob Herring    };
10397530410SRob Herring
10497530410SRob Herring...
105