181dee67eSSudip Mukherjee #ifndef DDK750_DVI_H__
281dee67eSSudip Mukherjee #define DDK750_DVI_H__
381dee67eSSudip Mukherjee 
481dee67eSSudip Mukherjee /* dvi chip stuffs structros */
581dee67eSSudip Mukherjee 
6c9750456SMatej Dujava typedef long (*PFN_DVICTRL_INIT)(unsigned char edgeSelect,
781dee67eSSudip Mukherjee 				 unsigned char busSelect,
881dee67eSSudip Mukherjee 				 unsigned char dualEdgeClkSelect,
981dee67eSSudip Mukherjee 				 unsigned char hsyncEnable,
1081dee67eSSudip Mukherjee 				 unsigned char vsyncEnable,
1181dee67eSSudip Mukherjee 				 unsigned char deskewEnable,
1281dee67eSSudip Mukherjee 				 unsigned char deskewSetting,
1381dee67eSSudip Mukherjee 				 unsigned char continuousSyncEnable,
1481dee67eSSudip Mukherjee 				 unsigned char pllFilterEnable,
1581dee67eSSudip Mukherjee 				 unsigned char pllFilterValue);
16658373e5SNiranjan Dighe 
1781dee67eSSudip Mukherjee typedef void (*PFN_DVICTRL_RESETCHIP)(void);
1881dee67eSSudip Mukherjee typedef char* (*PFN_DVICTRL_GETCHIPSTRING)(void);
1981dee67eSSudip Mukherjee typedef unsigned short (*PFN_DVICTRL_GETVENDORID)(void);
2081dee67eSSudip Mukherjee typedef unsigned short (*PFN_DVICTRL_GETDEVICEID)(void);
2181dee67eSSudip Mukherjee typedef void (*PFN_DVICTRL_SETPOWER)(unsigned char powerUp);
2281dee67eSSudip Mukherjee typedef void (*PFN_DVICTRL_HOTPLUGDETECTION)(unsigned char enableHotPlug);
2381dee67eSSudip Mukherjee typedef unsigned char (*PFN_DVICTRL_ISCONNECTED)(void);
2481dee67eSSudip Mukherjee typedef unsigned char (*PFN_DVICTRL_CHECKINTERRUPT)(void);
2581dee67eSSudip Mukherjee typedef void (*PFN_DVICTRL_CLEARINTERRUPT)(void);
2681dee67eSSudip Mukherjee 
2781dee67eSSudip Mukherjee /* Structure to hold all the function pointer to the DVI Controller. */
28f290d491SMihaela Muraru struct dvi_ctrl_device {
2981dee67eSSudip Mukherjee 	PFN_DVICTRL_INIT		pfnInit;
3081dee67eSSudip Mukherjee 	PFN_DVICTRL_RESETCHIP		pfnResetChip;
3181dee67eSSudip Mukherjee 	PFN_DVICTRL_GETCHIPSTRING	pfnGetChipString;
3281dee67eSSudip Mukherjee 	PFN_DVICTRL_GETVENDORID		pfnGetVendorId;
3381dee67eSSudip Mukherjee 	PFN_DVICTRL_GETDEVICEID		pfnGetDeviceId;
3481dee67eSSudip Mukherjee 	PFN_DVICTRL_SETPOWER		pfnSetPower;
3581dee67eSSudip Mukherjee 	PFN_DVICTRL_HOTPLUGDETECTION	pfnEnableHotPlugDetection;
3681dee67eSSudip Mukherjee 	PFN_DVICTRL_ISCONNECTED		pfnIsConnected;
3781dee67eSSudip Mukherjee 	PFN_DVICTRL_CHECKINTERRUPT	pfnCheckInterrupt;
3881dee67eSSudip Mukherjee 	PFN_DVICTRL_CLEARINTERRUPT	pfnClearInterrupt;
39f290d491SMihaela Muraru };
40658373e5SNiranjan Dighe 
4181dee67eSSudip Mukherjee #define DVI_CTRL_SII164
4281dee67eSSudip Mukherjee 
4381dee67eSSudip Mukherjee /* dvi functions prototype */
44c9750456SMatej Dujava int dviInit(unsigned char edgeSelect,
4581dee67eSSudip Mukherjee 	    unsigned char busSelect,
4681dee67eSSudip Mukherjee 	    unsigned char dualEdgeClkSelect,
4781dee67eSSudip Mukherjee 	    unsigned char hsyncEnable,
4881dee67eSSudip Mukherjee 	    unsigned char vsyncEnable,
4981dee67eSSudip Mukherjee 	    unsigned char deskewEnable,
5081dee67eSSudip Mukherjee 	    unsigned char deskewSetting,
5181dee67eSSudip Mukherjee 	    unsigned char continuousSyncEnable,
5281dee67eSSudip Mukherjee 	    unsigned char pllFilterEnable,
53c9750456SMatej Dujava 	    unsigned char pllFilterValue);
5481dee67eSSudip Mukherjee 
5581dee67eSSudip Mukherjee #endif
5681dee67eSSudip Mukherjee 
57