hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef DDK750_DVI_H__
#define DDK750_DVI_H__
 
/* dvi chip stuffs structros */
 
typedef long (*PFN_DVICTRL_INIT)(unsigned char edgeSelect,
                unsigned char busSelect,
                unsigned char dualEdgeClkSelect,
                unsigned char hsyncEnable,
                unsigned char vsyncEnable,
                unsigned char deskewEnable,
                unsigned char deskewSetting,
                unsigned char continuousSyncEnable,
                unsigned char pllFilterEnable,
                unsigned char pllFilterValue);
 
typedef void (*PFN_DVICTRL_RESETCHIP)(void);
typedef char* (*PFN_DVICTRL_GETCHIPSTRING)(void);
typedef unsigned short (*PFN_DVICTRL_GETVENDORID)(void);
typedef unsigned short (*PFN_DVICTRL_GETDEVICEID)(void);
typedef void (*PFN_DVICTRL_SETPOWER)(unsigned char powerUp);
typedef void (*PFN_DVICTRL_HOTPLUGDETECTION)(unsigned char enableHotPlug);
typedef unsigned char (*PFN_DVICTRL_ISCONNECTED)(void);
typedef unsigned char (*PFN_DVICTRL_CHECKINTERRUPT)(void);
typedef void (*PFN_DVICTRL_CLEARINTERRUPT)(void);
 
/* Structure to hold all the function pointer to the DVI Controller. */
struct dvi_ctrl_device {
   PFN_DVICTRL_INIT        pfnInit;
   PFN_DVICTRL_RESETCHIP        pfnResetChip;
   PFN_DVICTRL_GETCHIPSTRING    pfnGetChipString;
   PFN_DVICTRL_GETVENDORID        pfnGetVendorId;
   PFN_DVICTRL_GETDEVICEID        pfnGetDeviceId;
   PFN_DVICTRL_SETPOWER        pfnSetPower;
   PFN_DVICTRL_HOTPLUGDETECTION    pfnEnableHotPlugDetection;
   PFN_DVICTRL_ISCONNECTED        pfnIsConnected;
   PFN_DVICTRL_CHECKINTERRUPT    pfnCheckInterrupt;
   PFN_DVICTRL_CLEARINTERRUPT    pfnClearInterrupt;
};
 
#define DVI_CTRL_SII164
 
/* dvi functions prototype */
int dviInit(unsigned char edgeSelect,
       unsigned char busSelect,
       unsigned char dualEdgeClkSelect,
       unsigned char hsyncEnable,
       unsigned char vsyncEnable,
       unsigned char deskewEnable,
       unsigned char deskewSetting,
       unsigned char continuousSyncEnable,
       unsigned char pllFilterEnable,
       unsigned char pllFilterValue);
 
#endif