1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef DDK750_DVI_H__
3#define DDK750_DVI_H__
4
5/* dvi chip stuffs structros */
6
7typedef long (*PFN_DVICTRL_INIT)(unsigned char edge_select,
8				 unsigned char bus_select,
9				 unsigned char dual_edge_clk_select,
10				 unsigned char hsync_enable,
11				 unsigned char vsync_enable,
12				 unsigned char deskew_enable,
13				 unsigned char deskew_setting,
14				 unsigned char continuous_sync_enable,
15				 unsigned char pll_filter_enable,
16				 unsigned char pll_filter_value);
17
18typedef void (*PFN_DVICTRL_RESETCHIP)(void);
19typedef char* (*PFN_DVICTRL_GETCHIPSTRING)(void);
20typedef unsigned short (*PFN_DVICTRL_GETVENDORID)(void);
21typedef unsigned short (*PFN_DVICTRL_GETDEVICEID)(void);
22typedef void (*PFN_DVICTRL_SETPOWER)(unsigned char power_up);
23typedef void (*PFN_DVICTRL_HOTPLUGDETECTION)(unsigned char enable_hot_plug);
24typedef unsigned char (*PFN_DVICTRL_ISCONNECTED)(void);
25typedef unsigned char (*PFN_DVICTRL_CHECKINTERRUPT)(void);
26typedef void (*PFN_DVICTRL_CLEARINTERRUPT)(void);
27
28/* Structure to hold all the function pointer to the DVI Controller. */
29struct dvi_ctrl_device {
30	PFN_DVICTRL_INIT		init;
31	PFN_DVICTRL_RESETCHIP		reset_chip;
32	PFN_DVICTRL_GETCHIPSTRING	get_chip_string;
33	PFN_DVICTRL_GETVENDORID		get_vendor_id;
34	PFN_DVICTRL_GETDEVICEID		get_device_id;
35	PFN_DVICTRL_SETPOWER		set_power;
36	PFN_DVICTRL_HOTPLUGDETECTION	enable_hot_plug_detection;
37	PFN_DVICTRL_ISCONNECTED		is_connected;
38	PFN_DVICTRL_CHECKINTERRUPT	check_interrupt;
39	PFN_DVICTRL_CLEARINTERRUPT	clear_interrupt;
40};
41
42#define DVI_CTRL_SII164
43
44/* dvi functions prototype */
45int dvi_init(unsigned char edge_select,
46	     unsigned char bus_select,
47	     unsigned char dual_edge_clk_select,
48	     unsigned char hsync_enable,
49	     unsigned char vsync_enable,
50	     unsigned char deskew_enable,
51	     unsigned char deskew_setting,
52	     unsigned char continuous_sync_enable,
53	     unsigned char pll_filter_enable,
54	     unsigned char pll_filter_value);
55
56#endif
57
58