]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/display/panel/panel-common.yaml
Import DTS from Linux 5.8
[FreeBSD/FreeBSD.git] / Bindings / display / panel / panel-common.yaml
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
7 title: Common Properties for Display Panels
8
9 maintainers:
10   - Thierry Reding <thierry.reding@gmail.com>
11   - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
12
13 description: |
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
22 properties:
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     $ref: /schemas/types.yaml#/definitions/uint32
52     enum: [0, 90, 180, 270]
53
54   # Display Timings
55   panel-timing:
56     description:
57       Most display panels are restricted to a single resolution and
58       require specific display timings. The panel-timing subnode expresses those
59       timings.
60     $ref: panel-timing.yaml#
61
62   display-timings:
63     description:
64       Some display panels support several resolutions with different timings.
65       The display-timings bindings supports specifying several timings and
66       optionally specifying which is the native mode.
67     $ref: display-timings.yaml#
68
69   # Connectivity
70   port:
71     type: object
72
73   ports:
74     type: object
75     description:
76       Panels receive video data through one or multiple connections. While
77       the nature of those connections is specific to the panel type, the
78       connectivity is expressed in a standard fashion using ports as specified
79       in the device graph bindings defined in
80       Documentation/devicetree/bindings/graph.txt.
81
82   ddc-i2c-bus:
83     $ref: /schemas/types.yaml#/definitions/phandle
84     description:
85       Some panels expose EDID information through an I2C-compatible
86       bus such as DDC2 or E-DDC. For such panels the ddc-i2c-bus contains a
87       phandle to the system I2C controller connected to that bus.
88
89   no-hpd:
90     type: boolean
91     description:
92       This panel is supposed to communicate that it's ready via HPD
93       (hot plug detect) signal, but the signal isn't hooked up so we should
94       hardcode the max delay from the panel spec when powering up the panel.
95
96   hpd-gpios:
97     maxItems: 1
98     description:
99       If Hot Plug Detect (HPD) is connected to a GPIO in the system rather
100       than a dedicated HPD pin the pin can be specified here.
101
102   # Control I/Os
103
104   # Many display panels can be controlled through pins driven by GPIOs. The nature
105   # and timing of those control signals are device-specific and left for panel
106   # device tree bindings to specify. The following GPIO specifiers can however be
107   # used for panels that implement compatible control signals.
108
109   enable-gpios:
110     maxItems: 1
111     description: |
112       Specifier for a GPIO connected to the panel enable control signal. The
113       enable signal is active high and enables operation of the panel. This
114       property can also be used for panels implementing an active low power down
115       signal, which is a negated version of the enable signal. Active low enable
116       signals (or active high power down signals) can be supported by inverting
117       the GPIO specifier polarity flag.
118
119       Note that the enable signal control panel operation only and must not be
120       confused with a backlight enable signal.
121
122   reset-gpios:
123     maxItems: 1
124     description:
125       Specifier for a GPIO connected to the panel reset control signal.
126       The reset signal is active low and resets the panel internal logic
127       while active. Active high reset signals can be supported by inverting the
128       GPIO specifier polarity flag.
129
130   te-gpios:
131     maxItems: 1
132     description:
133       GPIO spec for the tearing effect synchronization signal.
134       The tearing effect signal is active high. Active low signals can be
135       supported by inverting the GPIO specifier polarity flag.
136
137   # Power
138   power-supply:
139     description:
140       Display panels require power to be supplied. While several panels need
141       more than one power supply with panel-specific constraints governing the
142       order and timings of the power supplies, in many cases a single power
143       supply is sufficient, either because the panel has a single power rail, or
144       because all its power rails can be driven by the same supply. In that case
145       the power-supply property specifies the supply powering the panel as a
146       phandle to a regulator.
147
148   # Backlight
149
150   # Most display panels include a backlight. Some of them also include a backlight
151   # controller exposed through a control bus such as I2C or DSI. Others expose
152   # backlight control through GPIO, PWM or other signals connected to an external
153   # backlight controller.
154
155   backlight:
156     $ref: /schemas/types.yaml#/definitions/phandle
157     description:
158       For panels whose backlight is controlled by an external backlight
159       controller, this property contains a phandle that references the
160       controller.
161
162 dependencies:
163   width-mm: [ height-mm ]
164   height-mm: [ width-mm ]
165
166 ...