1
2#define USE_DVICHIP
3#ifdef USE_DVICHIP
4#include "ddk750_chip.h"
5#include "ddk750_reg.h"
6#include "ddk750_dvi.h"
7#include "ddk750_sii164.h"
8
9
10
11
12
13
14static struct dvi_ctrl_device g_dcftSupportedDviController[] = {
15#ifdef DVI_CTRL_SII164
16 {
17 .pfnInit = sii164InitChip,
18 .pfnGetVendorId = sii164GetVendorID,
19 .pfnGetDeviceId = sii164GetDeviceID,
20#ifdef SII164_FULL_FUNCTIONS
21 .pfnResetChip = sii164ResetChip,
22 .pfnGetChipString = sii164GetChipString,
23 .pfnSetPower = sii164SetPower,
24 .pfnEnableHotPlugDetection = sii164EnableHotPlugDetection,
25 .pfnIsConnected = sii164IsConnected,
26 .pfnCheckInterrupt = sii164CheckInterrupt,
27 .pfnClearInterrupt = sii164ClearInterrupt,
28#endif
29 },
30#endif
31};
32
33int dviInit(unsigned char edgeSelect,
34 unsigned char busSelect,
35 unsigned char dualEdgeClkSelect,
36 unsigned char hsyncEnable,
37 unsigned char vsyncEnable,
38 unsigned char deskewEnable,
39 unsigned char deskewSetting,
40 unsigned char continuousSyncEnable,
41 unsigned char pllFilterEnable,
42 unsigned char pllFilterValue)
43{
44 struct dvi_ctrl_device *pCurrentDviCtrl;
45
46 pCurrentDviCtrl = g_dcftSupportedDviController;
47 if (pCurrentDviCtrl->pfnInit) {
48 return pCurrentDviCtrl->pfnInit(edgeSelect,
49 busSelect,
50 dualEdgeClkSelect,
51 hsyncEnable,
52 vsyncEnable,
53 deskewEnable,
54 deskewSetting,
55 continuousSyncEnable,
56 pllFilterEnable,
57 pllFilterValue);
58 }
59 return -1;
60}
61
62#endif
63