3 #include "ddk750_help.h"
4 #include "ddk750_reg.h"
5 #include "ddk750_dvi.h"
6 #include "ddk750_sii164.h"
9 /* This global variable contains all the supported driver and its corresponding
10 function API. Please set the function pointer to NULL whenever the function
12 static dvi_ctrl_device_t g_dcftSupportedDviController
[] =
14 #ifdef DVI_CTRL_SII164
16 .pfnInit
= sii164InitChip
,
17 .pfnGetVendorId
= sii164GetVendorID
,
18 .pfnGetDeviceId
= sii164GetDeviceID
,
19 #ifdef SII164_FULL_FUNCTIONS
20 .pfnResetChip
= sii164ResetChip
,
21 .pfnGetChipString
= sii164GetChipString
,
22 .pfnSetPower
= sii164SetPower
,
23 .pfnEnableHotPlugDetection
= sii164EnableHotPlugDetection
,
24 .pfnIsConnected
= sii164IsConnected
,
25 .pfnCheckInterrupt
= sii164CheckInterrupt
,
26 .pfnClearInterrupt
= sii164ClearInterrupt
,
34 unsigned char edgeSelect
,
35 unsigned char busSelect
,
36 unsigned char dualEdgeClkSelect
,
37 unsigned char hsyncEnable
,
38 unsigned char vsyncEnable
,
39 unsigned char deskewEnable
,
40 unsigned char deskewSetting
,
41 unsigned char continuousSyncEnable
,
42 unsigned char pllFilterEnable
,
43 unsigned char pllFilterValue
46 dvi_ctrl_device_t
*pCurrentDviCtrl
;
47 pCurrentDviCtrl
= g_dcftSupportedDviController
;
48 if(pCurrentDviCtrl
->pfnInit
!= NULL
)
50 return pCurrentDviCtrl
->pfnInit(edgeSelect
, busSelect
, dualEdgeClkSelect
, hsyncEnable
,
51 vsyncEnable
, deskewEnable
, deskewSetting
, continuousSyncEnable
,
52 pllFilterEnable
, pllFilterValue
);
54 return -1; /* error */
60 * This function gets the vendor ID of the DVI controller chip.
65 unsigned short dviGetVendorID(void)
67 dvi_ctrl_device_t
*pCurrentDviCtrl
;
69 pCurrentDviCtrl
= g_dcftSupportedDviController
;
70 if (pCurrentDviCtrl
!= (dvi_ctrl_device_t
*)0)
71 return pCurrentDviCtrl
->pfnGetVendorId();
79 * This function gets the device ID of the DVI controller chip.
84 unsigned short dviGetDeviceID(void)
86 dvi_ctrl_device_t
*pCurrentDviCtrl
;
88 pCurrentDviCtrl
= g_dcftSupportedDviController
;
89 if (pCurrentDviCtrl
!= (dvi_ctrl_device_t
*)0)
90 return pCurrentDviCtrl
->pfnGetDeviceId();