1821a1f71SRob Herring# SPDX-License-Identifier: GPL-2.0 2821a1f71SRob Herring%YAML 1.2 3821a1f71SRob Herring--- 4821a1f71SRob Herring$id: http://devicetree.org/schemas/display/panel/panel-common.yaml# 5821a1f71SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6821a1f71SRob Herring 7821a1f71SRob Herringtitle: Common Properties for Display Panels 8821a1f71SRob Herring 9821a1f71SRob Herringmaintainers: 10821a1f71SRob Herring - Thierry Reding <thierry.reding@gmail.com> 11821a1f71SRob Herring - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 12821a1f71SRob Herring 13821a1f71SRob Herringdescription: | 14821a1f71SRob Herring This document defines device tree properties common to several classes of 15821a1f71SRob Herring display panels. It doesn't constitue a device tree binding specification by 16821a1f71SRob Herring itself but is meant to be referenced by device tree bindings. 17821a1f71SRob Herring 18821a1f71SRob Herring When referenced from panel device tree bindings the properties defined in this 19821a1f71SRob Herring document are defined as follows. The panel device tree bindings are 20821a1f71SRob Herring responsible for defining whether each property is required or optional. 21821a1f71SRob Herring 22821a1f71SRob Herringproperties: 23821a1f71SRob Herring # Descriptive Properties 24821a1f71SRob Herring width-mm: 25821a1f71SRob Herring description: 26821a1f71SRob Herring Specifies the width of the physical area where images are displayed. This 27821a1f71SRob Herring property is expressed in millimeters and rounded to the closest unit. 28821a1f71SRob Herring 29821a1f71SRob Herring height-mm: 30821a1f71SRob Herring description: 31821a1f71SRob Herring Specifies the height of the physical area where images are displayed. This 32821a1f71SRob Herring property is expressed in millimeters and rounded to the closest unit. 33821a1f71SRob Herring 34821a1f71SRob Herring label: 35821a1f71SRob Herring description: | 36821a1f71SRob Herring The label property specifies a symbolic name for the panel as a 37821a1f71SRob Herring string suitable for use by humans. It typically contains a name inscribed 38821a1f71SRob Herring on the system (e.g. as an affixed label) or specified in the system's 39821a1f71SRob Herring documentation (e.g. in the user's manual). 40821a1f71SRob Herring 41821a1f71SRob Herring If no such name exists, and unless the property is mandatory according to 42821a1f71SRob Herring device tree bindings, it shall rather be omitted than constructed of 43821a1f71SRob Herring non-descriptive information. For instance an LCD panel in a system that 44821a1f71SRob Herring contains a single panel shall not be labelled "LCD" if that name is not 45821a1f71SRob Herring inscribed on the system or used in a descriptive fashion in system 46821a1f71SRob Herring documentation. 47821a1f71SRob Herring 48821a1f71SRob Herring rotation: 49821a1f71SRob Herring description: 50821a1f71SRob Herring Display rotation in degrees counter clockwise (0,90,180,270) 513d21a460SRob Herring $ref: /schemas/types.yaml#/definitions/uint32 523d21a460SRob Herring enum: [0, 90, 180, 270] 53821a1f71SRob Herring 54821a1f71SRob Herring # Display Timings 55821a1f71SRob Herring panel-timing: 56821a1f71SRob Herring description: 57821a1f71SRob Herring Most display panels are restricted to a single resolution and 58821a1f71SRob Herring require specific display timings. The panel-timing subnode expresses those 593aa31cedSSam Ravnborg timings. 603d21a460SRob Herring $ref: panel-timing.yaml# 61821a1f71SRob Herring 624dd23a47SSam Ravnborg display-timings: 634dd23a47SSam Ravnborg description: 6492e513fbSSam Ravnborg Some display panels support several resolutions with different timings. 654dd23a47SSam Ravnborg The display-timings bindings supports specifying several timings and 6692e513fbSSam Ravnborg optionally specifying which is the native mode. 673d21a460SRob Herring $ref: display-timings.yaml# 684dd23a47SSam Ravnborg 69821a1f71SRob Herring # Connectivity 70821a1f71SRob Herring port: 71821a1f71SRob Herring type: object 72821a1f71SRob Herring 73821a1f71SRob Herring ports: 74821a1f71SRob Herring type: object 75821a1f71SRob Herring description: 76821a1f71SRob Herring Panels receive video data through one or multiple connections. While 77821a1f71SRob Herring the nature of those connections is specific to the panel type, the 78821a1f71SRob Herring connectivity is expressed in a standard fashion using ports as specified 79821a1f71SRob Herring in the device graph bindings defined in 80821a1f71SRob Herring Documentation/devicetree/bindings/graph.txt. 81821a1f71SRob Herring 82821a1f71SRob Herring ddc-i2c-bus: 83821a1f71SRob Herring $ref: /schemas/types.yaml#/definitions/phandle 84821a1f71SRob Herring description: 85821a1f71SRob Herring Some panels expose EDID information through an I2C-compatible 86821a1f71SRob Herring bus such as DDC2 or E-DDC. For such panels the ddc-i2c-bus contains a 87821a1f71SRob Herring phandle to the system I2C controller connected to that bus. 88821a1f71SRob Herring 89821a1f71SRob Herring no-hpd: 90821a1f71SRob Herring type: boolean 91821a1f71SRob Herring description: 92821a1f71SRob Herring This panel is supposed to communicate that it's ready via HPD 93821a1f71SRob Herring (hot plug detect) signal, but the signal isn't hooked up so we should 94821a1f71SRob Herring hardcode the max delay from the panel spec when powering up the panel. 95821a1f71SRob Herring 96d2528306SDouglas Anderson hpd-gpios: 97d2528306SDouglas Anderson maxItems: 1 98d2528306SDouglas Anderson description: 99d2528306SDouglas Anderson If Hot Plug Detect (HPD) is connected to a GPIO in the system rather 100d2528306SDouglas Anderson than a dedicated HPD pin the pin can be specified here. 101d2528306SDouglas Anderson 102821a1f71SRob Herring # Control I/Os 103821a1f71SRob Herring 104821a1f71SRob Herring # Many display panels can be controlled through pins driven by GPIOs. The nature 105821a1f71SRob Herring # and timing of those control signals are device-specific and left for panel 106821a1f71SRob Herring # device tree bindings to specify. The following GPIO specifiers can however be 107821a1f71SRob Herring # used for panels that implement compatible control signals. 108821a1f71SRob Herring 109821a1f71SRob Herring enable-gpios: 110821a1f71SRob Herring maxItems: 1 111821a1f71SRob Herring description: | 112821a1f71SRob Herring Specifier for a GPIO connected to the panel enable control signal. The 113821a1f71SRob Herring enable signal is active high and enables operation of the panel. This 114821a1f71SRob Herring property can also be used for panels implementing an active low power down 115821a1f71SRob Herring signal, which is a negated version of the enable signal. Active low enable 116821a1f71SRob Herring signals (or active high power down signals) can be supported by inverting 117821a1f71SRob Herring the GPIO specifier polarity flag. 118821a1f71SRob Herring 119821a1f71SRob Herring Note that the enable signal control panel operation only and must not be 120821a1f71SRob Herring confused with a backlight enable signal. 121821a1f71SRob Herring 122821a1f71SRob Herring reset-gpios: 123821a1f71SRob Herring maxItems: 1 124821a1f71SRob Herring description: 125821a1f71SRob Herring Specifier for a GPIO connected to the panel reset control signal. 126821a1f71SRob Herring The reset signal is active low and resets the panel internal logic 127821a1f71SRob Herring while active. Active high reset signals can be supported by inverting the 128821a1f71SRob Herring GPIO specifier polarity flag. 129821a1f71SRob Herring 1301e4fbcdfSSam Ravnborg te-gpios: 1311e4fbcdfSSam Ravnborg maxItems: 1 1321e4fbcdfSSam Ravnborg description: 1331e4fbcdfSSam Ravnborg GPIO spec for the tearing effect synchronization signal. 1341e4fbcdfSSam Ravnborg The tearing effect signal is active high. Active low signals can be 1351e4fbcdfSSam Ravnborg supported by inverting the GPIO specifier polarity flag. 1361e4fbcdfSSam Ravnborg 137821a1f71SRob Herring # Power 138821a1f71SRob Herring power-supply: 139821a1f71SRob Herring description: 140821a1f71SRob Herring Display panels require power to be supplied. While several panels need 141821a1f71SRob Herring more than one power supply with panel-specific constraints governing the 142821a1f71SRob Herring order and timings of the power supplies, in many cases a single power 143821a1f71SRob Herring supply is sufficient, either because the panel has a single power rail, or 144821a1f71SRob Herring because all its power rails can be driven by the same supply. In that case 145821a1f71SRob Herring the power-supply property specifies the supply powering the panel as a 146821a1f71SRob Herring phandle to a regulator. 147821a1f71SRob Herring 148821a1f71SRob Herring # Backlight 149821a1f71SRob Herring 150821a1f71SRob Herring # Most display panels include a backlight. Some of them also include a backlight 151821a1f71SRob Herring # controller exposed through a control bus such as I2C or DSI. Others expose 152821a1f71SRob Herring # backlight control through GPIO, PWM or other signals connected to an external 153821a1f71SRob Herring # backlight controller. 154821a1f71SRob Herring 155821a1f71SRob Herring backlight: 156821a1f71SRob Herring $ref: /schemas/types.yaml#/definitions/phandle 157821a1f71SRob Herring description: 158821a1f71SRob Herring For panels whose backlight is controlled by an external backlight 159821a1f71SRob Herring controller, this property contains a phandle that references the 160821a1f71SRob Herring controller. 161821a1f71SRob Herring 162821a1f71SRob Herringdependencies: 163821a1f71SRob Herring width-mm: [ height-mm ] 164821a1f71SRob Herring height-mm: [ width-mm ] 165821a1f71SRob Herring 166*6a0e321eSRob HerringadditionalProperties: true 167*6a0e321eSRob Herring 168821a1f71SRob Herring... 169