0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/panel/panel-common.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: Common Properties for Display Panels
0008
0009 maintainers:
0010 - Thierry Reding <thierry.reding@gmail.com>
0011 - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
0012
0013 description: |
0014 This document defines device tree properties common to several classes of
0015 display panels. It doesn't constitue a device tree binding specification by
0016 itself but is meant to be referenced by device tree bindings.
0017
0018 When referenced from panel device tree bindings the properties defined in this
0019 document are defined as follows. The panel device tree bindings are
0020 responsible for defining whether each property is required or optional.
0021
0022 properties:
0023 # Descriptive Properties
0024 width-mm:
0025 description:
0026 Specifies the width of the physical area where images are displayed. This
0027 property is expressed in millimeters and rounded to the closest unit.
0028
0029 height-mm:
0030 description:
0031 Specifies the height of the physical area where images are displayed. This
0032 property is expressed in millimeters and rounded to the closest unit.
0033
0034 label:
0035 description: |
0036 The label property specifies a symbolic name for the panel as a
0037 string suitable for use by humans. It typically contains a name inscribed
0038 on the system (e.g. as an affixed label) or specified in the system's
0039 documentation (e.g. in the user's manual).
0040
0041 If no such name exists, and unless the property is mandatory according to
0042 device tree bindings, it shall rather be omitted than constructed of
0043 non-descriptive information. For instance an LCD panel in a system that
0044 contains a single panel shall not be labelled "LCD" if that name is not
0045 inscribed on the system or used in a descriptive fashion in system
0046 documentation.
0047
0048 rotation:
0049 description:
0050 Display rotation in degrees counter clockwise (0,90,180,270)
0051 $ref: /schemas/types.yaml#/definitions/uint32
0052 enum: [0, 90, 180, 270]
0053
0054 # Display Timings
0055 panel-timing:
0056 description:
0057 Most display panels are restricted to a single resolution and
0058 require specific display timings. The panel-timing subnode expresses those
0059 timings.
0060 $ref: panel-timing.yaml#
0061
0062 display-timings:
0063 description:
0064 Some display panels support several resolutions with different timings.
0065 The display-timings bindings supports specifying several timings and
0066 optionally specifying which is the native mode.
0067 $ref: display-timings.yaml#
0068
0069 # Connectivity
0070 port:
0071 $ref: /schemas/graph.yaml#/properties/port
0072
0073 ddc-i2c-bus:
0074 $ref: /schemas/types.yaml#/definitions/phandle
0075 description:
0076 Some panels expose EDID information through an I2C-compatible
0077 bus such as DDC2 or E-DDC. For such panels the ddc-i2c-bus contains a
0078 phandle to the system I2C controller connected to that bus.
0079
0080 no-hpd:
0081 type: boolean
0082 description:
0083 This panel is supposed to communicate that it's ready via HPD
0084 (hot plug detect) signal, but the signal isn't hooked up so we should
0085 hardcode the max delay from the panel spec when powering up the panel.
0086
0087 hpd-gpios:
0088 maxItems: 1
0089 description:
0090 If Hot Plug Detect (HPD) is connected to a GPIO in the system rather
0091 than a dedicated HPD pin the pin can be specified here.
0092
0093 # Control I/Os
0094
0095 # Many display panels can be controlled through pins driven by GPIOs. The nature
0096 # and timing of those control signals are device-specific and left for panel
0097 # device tree bindings to specify. The following GPIO specifiers can however be
0098 # used for panels that implement compatible control signals.
0099
0100 enable-gpios:
0101 maxItems: 1
0102 description: |
0103 Specifier for a GPIO connected to the panel enable control signal. The
0104 enable signal is active high and enables operation of the panel. This
0105 property can also be used for panels implementing an active low power down
0106 signal, which is a negated version of the enable signal. Active low enable
0107 signals (or active high power down signals) can be supported by inverting
0108 the GPIO specifier polarity flag.
0109
0110 Note that the enable signal control panel operation only and must not be
0111 confused with a backlight enable signal.
0112
0113 reset-gpios:
0114 maxItems: 1
0115 description:
0116 Specifier for a GPIO connected to the panel reset control signal.
0117 The reset signal is active low and resets the panel internal logic
0118 while active. Active high reset signals can be supported by inverting the
0119 GPIO specifier polarity flag.
0120
0121 te-gpios:
0122 maxItems: 1
0123 description:
0124 GPIO spec for the tearing effect synchronization signal.
0125 The tearing effect signal is active high. Active low signals can be
0126 supported by inverting the GPIO specifier polarity flag.
0127
0128 # Power
0129 power-supply:
0130 description:
0131 Display panels require power to be supplied. While several panels need
0132 more than one power supply with panel-specific constraints governing the
0133 order and timings of the power supplies, in many cases a single power
0134 supply is sufficient, either because the panel has a single power rail, or
0135 because all its power rails can be driven by the same supply. In that case
0136 the power-supply property specifies the supply powering the panel as a
0137 phandle to a regulator.
0138
0139 # Backlight
0140
0141 # Most display panels include a backlight. Some of them also include a backlight
0142 # controller exposed through a control bus such as I2C or DSI. Others expose
0143 # backlight control through GPIO, PWM or other signals connected to an external
0144 # backlight controller.
0145
0146 backlight:
0147 $ref: /schemas/types.yaml#/definitions/phandle
0148 description:
0149 For panels whose backlight is controlled by an external backlight
0150 controller, this property contains a phandle that references the
0151 controller.
0152
0153 dependencies:
0154 width-mm: [ height-mm ]
0155 height-mm: [ width-mm ]
0156
0157 additionalProperties: true
0158
0159 ...