124 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| display-timing bindings
 | |
| =======================
 | |
| 
 | |
| display-timings node
 | |
| --------------------
 | |
| 
 | |
| required properties:
 | |
|  - none
 | |
| 
 | |
| optional properties:
 | |
|  - native-mode: The native mode for the display, in case multiple modes are
 | |
| 		provided. When omitted, assume the first node is the native.
 | |
| 
 | |
| timing subnode
 | |
| --------------
 | |
| 
 | |
| required properties:
 | |
|  - hactive, vactive: display resolution
 | |
|  - hfront-porch, hback-porch, hsync-len: horizontal display timing parameters
 | |
|    in pixels
 | |
|    vfront-porch, vback-porch, vsync-len: vertical display timing parameters in
 | |
|    lines
 | |
|  - clock-frequency: display clock in Hz
 | |
| 
 | |
| optional properties:
 | |
|  - hsync-active: hsync pulse is active low/high/ignored
 | |
|  - vsync-active: vsync pulse is active low/high/ignored
 | |
|  - de-active: data-enable pulse is active low/high/ignored
 | |
|  - pixelclk-active: with
 | |
| 			- active high = drive pixel data on rising edge/
 | |
| 					sample data on falling edge
 | |
| 			- active low  = drive pixel data on falling edge/
 | |
| 					sample data on rising edge
 | |
| 			- ignored     = ignored
 | |
|  - syncclk-active: with
 | |
| 			- active high = drive sync on rising edge/
 | |
| 					sample sync on falling edge of pixel
 | |
| 					clock
 | |
| 			- active low  = drive sync on falling edge/
 | |
| 					sample sync on rising edge of pixel
 | |
| 					clock
 | |
| 			- omitted     = same configuration as pixelclk-active
 | |
|  - interlaced (bool): boolean to enable interlaced mode
 | |
|  - doublescan (bool): boolean to enable doublescan mode
 | |
|  - doubleclk (bool): boolean to enable doubleclock mode
 | |
| 
 | |
| All the optional properties that are not bool follow the following logic:
 | |
|     <1>: high active
 | |
|     <0>: low active
 | |
|     omitted: not used on hardware
 | |
| 
 | |
| There are different ways of describing the capabilities of a display. The
 | |
| devicetree representation corresponds to the one commonly found in datasheets
 | |
| for displays. If a display supports multiple signal timings, the native-mode
 | |
| can be specified.
 | |
| 
 | |
| The parameters are defined as:
 | |
| 
 | |
|   +----------+-------------------------------------+----------+-------+
 | |
|   |          |        ^                            |          |       |
 | |
|   |          |        |vback_porch                 |          |       |
 | |
|   |          |        v                            |          |       |
 | |
|   +----------#######################################----------+-------+
 | |
|   |          #        ^                            #          |       |
 | |
|   |          #        |                            #          |       |
 | |
|   |  hback   #        |                            #  hfront  | hsync |
 | |
|   |   porch  #        |       hactive              #  porch   |  len  |
 | |
|   |<-------->#<-------+--------------------------->#<-------->|<----->|
 | |
|   |          #        |                            #          |       |
 | |
|   |          #        |vactive                     #          |       |
 | |
|   |          #        |                            #          |       |
 | |
|   |          #        v                            #          |       |
 | |
|   +----------#######################################----------+-------+
 | |
|   |          |        ^                            |          |       |
 | |
|   |          |        |vfront_porch                |          |       |
 | |
|   |          |        v                            |          |       |
 | |
|   +----------+-------------------------------------+----------+-------+
 | |
|   |          |        ^                            |          |       |
 | |
|   |          |        |vsync_len                   |          |       |
 | |
|   |          |        v                            |          |       |
 | |
|   +----------+-------------------------------------+----------+-------+
 | |
| 
 | |
| Note: In addition to being used as subnode(s) of display-timings, the timing
 | |
|       subnode may also be used on its own. This is appropriate if only one mode
 | |
|       need be conveyed. In this case, the node should be named 'panel-timing'.
 | |
| 
 | |
| 
 | |
| Example:
 | |
| 
 | |
| 	display-timings {
 | |
| 		native-mode = <&timing0>;
 | |
| 		timing0: 1080p24 {
 | |
| 			/* 1920x1080p24 */
 | |
| 			clock-frequency = <52000000>;
 | |
| 			hactive = <1920>;
 | |
| 			vactive = <1080>;
 | |
| 			hfront-porch = <25>;
 | |
| 			hback-porch = <25>;
 | |
| 			hsync-len = <25>;
 | |
| 			vback-porch = <2>;
 | |
| 			vfront-porch = <2>;
 | |
| 			vsync-len = <2>;
 | |
| 			hsync-active = <1>;
 | |
| 		};
 | |
| 	};
 | |
| 
 | |
| Every required property also supports the use of ranges, so the commonly used
 | |
| datasheet description with minimum, typical and maximum values can be used.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| 	timing1: timing {
 | |
| 		/* 1920x1080p24 */
 | |
| 		clock-frequency = <148500000>;
 | |
| 		hactive = <1920>;
 | |
| 		vactive = <1080>;
 | |
| 		hsync-len = <0 44 60>;
 | |
| 		hfront-porch = <80 88 95>;
 | |
| 		hback-porch = <100 148 160>;
 | |
| 		vfront-porch = <0 4 6>;
 | |
| 		vback-porch = <0 36 50>;
 | |
| 		vsync-len = <0 5 6>;
 | |
| 	};
 | 
