xref: /freebsd-src/sys/contrib/device-tree/Bindings/display/panel/panel-common.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
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