1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/display/panel/panel-timing.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: panel timing bindings
8
9 maintainers:
10 - Thierry Reding <thierry.reding@gmail.com>
11 - Sam Ravnborg <sam@ravnborg.org>
12
13 description: |
14 There are different ways of describing the timing data of a panel. The
15 devicetree representation corresponds to the one commonly found in datasheets
16 for panels.
17
18 The parameters are defined as seen in the following illustration.
19
20 +----------+-------------------------------------+----------+-------+
21 | | ^ | | |
22 | | |vback_porch | | |
23 | | v | | |
24 +----------#######################################----------+-------+
25 | # ^ # | |
26 | # | # | |
27 | hback # | # hfront | hsync |
28 | porch # | hactive # porch | len |
29 |<-------->#<-------+--------------------------->#<-------->|<----->|
30 | # | # | |
31 | # |vactive # | |
32 | # | # | |
33 | # v # | |
34 +----------#######################################----------+-------+
35 | | ^ | | |
36 | | |vfront_porch | | |
37 | | v | | |
38 +----------+-------------------------------------+----------+-------+
39 | | ^ | | |
40 | | |vsync_len | | |
41 | | v | | |
42 +----------+-------------------------------------+----------+-------+
43
44
45 The following is the panel timings shown with time on the x-axis.
46 This matches the timing diagrams often found in data sheets.
47
48 Active Front Sync Back
49 Region Porch Porch
50 <-----------------------><----------------><-------------><-------------->
51 //////////////////////|
52 ////////////////////// |
53 ////////////////////// |.................. ................
54 _______________
55
56 Timing can be specified either as a typical value or as a tuple
57 of min, typ, max values.
58
59 properties:
60
61 clock-frequency:
62 description: Panel clock in Hz
63
64 hactive:
65 $ref: /schemas/types.yaml#/definitions/uint32
66 description: Horizontal panel resolution in pixels
67
68 vactive:
69 $ref: /schemas/types.yaml#/definitions/uint32
70 description: Vertical panel resolution in pixels
71
72 hfront-porch:
73 description: Horizontal front porch panel timing
74 $ref: /schemas/types.yaml#/definitions/uint32-array
75 oneOf:
76 - maxItems: 1
77 items:
78 description: typical number of pixels
79 - minItems: 3
80 maxItems: 3
81 items:
82 description: min, typ, max number of pixels
83
84 hback-porch:
85 description: Horizontal back porch timing
86 $ref: /schemas/types.yaml#/definitions/uint32-array
87 oneOf:
88 - maxItems: 1
89 items:
90 description: typical number of pixels
91 - minItems: 3
92 maxItems: 3
93 items:
94 description: min, typ, max number of pixels
95
96 hsync-len:
97 description: Horizontal sync length panel timing
98 $ref: /schemas/types.yaml#/definitions/uint32-array
99 oneOf:
100 - maxItems: 1
101 items:
102 description: typical number of pixels
103 - minItems: 3
104 maxItems: 3
105 items:
106 description: min, typ, max number of pixels
107
108 vfront-porch:
109 description: Vertical front porch panel timing
110 $ref: /schemas/types.yaml#/definitions/uint32-array
111 oneOf:
112 - maxItems: 1
113 items:
114 description: typical number of lines
115 - minItems: 3
116 maxItems: 3
117 items:
118 description: min, typ, max number of lines
119
120 vback-porch:
121 description: Vertical back porch panel timing
122 $ref: /schemas/types.yaml#/definitions/uint32-array
123 oneOf:
124 - maxItems: 1
125 items:
126 description: typical number of lines
127 - minItems: 3
128 maxItems: 3
129 items:
130 description: min, typ, max number of lines
131
132 vsync-len:
133 description: Vertical sync length panel timing
134 $ref: /schemas/types.yaml#/definitions/uint32-array
135 oneOf:
136 - maxItems: 1
137 items:
138 description: typical number of lines
139 - minItems: 3
140 maxItems: 3
141 items:
142 description: min, typ, max number of lines
143
144 hsync-active:
145 description: |
146 Horizontal sync pulse.
147 0 selects active low, 1 selects active high.
148 If omitted then it is not used by the hardware
149 $ref: /schemas/types.yaml#/definitions/uint32
150 enum: [0, 1]
151
152 vsync-active:
153 description: |
154 Vertical sync pulse.
155 0 selects active low, 1 selects active high.
156 If omitted then it is not used by the hardware
157 $ref: /schemas/types.yaml#/definitions/uint32
158 enum: [0, 1]
159
160 de-active:
161 description: |
162 Data enable.
163 0 selects active low, 1 selects active high.
164 If omitted then it is not used by the hardware
165 $ref: /schemas/types.yaml#/definitions/uint32
166 enum: [0, 1]
167
168 pixelclk-active:
169 description: |
170 Data driving on rising or falling edge.
171 Use 0 to drive pixel data on falling edge and
172 sample data on rising edge.
173 Use 1 to drive pixel data on rising edge and
174 sample data on falling edge
175 $ref: /schemas/types.yaml#/definitions/uint32
176 enum: [0, 1]
177
178 syncclk-active:
179 description: |
180 Drive sync on rising or sample sync on falling edge.
181 If not specified then the setup is as specified by pixelclk-active.
182 Use 0 to drive sync on falling edge and
183 sample sync on rising edge of pixel clock.
184 Use 1 to drive sync on rising edge and
185 sample sync on falling edge of pixel clock
186 $ref: /schemas/types.yaml#/definitions/uint32
187 enum: [0, 1]
188
189 interlaced:
190 type: boolean
191 description: Enable interlaced mode
192
193 doublescan:
194 type: boolean
195 description: Enable double scan mode
196
197 doubleclk:
198 type: boolean
199 description: Enable double clock mode
200
201 required:
202 - clock-frequency
203 - hactive
204 - vactive
205 - hfront-porch
206 - hback-porch
207 - hsync-len
208 - vfront-porch
209 - vback-porch
210 - vsync-len
211
212 additionalProperties: false
213
214 ...
Cache object: 3c836560d2e78a6aa5214585b646cfca
|