181dee67eSSudip Mukherjee #ifndef DDK750_DVI_H__
281dee67eSSudip Mukherjee #define DDK750_DVI_H__
381dee67eSSudip Mukherjee 
481dee67eSSudip Mukherjee /* dvi chip stuffs structros */
581dee67eSSudip Mukherjee 
681dee67eSSudip Mukherjee typedef long (*PFN_DVICTRL_INIT)(
781dee67eSSudip Mukherjee     unsigned char edgeSelect,
881dee67eSSudip Mukherjee     unsigned char busSelect,
981dee67eSSudip Mukherjee     unsigned char dualEdgeClkSelect,
1081dee67eSSudip Mukherjee     unsigned char hsyncEnable,
1181dee67eSSudip Mukherjee     unsigned char vsyncEnable,
1281dee67eSSudip Mukherjee     unsigned char deskewEnable,
1381dee67eSSudip Mukherjee     unsigned char deskewSetting,
1481dee67eSSudip Mukherjee     unsigned char continuousSyncEnable,
1581dee67eSSudip Mukherjee     unsigned char pllFilterEnable,
1681dee67eSSudip Mukherjee     unsigned char pllFilterValue);
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 
2881dee67eSSudip Mukherjee 
2981dee67eSSudip Mukherjee /* Structure to hold all the function pointer to the DVI Controller. */
3081dee67eSSudip Mukherjee typedef struct _dvi_ctrl_device_t
3181dee67eSSudip Mukherjee {
3281dee67eSSudip Mukherjee     PFN_DVICTRL_INIT                pfnInit;
3381dee67eSSudip Mukherjee     PFN_DVICTRL_RESETCHIP           pfnResetChip;
3481dee67eSSudip Mukherjee     PFN_DVICTRL_GETCHIPSTRING       pfnGetChipString;
3581dee67eSSudip Mukherjee     PFN_DVICTRL_GETVENDORID         pfnGetVendorId;
3681dee67eSSudip Mukherjee     PFN_DVICTRL_GETDEVICEID         pfnGetDeviceId;
3781dee67eSSudip Mukherjee     PFN_DVICTRL_SETPOWER            pfnSetPower;
3881dee67eSSudip Mukherjee     PFN_DVICTRL_HOTPLUGDETECTION    pfnEnableHotPlugDetection;
3981dee67eSSudip Mukherjee     PFN_DVICTRL_ISCONNECTED         pfnIsConnected;
4081dee67eSSudip Mukherjee     PFN_DVICTRL_CHECKINTERRUPT      pfnCheckInterrupt;
4181dee67eSSudip Mukherjee     PFN_DVICTRL_CLEARINTERRUPT      pfnClearInterrupt;
4281dee67eSSudip Mukherjee } dvi_ctrl_device_t;
4381dee67eSSudip Mukherjee #define DVI_CTRL_SII164
4481dee67eSSudip Mukherjee 
4581dee67eSSudip Mukherjee 
4681dee67eSSudip Mukherjee 
4781dee67eSSudip Mukherjee /* dvi functions prototype */
4881dee67eSSudip Mukherjee int dviInit(
4981dee67eSSudip Mukherjee     unsigned char edgeSelect,
5081dee67eSSudip Mukherjee     unsigned char busSelect,
5181dee67eSSudip Mukherjee     unsigned char dualEdgeClkSelect,
5281dee67eSSudip Mukherjee     unsigned char hsyncEnable,
5381dee67eSSudip Mukherjee     unsigned char vsyncEnable,
5481dee67eSSudip Mukherjee     unsigned char deskewEnable,
5581dee67eSSudip Mukherjee     unsigned char deskewSetting,
5681dee67eSSudip Mukherjee     unsigned char continuousSyncEnable,
5781dee67eSSudip Mukherjee     unsigned char pllFilterEnable,
5881dee67eSSudip Mukherjee     unsigned char pllFilterValue
5981dee67eSSudip Mukherjee );
6081dee67eSSudip Mukherjee 
6181dee67eSSudip Mukherjee unsigned short dviGetVendorID(void);
6281dee67eSSudip Mukherjee unsigned short dviGetDeviceID(void);
6381dee67eSSudip Mukherjee 
6481dee67eSSudip Mukherjee 
6581dee67eSSudip Mukherjee 
6681dee67eSSudip Mukherjee #endif
6781dee67eSSudip Mukherjee 
68