181dee67eSSudip Mukherjee #ifndef DDK750_MODE_H__
281dee67eSSudip Mukherjee #define DDK750_MODE_H__
381dee67eSSudip Mukherjee 
481dee67eSSudip Mukherjee #include "ddk750_chip.h"
581dee67eSSudip Mukherjee 
6ff49304bSArushi Singhal enum spolarity {
781dee67eSSudip Mukherjee 	POS = 0, /* positive */
881dee67eSSudip Mukherjee 	NEG, /* negative */
9ff49304bSArushi Singhal };
1081dee67eSSudip Mukherjee 
11bf760231SArushi Singhal struct mode_parameter {
1281dee67eSSudip Mukherjee 	/* Horizontal timing. */
1381dee67eSSudip Mukherjee 	unsigned long horizontal_total;
1481dee67eSSudip Mukherjee 	unsigned long horizontal_display_end;
1581dee67eSSudip Mukherjee 	unsigned long horizontal_sync_start;
1681dee67eSSudip Mukherjee 	unsigned long horizontal_sync_width;
17ff49304bSArushi Singhal 	enum spolarity horizontal_sync_polarity;
1881dee67eSSudip Mukherjee 
1981dee67eSSudip Mukherjee 	/* Vertical timing. */
2081dee67eSSudip Mukherjee 	unsigned long vertical_total;
2181dee67eSSudip Mukherjee 	unsigned long vertical_display_end;
2281dee67eSSudip Mukherjee 	unsigned long vertical_sync_start;
2381dee67eSSudip Mukherjee 	unsigned long vertical_sync_height;
24ff49304bSArushi Singhal 	enum spolarity vertical_sync_polarity;
2581dee67eSSudip Mukherjee 
2681dee67eSSudip Mukherjee 	/* Refresh timing. */
2781dee67eSSudip Mukherjee 	unsigned long pixel_clock;
2881dee67eSSudip Mukherjee 	unsigned long horizontal_frequency;
2981dee67eSSudip Mukherjee 	unsigned long vertical_frequency;
3081dee67eSSudip Mukherjee 
3181dee67eSSudip Mukherjee 	/* Clock Phase. This clock phase only applies to Panel. */
32ff49304bSArushi Singhal 	enum spolarity clock_phase_polarity;
33bf760231SArushi Singhal };
3481dee67eSSudip Mukherjee 
35bf760231SArushi Singhal int ddk750_setModeTiming(struct mode_parameter *parm, clock_type_t clock);
3681dee67eSSudip Mukherjee #endif
37