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