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