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