xref: /utopia/UTPA2-700.0.x/projects/tmplib/include/apiXC_DWIN_v2.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 #include "drvXC_IOPort.h"
2 #include "apiXC.h"
3 #include "apiXC_DWIN.h"
4 
5 typedef enum {
6     DIP_TRIG_OFF,
7     DIP_TRIG_ON,
8     DIP_TRIG_ONESHOT,
9     DIP_TRIG_ONESHOTFAST,
10     DIP_TRIG_RESET,
11 }eDipTriggerMode;
12 
13 typedef enum {
14     DIP_INTR_DISABLE,
15     DIP_INTR_ENABLE,
16     DIP_INTR_GET,
17     DIP_INTR_CLEAR,
18     DIP_INTR_ATTACH,
19     DIP_INTR_DETACH,
20 }eDipInterruptAct;
21 
22 typedef enum {
23     DIP_PRO_NONE        = 0x000000000,
24     DIP_PRO_SCANMODE    = 0x000000001,
25     DIP_PRO_DATAFMT     = 0x000000002,
26     DIP_PRO_R2Y         = 0x000000004,
27     DIP_PRO_Y2R         = 0x000000008,
28     DIP_PRO_SWAPUV      = 0x000000010,
29     DIP_PRO_SWAPYC      = 0x000000020,
30     DIP_PRO_SWAPRGB     = 0x000000040,
31     DIP_PRO_INTERLACE_W = 0x000000080,
32     DIP_PRO_ALPHA       = 0x000000100,
33     DIP_PRO_FRC         = 0x000000200,
34     DIP_PRO_OP_CAPTURE  = 0x000000400,
35     DIP_PRO_MIRROR      = 0x000000800,
36     DIP_PRO_PINPON      = 0x000001000,
37     DIP_PRO_ROTATION    = 0x000002000,
38     DIP_PRO_HVSP        = 0x000004000,
39     DIP_PRO_TILEBLOCK   = 0x000008000,
40 }eDipPropertyflag;
41 
42 typedef enum {
43     MDrv_CMD_DIP_INIT,
44     MDrv_CMD_DIP_GET_RESOURCE,
45     MDrv_CMD_DIP_RELEASE_RESOURCE,
46     MDrv_CMD_DIP_QUERY_RESOURCE,
47     MDrv_CMD_DIP_SET_INPUTSOURCE,
48     MDrv_CMD_DIP_SET_WINDOW,
49     MDrv_CMD_DIP_SET_WINPROPERTY,
50     MDrv_CMD_DIP_SET_PROPERTY,
51     MDrv_CMD_DIP_GET_BUFINFO,
52     MDrv_CMD_DIP_INTERRUPT,
53     MDrv_CMD_DIP_TRIGGER,
54     MDrv_CMD_DIP_SET_DIPR_PROPERTY,
55 } eDipIoctlOpt;
56 
57 typedef struct
58 {
59     MS_BOOL bFrameRateCtrl;
60     MS_U16 u16In;
61     MS_U16 u16Out;
62 } ST_XC_DIP_FRC;
63 
64 typedef struct
65 {
66     MS_BOOL bSwap;
67     EN_XC_DIP_RGB_SWAP_TYPE eSwapType;
68 } ST_XC_DIP_SWAPRGB;
69 
70 typedef struct
71 {
72     MS_BOOL bOpCapture;
73     EN_XC_DIP_OP_CAPTURE eOpCapture;
74 } ST_XC_DIP_OP_CAPTURE;
75 
76 typedef struct
77 {
78     MS_BOOL bHMirror;
79     MS_BOOL bVMirror;
80 } ST_XC_DIP_MIRROR;
81 
82 typedef struct
83 {
84     MS_BOOL bPinpon;
85     MS_PHY u32PinponAddr;
86 } ST_XC_DIP_PINPON;
87 
88 typedef struct
89 {
90     MS_BOOL bRotation;
91     EN_XC_DIP_ROTATION eRoDirection;
92 } ST_XC_DIP_ROTATION;
93 
94 typedef struct
95 {
96     EN_XC_DIP_SCAN_MODE eScanMode;
97     EN_XC_DIP_DATA_FMT eDataFmt;
98     ST_XC_DIP_OP_CAPTURE stOpCapture;
99     ST_XC_DIP_SWAPRGB stSwapRGB;
100     ST_XC_DIP_MIRROR stMirror;
101     ST_XC_DIP_FRC stFrameRateControl;
102     ST_XC_DIP_PINPON stPinpon;
103     ST_XC_DIP_ROTATION stRotation;
104     MS_BOOL bSwapUV;
105     MS_BOOL bSwapYC;
106     MS_BOOL bR2Y;
107     MS_BOOL bY2R;
108     MS_BOOL bInterlaceW;
109     MS_U8 u8Alpha;
110     MS_BOOL bHVSP;
111     EN_XC_DIP_TILE_BLOCK eTileBlock;
112 }ST_XC_DIP_PROPERTY;
113 
114 typedef struct _DIP_RESOURCE
115 {
116     SCALER_DIP_WIN eWindow;
117 }DIP_RESOURCE;
118 
119 typedef struct _DIP_INPUT_SOURCE
120 {
121     INPUT_SOURCE_TYPE_t SrcPath;
122 }DIP_INPUT_SOURCE;
123 
124 typedef struct _DIP_SET_WINDOW
125 {
126     MS_U32 u32DataLen;
127     XC_SETWIN_INFO WinInfo;
128     SCALER_DIP_WIN eWindow;
129 }DIP_SET_WINDOW;
130 
131 typedef struct _DIP_SET_PROPERTY
132 {
133     eDipPropertyflag eFlag;
134     ST_XC_DIP_PROPERTY Property;
135     SCALER_DIP_WIN eWindow;
136 }DIP_SET_PROPERTY;
137 
138 typedef struct _DIP_SET_WIN_PROPERTY
139 {
140     ST_XC_DIP_WINPROPERTY WinProperty;
141     SCALER_DIP_WIN eWindow;
142 }DIP_SET_WIN_PROPERTY;
143 
144 typedef struct _DIP_BUF_INFO
145 {
146     BUFFER_INFO BufInfo;
147     SCALER_DIP_WIN eWindow;
148 }DIP_BUF_INFO;
149 
150 typedef struct _DIP_INTER_STUS
151 {
152     eDipInterruptAct eFlag;
153     MS_U16 IntrStautus;
154     InterruptCb pIntCb;
155     SCALER_DIP_WIN eWindow;
156 }DIP_INTER_STUS;
157 
158 typedef struct _DIP_TRIGGER_MODE
159 {
160     eDipTriggerMode eTrigMode;
161     SCALER_DIP_WIN eWindow;
162 }DIP_TRIGGER_MODE;
163 
164 typedef struct _DIP_SET_DIPR_PROPERTY
165 {
166     ST_XC_DIPR_PROPERTY DIPRProperty;
167     SCALER_DIP_WIN eWindow;
168 }DIP_SET_DIPR_PROPERTY;
169 
170