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 supports several resolutions with different timing.
67      The display-timings bindings supports specifying several timings and
68      optional specify 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  # Control I/Os
100
101  # Many display panels can be controlled through pins driven by GPIOs. The nature
102  # and timing of those control signals are device-specific and left for panel
103  # device tree bindings to specify. The following GPIO specifiers can however be
104  # used for panels that implement compatible control signals.
105
106  enable-gpios:
107    maxItems: 1
108    description: |
109      Specifier for a GPIO connected to the panel enable control signal. The
110      enable signal is active high and enables operation of the panel. This
111      property can also be used for panels implementing an active low power down
112      signal, which is a negated version of the enable signal. Active low enable
113      signals (or active high power down signals) can be supported by inverting
114      the GPIO specifier polarity flag.
115
116      Note that the enable signal control panel operation only and must not be
117      confused with a backlight enable signal.
118
119  reset-gpios:
120    maxItems: 1
121    description:
122      Specifier for a GPIO connected to the panel reset control signal.
123      The reset signal is active low and resets the panel internal logic
124      while active. Active high reset signals can be supported by inverting the
125      GPIO specifier polarity flag.
126
127  # Power
128  power-supply:
129    description:
130      Display panels require power to be supplied. While several panels need
131      more than one power supply with panel-specific constraints governing the
132      order and timings of the power supplies, in many cases a single power
133      supply is sufficient, either because the panel has a single power rail, or
134      because all its power rails can be driven by the same supply. In that case
135      the power-supply property specifies the supply powering the panel as a
136      phandle to a regulator.
137
138  # Backlight
139
140  # Most display panels include a backlight. Some of them also include a backlight
141  # controller exposed through a control bus such as I2C or DSI. Others expose
142  # backlight control through GPIO, PWM or other signals connected to an external
143  # backlight controller.
144
145  backlight:
146    $ref: /schemas/types.yaml#/definitions/phandle
147    description:
148      For panels whose backlight is controlled by an external backlight
149      controller, this property contains a phandle that references the
150      controller.
151
152dependencies:
153  width-mm: [ height-mm ]
154  height-mm: [ width-mm ]
155
156...
157