xref: /OK3568_Linux_fs/kernel/drivers/media/i2c/jaguar1_drv/jaguar1_common.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /********************************************************************************
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  *  Copyright (C) 2017 	NEXTCHIP Inc. All rights reserved.
5*4882a593Smuzhiyun  *  Module		: Jaguar1 Device Driver
6*4882a593Smuzhiyun  *  Description	: common.h
7*4882a593Smuzhiyun  *  Author		:
8*4882a593Smuzhiyun  *  Date         :
9*4882a593Smuzhiyun  *  Version		: Version 1.0
10*4882a593Smuzhiyun  *
11*4882a593Smuzhiyun  ********************************************************************************
12*4882a593Smuzhiyun  *  History      :
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  *
15*4882a593Smuzhiyun  ********************************************************************************/
16*4882a593Smuzhiyun #ifndef __COMMON_H__
17*4882a593Smuzhiyun #define __COMMON_H__
18*4882a593Smuzhiyun 
19*4882a593Smuzhiyun unsigned char jaguar1_I2CReadByte8(unsigned char devaddress, unsigned char address);
20*4882a593Smuzhiyun void jaguar1_I2CWriteByte8(unsigned char devaddress, unsigned char address, unsigned char data);
21*4882a593Smuzhiyun #define  gpio_i2c_read    jaguar1_I2CReadByte8
22*4882a593Smuzhiyun #define  gpio_i2c_write   jaguar1_I2CWriteByte8
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun #define DRIVER_VER "1.1.7"
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #define JAGUAR1_MAX_CHAN_CNT 4
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun extern unsigned int jaguar1_i2c_addr[4];
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun #define HI_CHIPID_BASE 0x12050000
31*4882a593Smuzhiyun #define HI_CHIPID0 IO_ADDRESS(HI_CHIPID_BASE + 0xEEC)
32*4882a593Smuzhiyun #define HI_CHIPID1 IO_ADDRESS(HI_CHIPID_BASE + 0xEE8)
33*4882a593Smuzhiyun #define HI_CHIPID2 IO_ADDRESS(HI_CHIPID_BASE + 0xEE4)
34*4882a593Smuzhiyun #define HI_CHIPID3 IO_ADDRESS(HI_CHIPID_BASE + 0xEE0)
35*4882a593Smuzhiyun #define HW_REG(reg) *((volatile unsigned int *)(reg))
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun #define _SET_BIT(data,bit) ((data)|=(1<<(bit)))
38*4882a593Smuzhiyun #define _CLE_BIT(data,bit) ((data)&=(~(1<<(bit))))
39*4882a593Smuzhiyun 
40*4882a593Smuzhiyun #define JAGUAR1_BANK_CHANGE(bank) gpio_i2c_write(jaguar1_i2c_addr[0], 0xFF, bank );
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun #define PORTA		0x00
43*4882a593Smuzhiyun #define PORTB		0x01
44*4882a593Smuzhiyun #define PORTC		0x02
45*4882a593Smuzhiyun #define PORTD		0x03
46*4882a593Smuzhiyun #define PORTAB		0x04
47*4882a593Smuzhiyun #define PORTCD		0x05
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun #define FUNC_ON		0x01
50*4882a593Smuzhiyun #define FUNC_OFF	0x00
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun #define BANK_0  0x00
53*4882a593Smuzhiyun #define BANK_1  0x01
54*4882a593Smuzhiyun #define BANK_2  0x02
55*4882a593Smuzhiyun #define BANK_3  0x03
56*4882a593Smuzhiyun #define BANK_4  0x04
57*4882a593Smuzhiyun #define BANK_5  0x05
58*4882a593Smuzhiyun #define BANK_A  0x0A
59*4882a593Smuzhiyun #define BANK_B  0x0B
60*4882a593Smuzhiyun #define BANK_11 0x11
61*4882a593Smuzhiyun #define BANK_13 0x13
62*4882a593Smuzhiyun #define BANK_20 0x20
63*4882a593Smuzhiyun #define BANK_21 0x21
64*4882a593Smuzhiyun #define BANK_22 0x22
65*4882a593Smuzhiyun 
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun typedef struct _decoder_get_information_str
68*4882a593Smuzhiyun {
69*4882a593Smuzhiyun 	unsigned char chip_id[4];
70*4882a593Smuzhiyun 	unsigned char chip_rev[4];
71*4882a593Smuzhiyun 	unsigned char chip_addr[4];
72*4882a593Smuzhiyun 
73*4882a593Smuzhiyun 	unsigned char Total_Port_Num;
74*4882a593Smuzhiyun 	unsigned char Total_Chip_Cnt;
75*4882a593Smuzhiyun 
76*4882a593Smuzhiyun }decoder_get_information_str;
77*4882a593Smuzhiyun 
78*4882a593Smuzhiyun typedef struct _decoder_dev_ch_info_s
79*4882a593Smuzhiyun {
80*4882a593Smuzhiyun 	unsigned char ch;
81*4882a593Smuzhiyun 	unsigned char devnum;
82*4882a593Smuzhiyun 	unsigned char fmt_def;
83*4882a593Smuzhiyun }decoder_dev_ch_info_s;
84*4882a593Smuzhiyun 
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun typedef enum NC_FORMAT_FPS
87*4882a593Smuzhiyun {
88*4882a593Smuzhiyun 	FMT_FPS_UNKNOWN = 0,
89*4882a593Smuzhiyun 	FMT_NT = 1,
90*4882a593Smuzhiyun 	FMT_PAL,
91*4882a593Smuzhiyun 	FMT_12_5P,
92*4882a593Smuzhiyun 	FMT_7_5P,
93*4882a593Smuzhiyun 	FMT_30P,
94*4882a593Smuzhiyun 	FMT_25P,
95*4882a593Smuzhiyun 	FMT_50P,
96*4882a593Smuzhiyun 	FMT_60P,
97*4882a593Smuzhiyun 	FMT_15P,
98*4882a593Smuzhiyun 	FMT_18P,
99*4882a593Smuzhiyun 	FMT_18_75P,
100*4882a593Smuzhiyun 	FMT_20P,
101*4882a593Smuzhiyun 
102*4882a593Smuzhiyun 	FMT_FPS_MAX,
103*4882a593Smuzhiyun 
104*4882a593Smuzhiyun } NC_FORMAT_FPS;
105*4882a593Smuzhiyun 
106*4882a593Smuzhiyun //#define FMT_AUTO (-1)
107*4882a593Smuzhiyun 
108*4882a593Smuzhiyun typedef enum NC_FORMAT_STANDARD
109*4882a593Smuzhiyun {
110*4882a593Smuzhiyun 	FMT_STD_UNKNOWN = 0,
111*4882a593Smuzhiyun 	FMT_SD,
112*4882a593Smuzhiyun 	FMT_AHD20,
113*4882a593Smuzhiyun 	FMT_AHD30,
114*4882a593Smuzhiyun 	FMT_TVI,
115*4882a593Smuzhiyun 	FMT_CVI,
116*4882a593Smuzhiyun 
117*4882a593Smuzhiyun 	FMT_AUTO,		// FIXME
118*4882a593Smuzhiyun 
119*4882a593Smuzhiyun 	FMT_STD_MAX,
120*4882a593Smuzhiyun 
121*4882a593Smuzhiyun } NC_FORMAT_STANDARD;
122*4882a593Smuzhiyun 
123*4882a593Smuzhiyun 
124*4882a593Smuzhiyun typedef enum NC_FORMAT_RESOLUTION
125*4882a593Smuzhiyun {
126*4882a593Smuzhiyun 	FMT_RESOL_UNKNOWN = 0,
127*4882a593Smuzhiyun 	FMT_SH720,
128*4882a593Smuzhiyun 	FMT_H960,
129*4882a593Smuzhiyun 	FMT_H1280,
130*4882a593Smuzhiyun 	FMT_H1440,
131*4882a593Smuzhiyun 	FMT_H960_EX,
132*4882a593Smuzhiyun 	FMT_H960_2EX,
133*4882a593Smuzhiyun 	FMT_H960_Btype_2EX,
134*4882a593Smuzhiyun 	FMT_720P,
135*4882a593Smuzhiyun 	FMT_720P_EX,
136*4882a593Smuzhiyun 	FMT_720P_Btype,
137*4882a593Smuzhiyun 	FMT_720P_Btype_EX,
138*4882a593Smuzhiyun 	FMT_1080P,
139*4882a593Smuzhiyun 	FMT_3M,
140*4882a593Smuzhiyun 	FMT_4M,
141*4882a593Smuzhiyun 	FMT_5M,
142*4882a593Smuzhiyun 	FMT_5_3M,
143*4882a593Smuzhiyun 	FMT_6M,
144*4882a593Smuzhiyun 	FMT_8M_X,
145*4882a593Smuzhiyun 	FMT_8M,
146*4882a593Smuzhiyun 	FMT_960P,
147*4882a593Smuzhiyun 
148*4882a593Smuzhiyun 	FMT_H960_Btype_2EX_SP,
149*4882a593Smuzhiyun 	FMT_720P_Btype_EX_SP,
150*4882a593Smuzhiyun 
151*4882a593Smuzhiyun 	FMT_RESOL_MAX,
152*4882a593Smuzhiyun } NC_FORMAT_RESOLUTION;
153*4882a593Smuzhiyun 
154*4882a593Smuzhiyun 
155*4882a593Smuzhiyun typedef enum NC_VIVO_CH_FORMATDEF
156*4882a593Smuzhiyun {
157*4882a593Smuzhiyun 	NC_VIVO_CH_FORMATDEF_UNKNOWN = 0,
158*4882a593Smuzhiyun 	NC_VIVO_CH_FORMATDEF_AUTO,
159*4882a593Smuzhiyun 
160*4882a593Smuzhiyun 	AHD20_SD_H960_NT,
161*4882a593Smuzhiyun 	AHD20_SD_H960_PAL,
162*4882a593Smuzhiyun 	AHD20_SD_SH720_NT,
163*4882a593Smuzhiyun 	AHD20_SD_SH720_PAL,
164*4882a593Smuzhiyun 	AHD20_SD_H1280_NT,
165*4882a593Smuzhiyun 	AHD20_SD_H1280_PAL,
166*4882a593Smuzhiyun 	AHD20_SD_H1440_NT,
167*4882a593Smuzhiyun 	AHD20_SD_H1440_PAL,
168*4882a593Smuzhiyun 	AHD20_SD_H960_EX_NT,
169*4882a593Smuzhiyun 	AHD20_SD_H960_EX_PAL,
170*4882a593Smuzhiyun 	AHD20_SD_H960_2EX_NT,
171*4882a593Smuzhiyun 	AHD20_SD_H960_2EX_PAL,
172*4882a593Smuzhiyun 	AHD20_SD_H960_2EX_Btype_NT,
173*4882a593Smuzhiyun 	AHD20_SD_H960_2EX_Btype_PAL,
174*4882a593Smuzhiyun 	AHD20_1080P_60P, // For Test
175*4882a593Smuzhiyun 	AHD20_1080P_50P, // For Test
176*4882a593Smuzhiyun 	AHD20_1080P_30P,
177*4882a593Smuzhiyun 	AHD20_1080P_25P,
178*4882a593Smuzhiyun 	AHD20_720P_60P,
179*4882a593Smuzhiyun 	AHD20_720P_50P,
180*4882a593Smuzhiyun 	AHD20_720P_30P,
181*4882a593Smuzhiyun 	AHD20_720P_25P,
182*4882a593Smuzhiyun 	AHD20_720P_30P_EX,
183*4882a593Smuzhiyun 	AHD20_720P_25P_EX,
184*4882a593Smuzhiyun 	AHD20_720P_30P_EX_Btype,
185*4882a593Smuzhiyun 	AHD20_720P_25P_EX_Btype,
186*4882a593Smuzhiyun 	AHD20_720P_960P_30P,
187*4882a593Smuzhiyun 	AHD20_720P_960P_25P,
188*4882a593Smuzhiyun 
189*4882a593Smuzhiyun 	AHD30_4M_30P,
190*4882a593Smuzhiyun 	AHD30_4M_25P,
191*4882a593Smuzhiyun 	AHD30_4M_15P,
192*4882a593Smuzhiyun 	AHD30_3M_30P,
193*4882a593Smuzhiyun 	AHD30_3M_25P,
194*4882a593Smuzhiyun 	AHD30_3M_18P,
195*4882a593Smuzhiyun 	AHD30_5M_12_5P,
196*4882a593Smuzhiyun 	AHD30_5M_20P,
197*4882a593Smuzhiyun 	AHD30_5_3M_20P,
198*4882a593Smuzhiyun 	AHD30_6M_18P,
199*4882a593Smuzhiyun 	AHD30_6M_20P,
200*4882a593Smuzhiyun 	AHD30_8M_X_30P,
201*4882a593Smuzhiyun 	AHD30_8M_X_25P,
202*4882a593Smuzhiyun 	AHD30_8M_7_5P,
203*4882a593Smuzhiyun 	AHD30_8M_12_5P,
204*4882a593Smuzhiyun 	AHD30_8M_15P,
205*4882a593Smuzhiyun 
206*4882a593Smuzhiyun 	TVI_FHD_30P,
207*4882a593Smuzhiyun 	TVI_FHD_25P,
208*4882a593Smuzhiyun 	TVI_HD_60P,
209*4882a593Smuzhiyun 	TVI_HD_50P,
210*4882a593Smuzhiyun 	TVI_HD_30P,
211*4882a593Smuzhiyun 	TVI_HD_25P,
212*4882a593Smuzhiyun 	TVI_HD_30P_EX,
213*4882a593Smuzhiyun 	TVI_HD_25P_EX,
214*4882a593Smuzhiyun 	TVI_HD_B_30P,
215*4882a593Smuzhiyun 	TVI_HD_B_25P,
216*4882a593Smuzhiyun 	TVI_HD_B_30P_EX,
217*4882a593Smuzhiyun 	TVI_HD_B_25P_EX,
218*4882a593Smuzhiyun 	TVI_3M_18P,
219*4882a593Smuzhiyun 	TVI_5M_12_5P,
220*4882a593Smuzhiyun 	TVI_4M_30P,
221*4882a593Smuzhiyun 	TVI_4M_25P,
222*4882a593Smuzhiyun 	TVI_4M_15P,
223*4882a593Smuzhiyun 
224*4882a593Smuzhiyun 	CVI_FHD_30P,
225*4882a593Smuzhiyun 	CVI_FHD_25P,
226*4882a593Smuzhiyun 	CVI_HD_60P,
227*4882a593Smuzhiyun 	CVI_HD_50P,
228*4882a593Smuzhiyun 	CVI_HD_30P,
229*4882a593Smuzhiyun 	CVI_HD_25P,
230*4882a593Smuzhiyun 	CVI_HD_30P_EX,
231*4882a593Smuzhiyun 	CVI_HD_25P_EX,
232*4882a593Smuzhiyun 	CVI_4M_30P,
233*4882a593Smuzhiyun 	CVI_4M_25P,
234*4882a593Smuzhiyun 	CVI_8M_15P,
235*4882a593Smuzhiyun 	CVI_8M_12_5P,
236*4882a593Smuzhiyun 
237*4882a593Smuzhiyun 	AHD20_SD_H960_2EX_Btype_SP_NT,
238*4882a593Smuzhiyun 	AHD20_SD_H960_2EX_Btype_SP_PAL,
239*4882a593Smuzhiyun 
240*4882a593Smuzhiyun 	AHD20_720P_30P_EX_Btype_SP,
241*4882a593Smuzhiyun 	AHD20_720P_25P_EX_Btype_SP,
242*4882a593Smuzhiyun 
243*4882a593Smuzhiyun 	NC_VIVO_CH_FORMATDEF_MAX,
244*4882a593Smuzhiyun 
245*4882a593Smuzhiyun } NC_VIVO_CH_FORMATDEF;
246*4882a593Smuzhiyun 
247*4882a593Smuzhiyun typedef enum NC_OUTPUT_MUX_MODE
248*4882a593Smuzhiyun {
249*4882a593Smuzhiyun 	NC_MX_MUX1 = 0,
250*4882a593Smuzhiyun 	NC_MX_MUX2,
251*4882a593Smuzhiyun 	NC_MX_MUX4,
252*4882a593Smuzhiyun } NC_OUTPUT_MUX_MODE;
253*4882a593Smuzhiyun 
254*4882a593Smuzhiyun typedef enum NC_OUTPUT_INTERFACE
255*4882a593Smuzhiyun {
256*4882a593Smuzhiyun 	NC_OI_BT656 = 0,              /* ITU-R BT.656 YUV4:2:2 */
257*4882a593Smuzhiyun 	NC_OI_BT601,                  /* ITU-R BT.601 YUV4:2:2 */
258*4882a593Smuzhiyun 	NC_OI_DIGITAL_CAMERA,         /* digatal camera mode */
259*4882a593Smuzhiyun 	NC_OI_BT1120_STANDARD,        /* BT.1120 progressive mode */
260*4882a593Smuzhiyun 	NC_OI_BT1120_INTERLEAVED,     /* BT.1120 interstage mode */
261*4882a593Smuzhiyun } NC_OUTPUT_INTERFACE;
262*4882a593Smuzhiyun 
263*4882a593Smuzhiyun typedef enum NC_OUTPUT_EDGE
264*4882a593Smuzhiyun {
265*4882a593Smuzhiyun 	NC_OE_SINGLE_UP = 0,         /* single-edge mode and in rising edge */
266*4882a593Smuzhiyun 	NC_OE_SINGLE_DOWN,           /* single-edge mode and in falling edge */
267*4882a593Smuzhiyun 	NC_OE_DOUBLE ,
268*4882a593Smuzhiyun } NC_OUTPUT_EDGE;
269*4882a593Smuzhiyun 
270*4882a593Smuzhiyun 
271*4882a593Smuzhiyun 
272*4882a593Smuzhiyun typedef enum NC_ANALOG_INPUT
273*4882a593Smuzhiyun {
274*4882a593Smuzhiyun 	SINGLE_ENDED = 0,
275*4882a593Smuzhiyun 	DIFFERENTIAL,
276*4882a593Smuzhiyun } NC_ANALOG_INPUT;
277*4882a593Smuzhiyun 
278*4882a593Smuzhiyun typedef enum NC_CABLE
279*4882a593Smuzhiyun {
280*4882a593Smuzhiyun 	CABLE_A = 0,
281*4882a593Smuzhiyun 	CABLE_B,
282*4882a593Smuzhiyun 	CABLE_C,
283*4882a593Smuzhiyun 	CABLE_D,
284*4882a593Smuzhiyun } NC_CABLE;
285*4882a593Smuzhiyun 
286*4882a593Smuzhiyun typedef enum NC_STAGE
287*4882a593Smuzhiyun {
288*4882a593Smuzhiyun 	STAGE_0 = 0,
289*4882a593Smuzhiyun 	STAGE_1,
290*4882a593Smuzhiyun 	STAGE_2,
291*4882a593Smuzhiyun 	STAGE_3,
292*4882a593Smuzhiyun 	STAGE_4,
293*4882a593Smuzhiyun 	STAGE_5,
294*4882a593Smuzhiyun } NC_STAGE;
295*4882a593Smuzhiyun 
296*4882a593Smuzhiyun typedef enum NC_JAGUAR1_EQ
297*4882a593Smuzhiyun {
298*4882a593Smuzhiyun 	NC_EQ_SETTING_FMT_UNKNOWN = 0,
299*4882a593Smuzhiyun 
300*4882a593Smuzhiyun 	AHD20_SD_H720_NT_SINGLE_ENDED,
301*4882a593Smuzhiyun 	AHD20_SD_H720_NT_DIFFERENTIAL,
302*4882a593Smuzhiyun 	AHD20_SD_H720_PAL_SINGLE_ENDED,
303*4882a593Smuzhiyun 	AHD20_SD_H720_PAL_DIFFERENTIAL,
304*4882a593Smuzhiyun 
305*4882a593Smuzhiyun 	AHD20_SD_H960_2EX_Btype_NT_SINGLE_ENDED,
306*4882a593Smuzhiyun 	AHD20_SD_H960_2EX_Btype_NT_DIFFERENTIAL,
307*4882a593Smuzhiyun 	AHD20_SD_H960_2EX_Btype_PAL_SINGLE_ENDED,
308*4882a593Smuzhiyun 	AHD20_SD_H960_2EX_Btype_PAL_DIFFERENTIAL,
309*4882a593Smuzhiyun 
310*4882a593Smuzhiyun 	AHD20_SD_H1440_NT_SINGLE_ENDED,
311*4882a593Smuzhiyun 	AHD20_SD_H1440_NT_DIFFERENTIAL,
312*4882a593Smuzhiyun 	AHD20_SD_H1440_PAL_SINGLE_ENDED,
313*4882a593Smuzhiyun 	AHD20_SD_H1440_PAL_DIFFERENTIAL,
314*4882a593Smuzhiyun 
315*4882a593Smuzhiyun 	AHD20_1080P_30P_SINGLE_ENDED,
316*4882a593Smuzhiyun 	AHD20_1080P_30P_DIFFERENTIAL,
317*4882a593Smuzhiyun 	AHD20_1080P_25P_SINGLE_ENDED,
318*4882a593Smuzhiyun 	AHD20_1080P_25P_DIFFERENTIAL,
319*4882a593Smuzhiyun 
320*4882a593Smuzhiyun 	AHD20_720P_60P_SINGLE_ENDED,
321*4882a593Smuzhiyun 	AHD20_720P_60P_DIFFERENTIAL,
322*4882a593Smuzhiyun 	AHD20_720P_50P_SINGLE_ENDED,
323*4882a593Smuzhiyun 	AHD20_720P_50P_DIFFERENTIAL,
324*4882a593Smuzhiyun 
325*4882a593Smuzhiyun 	AHD20_720P_30P_SINGLE_ENDED,
326*4882a593Smuzhiyun 	AHD20_720P_30P_DIFFERENTIAL,
327*4882a593Smuzhiyun 	AHD20_720P_25P_SINGLE_ENDED,
328*4882a593Smuzhiyun 	AHD20_720P_25P_DIFFERENTIAL,
329*4882a593Smuzhiyun 
330*4882a593Smuzhiyun 	AHD20_720P_30P_EX_SINGLE_ENDED,
331*4882a593Smuzhiyun 	AHD20_720P_30P_EX_DIFFERENTIAL,
332*4882a593Smuzhiyun 	AHD20_720P_25P_EX_SINGLE_ENDED,
333*4882a593Smuzhiyun 	AHD20_720P_25P_EX_DIFFERENTIAL,
334*4882a593Smuzhiyun 
335*4882a593Smuzhiyun 	AHD20_720P_30P_EX_Btype_SINGLE_ENDED,
336*4882a593Smuzhiyun 	AHD20_720P_30P_EX_Btype_DIFFERENTIAL,
337*4882a593Smuzhiyun 	AHD20_720P_25P_EX_Btype_SINGLE_ENDED,
338*4882a593Smuzhiyun 	AHD20_720P_25P_EX_Btype_DIFFERENTIAL,
339*4882a593Smuzhiyun 
340*4882a593Smuzhiyun 	AHD20_960P_30P_SINGLE_ENDED,
341*4882a593Smuzhiyun 	AHD20_960P_30P_DIFFERENTIAL,
342*4882a593Smuzhiyun 	AHD20_960P_25P_SINGLE_ENDED,
343*4882a593Smuzhiyun 	AHD20_960P_25P_DIFFERENTIAL,
344*4882a593Smuzhiyun 
345*4882a593Smuzhiyun 	TVI_FHD_30P_SINGLE_ENDED,
346*4882a593Smuzhiyun 	TVI_FHD_30P_DIFFERENTIAL,
347*4882a593Smuzhiyun 	TVI_FHD_25P_SINGLE_ENDED,
348*4882a593Smuzhiyun 	TVI_FHD_25P_DIFFERENTIAL,
349*4882a593Smuzhiyun 
350*4882a593Smuzhiyun 	TVI_HD_60P_SINGLE_ENDED,
351*4882a593Smuzhiyun 	TVI_HD_60P_DIFFERENTIAL,
352*4882a593Smuzhiyun 	TVI_HD_50P_SINGLE_ENDED,
353*4882a593Smuzhiyun 	TVI_HD_50P_DIFFERENTIAL,
354*4882a593Smuzhiyun 
355*4882a593Smuzhiyun 	TVI_HD_30P_SINGLE_ENDED,
356*4882a593Smuzhiyun 	TVI_HD_30P_DIFFERENTIAL,
357*4882a593Smuzhiyun 	TVI_HD_25P_SINGLE_ENDED,
358*4882a593Smuzhiyun 	TVI_HD_25P_DIFFERENTIAL,
359*4882a593Smuzhiyun 
360*4882a593Smuzhiyun 	TVI_HD_30P_EX_SINGLE_ENDED,
361*4882a593Smuzhiyun 	TVI_HD_30P_EX_DIFFERENTIAL,
362*4882a593Smuzhiyun 	TVI_HD_25P_EX_SINGLE_ENDED,
363*4882a593Smuzhiyun 	TVI_HD_25P_EX_DIFFERENTIAL,
364*4882a593Smuzhiyun 
365*4882a593Smuzhiyun 	TVI_HD_B_30P_SINGLE_ENDED,
366*4882a593Smuzhiyun 	TVI_HD_B_30P_DIFFERENTIAL,
367*4882a593Smuzhiyun 	TVI_HD_B_25P_SINGLE_ENDED,
368*4882a593Smuzhiyun 	TVI_HD_B_25P_DIFFERENTIAL,
369*4882a593Smuzhiyun 
370*4882a593Smuzhiyun 	TVI_HD_B_30P_EX_SINGLE_ENDED,
371*4882a593Smuzhiyun 	TVI_HD_B_30P_EX_DIFFERENTIAL,
372*4882a593Smuzhiyun 	TVI_HD_B_25P_EX_SINGLE_ENDED,
373*4882a593Smuzhiyun 	TVI_HD_B_25P_EX_DIFFERENTIAL,
374*4882a593Smuzhiyun 
375*4882a593Smuzhiyun 	CVI_FHD_30P_SINGLE_ENDED,
376*4882a593Smuzhiyun 	CVI_FHD_30P_DIFFERENTIAL,
377*4882a593Smuzhiyun 	CVI_FHD_25P_SINGLE_ENDED,
378*4882a593Smuzhiyun 	CVI_FHD_25P_DIFFERENTIAL,
379*4882a593Smuzhiyun 
380*4882a593Smuzhiyun 	CVI_HD_60P_SINGLE_ENDED,
381*4882a593Smuzhiyun 	CVI_HD_60P_DIFFERENTIAL,
382*4882a593Smuzhiyun 	CVI_HD_50P_SINGLE_ENDED,
383*4882a593Smuzhiyun 	CVI_HD_50P_DIFFERENTIAL,
384*4882a593Smuzhiyun 
385*4882a593Smuzhiyun 	CVI_HD_30P_SINGLE_ENDED,
386*4882a593Smuzhiyun 	CVI_HD_30P_DIFFERENTIAL,
387*4882a593Smuzhiyun 	CVI_HD_25P_SINGLE_ENDED,
388*4882a593Smuzhiyun 	CVI_HD_25P_DIFFERENTIAL,
389*4882a593Smuzhiyun 
390*4882a593Smuzhiyun 	CVI_HD_30P_EX_SINGLE_ENDED,
391*4882a593Smuzhiyun 	CVI_HD_30P_EX_DIFFERENTIAL,
392*4882a593Smuzhiyun 	CVI_HD_25P_EX_SINGLE_ENDED,
393*4882a593Smuzhiyun 	CVI_HD_25P_EX_DIFFERENTIAL,
394*4882a593Smuzhiyun 
395*4882a593Smuzhiyun 	NC_EQ_SETTING_FMT_MAX,
396*4882a593Smuzhiyun 
397*4882a593Smuzhiyun 
398*4882a593Smuzhiyun }NC_JAGUAR1_EQ;
399*4882a593Smuzhiyun 
400*4882a593Smuzhiyun typedef enum NC_D2S_OUTPUT_INTERFACE
401*4882a593Smuzhiyun {
402*4882a593Smuzhiyun 	DISABLE = 0,
403*4882a593Smuzhiyun 	YUV_422,
404*4882a593Smuzhiyun 	YUV_420,
405*4882a593Smuzhiyun 	YUV_420_LEGACY,
406*4882a593Smuzhiyun } NC_D2S_OUTPUT_INTERFACE;
407*4882a593Smuzhiyun 
408*4882a593Smuzhiyun typedef struct _NC_DEOCDER_SET_STR
409*4882a593Smuzhiyun {
410*4882a593Smuzhiyun 	NC_VIVO_CH_FORMATDEF FmtDef;
411*4882a593Smuzhiyun 	NC_FORMAT_STANDARD fmt_std;
412*4882a593Smuzhiyun 	NC_FORMAT_RESOLUTION fmt_res;
413*4882a593Smuzhiyun 	NC_FORMAT_FPS fmt_fps;
414*4882a593Smuzhiyun 	NC_ANALOG_INPUT input;
415*4882a593Smuzhiyun 	NC_D2S_OUTPUT_INTERFACE interface;
416*4882a593Smuzhiyun }NC_DEOCDER_SET_STR;
417*4882a593Smuzhiyun 
418*4882a593Smuzhiyun #define UNUSED(x) ((void)(x))
419*4882a593Smuzhiyun 
420*4882a593Smuzhiyun #if 0
421*4882a593Smuzhiyun #define dbg_printk(...) _kernel_dbg_printk( __VA_ARGS__)
422*4882a593Smuzhiyun 
423*4882a593Smuzhiyun static void _kernel_dbg_printk(const char* s, ...)
424*4882a593Smuzhiyun {
425*4882a593Smuzhiyun 	unsigned char buffer[128];
426*4882a593Smuzhiyun 	char *pS = buffer;
427*4882a593Smuzhiyun 
428*4882a593Smuzhiyun 	va_list args;
429*4882a593Smuzhiyun 	va_start(args, s);
430*4882a593Smuzhiyun 	vsprintf(buffer, s, args);
431*4882a593Smuzhiyun 	va_end(args);
432*4882a593Smuzhiyun 
433*4882a593Smuzhiyun 
434*4882a593Smuzhiyun 	while(*pS) { if( *pS == '\n' ) *pS= ' '; pS++; }
435*4882a593Smuzhiyun 
436*4882a593Smuzhiyun 	printk("\033[33m\033[1m [KERNEL] \033[0m:\033[32m\033[1m %s \033[0m\n", buffer);
437*4882a593Smuzhiyun }
438*4882a593Smuzhiyun #endif
439*4882a593Smuzhiyun 
440*4882a593Smuzhiyun 
441*4882a593Smuzhiyun 
442*4882a593Smuzhiyun 
443*4882a593Smuzhiyun 
444*4882a593Smuzhiyun 
445*4882a593Smuzhiyun 
446*4882a593Smuzhiyun 
447*4882a593Smuzhiyun 
448*4882a593Smuzhiyun 
449*4882a593Smuzhiyun 
450*4882a593Smuzhiyun 
451*4882a593Smuzhiyun 
452*4882a593Smuzhiyun 
453*4882a593Smuzhiyun #endif
454*4882a593Smuzhiyun 
455