1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 281dee67eSSudip Mukherjee #ifndef DDK750_DVI_H__ 381dee67eSSudip Mukherjee #define DDK750_DVI_H__ 481dee67eSSudip Mukherjee 581dee67eSSudip Mukherjee /* dvi chip stuffs structros */ 681dee67eSSudip Mukherjee 7*9314a822SNam Cao typedef long (*PFN_DVICTRL_INIT)(unsigned char edge_select, 8*9314a822SNam Cao unsigned char bus_select, 9*9314a822SNam Cao unsigned char dual_edge_clk_select, 10*9314a822SNam Cao unsigned char hsync_enable, 11*9314a822SNam Cao unsigned char vsync_enable, 12*9314a822SNam Cao unsigned char deskew_enable, 13*9314a822SNam Cao unsigned char deskew_setting, 14*9314a822SNam Cao unsigned char continuous_sync_enable, 15*9314a822SNam Cao unsigned char pll_filter_enable, 16*9314a822SNam Cao unsigned char pll_filter_value); 17658373e5SNiranjan Dighe 1881dee67eSSudip Mukherjee typedef void (*PFN_DVICTRL_RESETCHIP)(void); 1981dee67eSSudip Mukherjee typedef char* (*PFN_DVICTRL_GETCHIPSTRING)(void); 2081dee67eSSudip Mukherjee typedef unsigned short (*PFN_DVICTRL_GETVENDORID)(void); 2181dee67eSSudip Mukherjee typedef unsigned short (*PFN_DVICTRL_GETDEVICEID)(void); 22*9314a822SNam Cao typedef void (*PFN_DVICTRL_SETPOWER)(unsigned char power_up); 23*9314a822SNam Cao typedef void (*PFN_DVICTRL_HOTPLUGDETECTION)(unsigned char enable_hot_plug); 2481dee67eSSudip Mukherjee typedef unsigned char (*PFN_DVICTRL_ISCONNECTED)(void); 2581dee67eSSudip Mukherjee typedef unsigned char (*PFN_DVICTRL_CHECKINTERRUPT)(void); 2681dee67eSSudip Mukherjee typedef void (*PFN_DVICTRL_CLEARINTERRUPT)(void); 2781dee67eSSudip Mukherjee 2881dee67eSSudip Mukherjee /* Structure to hold all the function pointer to the DVI Controller. */ 29f290d491SMihaela Muraru struct dvi_ctrl_device { 30*9314a822SNam Cao PFN_DVICTRL_INIT init; 31*9314a822SNam Cao PFN_DVICTRL_RESETCHIP reset_chip; 32*9314a822SNam Cao PFN_DVICTRL_GETCHIPSTRING get_chip_string; 33*9314a822SNam Cao PFN_DVICTRL_GETVENDORID get_vendor_id; 34*9314a822SNam Cao PFN_DVICTRL_GETDEVICEID get_device_id; 35*9314a822SNam Cao PFN_DVICTRL_SETPOWER set_power; 36*9314a822SNam Cao PFN_DVICTRL_HOTPLUGDETECTION enable_hot_plug_detection; 37*9314a822SNam Cao PFN_DVICTRL_ISCONNECTED is_connected; 38*9314a822SNam Cao PFN_DVICTRL_CHECKINTERRUPT check_interrupt; 39*9314a822SNam Cao PFN_DVICTRL_CLEARINTERRUPT clear_interrupt; 40f290d491SMihaela Muraru }; 41658373e5SNiranjan Dighe 4281dee67eSSudip Mukherjee #define DVI_CTRL_SII164 4381dee67eSSudip Mukherjee 4481dee67eSSudip Mukherjee /* dvi functions prototype */ 45*9314a822SNam Cao int dvi_init(unsigned char edge_select, 46*9314a822SNam Cao unsigned char bus_select, 47*9314a822SNam Cao unsigned char dual_edge_clk_select, 48*9314a822SNam Cao unsigned char hsync_enable, 49*9314a822SNam Cao unsigned char vsync_enable, 50*9314a822SNam Cao unsigned char deskew_enable, 51*9314a822SNam Cao unsigned char deskew_setting, 52*9314a822SNam Cao unsigned char continuous_sync_enable, 53*9314a822SNam Cao unsigned char pll_filter_enable, 54*9314a822SNam Cao unsigned char pll_filter_value); 5581dee67eSSudip Mukherjee 5681dee67eSSudip Mukherjee #endif 5781dee67eSSudip Mukherjee 58