23#define MODEL_ID1 0x0000
24#define MODEL_ID0 0x0001
28#define Wafer_Num 0x0007
29#define Chip_Number1 0x000D
30#define Chip_Number0 0x000E
32#define Chip_number 0x0019
33#define DT_PEDESTAL1 0x001A
34#define DT_PEDESTAL0 0x001B
37#define FRM_FMT_TYPE 0x0040
38#define FRM_FMT_SUBTYPE 0x0041
39#define FRM_FMT_DESC0_1 0x0042
40#define FRM_FMT_DESC0_0 0x0043
41#define FRM_FMT_DESC1_1 0x0044
42#define FRM_FMT_DESC1_0 0x0045
43#define FRM_FMT_DESC2_1 0x0046
44#define FRM_FMT_DESC2_0 0x0047
48#define analogue_gain_capability 0x0081
49#define analogue_gain_code_min 0x0085
50#define analogue_gain_code_max 0x0086
51#define analogue_gain_code_step 0x0088
52#define analogue_gain_code_type 0x008A
53#define analogue_gain_code_m0 0x008C
54#define analogue_gain_code_c0 0x008E
55#define analogue_gain_code_m1 0x0090
56#define analogue_gain_code_c1 0x0092
59#define DT_FMT_TYPE 0x00C0
60#define DT_FMT_SUBTYPE 0x00C1
61#define DT_FMT_DESC0_1 0x00C2
62#define DT_FMT_DESC0_0 0x00C3
63#define DT_FMT_DESC1_1 0x00C4
64#define DT_FMT_DESC1_0 0x00C5
67#define mode_select 0x0100
68#define software_reset 0x0103
69#define corrupted_frame_status 0x0104
70#define mask_corrupted_frames 0x0105
71#define fast_standby_enable 0x0106
74#define CSI_CH_ID 0x0110
75#define CSI_SIG_MODE 0x0111
76#define CSI_LANE_MODE 0x0114
77#define TCLK_POST_1 0x0118
78#define TCLK_POST_0 0x0119
79#define THS_PREPARE_1 0x011A
80#define THS_PREPARE_0 0x011B
81#define THS_ZERO_MIN_1 0x011C
82#define THS_ZERO_MIN_0 0x011D
83#define THS_TRAIL_1 0x011E
84#define THS_TRAIL_0 0x011F
85#define TCLK_TRAIL_MIN_1 0x0120
86#define TCLK_TRAIL_MIN_0 0x0121
87#define TCLK_PREPARE_1 0x0122
88#define TCLK_PREPARE_0 0x0123
89#define TCLK_ZERO_1 0x0124
90#define TCLK_ZERO_0 0x0125
93#define DPHY_CTRL 0x0128
94#define EXCK_FREQ_1 0x012A
95#define EXCK_FREQ_0 0x012B
96#define TEMPERATURE 0x0140
97#define READOUT_V_CNT_1 0x0142
98#define READOUT_V_CNT_0 0x0143
99#define VSYNC_POL 0x0144
100#define FLASH_POL 0x0145
104#define FRAME_BANK_CTRL 0x0150
105#define FRAME_BANK_FRM_CNT 0x0151
106#define FRAME_BANK_FAST_TRACKING 0x0152
110#define FRAME_DURATION_A 0x0154
111#define COMP_ENABLE_A 0x0155
112#define ANA_GAIN_GLOBAL_A 0x0157
113#define DIG_GAIN_GLOBAL_A_1 0x0158
114#define DIG_GAIN_GLOBAL_A_0 0x0159
115#define COARSE_INTEGRATION_TIME_A_1 0x015A
116#define COARSE_INTEGRATION_TIME_A_0 0x015B
117#define SENSOR_MODE_A 0x015D
118#define FRM_LENGTH_A_1 0x0160
119#define FRM_LENGTH_A_0 0x0161
122#define LINE_LENGTH_A_1 0x0162
123#define LINE_LENGTH_A_0 0x0163
124#define X_ADD_STA_A_1 0x0164
125#define X_ADD_STA_A_0 0x0165
126#define X_ADD_END_A_1 0x0166
127#define X_ADD_END_A_0 0x0167
128#define Y_ADD_STA_A_1 0x0168
129#define Y_ADD_STA_A_0 0x0169
130#define Y_ADD_END_A_1 0x016A
131#define Y_ADD_END_A_0 0x016B
132#define x_output_size_A_1 0x016C
133#define x_output_size_A_0 0x016D
134#define y_output_size_A_1 0x016E
135#define y_output_size_A_0 0x016F
138#define X_ODD_INC_A 0x0170
139#define Y_ODD_INC_A 0x0171
140#define IMG_ORIENTATION_A 0x0172
141#define BINNING_MODE_H_A 0x0174
142#define BINNING_MODE_V_A 0x0175
143#define BINNING_CAL_MODE_H_A 0x0176
144#define BINNING_CAL_MODE_V_A 0x0177
145#define ANA_GAIN_GLOBAL_SHORT_A 0x0189
146#define COARSE_INTEG_TIME_SHORT_A_1 0x018A
147#define COARSE_INTEG_TIME_SHORT_A_0 0x018B
148#define CSI_DATA_FORMAT_A_1 0x018C
149#define CSI_DATA_FORMAT_A_0 0x018D
153#define FRAME_DURATION_B 0x0254
154#define COMP_ENABLE_B 0x0255
155#define ANA_GAIN_GLOBAL_B 0x0257
156#define DIG_GAIN_GLOBAL_B_1 0x0258
157#define DIG_GAIN_GLOBAL_B_0 0x0259
158#define COARSE_INTEGRATION_TIME_B_1 0x025A
159#define COARSE_INTEGRATION_TIME_B_0 0x025B
160#define SENSOR_MODE_B 0x025D
161#define FRM_LENGTH_B_1 0x0260
162#define FRM_LENGTH_B_0 0x0261
165#define LINE_LENGTH_B_1 0x0262
166#define LINE_LENGTH_B_0 0x0263
167#define X_ADD_STA_B_1 0x0264
168#define X_ADD_STA_B_0 0x0265
169#define X_ADD_END_B_1 0x0266
170#define X_ADD_END_B_0 0x0267
171#define Y_ADD_STA_B_1 0x0268
172#define Y_ADD_STA_B_0 0x0269
173#define Y_ADD_END_B_1 0x026A
174#define Y_ADD_END_B_0 0x026B
175#define x_output_size_B_1 0x026C
176#define x_output_size_B_0 0x026D
177#define y_output_size_B_1 0x026E
178#define y_output_size_B_0 0x026F
181#define X_ODD_INC_B 0x0270
182#define Y_ODD_INC_B 0x0271
183#define IMG_ORIENTATION_B 0x0272
184#define BINNING_MODE_H_B 0x0274
185#define BINNING_MODE_V_B 0x0275
186#define BINNING_CAL_MODE_H_B 0x0276
187#define BINNING_CAL_MODE_V_B 0x0277
188#define ANA_GAIN_GLOBAL_SHORT_B 0x0289
189#define COARSE_INTEG_TIME_SHORT_B_1 0x028A
190#define COARSE_INTEG_TIME_SHORT_B_0 0x028B
191#define CSI_DATA_FORMAT_B_1 0x028C
192#define CSI_DATA_FORMAT_B_0 0x028D
197#define VTPXCK_DIV 0x0301
198#define VTSYCK_DIV 0x0303
199#define PREPLLCK_VT_DIV 0x0304
200#define PREPLLCK_OP_DIV 0x0305
201#define PLL_VT_MPY_1 0x0306
202#define PLL_VT_MPY_0 0x0307
203#define OPPXCK_DIV 0x0309
204#define OPSYCK_DIV 0x030B
205#define PLL_OP_MPY_1 0x030C
206#define PLL_OP_MPY_0 0x030D
211#define FLASH_START_TRIG 0x0320
212#define FLASH_STATUS 0x0321
213#define FLASH_STROBE_DIV 0x0322
214#define FLASH_STROBE_OUTPUT_ENABLE 0x0324
215#define FLASH_MODE 0x032E
216#define FLASH_REF_MODE 0x032F
217#define FLASH_STROBE_REF_1 0x0330
218#define FLASH_STROBE_REF_0 0x0331
219#define FLASH_STROBE_LATENCY_RS_1 0x0332
220#define FLASH_STROBE_LATENCY_RS_0 0x0333
221#define FLASH_STROBE_HI_PERIOD_RS_1 0x0334
222#define FLASH_STROBE_HI_PERIOD_RS_0 0x0335
223#define FLASH_STROBE_LO_PERIOD_RS_1 0x0336
224#define FLASH_STROBE_LO_PERIOD_RS_0 0x0337
225#define FLASH_STROBE_COUNT_RS 0x0338
228#define X_EVN_INC 0x0381
229#define Y_EVN_INC 0x0383
232#define FINE_INTEG_TIME_1 0x0388
233#define FINE_INTEG_TIME_0 0x0389
236#define test_pattern_Ena 0x0600
237#define test_pattern_mode 0x0601
240#define TD_GR_1 0x0604
241#define TD_GR_0 0x0605
244#define TD_GB_1 0x0608
245#define TD_GB_0 0x0609
246#define H_CUR_WIDTH_1 0x060A
247#define H_CUR_WIDTH_0 0x060B
248#define H_CUR_POS_1 0x060C
249#define H_CUR_POS_0 0x060D
250#define V_CUR_WIDTH_1 0x060E
251#define V_CUR_WIDTH_0 0x060F
252#define V_CUR_POS_1 0x0601
253#define V_CUR_POS_0 0x0602
254#define TP_WINDOW_X_OFFSET_1 0x0620
255#define TP_WINDOW_X_OFFSET_0 0x0621
256#define TP_WINDOW_Y_OFFSET_1 0x0622
257#define TP_WINDOW_Y_OFFSET_0 0x0623
258#define TP_WINDOW_WIDTH_1 0x0624
259#define TP_WINDOW_WIDTH_0 0x0625
260#define TP_WINDOW_HEIGHT_1 0x0626
261#define TP_WINDOW_HEIGHT_0 0x0627
265#define integration_time_capability 0x1001
266#define coarse_integration_time_min_1 0x1004
267#define coarse_integration_time_min_0 0x1005
268#define coarse_integration_time_max_margin_1 0x1006
269#define coarse_integration_time_max_margin_0 0x1007
273#define digital_gain_capability 0x1081
274#define digital_gain_min_1 0x1084
275#define digital_gain_min_0 0x1085
276#define digital_gain_max_1 0x1086
277#define digital_gain_max_0 0x1087
278#define digital_gain_step_size_1 0x1088
279#define digital_gain_step_size_0 0x1089
283#define min_ext_clk_freq_mhz_3 0x1100
284#define min_ext_clk_freq_mhz_2 0x1101
285#define min_ext_clk_freq_mhz_1 0x1102
286#define min_ext_clk_freq_mhz_0 0x1103
287#define max_ext_clk_freq_mhz_3 0x1104
288#define max_ext_clk_freq_mhz_2 0x1105
289#define max_ext_clk_freq_mhz_1 0x1106
290#define max_ext_clk_freq_mhz_0 0x1107
291#define min_pre_pll_clk_div_1 0x1108
292#define min_pre_pll_clk_div_0 0x1109
293#define max_pre_pll_clk_div_1 0x110A
294#define max_pre_pll_clk_div_0 0x110B
296#define min_pll_ip_freq_mhz_3 0x110C
297#define min_pll_ip_freq_mhz_2 0x110D
298#define min_pll_ip_freq_mhz_1 0x110E
299#define min_pll_ip_freq_mhz_0 0x110F
301#define max_pll_ip_freq_mhz_3 0x1110
302#define max_pll_ip_freq_mhz_2 0x1111
303#define max_pll_ip_freq_mhz_1 0x1112
304#define max_pll_ip_freq_mhz_0 0x1113
306#define min_pll_multiplier_1 0x1114
307#define min_pll_multiplier_0 0x1115
308#define max_pll_multiplier_1 0x1116
309#define max_pll_multiplier_0 0x1117
310#define min_pll_op_freq_mhz_3 0x1118
311#define min_pll_op_freq_mhz_2 0x1119
312#define min_pll_op_freq_mhz_1 0x111A
313#define min_pll_op_freq_mhz_0 0x111B
315#define max_pll_op_freq_mhz_3 0x111C
316#define max_pll_op_freq_mhz_2 0x111D
317#define max_pll_op_freq_mhz_1 0x111E
318#define max_pll_op_freq_mhz_0 0x111F
322#define min_vt_sys_clk_div_1 0x1120
323#define min_vt_sys_clk_div_0 0x1121
324#define max_vt_sys_clk_div_1 0x1122
325#define max_vt_sys_clk_div_0 0x1123
327#define min_vt_sys_clk_freq_mhz_3 0x1124
328#define min_vt_sys_clk_freq_mhz_2 0x1125
329#define min_vt_sys_clk_freq_mhz_1 0x1126
330#define min_vt_sys_clk_freq_mhz_0 0x1127
332#define max_vt_sys_clk_freq_mhz_3 0x1128
333#define max_vt_sys_clk_freq_mhz_2 0x1129
334#define max_vt_sys_clk_freq_mhz_1 0x112A
335#define max_vt_sys_clk_freq_mhz_0 0x112B
337#define min_vt_pix_clk_freq_mhz_3 0x112C
338#define min_vt_pix_clk_freq_mhz_2 0x112D
339#define min_vt_pix_clk_freq_mhz_1 0x112E
340#define min_vt_pix_clk_freq_mhz_0 0x112F
342#define max_vt_pix_clk_freq_mhz_3 0x1130
343#define max_vt_pix_clk_freq_mhz_2 0x1131
344#define max_vt_pix_clk_freq_mhz_1 0x1132
345#define max_vt_pix_clk_freq_mhz_0 0x1133
347#define min_vt_pix_clk_div_1 0x1134
348#define min_vt_pix_clk_div_0 0x1135
349#define max_vt_pix_clk_div_1 0x1136
350#define max_vt_pix_clk_div_0 0x1137
354#define min_frame_length_lines_1 0x1140
355#define min_frame_length_lines_0 0x1141
356#define max_frame_length_lines_1 0x1142
357#define max_frame_length_lines_0 0x1143
358#define min_line_length_pck_1 0x1144
359#define min_line_length_pck_0 0x1145
360#define max_line_length_pck_1 0x1146
361#define max_line_length_pck_0 0x1147
362#define min_line_blanking_pck_1 0x1148
363#define min_line_blanking_pck_0 0x1149
364#define min_frame_blanking_lines_1 0x114A
365#define min_frame_blanking_lines_0 0x114B
369#define min_op_sys_clk_div_1 0x1160
370#define min_op_sys_clk_div_0 0x1161
371#define max_op_sys_clk_div_1 0x1162
372#define max_op_sys_clk_div_0 0x1163
374#define min_op_sys_clk_freq_mhz_3 0x1164
375#define min_op_sys_clk_freq_mhz_2 0x1165
376#define min_op_sys_clk_freq_mhz_1 0x1166
377#define min_op_sys_clk_freq_mhz_0 0x1167
378#define max_op_sys_clk_freq_mhz_3 0x1168
379#define max_op_sys_clk_freq_mhz_2 0x1169
380#define max_op_sys_clk_freq_mhz_1 0x116A
381#define max_op_sys_clk_freq_mhz_0 0x116B
382#define min_op_pix_clk_freq_mhz_3 0x116C
383#define min_op_pix_clk_freq_mhz_2 0x116D
384#define min_op_pix_clk_freq_mhz_1 0x116E
385#define min_op_pix_clk_freq_mhz_0 0x116F
386#define max_op_pix_clk_freq_mhz_3 0x1170
387#define max_op_pix_clk_freq_mhz_2 0x1171
388#define max_op_pix_clk_freq_mhz_1 0x1172
389#define max_op_pix_clk_freq_mhz_0 0x1173
390#define min_op_pix_clk_div_1 0x1174
391#define min_op_pix_clk_div_0 0x1175
392#define max_op_pix_clk_div_1 0x1176
393#define max_op_pix_clk_div_0 0x1177
396#define x_addr_min_1 0x1180
397#define x_addr_min_0 0x1181
398#define y_addr_min_1 0x1182
399#define y_addr_min_0 0x1183
400#define x_addr_max_1 0x1184
401#define x_addr_max_0 0x1185
402#define y_addr_max_1 0x1186
403#define y_addr_max_0 0x1187
404#define min_x_output_size_1 0x1188
405#define min_x_output_size_0 0x1189
406#define min_y_output_size_1 0x118A
407#define min_y_output_size_0 0x118B
408#define max_x_output_size_1 0x118C
409#define max_x_output_size_0 0x118D
410#define max_y_output_size_1 0x118E
411#define max_y_output_size_0 0x118F
414#define min_even_inc_1 0x11C0
415#define min_even_inc_0 0x11C1
416#define max_even_inc_1 0x11C2
417#define max_even_inc_0 0x11C3
418#define min_odd_inc_1 0x11C4
419#define min_odd_inc_0 0x11C5
420#define max_odd_inc_1 0x11C6
421#define max_odd_inc_0 0x11C7
424#define compression_capability 0x1301
496 if(Xmode>=3) Xmode=3;
497 if(Ymode>=3) Ymode=3;
526 if(Enable==0) mode=0;
#define TP_WINDOW_HEIGHT_0
void IMX219_SetBinningMode(cam_instance_t *cam, u8 Xmode, u8 Ymode)
#define x_output_size_A_1
#define test_pattern_mode
#define COARSE_INTEGRATION_TIME_A_1
#define TP_WINDOW_WIDTH_1
#define CSI_DATA_FORMAT_A_0
#define CSI_DATA_FORMAT_A_1
#define TP_WINDOW_WIDTH_0
#define DIG_GAIN_GLOBAL_A_1
void IMX219_Output_activePixel(cam_instance_t *cam, u16 XStart, u16 XEnd, u16 YStart, u16 YEnd)
#define ANA_GAIN_GLOBAL_A
void IMX219_Output_Size(cam_instance_t *cam, u16 X, u16 Y)
#define IMG_ORIENTATION_A
void IMX219_AccessCommSeq(cam_instance_t *cam)
#define y_output_size_A_1
#define DIG_GAIN_GLOBAL_A_0
#define COARSE_INTEGRATION_TIME_A_0
#define x_output_size_A_0
#define y_output_size_A_0
#define TP_WINDOW_HEIGHT_1
void IMX219_Gainfilter(cam_instance_t *cam, u8 AGain, u16 DGain)
void IMX219_Output_ColorBarSize(cam_instance_t *cam, u16 X, u16 Y)
IMX219 Driver API definitions. This file provides data structures and APIs for controlling the IMX219...
cam_status_t
CAM Status List.
@ CAM_OK
Successful Operation */.
void cam_writeReg(cam_instance_t *cam, u16 reg, u8 data)
Write Data to specific register in camera.
struct cam_instance cam_instance_t
Forward declaration of CAM instance.
const cam_api_t IMX219_DRIVER
IMX219 Driver Instance. Point your generic CAM pointer to this structure to use the IMX219 hardware.
void IMX219_Output_activePixelY(cam_instance_t *cam, u16 YStart, u16 YEnd)
Set Active Pixel Range (Y-Axis).
void IMX219_TestPattern(cam_instance_t *cam, u8 Enable, u8 mode, u16 X, u16 Y)
Configure Test Pattern Generator.
cam_status_t IMX219_startStreaming(cam_instance_t *cam)
Start Stream Video.
cam_status_t IMX219_cam_init(cam_instance_t *cam)
Initialize Camera Sequence.
cam_status_t IMX219_stopStreaming(cam_instance_t *cam)
Stop Stream Video.
void IMX219_Output_activePixelX(cam_instance_t *cam, u16 XStart, u16 XEnd)
Set Active Pixel Range (X-Axis).