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