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 7title: panel timing bindings 8 9maintainers: 10 - Thierry Reding <thierry.reding@gmail.com> 11 - Sam Ravnborg <sam@ravnborg.org> 12 13description: | 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 59properties: 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 oneOf: 75 - $ref: /schemas/types.yaml#/definitions/uint32 76 maxItems: 1 77 items: 78 description: typical number of pixels 79 - $ref: /schemas/types.yaml#/definitions/uint32-array 80 minItems: 3 81 maxItems: 3 82 items: 83 description: min, typ, max number of pixels 84 85 hback-porch: 86 description: Horizontal back porch timing 87 oneOf: 88 - $ref: /schemas/types.yaml#/definitions/uint32 89 maxItems: 1 90 items: 91 description: typical number of pixels 92 - $ref: /schemas/types.yaml#/definitions/uint32-array 93 minItems: 3 94 maxItems: 3 95 items: 96 description: min, typ, max number of pixels 97 98 hsync-len: 99 description: Horizontal sync length panel timing 100 oneOf: 101 - $ref: /schemas/types.yaml#/definitions/uint32 102 maxItems: 1 103 items: 104 description: typical number of pixels 105 - $ref: /schemas/types.yaml#/definitions/uint32-array 106 minItems: 3 107 maxItems: 3 108 items: 109 description: min, typ, max number of pixels 110 111 vfront-porch: 112 description: Vertical front porch panel timing 113 oneOf: 114 - $ref: /schemas/types.yaml#/definitions/uint32 115 maxItems: 1 116 items: 117 description: typical number of lines 118 - $ref: /schemas/types.yaml#/definitions/uint32-array 119 minItems: 3 120 maxItems: 3 121 items: 122 description: min, typ, max number of lines 123 124 vback-porch: 125 description: Vertical back porch panel timing 126 oneOf: 127 - $ref: /schemas/types.yaml#/definitions/uint32 128 maxItems: 1 129 items: 130 description: typical number of lines 131 - $ref: /schemas/types.yaml#/definitions/uint32-array 132 minItems: 3 133 maxItems: 3 134 items: 135 description: min, typ, max number of lines 136 137 vsync-len: 138 description: Vertical sync length panel timing 139 oneOf: 140 - $ref: /schemas/types.yaml#/definitions/uint32 141 maxItems: 1 142 items: 143 description: typical number of lines 144 - $ref: /schemas/types.yaml#/definitions/uint32-array 145 minItems: 3 146 maxItems: 3 147 items: 148 description: min, typ, max number of lines 149 150 hsync-active: 151 description: | 152 Horizontal sync pulse. 153 0 selects active low, 1 selects active high. 154 If omitted then it is not used by the hardware 155 enum: [0, 1] 156 157 vsync-active: 158 description: | 159 Vertical sync pulse. 160 0 selects active low, 1 selects active high. 161 If omitted then it is not used by the hardware 162 enum: [0, 1] 163 164 de-active: 165 description: | 166 Data enable. 167 0 selects active low, 1 selects active high. 168 If omitted then it is not used by the hardware 169 enum: [0, 1] 170 171 pixelclk-active: 172 description: | 173 Data driving on rising or falling edge. 174 Use 0 to drive pixel data on falling edge and 175 sample data on rising edge. 176 Use 1 to drive pixel data on rising edge and 177 sample data on falling edge 178 enum: [0, 1] 179 180 syncclk-active: 181 description: | 182 Drive sync on rising or sample sync on falling edge. 183 If not specified then the setup is as specified by pixelclk-active. 184 Use 0 to drive sync on falling edge and 185 sample sync on rising edge of pixel clock. 186 Use 1 to drive sync on rising edge and 187 sample sync on falling edge of pixel clock 188 enum: [0, 1] 189 190 interlaced: 191 type: boolean 192 description: Enable interlaced mode 193 194 doublescan: 195 type: boolean 196 description: Enable double scan mode 197 198 doubleclk: 199 type: boolean 200 description: Enable double clock mode 201 202required: 203 - clock-frequency 204 - hactive 205 - vactive 206 - hfront-porch 207 - hback-porch 208 - hsync-len 209 - vfront-porch 210 - vback-porch 211 - vsync-len 212 213additionalProperties: false 214 215... 216