1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/display/panel/panel-common.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Common Properties for Display Panels 8 9maintainers: 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> 12 13description: | 14 This document defines device tree properties common to several classes of 15 display panels. It doesn't constitue a device tree binding specification by 16 itself but is meant to be referenced by device tree bindings. 17 18 When referenced from panel device tree bindings the properties defined in this 19 document are defined as follows. The panel device tree bindings are 20 responsible for defining whether each property is required or optional. 21 22properties: 23 # Descriptive Properties 24 width-mm: 25 description: 26 Specifies the width of the physical area where images are displayed. This 27 property is expressed in millimeters and rounded to the closest unit. 28 29 height-mm: 30 description: 31 Specifies the height of the physical area where images are displayed. This 32 property is expressed in millimeters and rounded to the closest unit. 33 34 label: 35 description: | 36 The label property specifies a symbolic name for the panel as a 37 string suitable for use by humans. It typically contains a name inscribed 38 on the system (e.g. as an affixed label) or specified in the system's 39 documentation (e.g. in the user's manual). 40 41 If no such name exists, and unless the property is mandatory according to 42 device tree bindings, it shall rather be omitted than constructed of 43 non-descriptive information. For instance an LCD panel in a system that 44 contains a single panel shall not be labelled "LCD" if that name is not 45 inscribed on the system or used in a descriptive fashion in system 46 documentation. 47 48 rotation: 49 description: 50 Display rotation in degrees counter clockwise (0,90,180,270) 51 allOf: 52 - $ref: /schemas/types.yaml#/definitions/uint32 53 - enum: [ 0, 90, 180, 270 ] 54 55 # Display Timings 56 panel-timing: 57 description: 58 Most display panels are restricted to a single resolution and 59 require specific display timings. The panel-timing subnode expresses those 60 timings. 61 allOf: 62 - $ref: panel-timing.yaml# 63 64 display-timings: 65 description: 66 Some display panels support several resolutions with different timings. 67 The display-timings bindings supports specifying several timings and 68 optionally specifying which is the native mode. 69 allOf: 70 - $ref: display-timings.yaml# 71 72 # Connectivity 73 port: 74 type: object 75 76 ports: 77 type: object 78 description: 79 Panels receive video data through one or multiple connections. While 80 the nature of those connections is specific to the panel type, the 81 connectivity is expressed in a standard fashion using ports as specified 82 in the device graph bindings defined in 83 Documentation/devicetree/bindings/graph.txt. 84 85 ddc-i2c-bus: 86 $ref: /schemas/types.yaml#/definitions/phandle 87 description: 88 Some panels expose EDID information through an I2C-compatible 89 bus such as DDC2 or E-DDC. For such panels the ddc-i2c-bus contains a 90 phandle to the system I2C controller connected to that bus. 91 92 no-hpd: 93 type: boolean 94 description: 95 This panel is supposed to communicate that it's ready via HPD 96 (hot plug detect) signal, but the signal isn't hooked up so we should 97 hardcode the max delay from the panel spec when powering up the panel. 98 99 hpd-gpios: 100 maxItems: 1 101 description: 102 If Hot Plug Detect (HPD) is connected to a GPIO in the system rather 103 than a dedicated HPD pin the pin can be specified here. 104 105 # Control I/Os 106 107 # Many display panels can be controlled through pins driven by GPIOs. The nature 108 # and timing of those control signals are device-specific and left for panel 109 # device tree bindings to specify. The following GPIO specifiers can however be 110 # used for panels that implement compatible control signals. 111 112 enable-gpios: 113 maxItems: 1 114 description: | 115 Specifier for a GPIO connected to the panel enable control signal. The 116 enable signal is active high and enables operation of the panel. This 117 property can also be used for panels implementing an active low power down 118 signal, which is a negated version of the enable signal. Active low enable 119 signals (or active high power down signals) can be supported by inverting 120 the GPIO specifier polarity flag. 121 122 Note that the enable signal control panel operation only and must not be 123 confused with a backlight enable signal. 124 125 reset-gpios: 126 maxItems: 1 127 description: 128 Specifier for a GPIO connected to the panel reset control signal. 129 The reset signal is active low and resets the panel internal logic 130 while active. Active high reset signals can be supported by inverting the 131 GPIO specifier polarity flag. 132 133 te-gpios: 134 maxItems: 1 135 description: 136 GPIO spec for the tearing effect synchronization signal. 137 The tearing effect signal is active high. Active low signals can be 138 supported by inverting the GPIO specifier polarity flag. 139 140 # Power 141 power-supply: 142 description: 143 Display panels require power to be supplied. While several panels need 144 more than one power supply with panel-specific constraints governing the 145 order and timings of the power supplies, in many cases a single power 146 supply is sufficient, either because the panel has a single power rail, or 147 because all its power rails can be driven by the same supply. In that case 148 the power-supply property specifies the supply powering the panel as a 149 phandle to a regulator. 150 151 # Backlight 152 153 # Most display panels include a backlight. Some of them also include a backlight 154 # controller exposed through a control bus such as I2C or DSI. Others expose 155 # backlight control through GPIO, PWM or other signals connected to an external 156 # backlight controller. 157 158 backlight: 159 $ref: /schemas/types.yaml#/definitions/phandle 160 description: 161 For panels whose backlight is controlled by an external backlight 162 controller, this property contains a phandle that references the 163 controller. 164 165dependencies: 166 width-mm: [ height-mm ] 167 height-mm: [ width-mm ] 168 169... 170