blob: 8252f771ef9e3c04be4766fe03b2fd8ddc8a5423 [file] [log] [blame]
Juston Li919ca7c2015-07-14 21:14:43 -07001#define USE_DVICHIP
Sudip Mukherjee81dee672015-03-03 16:21:06 +05302#ifdef USE_DVICHIP
3#include "ddk750_help.h"
4#include "ddk750_reg.h"
5#include "ddk750_dvi.h"
6#include "ddk750_sii164.h"
7
8
Edward Lipinsky2d171052016-07-23 11:57:25 -07009/*
10 * This global variable contains all the supported driver and its corresponding
11 * function API. Please set the function pointer to NULL whenever the function
12 * is not supported.
13 */
Juston Li259fef32015-07-14 21:14:45 -070014static dvi_ctrl_device_t g_dcftSupportedDviController[] = {
Sudip Mukherjee81dee672015-03-03 16:21:06 +053015#ifdef DVI_CTRL_SII164
Juston Li78376532015-07-14 21:14:30 -070016 {
17 .pfnInit = sii164InitChip,
18 .pfnGetVendorId = sii164GetVendorID,
19 .pfnGetDeviceId = sii164GetDeviceID,
Sudip Mukherjee81dee672015-03-03 16:21:06 +053020#ifdef SII164_FULL_FUNCTIONS
Juston Li78376532015-07-14 21:14:30 -070021 .pfnResetChip = sii164ResetChip,
22 .pfnGetChipString = sii164GetChipString,
23 .pfnSetPower = sii164SetPower,
24 .pfnEnableHotPlugDetection = sii164EnableHotPlugDetection,
25 .pfnIsConnected = sii164IsConnected,
26 .pfnCheckInterrupt = sii164CheckInterrupt,
27 .pfnClearInterrupt = sii164ClearInterrupt,
Sudip Mukherjee81dee672015-03-03 16:21:06 +053028#endif
Juston Li78376532015-07-14 21:14:30 -070029 },
Sudip Mukherjee81dee672015-03-03 16:21:06 +053030#endif
31};
32
33
34int dviInit(
Juston Li78376532015-07-14 21:14:30 -070035 unsigned char edgeSelect,
36 unsigned char busSelect,
37 unsigned char dualEdgeClkSelect,
38 unsigned char hsyncEnable,
39 unsigned char vsyncEnable,
40 unsigned char deskewEnable,
41 unsigned char deskewSetting,
42 unsigned char continuousSyncEnable,
43 unsigned char pllFilterEnable,
44 unsigned char pllFilterValue
Sudip Mukherjee81dee672015-03-03 16:21:06 +053045 )
46{
47 dvi_ctrl_device_t *pCurrentDviCtrl;
Juston Li40403c12015-07-14 21:14:48 -070048
Sudip Mukherjee81dee672015-03-03 16:21:06 +053049 pCurrentDviCtrl = g_dcftSupportedDviController;
Juston Li259fef32015-07-14 21:14:45 -070050 if (pCurrentDviCtrl->pfnInit != NULL) {
Sudip Mukherjee81dee672015-03-03 16:21:06 +053051 return pCurrentDviCtrl->pfnInit(edgeSelect, busSelect, dualEdgeClkSelect, hsyncEnable,
Juston Li78376532015-07-14 21:14:30 -070052 vsyncEnable, deskewEnable, deskewSetting, continuousSyncEnable,
53 pllFilterEnable, pllFilterValue);
Sudip Mukherjee81dee672015-03-03 16:21:06 +053054 }
Juston Li5ee35ea2015-06-12 03:17:22 -070055 return -1; /* error */
Sudip Mukherjee81dee672015-03-03 16:21:06 +053056}
57
Sudip Mukherjee81dee672015-03-03 16:21:06 +053058#endif
59
60