0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/display/panel/panel-timing.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: panel timing bindings
0008
0009 maintainers:
0010 - Thierry Reding <thierry.reding@gmail.com>
0011 - Sam Ravnborg <sam@ravnborg.org>
0012
0013 description: |
0014 There are different ways of describing the timing data of a panel. The
0015 devicetree representation corresponds to the one commonly found in datasheets
0016 for panels.
0017
0018 The parameters are defined as seen in the following illustration.
0019
0020 +----------+-------------------------------------+----------+-------+
0021 | | ^ | | |
0022 | | |vback_porch | | |
0023 | | v | | |
0024 +----------#######################################----------+-------+
0025 | # ^ # | |
0026 | # | # | |
0027 | hback # | # hfront | hsync |
0028 | porch # | hactive # porch | len |
0029 |<-------->#<-------+--------------------------->#<-------->|<----->|
0030 | # | # | |
0031 | # |vactive # | |
0032 | # | # | |
0033 | # v # | |
0034 +----------#######################################----------+-------+
0035 | | ^ | | |
0036 | | |vfront_porch | | |
0037 | | v | | |
0038 +----------+-------------------------------------+----------+-------+
0039 | | ^ | | |
0040 | | |vsync_len | | |
0041 | | v | | |
0042 +----------+-------------------------------------+----------+-------+
0043
0044
0045 The following is the panel timings shown with time on the x-axis.
0046 This matches the timing diagrams often found in data sheets.
0047
0048 Active Front Sync Back
0049 Region Porch Porch
0050 <-----------------------><----------------><-------------><-------------->
0051 //////////////////////|
0052 ////////////////////// |
0053 ////////////////////// |.................. ................
0054 _______________
0055
0056 Timing can be specified either as a typical value or as a tuple
0057 of min, typ, max values.
0058
0059 properties:
0060
0061 clock-frequency:
0062 description: Panel clock in Hz
0063
0064 hactive:
0065 $ref: /schemas/types.yaml#/definitions/uint32
0066 description: Horizontal panel resolution in pixels
0067
0068 vactive:
0069 $ref: /schemas/types.yaml#/definitions/uint32
0070 description: Vertical panel resolution in pixels
0071
0072 hfront-porch:
0073 description: Horizontal front porch panel timing
0074 $ref: /schemas/types.yaml#/definitions/uint32-array
0075 oneOf:
0076 - maxItems: 1
0077 items:
0078 description: typical number of pixels
0079 - minItems: 3
0080 maxItems: 3
0081 items:
0082 description: min, typ, max number of pixels
0083
0084 hback-porch:
0085 description: Horizontal back porch timing
0086 $ref: /schemas/types.yaml#/definitions/uint32-array
0087 oneOf:
0088 - maxItems: 1
0089 items:
0090 description: typical number of pixels
0091 - minItems: 3
0092 maxItems: 3
0093 items:
0094 description: min, typ, max number of pixels
0095
0096 hsync-len:
0097 description: Horizontal sync length panel timing
0098 $ref: /schemas/types.yaml#/definitions/uint32-array
0099 oneOf:
0100 - maxItems: 1
0101 items:
0102 description: typical number of pixels
0103 - minItems: 3
0104 maxItems: 3
0105 items:
0106 description: min, typ, max number of pixels
0107
0108 vfront-porch:
0109 description: Vertical front porch panel timing
0110 $ref: /schemas/types.yaml#/definitions/uint32-array
0111 oneOf:
0112 - maxItems: 1
0113 items:
0114 description: typical number of lines
0115 - minItems: 3
0116 maxItems: 3
0117 items:
0118 description: min, typ, max number of lines
0119
0120 vback-porch:
0121 description: Vertical back porch panel timing
0122 $ref: /schemas/types.yaml#/definitions/uint32-array
0123 oneOf:
0124 - maxItems: 1
0125 items:
0126 description: typical number of lines
0127 - minItems: 3
0128 maxItems: 3
0129 items:
0130 description: min, typ, max number of lines
0131
0132 vsync-len:
0133 description: Vertical sync length panel timing
0134 $ref: /schemas/types.yaml#/definitions/uint32-array
0135 oneOf:
0136 - maxItems: 1
0137 items:
0138 description: typical number of lines
0139 - minItems: 3
0140 maxItems: 3
0141 items:
0142 description: min, typ, max number of lines
0143
0144 hsync-active:
0145 description: |
0146 Horizontal sync pulse.
0147 0 selects active low, 1 selects active high.
0148 If omitted then it is not used by the hardware
0149 $ref: /schemas/types.yaml#/definitions/uint32
0150 enum: [0, 1]
0151
0152 vsync-active:
0153 description: |
0154 Vertical sync pulse.
0155 0 selects active low, 1 selects active high.
0156 If omitted then it is not used by the hardware
0157 $ref: /schemas/types.yaml#/definitions/uint32
0158 enum: [0, 1]
0159
0160 de-active:
0161 description: |
0162 Data enable.
0163 0 selects active low, 1 selects active high.
0164 If omitted then it is not used by the hardware
0165 $ref: /schemas/types.yaml#/definitions/uint32
0166 enum: [0, 1]
0167
0168 pixelclk-active:
0169 description: |
0170 Data driving on rising or falling edge.
0171 Use 0 to drive pixel data on falling edge and
0172 sample data on rising edge.
0173 Use 1 to drive pixel data on rising edge and
0174 sample data on falling edge
0175 $ref: /schemas/types.yaml#/definitions/uint32
0176 enum: [0, 1]
0177
0178 syncclk-active:
0179 description: |
0180 Drive sync on rising or sample sync on falling edge.
0181 If not specified then the setup is as specified by pixelclk-active.
0182 Use 0 to drive sync on falling edge and
0183 sample sync on rising edge of pixel clock.
0184 Use 1 to drive sync on rising edge and
0185 sample sync on falling edge of pixel clock
0186 $ref: /schemas/types.yaml#/definitions/uint32
0187 enum: [0, 1]
0188
0189 interlaced:
0190 type: boolean
0191 description: Enable interlaced mode
0192
0193 doublescan:
0194 type: boolean
0195 description: Enable double scan mode
0196
0197 doubleclk:
0198 type: boolean
0199 description: Enable double clock mode
0200
0201 required:
0202 - clock-frequency
0203 - hactive
0204 - vactive
0205 - hfront-porch
0206 - hback-porch
0207 - hsync-len
0208 - vfront-porch
0209 - vback-porch
0210 - vsync-len
0211
0212 additionalProperties: false
0213
0214 ...