xref: /linux/Documentation/devicetree/bindings/display/panel/panel-common.yaml (revision 6a0e321ea735691e726d84ee29a1a3fd3fc3541a)
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