5 /************************** settings for imx *************************/
6 static struct imx_reg
const imx_STILL_8M_30fps
[] = {
7 GROUPED_PARAMETER_HOLD_ENABLE
,
8 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
10 {IMX_8BIT
, 0x0202, 0x0A}, /* coarse _integration_time[15:8] */
11 {IMX_8BIT
, 0x0203, 0xFC}, /* coarse _integration_time[7:0] */
13 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
14 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
15 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
16 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
17 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
18 {IMX_8BIT
, 0x030C, 0x01},
19 {IMX_8BIT
, 0x030D, 0x2c},
21 {IMX_8BIT
, 0x0340, 0x09}, /* frame_length_lines[15:8] */
22 {IMX_8BIT
, 0x0341, 0xC4}, /* frame_length_lines[7:0] */
23 {IMX_8BIT
, 0x0342, 0x0D}, /* line_length_pck[15:8] */
24 {IMX_8BIT
, 0x0343, 0x66}, /* line_length_pck[7:0] */
25 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
26 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
27 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
28 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
29 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
30 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
31 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
32 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
33 {IMX_8BIT
, 0x034C, 0x0C}, /* x_output_size[15:8] */
34 {IMX_8BIT
, 0x034D, 0xD0}, /* x_output_size[7:0] */
35 {IMX_8BIT
, 0x034E, 0x09}, /* y_output_size[15:8] */
36 {IMX_8BIT
, 0x034F, 0xA0}, /* y_output_size[7:0] */
37 /* binning & scaling */
38 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
39 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
40 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
42 {IMX_8BIT
, 0x3344, 0x57},
43 {IMX_8BIT
, 0x3345, 0x1F},
45 {IMX_8BIT
, 0x3370, 0x77},
46 {IMX_8BIT
, 0x3371, 0x2F},
47 {IMX_8BIT
, 0x3372, 0x4F},
48 {IMX_8BIT
, 0x3373, 0x2F},
49 {IMX_8BIT
, 0x3374, 0x2F},
50 {IMX_8BIT
, 0x3375, 0x37},
51 {IMX_8BIT
, 0x3376, 0x9F},
52 {IMX_8BIT
, 0x3377, 0x37},
53 {IMX_8BIT
, 0x33C8, 0x01},
54 {IMX_8BIT
, 0x33D4, 0x0C},
55 {IMX_8BIT
, 0x33D5, 0xD0},
56 {IMX_8BIT
, 0x33D6, 0x09},
57 {IMX_8BIT
, 0x33D7, 0xA0},
59 {IMX_8BIT
, 0x030e, 0x01},
60 {IMX_8BIT
, 0x41c0, 0x01},
64 static struct imx_reg
const imx_STILL_8M_15fps
[] = {
65 GROUPED_PARAMETER_HOLD_ENABLE
,
66 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
68 {IMX_8BIT
, 0x0202, 0x0A}, /* coarse _integration_time[15:8] */
69 {IMX_8BIT
, 0x0203, 0xFC}, /* coarse _integration_time[7:0] */
71 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
72 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
73 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
74 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
75 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
76 {IMX_8BIT
, 0x030C, 0x01},
77 {IMX_8BIT
, 0x030D, 0x2c},
79 {IMX_8BIT
, 0x0340, 0x0B}, /* frame_length_lines[15:8] */
80 {IMX_8BIT
, 0x0341, 0xB8}, /* frame_length_lines[7:0] */
81 {IMX_8BIT
, 0x0342, 0x16}, /* line_length_pck[15:8] */
82 {IMX_8BIT
, 0x0343, 0x44}, /* line_length_pck[7:0] */
83 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
84 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
85 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
86 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
87 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
88 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
89 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
90 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
91 {IMX_8BIT
, 0x034C, 0x0C}, /* x_output_size[15:8] */
92 {IMX_8BIT
, 0x034D, 0xD0}, /* x_output_size[7:0] */
93 {IMX_8BIT
, 0x034E, 0x09}, /* y_output_size[15:8] */
94 {IMX_8BIT
, 0x034F, 0xA0}, /* y_output_size[7:0] */
95 /* binning & scaling */
96 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
97 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
98 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
100 {IMX_8BIT
, 0x3344, 0x57},
101 {IMX_8BIT
, 0x3345, 0x1F},
103 {IMX_8BIT
, 0x3370, 0x77},
104 {IMX_8BIT
, 0x3371, 0x2F},
105 {IMX_8BIT
, 0x3372, 0x4F},
106 {IMX_8BIT
, 0x3373, 0x2F},
107 {IMX_8BIT
, 0x3374, 0x2F},
108 {IMX_8BIT
, 0x3375, 0x37},
109 {IMX_8BIT
, 0x3376, 0x9F},
110 {IMX_8BIT
, 0x3377, 0x37},
111 {IMX_8BIT
, 0x33C8, 0x01},
112 {IMX_8BIT
, 0x33D4, 0x0C},
113 {IMX_8BIT
, 0x33D5, 0xD0},
114 {IMX_8BIT
, 0x33D6, 0x09},
115 {IMX_8BIT
, 0x33D7, 0xA0},
117 {IMX_8BIT
, 0x030e, 0x01},
118 {IMX_8BIT
, 0x41c0, 0x01},
122 static struct imx_reg
const imx_STILL_3M_30fps
[] = {
123 GROUPED_PARAMETER_HOLD_ENABLE
,
124 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
126 {IMX_8BIT
, 0x0202, 0x0A}, /* coarse _integration_time[15:8] */
127 {IMX_8BIT
, 0x0203, 0xEF}, /* coarse _integration_time[7:0] */
129 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
130 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
131 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
132 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
133 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
134 {IMX_8BIT
, 0x030C, 0x01},
135 {IMX_8BIT
, 0x030D, 0x2c},
137 {IMX_8BIT
, 0x0340, 0x09}, /* frame_length_lines[15:8] */
138 {IMX_8BIT
, 0x0341, 0xC4}, /* frame_length_lines[7:0] */
139 {IMX_8BIT
, 0x0342, 0x0D}, /* line_length_pck[15:8] */
140 {IMX_8BIT
, 0x0343, 0x66}, /* line_length_pck[7:0] */
141 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
142 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
143 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
144 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
145 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
146 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
147 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
148 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
149 {IMX_8BIT
, 0x034C, 0x08}, /* x_output_size[15:8] */
150 {IMX_8BIT
, 0x034D, 0x10}, /* x_output_size[7:0] */
151 {IMX_8BIT
, 0x034E, 0x06}, /* y_output_size[15:8] */
152 {IMX_8BIT
, 0x034F, 0x10}, /* y_output_size[7:0] */
153 /* binning & scaling */
154 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
155 {IMX_8BIT
, 0x0401, 0x02}, /* scaling mode*/
156 {IMX_8BIT
, 0x0405, 0x19}, /* scale_m[7:0] */
158 {IMX_8BIT
, 0x3344, 0x57},
159 {IMX_8BIT
, 0x3345, 0x1F},
161 {IMX_8BIT
, 0x3370, 0x77},
162 {IMX_8BIT
, 0x3371, 0x2F},
163 {IMX_8BIT
, 0x3372, 0x4F},
164 {IMX_8BIT
, 0x3373, 0x2F},
165 {IMX_8BIT
, 0x3374, 0x2F},
166 {IMX_8BIT
, 0x3375, 0x37},
167 {IMX_8BIT
, 0x3376, 0x9F},
168 {IMX_8BIT
, 0x3377, 0x37},
169 {IMX_8BIT
, 0x33C8, 0x01},
170 {IMX_8BIT
, 0x33D4, 0x0C},
171 {IMX_8BIT
, 0x33D5, 0xD0},
172 {IMX_8BIT
, 0x33D6, 0x09},
173 {IMX_8BIT
, 0x33D7, 0xA0},
175 {IMX_8BIT
, 0x030e, 0x01},
176 {IMX_8BIT
, 0x41c0, 0x01},
180 static struct imx_reg
const imx_STILL_3M_15fps
[] = {
181 GROUPED_PARAMETER_HOLD_ENABLE
,
182 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
184 {IMX_8BIT
, 0x0202, 0x0A}, /* coarse _integration_time[15:8] */
185 {IMX_8BIT
, 0x0203, 0xEF}, /* coarse _integration_time[7:0] */
187 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
188 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
189 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
190 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
191 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
192 {IMX_8BIT
, 0x030C, 0x01},
193 {IMX_8BIT
, 0x030D, 0x2c},
195 {IMX_8BIT
, 0x0340, 0x0B}, /* frame_length_lines[15:8] */
196 {IMX_8BIT
, 0x0341, 0xB8}, /* frame_length_lines[7:0] */
197 {IMX_8BIT
, 0x0342, 0x16}, /* line_length_pck[15:8] */
198 {IMX_8BIT
, 0x0343, 0x44}, /* line_length_pck[7:0] */
199 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
200 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
201 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
202 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
203 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
204 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
205 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
206 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
207 {IMX_8BIT
, 0x034C, 0x08}, /* x_output_size[15:8] */
208 {IMX_8BIT
, 0x034D, 0x10}, /* x_output_size[7:0] */
209 {IMX_8BIT
, 0x034E, 0x06}, /* y_output_size[15:8] */
210 {IMX_8BIT
, 0x034F, 0x10}, /* y_output_size[7:0] */
211 /* binning & scaling */
212 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
213 {IMX_8BIT
, 0x0401, 0x02}, /* scaling mode*/
214 {IMX_8BIT
, 0x0405, 0x19}, /* scale_m[7:0] */
216 {IMX_8BIT
, 0x3344, 0x57},
217 {IMX_8BIT
, 0x3345, 0x1F},
219 {IMX_8BIT
, 0x3370, 0x77},
220 {IMX_8BIT
, 0x3371, 0x2F},
221 {IMX_8BIT
, 0x3372, 0x4F},
222 {IMX_8BIT
, 0x3373, 0x2F},
223 {IMX_8BIT
, 0x3374, 0x2F},
224 {IMX_8BIT
, 0x3375, 0x37},
225 {IMX_8BIT
, 0x3376, 0x9F},
226 {IMX_8BIT
, 0x3377, 0x37},
227 {IMX_8BIT
, 0x33C8, 0x01},
228 {IMX_8BIT
, 0x33D4, 0x0C},
229 {IMX_8BIT
, 0x33D5, 0xD0},
230 {IMX_8BIT
, 0x33D6, 0x09},
231 {IMX_8BIT
, 0x33D7, 0xA0},
233 {IMX_8BIT
, 0x030e, 0x01},
234 {IMX_8BIT
, 0x41c0, 0x01},
239 static struct imx_reg
const imx_STILL_5M_30fps
[] = {
240 GROUPED_PARAMETER_HOLD_ENABLE
,
241 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
243 {IMX_8BIT
, 0x0202, 0x0A}, /* coarse _integration_time[15:8] */
244 {IMX_8BIT
, 0x0203, 0xEF}, /* coarse _integration_time[7:0] */
246 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
247 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
248 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
249 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
250 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
251 {IMX_8BIT
, 0x030C, 0x01},
252 {IMX_8BIT
, 0x030D, 0x2c},
254 {IMX_8BIT
, 0x0340, 0x09}, /* frame_length_lines[15:8] */
255 {IMX_8BIT
, 0x0341, 0xC4}, /* frame_length_lines[7:0] */
256 {IMX_8BIT
, 0x0342, 0x0D}, /* line_length_pck[15:8] */
257 {IMX_8BIT
, 0x0343, 0x66}, /* line_length_pck[7:0] */
258 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
259 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
260 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
261 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
262 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
263 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
264 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
265 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
266 {IMX_8BIT
, 0x034C, 0x0A}, /* x_output_size[15:8] */
267 {IMX_8BIT
, 0x034D, 0x10}, /* x_output_size[7:0] */
268 {IMX_8BIT
, 0x034E, 0x07}, /* y_output_size[15:8] */
269 {IMX_8BIT
, 0x034F, 0x90}, /* y_output_size[7:0] */
270 /* binning & scaling */
271 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
272 {IMX_8BIT
, 0x0401, 0x02}, /* scaling mode*/
273 {IMX_8BIT
, 0x0405, 0x14}, /* scale_m[7:0] */
275 {IMX_8BIT
, 0x3344, 0x57},
276 {IMX_8BIT
, 0x3345, 0x1F},
278 {IMX_8BIT
, 0x3370, 0x77},
279 {IMX_8BIT
, 0x3371, 0x2F},
280 {IMX_8BIT
, 0x3372, 0x4F},
281 {IMX_8BIT
, 0x3373, 0x2F},
282 {IMX_8BIT
, 0x3374, 0x2F},
283 {IMX_8BIT
, 0x3375, 0x37},
284 {IMX_8BIT
, 0x3376, 0x9F},
285 {IMX_8BIT
, 0x3377, 0x37},
286 {IMX_8BIT
, 0x33C8, 0x01},
287 {IMX_8BIT
, 0x33D4, 0x0C},
288 {IMX_8BIT
, 0x33D5, 0xD0},
289 {IMX_8BIT
, 0x33D6, 0x09},
290 {IMX_8BIT
, 0x33D7, 0xA0},
292 {IMX_8BIT
, 0x030e, 0x01},
293 {IMX_8BIT
, 0x41c0, 0x01},
297 static struct imx_reg
const imx_STILL_5M_15fps
[] = {
298 GROUPED_PARAMETER_HOLD_ENABLE
,
299 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
301 {IMX_8BIT
, 0x0202, 0x0A}, /* coarse _integration_time[15:8] */
302 {IMX_8BIT
, 0x0203, 0xEF}, /* coarse _integration_time[7:0] */
304 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
305 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
306 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
307 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
308 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
309 {IMX_8BIT
, 0x030C, 0x01},
310 {IMX_8BIT
, 0x030D, 0x2c},
312 {IMX_8BIT
, 0x0340, 0x0B}, /* frame_length_lines[15:8] */
313 {IMX_8BIT
, 0x0341, 0xB8}, /* frame_length_lines[7:0] */
314 {IMX_8BIT
, 0x0342, 0x16}, /* line_length_pck[15:8] */
315 {IMX_8BIT
, 0x0343, 0x44}, /* line_length_pck[7:0] */
316 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
317 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
318 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
319 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
320 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
321 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
322 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
323 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
324 {IMX_8BIT
, 0x034C, 0x0A}, /* x_output_size[15:8] */
325 {IMX_8BIT
, 0x034D, 0x10}, /* x_output_size[7:0] */
326 {IMX_8BIT
, 0x034E, 0x07}, /* y_output_size[15:8] */
327 {IMX_8BIT
, 0x034F, 0x90}, /* y_output_size[7:0] */
328 /* binning & scaling */
329 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
330 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
331 {IMX_8BIT
, 0x0405, 0x14}, /* scale_m[7:0] */
333 {IMX_8BIT
, 0x3344, 0x57},
334 {IMX_8BIT
, 0x3345, 0x1F},
336 {IMX_8BIT
, 0x3370, 0x77},
337 {IMX_8BIT
, 0x3371, 0x2F},
338 {IMX_8BIT
, 0x3372, 0x4F},
339 {IMX_8BIT
, 0x3373, 0x2F},
340 {IMX_8BIT
, 0x3374, 0x2F},
341 {IMX_8BIT
, 0x3375, 0x37},
342 {IMX_8BIT
, 0x3376, 0x9F},
343 {IMX_8BIT
, 0x3377, 0x37},
344 {IMX_8BIT
, 0x33C8, 0x01},
345 {IMX_8BIT
, 0x33D4, 0x0C},
346 {IMX_8BIT
, 0x33D5, 0xD0},
347 {IMX_8BIT
, 0x33D6, 0x09},
348 {IMX_8BIT
, 0x33D7, 0xA0},
350 {IMX_8BIT
, 0x030e, 0x01},
351 {IMX_8BIT
, 0x41c0, 0x01},
355 static struct imx_reg
const imx_STILL_6M_30fps
[] = {
356 GROUPED_PARAMETER_HOLD_ENABLE
,
357 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
359 {IMX_8BIT
, 0x0202, 0x0A}, /* coarse _integration_time[15:8] */
360 {IMX_8BIT
, 0x0203, 0xEF}, /* coarse _integration_time[7:0] */
362 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
363 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
364 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
365 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
366 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
367 {IMX_8BIT
, 0x030C, 0x01},
368 {IMX_8BIT
, 0x030D, 0x2c},
370 {IMX_8BIT
, 0x0340, 0x09}, /* frame_length_lines[15:8] */
371 {IMX_8BIT
, 0x0341, 0xC4}, /* frame_length_lines[7:0] */
372 {IMX_8BIT
, 0x0342, 0x0D}, /* line_length_pck[15:8] */
373 {IMX_8BIT
, 0x0343, 0x66}, /* line_length_pck[7:0] */
374 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
375 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
376 {IMX_8BIT
, 0x0346, 0x01}, /* y_addr_start[15:8] */
377 {IMX_8BIT
, 0x0347, 0x32}, /* y_addr_start[7:0] */
378 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
379 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
380 {IMX_8BIT
, 0x034A, 0x08}, /* y_addr_end[15:8] */
381 {IMX_8BIT
, 0x034B, 0x6D}, /* y_addr_end[7:0] */
382 {IMX_8BIT
, 0x034C, 0x0C}, /* x_output_size[15:8] */
383 {IMX_8BIT
, 0x034D, 0xD0}, /* x_output_size[7:0] */
384 {IMX_8BIT
, 0x034E, 0x07}, /* y_output_size[15:8] */
385 {IMX_8BIT
, 0x034F, 0x3C}, /* y_output_size[7:0] */
386 /* binning & scaling */
387 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
388 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
389 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
391 {IMX_8BIT
, 0x3344, 0x57},
392 {IMX_8BIT
, 0x3345, 0x1F},
394 {IMX_8BIT
, 0x3370, 0x77},
395 {IMX_8BIT
, 0x3371, 0x2F},
396 {IMX_8BIT
, 0x3372, 0x4F},
397 {IMX_8BIT
, 0x3373, 0x2F},
398 {IMX_8BIT
, 0x3374, 0x2F},
399 {IMX_8BIT
, 0x3375, 0x37},
400 {IMX_8BIT
, 0x3376, 0x9F},
401 {IMX_8BIT
, 0x3377, 0x37},
402 {IMX_8BIT
, 0x33C8, 0x01},
403 {IMX_8BIT
, 0x33D4, 0x0C},
404 {IMX_8BIT
, 0x33D5, 0xD0},
405 {IMX_8BIT
, 0x33D6, 0x09},
406 {IMX_8BIT
, 0x33D7, 0xA0},
408 {IMX_8BIT
, 0x030e, 0x01},
409 {IMX_8BIT
, 0x41c0, 0x01},
413 static struct imx_reg
const imx_STILL_6M_15fps
[] = {
414 GROUPED_PARAMETER_HOLD_ENABLE
,
415 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
417 {IMX_8BIT
, 0x0202, 0x0A}, /* coarse _integration_time[15:8] */
418 {IMX_8BIT
, 0x0203, 0xEF}, /* coarse _integration_time[7:0] */
420 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
421 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
422 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
423 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
424 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
425 {IMX_8BIT
, 0x030C, 0x01},
426 {IMX_8BIT
, 0x030D, 0x2c},
428 {IMX_8BIT
, 0x0340, 0x0B}, /* frame_length_lines[15:8] */
429 {IMX_8BIT
, 0x0341, 0xB8}, /* frame_length_lines[7:0] */
430 {IMX_8BIT
, 0x0342, 0x16}, /* line_length_pck[15:8] */
431 {IMX_8BIT
, 0x0343, 0x44}, /* line_length_pck[7:0] */
432 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
433 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
434 {IMX_8BIT
, 0x0346, 0x01}, /* y_addr_start[15:8] */
435 {IMX_8BIT
, 0x0347, 0x32}, /* y_addr_start[7:0] */
436 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
437 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
438 {IMX_8BIT
, 0x034A, 0x08}, /* y_addr_end[15:8] */
439 {IMX_8BIT
, 0x034B, 0x6D}, /* y_addr_end[7:0] */
440 {IMX_8BIT
, 0x034C, 0x0C}, /* x_output_size[15:8] */
441 {IMX_8BIT
, 0x034D, 0xD0}, /* x_output_size[7:0] */
442 {IMX_8BIT
, 0x034E, 0x07}, /* y_output_size[15:8] */
443 {IMX_8BIT
, 0x034F, 0x3C}, /* y_output_size[7:0] */
444 /* binning & scaling */
445 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
446 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
447 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
449 {IMX_8BIT
, 0x3344, 0x57},
450 {IMX_8BIT
, 0x3345, 0x1F},
452 {IMX_8BIT
, 0x3370, 0x77},
453 {IMX_8BIT
, 0x3371, 0x2F},
454 {IMX_8BIT
, 0x3372, 0x4F},
455 {IMX_8BIT
, 0x3373, 0x2F},
456 {IMX_8BIT
, 0x3374, 0x2F},
457 {IMX_8BIT
, 0x3375, 0x37},
458 {IMX_8BIT
, 0x3376, 0x9F},
459 {IMX_8BIT
, 0x3377, 0x37},
460 {IMX_8BIT
, 0x33C8, 0x01},
461 {IMX_8BIT
, 0x33D4, 0x0C},
462 {IMX_8BIT
, 0x33D5, 0xD0},
463 {IMX_8BIT
, 0x33D6, 0x09},
464 {IMX_8BIT
, 0x33D7, 0xA0},
466 {IMX_8BIT
, 0x030e, 0x01},
467 {IMX_8BIT
, 0x41c0, 0x01},
471 static struct imx_reg
const imx_STILL_2M_30fps
[] = {
472 GROUPED_PARAMETER_HOLD_ENABLE
,
473 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
475 {IMX_8BIT
, 0x0202, 0x0A}, /* coarse _integration_time[15:8] */
476 {IMX_8BIT
, 0x0203, 0x8C}, /* coarse _integration_time[7:0] */
478 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
479 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
480 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
481 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
482 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
483 {IMX_8BIT
, 0x030C, 0x01},
484 {IMX_8BIT
, 0x030D, 0x2c},
486 {IMX_8BIT
, 0x0340, 0x09}, /* frame_length_lines[15:8] */
487 {IMX_8BIT
, 0x0341, 0xC4}, /* frame_length_lines[7:0] */
488 {IMX_8BIT
, 0x0342, 0x0D}, /* line_length_pck[15:8] */
489 {IMX_8BIT
, 0x0343, 0x66}, /* line_length_pck[7:0] */
490 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
491 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
492 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
493 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
494 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
495 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
496 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
497 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
498 {IMX_8BIT
, 0x034C, 0x06}, /* x_output_size[15:8] */
499 {IMX_8BIT
, 0x034D, 0x68}, /* x_output_size[7:0] */
500 {IMX_8BIT
, 0x034E, 0x04}, /* y_output_size[15:8] */
501 {IMX_8BIT
, 0x034F, 0xD0}, /* y_output_size[7:0] */
502 /* binning & scaling */
503 {IMX_8BIT
, 0x0390, 0x01}, /* binning mode */
504 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
505 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
507 {IMX_8BIT
, 0x3344, 0x57},
508 {IMX_8BIT
, 0x3345, 0x1F},
510 {IMX_8BIT
, 0x3370, 0x77},
511 {IMX_8BIT
, 0x3371, 0x2F},
512 {IMX_8BIT
, 0x3372, 0x4F},
513 {IMX_8BIT
, 0x3373, 0x2F},
514 {IMX_8BIT
, 0x3374, 0x2F},
515 {IMX_8BIT
, 0x3375, 0x37},
516 {IMX_8BIT
, 0x3376, 0x9F},
517 {IMX_8BIT
, 0x3377, 0x37},
518 {IMX_8BIT
, 0x33C8, 0x01},
519 {IMX_8BIT
, 0x33D4, 0x0C},
520 {IMX_8BIT
, 0x33D5, 0xD0},
521 {IMX_8BIT
, 0x33D6, 0x09},
522 {IMX_8BIT
, 0x33D7, 0xA0},
524 {IMX_8BIT
, 0x030e, 0x01},
525 {IMX_8BIT
, 0x41c0, 0x01},
529 static struct imx_reg
const imx_STILL_2M_15fps
[] = {
530 GROUPED_PARAMETER_HOLD_ENABLE
,
531 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
533 {IMX_8BIT
, 0x0202, 0x0A}, /* coarse _integration_time[15:8] */
534 {IMX_8BIT
, 0x0203, 0x8C}, /* coarse _integration_time[7:0] */
536 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
537 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
538 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
539 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
540 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
541 {IMX_8BIT
, 0x030C, 0x01},
542 {IMX_8BIT
, 0x030D, 0x2c},
544 {IMX_8BIT
, 0x0340, 0x0B}, /* frame_length_lines[15:8] */
545 {IMX_8BIT
, 0x0341, 0xB8}, /* frame_length_lines[7:0] */
546 {IMX_8BIT
, 0x0342, 0x16}, /* line_length_pck[15:8] */
547 {IMX_8BIT
, 0x0343, 0x44}, /* line_length_pck[7:0] */
548 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
549 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
550 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
551 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
552 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
553 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
554 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
555 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
556 {IMX_8BIT
, 0x034C, 0x06}, /* x_output_size[15:8] */
557 {IMX_8BIT
, 0x034D, 0x68}, /* x_output_size[7:0] */
558 {IMX_8BIT
, 0x034E, 0x04}, /* y_output_size[15:8] */
559 {IMX_8BIT
, 0x034F, 0xD0}, /* y_output_size[7:0] */
560 /* binning & scaling */
561 {IMX_8BIT
, 0x0390, 0x01}, /* binning mode */
562 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
563 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
565 {IMX_8BIT
, 0x3344, 0x57},
566 {IMX_8BIT
, 0x3345, 0x1F},
568 {IMX_8BIT
, 0x3370, 0x77},
569 {IMX_8BIT
, 0x3371, 0x2F},
570 {IMX_8BIT
, 0x3372, 0x4F},
571 {IMX_8BIT
, 0x3373, 0x2F},
572 {IMX_8BIT
, 0x3374, 0x2F},
573 {IMX_8BIT
, 0x3375, 0x37},
574 {IMX_8BIT
, 0x3376, 0x9F},
575 {IMX_8BIT
, 0x3377, 0x37},
576 {IMX_8BIT
, 0x33C8, 0x01},
577 {IMX_8BIT
, 0x33D4, 0x0C},
578 {IMX_8BIT
, 0x33D5, 0xD0},
579 {IMX_8BIT
, 0x33D6, 0x09},
580 {IMX_8BIT
, 0x33D7, 0xA0},
582 {IMX_8BIT
, 0x030e, 0x01},
583 {IMX_8BIT
, 0x41c0, 0x01},
587 static struct imx_reg
const imx_PREVIEW_30fps
[] = {
588 GROUPED_PARAMETER_HOLD_ENABLE
,
589 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
591 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
592 {IMX_8BIT
, 0x0203, 0x44}, /* coarse _integration_time[7:0] */
594 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
595 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
596 {IMX_8BIT
, 0x0305, 0x06}, /* pre_pll_clk_div[7:0] */
597 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
598 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
599 {IMX_8BIT
, 0x030C, 0x00},
600 {IMX_8BIT
, 0x030D, 0x6D},
602 {IMX_8BIT
, 0x0340, 0x05}, /* frame_length_lines[15:8] */
603 {IMX_8BIT
, 0x0341, 0x48}, /* frame_length_lines[7:0] */
604 {IMX_8BIT
, 0x0342, 0x0D}, /* line_length_pck[15:8] */
605 {IMX_8BIT
, 0x0343, 0x70}, /* line_length_pck[7:0] */
606 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
607 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
608 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
609 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
610 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
611 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
612 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
613 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
614 {IMX_8BIT
, 0x034C, 0x03}, /* x_output_size[15:8] */
615 {IMX_8BIT
, 0x034D, 0x34}, /* x_output_size[7:0] */
616 {IMX_8BIT
, 0x034E, 0x02}, /* y_output_size[15:8] */
617 {IMX_8BIT
, 0x034F, 0x68}, /* y_output_size[7:0] */
618 /* binning & scaling */
619 {IMX_8BIT
, 0x0390, 0x02}, /* binning mode */
620 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
621 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
623 {IMX_8BIT
, 0x3344, 0x37},
624 {IMX_8BIT
, 0x3345, 0x1F},
626 {IMX_8BIT
, 0x3370, 0x5F},
627 {IMX_8BIT
, 0x3371, 0x17},
628 {IMX_8BIT
, 0x3372, 0x37},
629 {IMX_8BIT
, 0x3373, 0x17},
630 {IMX_8BIT
, 0x3374, 0x17},
631 {IMX_8BIT
, 0x3375, 0x0F},
632 {IMX_8BIT
, 0x3376, 0x57},
633 {IMX_8BIT
, 0x3377, 0x27},
634 {IMX_8BIT
, 0x33C8, 0x01},
635 {IMX_8BIT
, 0x33D4, 0x03},
636 {IMX_8BIT
, 0x33D5, 0x34},
637 {IMX_8BIT
, 0x33D6, 0x02},
638 {IMX_8BIT
, 0x33D7, 0x68},
642 static struct imx_reg
const imx_WIDE_PREVIEW_30fps
[] = {
643 GROUPED_PARAMETER_HOLD_ENABLE
,
644 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
646 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
647 {IMX_8BIT
, 0x0203, 0x44}, /* coarse _integration_time[7:0] */
649 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
650 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
651 {IMX_8BIT
, 0x0305, 0x06}, /* pre_pll_clk_div[7:0] */
652 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
653 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
654 {IMX_8BIT
, 0x030C, 0x00},
655 {IMX_8BIT
, 0x030D, 0x6D},
657 {IMX_8BIT
, 0x0340, 0x0D}, /* frame_length_lines[15:8] */
658 {IMX_8BIT
, 0x0341, 0x70}, /* frame_length_lines[7:0] */
659 {IMX_8BIT
, 0x0342, 0x10}, /* line_length_pck[15:8] */
660 {IMX_8BIT
, 0x0343, 0x00}, /* line_length_pck[7:0] */
661 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
662 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
663 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
664 {IMX_8BIT
, 0x0347, 0x14}, /* y_addr_start[7:0] */
665 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
666 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
667 {IMX_8BIT
, 0x034A, 0x08}, /* y_addr_end[15:8] */
668 {IMX_8BIT
, 0x034B, 0x8C}, /* y_addr_end[7:0] */
669 {IMX_8BIT
, 0x034C, 0x06}, /* x_output_size[15:8] */
670 {IMX_8BIT
, 0x034D, 0x68}, /* x_output_size[7:0] */
671 {IMX_8BIT
, 0x034E, 0x03}, /* y_output_size[15:8] */
672 {IMX_8BIT
, 0x034F, 0xBC}, /* y_output_size[7:0] */
673 /* binning & scaling */
674 {IMX_8BIT
, 0x0390, 0x01}, /* binning mode */
675 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
676 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
678 {IMX_8BIT
, 0x3344, 0x37},
679 {IMX_8BIT
, 0x3345, 0x1F},
681 {IMX_8BIT
, 0x3370, 0x5F},
682 {IMX_8BIT
, 0x3371, 0x17},
683 {IMX_8BIT
, 0x3372, 0x37},
684 {IMX_8BIT
, 0x3373, 0x17},
685 {IMX_8BIT
, 0x3374, 0x17},
686 {IMX_8BIT
, 0x3375, 0x0F},
687 {IMX_8BIT
, 0x3376, 0x57},
688 {IMX_8BIT
, 0x3377, 0x27},
689 {IMX_8BIT
, 0x33C8, 0x01},
690 {IMX_8BIT
, 0x33D4, 0x06},
691 {IMX_8BIT
, 0x33D5, 0x68},
692 {IMX_8BIT
, 0x33D6, 0x03},
693 {IMX_8BIT
, 0x33D7, 0xBC},
697 /*****************************video************************/
698 static struct imx_reg
const imx_1080p_strong_dvs_30fps
[] = {
699 GROUPED_PARAMETER_HOLD_ENABLE
,
700 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
702 {IMX_8BIT
, 0x0202, 0x06}, /* coarse _integration_time[15:8] */
703 {IMX_8BIT
, 0x0203, 0x4C}, /* coarse _integration_time[7:0] */
705 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
706 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
707 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
708 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
709 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
710 {IMX_8BIT
, 0x030C, 0x01},
711 {IMX_8BIT
, 0x030D, 0x12},
713 {IMX_8BIT
, 0x0340, 0x06}, /* frame_length_lines[15:8] */
714 {IMX_8BIT
, 0x0341, 0xA4}, /* frame_length_lines[7:0] */
715 {IMX_8BIT
, 0x0342, 0x11}, /* line_length_pck[15:8] */
716 {IMX_8BIT
, 0x0343, 0xC6}, /* line_length_pck[7:0] */
717 {IMX_8BIT
, 0x0344, 0x01}, /* x_addr_start[15:8] */
718 {IMX_8BIT
, 0x0345, 0xDB}, /* x_addr_start[7:0] */
719 {IMX_8BIT
, 0x0346, 0x02}, /* y_addr_start[15:8] */
720 {IMX_8BIT
, 0x0347, 0x42}, /* y_addr_start[7:0] */
721 {IMX_8BIT
, 0x0348, 0x0A}, /* x_addr_end[15:8] */
722 {IMX_8BIT
, 0x0349, 0xEA}, /* x_addr_end[7:0] */
723 {IMX_8BIT
, 0x034A, 0x07}, /* y_addr_end[15:8] */
724 {IMX_8BIT
, 0x034B, 0x61}, /* y_addr_end[7:0] */
725 {IMX_8BIT
, 0x034C, 0x09}, /* x_output_size[15:8] */
726 {IMX_8BIT
, 0x034D, 0x10}, /* x_output_size[7:0] */
727 {IMX_8BIT
, 0x034E, 0x05}, /* y_output_size[15:8] */
728 {IMX_8BIT
, 0x034F, 0x20}, /* y_output_size[7:0] */
729 /* binning & scaling */
730 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
731 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
732 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
734 {IMX_8BIT
, 0x3344, 0x57},
735 {IMX_8BIT
, 0x3345, 0x1F},
737 {IMX_8BIT
, 0x3370, 0x6F},
738 {IMX_8BIT
, 0x3371, 0x27},
739 {IMX_8BIT
, 0x3372, 0x4F},
740 {IMX_8BIT
, 0x3373, 0x2F},
741 {IMX_8BIT
, 0x3374, 0x27},
742 {IMX_8BIT
, 0x3375, 0x2F},
743 {IMX_8BIT
, 0x3376, 0x97},
744 {IMX_8BIT
, 0x3377, 0x37},
745 {IMX_8BIT
, 0x33C8, 0x01},
746 {IMX_8BIT
, 0x33D4, 0x0C},
747 {IMX_8BIT
, 0x33D5, 0xD0},
748 {IMX_8BIT
, 0x33D6, 0x07},
749 {IMX_8BIT
, 0x33D7, 0x38},
753 static struct imx_reg
const imx_1080p_no_dvs_30fps
[] = {
754 GROUPED_PARAMETER_HOLD_ENABLE
,
755 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
757 {IMX_8BIT
, 0x0202, 0x08}, /* coarse _integration_time[15:8] */
758 {IMX_8BIT
, 0x0203, 0xD5}, /* coarse _integration_time[7:0] */
760 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
761 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
762 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
763 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
764 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
765 {IMX_8BIT
, 0x030C, 0x01},
766 {IMX_8BIT
, 0x030D, 0x12},
768 {IMX_8BIT
, 0x0340, 0x07}, /* frame_length_lines[15:8] */
769 {IMX_8BIT
, 0x0341, 0xD0}, /* frame_length_lines[7:0] */
770 {IMX_8BIT
, 0x0342, 0x0F}, /* line_length_pck[15:8] */
771 {IMX_8BIT
, 0x0343, 0x3C}, /* line_length_pck[7:0] */
772 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
773 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
774 {IMX_8BIT
, 0x0346, 0x01}, /* y_addr_start[15:8] */
775 {IMX_8BIT
, 0x0347, 0x34}, /* y_addr_start[7:0] */
776 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
777 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
778 {IMX_8BIT
, 0x034A, 0x08}, /* y_addr_end[15:8] */
779 {IMX_8BIT
, 0x034B, 0x6B}, /* y_addr_end[7:0] */
780 {IMX_8BIT
, 0x034C, 0x07}, /* x_output_size[15:8] */
781 {IMX_8BIT
, 0x034D, 0x94}, /* x_output_size[7:0] */
782 {IMX_8BIT
, 0x034E, 0x04}, /* y_output_size[15:8] */
783 {IMX_8BIT
, 0x034F, 0x44}, /* y_output_size[7:0] */
784 /* binning & scaling */
785 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
786 {IMX_8BIT
, 0x0401, 0x02}, /* scaling mode*/
787 {IMX_8BIT
, 0x0405, 0x1B}, /* scale_m[7:0] */
789 {IMX_8BIT
, 0x3344, 0x57},
790 {IMX_8BIT
, 0x3345, 0x1F},
792 {IMX_8BIT
, 0x3370, 0x6F},
793 {IMX_8BIT
, 0x3371, 0x27},
794 {IMX_8BIT
, 0x3372, 0x4F},
795 {IMX_8BIT
, 0x3373, 0x2F},
796 {IMX_8BIT
, 0x3374, 0x27},
797 {IMX_8BIT
, 0x3375, 0x2F},
798 {IMX_8BIT
, 0x3376, 0x97},
799 {IMX_8BIT
, 0x3377, 0x37},
800 {IMX_8BIT
, 0x33C8, 0x01},
801 {IMX_8BIT
, 0x33D4, 0x0C},
802 {IMX_8BIT
, 0x33D5, 0xD0},
803 {IMX_8BIT
, 0x33D6, 0x07},
804 {IMX_8BIT
, 0x33D7, 0x38},
808 static struct imx_reg
const imx_1080p_no_dvs_15fps
[] = {
809 GROUPED_PARAMETER_HOLD_ENABLE
,
810 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
812 {IMX_8BIT
, 0x0202, 0x08}, /* coarse _integration_time[15:8] */
813 {IMX_8BIT
, 0x0203, 0xD5}, /* coarse _integration_time[7:0] */
815 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
816 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
817 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
818 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
819 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
820 {IMX_8BIT
, 0x030C, 0x01},
821 {IMX_8BIT
, 0x030D, 0x12},
823 {IMX_8BIT
, 0x0340, 0x09}, /* frame_length_lines[15:8] */
824 {IMX_8BIT
, 0x0341, 0xA6}, /* frame_length_lines[7:0] */
825 {IMX_8BIT
, 0x0342, 0x18}, /* line_length_pck[15:8] */
826 {IMX_8BIT
, 0x0343, 0x9C}, /* line_length_pck[7:0] */
827 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
828 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
829 {IMX_8BIT
, 0x0346, 0x01}, /* y_addr_start[15:8] */
830 {IMX_8BIT
, 0x0347, 0x34}, /* y_addr_start[7:0] */
831 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
832 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
833 {IMX_8BIT
, 0x034A, 0x08}, /* y_addr_end[15:8] */
834 {IMX_8BIT
, 0x034B, 0x6B}, /* y_addr_end[7:0] */
835 {IMX_8BIT
, 0x034C, 0x07}, /* x_output_size[15:8] */
836 {IMX_8BIT
, 0x034D, 0x94}, /* x_output_size[7:0] */
837 {IMX_8BIT
, 0x034E, 0x04}, /* y_output_size[15:8] */
838 {IMX_8BIT
, 0x034F, 0x44}, /* y_output_size[7:0] */
839 /* binning & scaling */
840 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
841 {IMX_8BIT
, 0x0401, 0x02}, /* scaling mode*/
842 {IMX_8BIT
, 0x0405, 0x1B}, /* scale_m[7:0] */
844 {IMX_8BIT
, 0x3344, 0x57},
845 {IMX_8BIT
, 0x3345, 0x1F},
847 {IMX_8BIT
, 0x3370, 0x6F},
848 {IMX_8BIT
, 0x3371, 0x27},
849 {IMX_8BIT
, 0x3372, 0x4F},
850 {IMX_8BIT
, 0x3373, 0x2F},
851 {IMX_8BIT
, 0x3374, 0x27},
852 {IMX_8BIT
, 0x3375, 0x2F},
853 {IMX_8BIT
, 0x3376, 0x97},
854 {IMX_8BIT
, 0x3377, 0x37},
855 {IMX_8BIT
, 0x33C8, 0x01},
856 {IMX_8BIT
, 0x33D4, 0x0C},
857 {IMX_8BIT
, 0x33D5, 0xD0},
858 {IMX_8BIT
, 0x33D6, 0x07},
859 {IMX_8BIT
, 0x33D7, 0x38},
862 /*****************************video************************/
863 static struct imx_reg
const imx_720p_strong_dvs_30fps
[] = {
864 GROUPED_PARAMETER_HOLD_ENABLE
,
865 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
867 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
868 {IMX_8BIT
, 0x0203, 0xFC}, /* coarse _integration_time[7:0] */
870 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
871 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
872 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
873 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
874 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
875 {IMX_8BIT
, 0x030C, 0x01},
876 {IMX_8BIT
, 0x030D, 0x12},
878 {IMX_8BIT
, 0x0340, 0x06}, /* frame_length_lines[15:8] */
879 {IMX_8BIT
, 0x0341, 0x00}, /* frame_length_lines[7:0] */
880 {IMX_8BIT
, 0x0342, 0x13}, /* line_length_pck[15:8] */
881 {IMX_8BIT
, 0x0343, 0x9C}, /* line_length_pck[7:0] */
882 {IMX_8BIT
, 0x0344, 0x01}, /* x_addr_start[15:8] */
883 {IMX_8BIT
, 0x0345, 0xD7}, /* x_addr_start[7:0] */
884 {IMX_8BIT
, 0x0346, 0x02}, /* y_addr_start[15:8] */
885 {IMX_8BIT
, 0x0347, 0x3E}, /* y_addr_start[7:0] */
886 {IMX_8BIT
, 0x0348, 0x0A}, /* x_addr_end[15:8] */
887 {IMX_8BIT
, 0x0349, 0xEE}, /* x_addr_end[7:0] */
888 {IMX_8BIT
, 0x034A, 0x07}, /* y_addr_end[15:8] */
889 {IMX_8BIT
, 0x034B, 0x65}, /* y_addr_end[7:0] */
890 {IMX_8BIT
, 0x034C, 0x06}, /* x_output_size[15:8] */
891 {IMX_8BIT
, 0x034D, 0x10}, /* x_output_size[7:0] */
892 {IMX_8BIT
, 0x034E, 0x03}, /* y_output_size[15:8] */
893 {IMX_8BIT
, 0x034F, 0x70}, /* y_output_size[7:0] */
894 /* binning & scaling */
895 {IMX_8BIT
, 0x0390, 0x00}, /* binning mode */
896 {IMX_8BIT
, 0x0401, 0x02}, /* scaling mode*/
897 {IMX_8BIT
, 0x0405, 0x18}, /* scale_m[7:0] */
899 {IMX_8BIT
, 0x3344, 0x57},
900 {IMX_8BIT
, 0x3345, 0x1F},
902 {IMX_8BIT
, 0x3370, 0x6F},
903 {IMX_8BIT
, 0x3371, 0x27},
904 {IMX_8BIT
, 0x3372, 0x4F},
905 {IMX_8BIT
, 0x3373, 0x2F},
906 {IMX_8BIT
, 0x3374, 0x27},
907 {IMX_8BIT
, 0x3375, 0x2F},
908 {IMX_8BIT
, 0x3376, 0x97},
909 {IMX_8BIT
, 0x3377, 0x37},
910 {IMX_8BIT
, 0x33C8, 0x01},
911 {IMX_8BIT
, 0x33D4, 0x0C},
912 {IMX_8BIT
, 0x33D5, 0xD0},
913 {IMX_8BIT
, 0x33D6, 0x07},
914 {IMX_8BIT
, 0x33D7, 0x38},
918 static struct imx_reg
const imx_480p_strong_dvs_30fps
[] = {
919 GROUPED_PARAMETER_HOLD_ENABLE
,
920 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
922 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
923 {IMX_8BIT
, 0x0203, 0xFC}, /* coarse _integration_time[7:0] */
925 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
926 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
927 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
928 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
929 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
930 {IMX_8BIT
, 0x030C, 0x01},
931 {IMX_8BIT
, 0x030D, 0x12},
933 {IMX_8BIT
, 0x0340, 0x06}, /* frame_length_lines[15:8] */
934 {IMX_8BIT
, 0x0341, 0x00}, /* frame_length_lines[7:0] */
935 {IMX_8BIT
, 0x0342, 0x13}, /* line_length_pck[15:8] */
936 {IMX_8BIT
, 0x0343, 0x9C}, /* line_length_pck[7:0] */
937 {IMX_8BIT
, 0x0344, 0x01}, /* x_addr_start[15:8] */
938 {IMX_8BIT
, 0x0345, 0xD4}, /* x_addr_start[7:0] */
939 {IMX_8BIT
, 0x0346, 0x01}, /* y_addr_start[15:8] */
940 {IMX_8BIT
, 0x0347, 0xC8}, /* y_addr_start[7:0] */
941 {IMX_8BIT
, 0x0348, 0x0A}, /* x_addr_end[15:8] */
942 {IMX_8BIT
, 0x0349, 0xF1}, /* x_addr_end[7:0] */
943 {IMX_8BIT
, 0x034A, 0x07}, /* y_addr_end[15:8] */
944 {IMX_8BIT
, 0x034B, 0xDB}, /* y_addr_end[7:0] */
945 {IMX_8BIT
, 0x034C, 0x03}, /* x_output_size[15:8] */
946 {IMX_8BIT
, 0x034D, 0x70}, /* x_output_size[7:0] */
947 {IMX_8BIT
, 0x034E, 0x02}, /* y_output_size[15:8] */
948 {IMX_8BIT
, 0x034F, 0x50}, /* y_output_size[7:0] */
949 /* binning & scaling */
950 {IMX_8BIT
, 0x0390, 0x01}, /* binning mode */
951 {IMX_8BIT
, 0x0401, 0x02}, /* scaling mode*/
952 {IMX_8BIT
, 0x0405, 0x15}, /* scale_m[7:0] */
954 {IMX_8BIT
, 0x3344, 0x57},
955 {IMX_8BIT
, 0x3345, 0x1F},
957 {IMX_8BIT
, 0x3370, 0x6F},
958 {IMX_8BIT
, 0x3371, 0x27},
959 {IMX_8BIT
, 0x3372, 0x4F},
960 {IMX_8BIT
, 0x3373, 0x2F},
961 {IMX_8BIT
, 0x3374, 0x27},
962 {IMX_8BIT
, 0x3375, 0x2F},
963 {IMX_8BIT
, 0x3376, 0x97},
964 {IMX_8BIT
, 0x3377, 0x37},
965 {IMX_8BIT
, 0x33C8, 0x01},
966 {IMX_8BIT
, 0x33D4, 0x0C},
967 {IMX_8BIT
, 0x33D5, 0xD0},
968 {IMX_8BIT
, 0x33D6, 0x07},
969 {IMX_8BIT
, 0x33D7, 0x38},
973 static struct imx_reg
const imx_STILL_720p_30fps
[] = {
974 GROUPED_PARAMETER_HOLD_ENABLE
,
975 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
977 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
978 {IMX_8BIT
, 0x0203, 0x44}, /* coarse _integration_time[7:0] */
980 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
981 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
982 {IMX_8BIT
, 0x0305, 0x04}, /* pre_pll_clk_div[7:0] */
983 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
984 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
985 {IMX_8BIT
, 0x030C, 0x00},
986 {IMX_8BIT
, 0x030D, 0x6D},
988 {IMX_8BIT
, 0x0340, 0x05}, /* frame_length_lines[15:8] */
989 {IMX_8BIT
, 0x0341, 0x48}, /* frame_length_lines[7:0] */
990 {IMX_8BIT
, 0x0342, 0x14}, /* line_length_pck[15:8] */
991 {IMX_8BIT
, 0x0343, 0x28}, /* line_length_pck[7:0] */
992 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
993 {IMX_8BIT
, 0x0345, 0x48}, /* x_addr_start[7:0] */
994 {IMX_8BIT
, 0x0346, 0x01}, /* y_addr_start[15:8] */
995 {IMX_8BIT
, 0x0347, 0x64}, /* y_addr_start[7:0] */
996 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
997 {IMX_8BIT
, 0x0349, 0x87}, /* x_addr_end[7:0] */
998 {IMX_8BIT
, 0x034A, 0x08}, /* y_addr_end[15:8] */
999 {IMX_8BIT
, 0x034B, 0x3B}, /* y_addr_end[7:0] */
1000 {IMX_8BIT
, 0x034C, 0x06}, /* x_output_size[15:8] */
1001 {IMX_8BIT
, 0x034D, 0x20}, /* x_output_size[7:0] */
1002 {IMX_8BIT
, 0x034E, 0x03}, /* y_output_size[15:8] */
1003 {IMX_8BIT
, 0x034F, 0x6C}, /* y_output_size[7:0] */
1004 /* binning & scaling */
1005 {IMX_8BIT
, 0x0390, 0x01}, /* binning mode */
1006 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
1007 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
1009 {IMX_8BIT
, 0x3344, 0x37},
1010 {IMX_8BIT
, 0x3345, 0x1F},
1012 {IMX_8BIT
, 0x3370, 0x5F},
1013 {IMX_8BIT
, 0x3371, 0x17},
1014 {IMX_8BIT
, 0x3372, 0x37},
1015 {IMX_8BIT
, 0x3373, 0x17},
1016 {IMX_8BIT
, 0x3374, 0x17},
1017 {IMX_8BIT
, 0x3375, 0x0F},
1018 {IMX_8BIT
, 0x3376, 0x57},
1019 {IMX_8BIT
, 0x3377, 0x27},
1020 {IMX_8BIT
, 0x33C8, 0x01},
1021 {IMX_8BIT
, 0x33D4, 0x06},
1022 {IMX_8BIT
, 0x33D5, 0x20},
1023 {IMX_8BIT
, 0x33D6, 0x03},
1024 {IMX_8BIT
, 0x33D7, 0x6C},
1025 {IMX_TOK_TERM
, 0, 0}
1028 static struct imx_reg
const imx_STILL_720p_15fps
[] = {
1029 GROUPED_PARAMETER_HOLD_ENABLE
,
1030 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
1032 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
1033 {IMX_8BIT
, 0x0203, 0x44}, /* coarse _integration_time[7:0] */
1035 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
1036 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
1037 {IMX_8BIT
, 0x0305, 0x04}, /* pre_pll_clk_div[7:0] */
1038 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
1039 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
1040 {IMX_8BIT
, 0x030C, 0x00},
1041 {IMX_8BIT
, 0x030D, 0x6D},
1043 {IMX_8BIT
, 0x0340, 0x08}, /* frame_length_lines[15:8] */
1044 {IMX_8BIT
, 0x0341, 0xCA}, /* frame_length_lines[7:0] */
1045 {IMX_8BIT
, 0x0342, 0x18}, /* line_length_pck[15:8] */
1046 {IMX_8BIT
, 0x0343, 0x38}, /* line_length_pck[7:0] */
1047 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
1048 {IMX_8BIT
, 0x0345, 0x48}, /* x_addr_start[7:0] */
1049 {IMX_8BIT
, 0x0346, 0x01}, /* y_addr_start[15:8] */
1050 {IMX_8BIT
, 0x0347, 0x64}, /* y_addr_start[7:0] */
1051 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
1052 {IMX_8BIT
, 0x0349, 0x87}, /* x_addr_end[7:0] */
1053 {IMX_8BIT
, 0x034A, 0x08}, /* y_addr_end[15:8] */
1054 {IMX_8BIT
, 0x034B, 0x3B}, /* y_addr_end[7:0] */
1055 {IMX_8BIT
, 0x034C, 0x06}, /* x_output_size[15:8] */
1056 {IMX_8BIT
, 0x034D, 0x20}, /* x_output_size[7:0] */
1057 {IMX_8BIT
, 0x034E, 0x03}, /* y_output_size[15:8] */
1058 {IMX_8BIT
, 0x034F, 0x6C}, /* y_output_size[7:0] */
1059 /* binning & scaling */
1060 {IMX_8BIT
, 0x0390, 0x01}, /* binning mode */
1061 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
1062 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
1064 {IMX_8BIT
, 0x3344, 0x37},
1065 {IMX_8BIT
, 0x3345, 0x1F},
1067 {IMX_8BIT
, 0x3370, 0x5F},
1068 {IMX_8BIT
, 0x3371, 0x17},
1069 {IMX_8BIT
, 0x3372, 0x37},
1070 {IMX_8BIT
, 0x3373, 0x17},
1071 {IMX_8BIT
, 0x3374, 0x17},
1072 {IMX_8BIT
, 0x3375, 0x0F},
1073 {IMX_8BIT
, 0x3376, 0x57},
1074 {IMX_8BIT
, 0x3377, 0x27},
1075 {IMX_8BIT
, 0x33C8, 0x01},
1076 {IMX_8BIT
, 0x33D4, 0x06},
1077 {IMX_8BIT
, 0x33D5, 0x20},
1078 {IMX_8BIT
, 0x33D6, 0x03},
1079 {IMX_8BIT
, 0x33D7, 0x6C},
1080 {IMX_TOK_TERM
, 0, 0}
1083 static struct imx_reg
const imx_WVGA_strong_dvs_30fps
[] = {
1084 GROUPED_PARAMETER_HOLD_ENABLE
,
1085 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
1087 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
1088 {IMX_8BIT
, 0x0203, 0xEC}, /* coarse _integration_time[7:0] */
1090 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
1091 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
1092 {IMX_8BIT
, 0x0305, 0x09}, /* pre_pll_clk_div[7:0] */
1093 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
1094 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
1095 {IMX_8BIT
, 0x030C, 0x01},
1096 {IMX_8BIT
, 0x030D, 0x12},
1098 {IMX_8BIT
, 0x0340, 0x06}, /* frame_length_lines[15:8] */
1099 {IMX_8BIT
, 0x0341, 0x00}, /* frame_length_lines[7:0] */
1100 {IMX_8BIT
, 0x0342, 0x13}, /* line_length_pck[15:8] */
1101 {IMX_8BIT
, 0x0343, 0x9C}, /* line_length_pck[7:0] */
1102 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
1103 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
1104 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
1105 {IMX_8BIT
, 0x0347, 0xD0}, /* y_addr_start[7:0] */
1106 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
1107 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
1108 {IMX_8BIT
, 0x034A, 0x08}, /* y_addr_end[15:8] */
1109 {IMX_8BIT
, 0x034B, 0xCF}, /* y_addr_end[7:0] */
1110 {IMX_8BIT
, 0x034C, 0x06}, /* x_output_size[15:8] */
1111 {IMX_8BIT
, 0x034D, 0x68}, /* x_output_size[7:0] */
1112 {IMX_8BIT
, 0x034E, 0x04}, /* y_output_size[15:8] */
1113 {IMX_8BIT
, 0x034F, 0x00}, /* y_output_size[7:0] */
1114 /* binning & scaling */
1115 {IMX_8BIT
, 0x0390, 0x01}, /* binning mode */
1116 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
1117 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
1119 {IMX_8BIT
, 0x3344, 0x57},
1120 {IMX_8BIT
, 0x3345, 0x1F},
1122 {IMX_8BIT
, 0x3370, 0x6F},
1123 {IMX_8BIT
, 0x3371, 0x27},
1124 {IMX_8BIT
, 0x3372, 0x4F},
1125 {IMX_8BIT
, 0x3373, 0x2F},
1126 {IMX_8BIT
, 0x3374, 0x27},
1127 {IMX_8BIT
, 0x3375, 0x2F},
1128 {IMX_8BIT
, 0x3376, 0x97},
1129 {IMX_8BIT
, 0x3377, 0x37},
1130 {IMX_8BIT
, 0x33C8, 0x01},
1131 {IMX_8BIT
, 0x33D4, 0x0C},
1132 {IMX_8BIT
, 0x33D5, 0xD0},
1133 {IMX_8BIT
, 0x33D6, 0x07},
1134 {IMX_8BIT
, 0x33D7, 0x38},
1135 {IMX_TOK_TERM
, 0, 0}
1137 static struct imx_reg
const imx_CIF_strong_dvs_30fps
[] = {
1138 GROUPED_PARAMETER_HOLD_ENABLE
,
1139 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
1141 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
1142 {IMX_8BIT
, 0x0203, 0xFC}, /* coarse _integration_time[7:0] */
1144 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
1145 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
1146 {IMX_8BIT
, 0x0305, 0x04}, /* pre_pll_clk_div[7:0] */
1147 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
1148 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
1149 {IMX_8BIT
, 0x030C, 0x00},
1150 {IMX_8BIT
, 0x030D, 0x6D},
1152 {IMX_8BIT
, 0x0340, 0x06}, /* frame_length_lines[15:8] */
1153 {IMX_8BIT
, 0x0341, 0x00}, /* frame_length_lines[7:0] */
1154 {IMX_8BIT
, 0x0342, 0x11}, /* line_length_pck[15:8] */
1155 {IMX_8BIT
, 0x0343, 0xDB}, /* line_length_pck[7:0] */
1156 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
1157 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
1158 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
1159 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
1160 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
1161 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
1162 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
1163 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
1164 {IMX_8BIT
, 0x034C, 0x01}, /* x_output_size[15:8] */
1165 {IMX_8BIT
, 0x034D, 0x70}, /* x_output_size[7:0] */
1166 {IMX_8BIT
, 0x034E, 0x01}, /* y_output_size[15:8] */
1167 {IMX_8BIT
, 0x034F, 0x30}, /* y_output_size[7:0] */
1168 /* binning & scaling */
1169 {IMX_8BIT
, 0x0390, 0x02}, /* binning mode */
1170 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
1171 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
1173 {IMX_8BIT
, 0x3344, 0x37},
1174 {IMX_8BIT
, 0x3345, 0x1F},
1176 {IMX_8BIT
, 0x3370, 0x5F},
1177 {IMX_8BIT
, 0x3371, 0x17},
1178 {IMX_8BIT
, 0x3372, 0x37},
1179 {IMX_8BIT
, 0x3373, 0x17},
1180 {IMX_8BIT
, 0x3374, 0x17},
1181 {IMX_8BIT
, 0x3375, 0x0F},
1182 {IMX_8BIT
, 0x3376, 0x57},
1183 {IMX_8BIT
, 0x3377, 0x27},
1184 {IMX_8BIT
, 0x33C8, 0x01},
1185 {IMX_8BIT
, 0x33D4, 0x06},
1186 {IMX_8BIT
, 0x33D5, 0x20},
1187 {IMX_8BIT
, 0x33D6, 0x03},
1188 {IMX_8BIT
, 0x33D7, 0x6C},
1189 {IMX_TOK_TERM
, 0, 0}
1192 static struct imx_reg
const imx_VGA_strong_dvs_30fps
[] = {
1193 GROUPED_PARAMETER_HOLD_ENABLE
,
1194 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
1196 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
1197 {IMX_8BIT
, 0x0203, 0xFC}, /* coarse _integration_time[7:0] */
1199 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
1200 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
1201 {IMX_8BIT
, 0x0305, 0x04}, /* pre_pll_clk_div[7:0] */
1202 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
1203 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
1204 {IMX_8BIT
, 0x030C, 0x00},
1205 {IMX_8BIT
, 0x030D, 0x6D},
1207 {IMX_8BIT
, 0x0340, 0x06}, /* frame_length_lines[15:8] */
1208 {IMX_8BIT
, 0x0341, 0x00}, /* frame_length_lines[7:0] */
1209 {IMX_8BIT
, 0x0342, 0x11}, /* line_length_pck[15:8] */
1210 {IMX_8BIT
, 0x0343, 0x94}, /* line_length_pck[7:0] */
1211 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
1212 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
1213 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
1214 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
1215 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
1216 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
1217 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
1218 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
1219 {IMX_8BIT
, 0x034C, 0x03}, /* x_output_size[15:8] */
1220 {IMX_8BIT
, 0x034D, 0x34}, /* x_output_size[7:0] */
1221 {IMX_8BIT
, 0x034E, 0x02}, /* y_output_size[15:8] */
1222 {IMX_8BIT
, 0x034F, 0x68}, /* y_output_size[7:0] */
1223 /* binning & scaling */
1224 {IMX_8BIT
, 0x0390, 0x02}, /* binning mode */
1225 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
1226 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
1228 {IMX_8BIT
, 0x3344, 0x37},
1229 {IMX_8BIT
, 0x3345, 0x1F},
1231 {IMX_8BIT
, 0x3370, 0x5F},
1232 {IMX_8BIT
, 0x3371, 0x17},
1233 {IMX_8BIT
, 0x3372, 0x37},
1234 {IMX_8BIT
, 0x3373, 0x17},
1235 {IMX_8BIT
, 0x3374, 0x17},
1236 {IMX_8BIT
, 0x3375, 0x0F},
1237 {IMX_8BIT
, 0x3376, 0x57},
1238 {IMX_8BIT
, 0x3377, 0x27},
1239 {IMX_8BIT
, 0x33C8, 0x01},
1240 {IMX_8BIT
, 0x33D4, 0x06},
1241 {IMX_8BIT
, 0x33D5, 0x20},
1242 {IMX_8BIT
, 0x33D6, 0x03},
1243 {IMX_8BIT
, 0x33D7, 0x6C},
1244 {IMX_TOK_TERM
, 0, 0}
1247 static struct imx_reg
const imx_VGA_strong_dvs_15fps
[] = {
1248 GROUPED_PARAMETER_HOLD_ENABLE
,
1249 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
1251 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
1252 {IMX_8BIT
, 0x0203, 0xFC}, /* coarse _integration_time[7:0] */
1254 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
1255 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
1256 {IMX_8BIT
, 0x0305, 0x04}, /* pre_pll_clk_div[7:0] */
1257 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
1258 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
1259 {IMX_8BIT
, 0x030C, 0x00},
1260 {IMX_8BIT
, 0x030D, 0x6D},
1262 {IMX_8BIT
, 0x0340, 0x07}, /* frame_length_lines[15:8] */
1263 {IMX_8BIT
, 0x0341, 0x9E}, /* frame_length_lines[7:0] */
1264 {IMX_8BIT
, 0x0342, 0x1C}, /* line_length_pck[15:8] */
1265 {IMX_8BIT
, 0x0343, 0xB6}, /* line_length_pck[7:0] */
1266 {IMX_8BIT
, 0x0344, 0x00}, /* x_addr_start[15:8] */
1267 {IMX_8BIT
, 0x0345, 0x00}, /* x_addr_start[7:0] */
1268 {IMX_8BIT
, 0x0346, 0x00}, /* y_addr_start[15:8] */
1269 {IMX_8BIT
, 0x0347, 0x00}, /* y_addr_start[7:0] */
1270 {IMX_8BIT
, 0x0348, 0x0C}, /* x_addr_end[15:8] */
1271 {IMX_8BIT
, 0x0349, 0xCF}, /* x_addr_end[7:0] */
1272 {IMX_8BIT
, 0x034A, 0x09}, /* y_addr_end[15:8] */
1273 {IMX_8BIT
, 0x034B, 0x9F}, /* y_addr_end[7:0] */
1274 {IMX_8BIT
, 0x034C, 0x03}, /* x_output_size[15:8] */
1275 {IMX_8BIT
, 0x034D, 0x34}, /* x_output_size[7:0] */
1276 {IMX_8BIT
, 0x034E, 0x02}, /* y_output_size[15:8] */
1277 {IMX_8BIT
, 0x034F, 0x68}, /* y_output_size[7:0] */
1278 /* binning & scaling */
1279 {IMX_8BIT
, 0x0390, 0x02}, /* binning mode */
1280 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
1281 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
1283 {IMX_8BIT
, 0x3344, 0x37},
1284 {IMX_8BIT
, 0x3345, 0x1F},
1286 {IMX_8BIT
, 0x3370, 0x5F},
1287 {IMX_8BIT
, 0x3371, 0x17},
1288 {IMX_8BIT
, 0x3372, 0x37},
1289 {IMX_8BIT
, 0x3373, 0x17},
1290 {IMX_8BIT
, 0x3374, 0x17},
1291 {IMX_8BIT
, 0x3375, 0x0F},
1292 {IMX_8BIT
, 0x3376, 0x57},
1293 {IMX_8BIT
, 0x3377, 0x27},
1294 {IMX_8BIT
, 0x33C8, 0x01},
1295 {IMX_8BIT
, 0x33D4, 0x06},
1296 {IMX_8BIT
, 0x33D5, 0x20},
1297 {IMX_8BIT
, 0x33D6, 0x03},
1298 {IMX_8BIT
, 0x33D7, 0x6C},
1299 {IMX_TOK_TERM
, 0, 0}
1302 static struct imx_reg
const imx_QVGA_strong_dvs_30fps
[] = {
1303 GROUPED_PARAMETER_HOLD_ENABLE
,
1304 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
1306 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
1307 {IMX_8BIT
, 0x0203, 0x44}, /* coarse _integration_time[7:0] */
1309 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
1310 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
1311 {IMX_8BIT
, 0x0305, 0x06}, /* pre_pll_clk_div[7:0] */
1312 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
1313 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
1314 {IMX_8BIT
, 0x030C, 0x00},
1315 {IMX_8BIT
, 0x030D, 0x6D},
1317 {IMX_8BIT
, 0x0340, 0x05}, /* frame_length_lines[15:8] */
1318 {IMX_8BIT
, 0x0341, 0x48}, /* frame_length_lines[7:0] */
1319 {IMX_8BIT
, 0x0342, 0x0D}, /* line_length_pck[15:8] */
1320 {IMX_8BIT
, 0x0343, 0x70}, /* line_length_pck[7:0] */
1321 {IMX_8BIT
, 0x0344, 0x03}, /* x_addr_start[15:8] */
1322 {IMX_8BIT
, 0x0345, 0x38}, /* x_addr_start[7:0] */
1323 {IMX_8BIT
, 0x0346, 0x02}, /* y_addr_start[15:8] */
1324 {IMX_8BIT
, 0x0347, 0x68}, /* y_addr_start[7:0] */
1325 {IMX_8BIT
, 0x0348, 0x09}, /* x_addr_end[15:8] */
1326 {IMX_8BIT
, 0x0349, 0x97}, /* x_addr_end[7:0] */
1327 {IMX_8BIT
, 0x034A, 0x07}, /* y_addr_end[15:8] */
1328 {IMX_8BIT
, 0x034B, 0x37}, /* y_addr_end[7:0] */
1329 {IMX_8BIT
, 0x034C, 0x01}, /* x_output_size[15:8] */
1330 {IMX_8BIT
, 0x034D, 0x98}, /* x_output_size[7:0] */
1331 {IMX_8BIT
, 0x034E, 0x01}, /* y_output_size[15:8] */
1332 {IMX_8BIT
, 0x034F, 0x34}, /* y_output_size[7:0] */
1333 /* binning & scaling */
1334 {IMX_8BIT
, 0x0390, 0x02}, /* binning mode */
1335 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
1336 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
1338 {IMX_8BIT
, 0x3344, 0x37},
1339 {IMX_8BIT
, 0x3345, 0x1F},
1341 {IMX_8BIT
, 0x3370, 0x5F},
1342 {IMX_8BIT
, 0x3371, 0x17},
1343 {IMX_8BIT
, 0x3372, 0x37},
1344 {IMX_8BIT
, 0x3373, 0x17},
1345 {IMX_8BIT
, 0x3374, 0x17},
1346 {IMX_8BIT
, 0x3375, 0x0F},
1347 {IMX_8BIT
, 0x3376, 0x57},
1348 {IMX_8BIT
, 0x3377, 0x27},
1349 {IMX_8BIT
, 0x33C8, 0x01},
1350 {IMX_8BIT
, 0x33D4, 0x01},
1351 {IMX_8BIT
, 0x33D5, 0x98},
1352 {IMX_8BIT
, 0x33D6, 0x01},
1353 {IMX_8BIT
, 0x33D7, 0x34},
1354 {IMX_TOK_TERM
, 0, 0}
1357 static struct imx_reg
const imx_QCIF_strong_dvs_30fps
[] = {
1358 GROUPED_PARAMETER_HOLD_ENABLE
,
1359 {IMX_8BIT
, 0x0100, 0x00}, /* mode_select */
1361 {IMX_8BIT
, 0x0202, 0x05}, /* coarse _integration_time[15:8] */
1362 {IMX_8BIT
, 0x0203, 0x44}, /* coarse _integration_time[7:0] */
1364 {IMX_8BIT
, 0x0301, 0x05}, /* vt_pix_clk_div[7:0] */
1365 {IMX_8BIT
, 0x0303, 0x01}, /* vt_sys_clk_div[7:0] */
1366 {IMX_8BIT
, 0x0305, 0x06}, /* pre_pll_clk_div[7:0] */
1367 {IMX_8BIT
, 0x0309, 0x05}, /* op_pix_clk_div[7:0] */
1368 {IMX_8BIT
, 0x030B, 0x01}, /* op_sys_clk_div[7:0] */
1369 {IMX_8BIT
, 0x030C, 0x00},
1370 {IMX_8BIT
, 0x030D, 0x6D},
1372 {IMX_8BIT
, 0x0340, 0x05}, /* frame_length_lines[15:8] */
1373 {IMX_8BIT
, 0x0341, 0x48}, /* frame_length_lines[7:0] */
1374 {IMX_8BIT
, 0x0342, 0x0D}, /* line_length_pck[15:8] */
1375 {IMX_8BIT
, 0x0343, 0x70}, /* line_length_pck[7:0] */
1376 {IMX_8BIT
, 0x0344, 0x04}, /* x_addr_start[15:8] */
1377 {IMX_8BIT
, 0x0345, 0xB8}, /* x_addr_start[7:0] */
1378 {IMX_8BIT
, 0x0346, 0x03}, /* y_addr_start[15:8] */
1379 {IMX_8BIT
, 0x0347, 0x70}, /* y_addr_start[7:0] */
1380 {IMX_8BIT
, 0x0348, 0x08}, /* x_addr_end[15:8] */
1381 {IMX_8BIT
, 0x0349, 0x17}, /* x_addr_end[7:0] */
1382 {IMX_8BIT
, 0x034A, 0x06}, /* y_addr_end[15:8] */
1383 {IMX_8BIT
, 0x034B, 0x2F}, /* y_addr_end[7:0] */
1384 {IMX_8BIT
, 0x034C, 0x00}, /* x_output_size[15:8] */
1385 {IMX_8BIT
, 0x034D, 0xD8}, /* x_output_size[7:0] */
1386 {IMX_8BIT
, 0x034E, 0x00}, /* y_output_size[15:8] */
1387 {IMX_8BIT
, 0x034F, 0xB0}, /* y_output_size[7:0] */
1388 /* binning & scaling */
1389 {IMX_8BIT
, 0x0390, 0x02}, /* binning mode */
1390 {IMX_8BIT
, 0x0401, 0x00}, /* scaling mode*/
1391 {IMX_8BIT
, 0x0405, 0x10}, /* scale_m[7:0] */
1393 {IMX_8BIT
, 0x3344, 0x37},
1394 {IMX_8BIT
, 0x3345, 0x1F},
1396 {IMX_8BIT
, 0x3370, 0x5F},
1397 {IMX_8BIT
, 0x3371, 0x17},
1398 {IMX_8BIT
, 0x3372, 0x37},
1399 {IMX_8BIT
, 0x3373, 0x17},
1400 {IMX_8BIT
, 0x3374, 0x17},
1401 {IMX_8BIT
, 0x3375, 0x0F},
1402 {IMX_8BIT
, 0x3376, 0x57},
1403 {IMX_8BIT
, 0x3377, 0x27},
1404 {IMX_8BIT
, 0x33C8, 0x01},
1405 {IMX_8BIT
, 0x33D4, 0x00},
1406 {IMX_8BIT
, 0x33D5, 0xD8},
1407 {IMX_8BIT
, 0x33D6, 0x00},
1408 {IMX_8BIT
, 0x33D7, 0xB0},
1409 {IMX_TOK_TERM
, 0, 0}
1412 static struct imx_reg
const imx175_init_settings
[] = {
1413 GROUPED_PARAMETER_HOLD_ENABLE
,
1414 {IMX_8BIT
, 0x0103, 0x01},
1416 {IMX_8BIT
, 0x3020, 0x10},
1417 {IMX_8BIT
, 0x302D, 0x02},
1418 {IMX_8BIT
, 0x302F, 0x80},
1419 {IMX_8BIT
, 0x3032, 0xA3},
1420 {IMX_8BIT
, 0x3033, 0x20},
1421 {IMX_8BIT
, 0x3034, 0x24},
1422 {IMX_8BIT
, 0x3041, 0x15},
1423 {IMX_8BIT
, 0x3042, 0x87},
1424 {IMX_8BIT
, 0x3050, 0x35},
1425 {IMX_8BIT
, 0x3056, 0x57},
1426 {IMX_8BIT
, 0x305D, 0x41},
1427 {IMX_8BIT
, 0x3097, 0x69},
1428 {IMX_8BIT
, 0x3109, 0x41},
1429 {IMX_8BIT
, 0x3148, 0x3F},
1430 {IMX_8BIT
, 0x330F, 0x07},
1432 {IMX_8BIT
, 0x3364, 0x00},
1433 {IMX_8BIT
, 0x3368, 0x13},
1434 {IMX_8BIT
, 0x3369, 0x33},
1436 {IMX_8BIT
, 0x4100, 0x0E},
1437 {IMX_8BIT
, 0x4104, 0x32},
1438 {IMX_8BIT
, 0x4105, 0x32},
1439 {IMX_8BIT
, 0x4108, 0x01},
1440 {IMX_8BIT
, 0x4109, 0x7C},
1441 {IMX_8BIT
, 0x410A, 0x00},
1442 {IMX_8BIT
, 0x410B, 0x00},
1443 GROUPED_PARAMETER_HOLD_DISABLE
,
1444 {IMX_TOK_TERM
, 0, 0}
1446 /* TODO settings of preview/still/video will be updated with new use case */
1447 struct imx_resolution imx175_res_preview
[] = {
1449 .desc
= "CIF_strong_dvs_30fps",
1450 .regs
= imx_CIF_strong_dvs_30fps
,
1459 .pixels_per_line
= 0x11DB,
1460 .lines_per_frame
= 0x0600,
1465 .mipi_freq
= 261500,
1469 .desc
= "VGA_strong_dvs_30fps",
1470 .regs
= imx_VGA_strong_dvs_30fps
,
1479 .pixels_per_line
= 0x11DB,
1480 .lines_per_frame
= 0x0600,
1485 .mipi_freq
= 261500,
1488 .desc
= "WIDE_PREVIEW_30fps",
1489 .regs
= imx_WIDE_PREVIEW_30fps
,
1498 .pixels_per_line
= 0x1000,
1499 .lines_per_frame
= 0x0D70,
1504 .mipi_freq
= 174500,
1507 .desc
= "STILL_720p_30fps",
1508 .regs
= imx_STILL_720p_30fps
,
1517 .pixels_per_line
= 0x1428,
1518 .lines_per_frame
= 0x0548,
1523 .mipi_freq
= 261500,
1526 .desc
= "STILL_2M_30fps",
1527 .regs
= imx_STILL_2M_30fps
,
1536 .pixels_per_line
= 0x0D66,
1537 .lines_per_frame
= 0x09C4,
1542 .mipi_freq
= 320000,
1545 .desc
= "1080p_strong_dvs_30fps",
1546 .regs
= imx_1080p_no_dvs_30fps
,
1555 .pixels_per_line
= 0x0F3C,
1556 .lines_per_frame
= 0x07D0,
1561 .mipi_freq
= 292500,
1564 .desc
= "STILL_3M_30fps",
1565 .regs
= imx_STILL_3M_30fps
,
1574 .pixels_per_line
= 0x0D66,
1575 .lines_per_frame
= 0x09C4,
1580 .mipi_freq
= 320000,
1583 .desc
= "STILL_5M_30fps",
1584 .regs
= imx_STILL_5M_30fps
,
1593 .pixels_per_line
= 0x0D66,
1594 .lines_per_frame
= 0x09C4,
1599 .mipi_freq
= 320000,
1602 .desc
= "STILL_6M_30fps",
1603 .regs
= imx_STILL_6M_30fps
,
1612 .pixels_per_line
= 0x0D66,
1613 .lines_per_frame
= 0x09C4,
1618 .mipi_freq
= 320000,
1621 .desc
= "STILL_8M_30fps",
1622 .regs
= imx_STILL_8M_30fps
,
1631 .pixels_per_line
= 0x0D66,
1632 .lines_per_frame
= 0x09C4,
1637 .mipi_freq
= 320000,
1641 struct imx_resolution imx175_res_still
[] = {
1643 .desc
= "CIF_strong_dvs_30fps",
1644 .regs
= imx_CIF_strong_dvs_30fps
,
1653 .pixels_per_line
= 0x11DB,
1654 .lines_per_frame
= 0x0600,
1659 .mipi_freq
= 261000,
1662 .desc
= "VGA_strong_dvs_15fps",
1663 .regs
= imx_VGA_strong_dvs_15fps
,
1672 .pixels_per_line
= 0x1C86,
1673 .lines_per_frame
= 0x079E,
1678 .mipi_freq
= 261500,
1681 .desc
= "imx_STILL_720p_15fps",
1682 .regs
= imx_STILL_720p_15fps
,
1691 .pixels_per_line
= 0x1838,
1692 .lines_per_frame
= 0x08CA,
1697 .mipi_freq
= 261500,
1700 .desc
= "STILL_2M_15fps",
1701 .regs
= imx_STILL_2M_15fps
,
1710 .pixels_per_line
= 0x1646,
1711 .lines_per_frame
= 0x0BB8,
1716 .mipi_freq
= 320000,
1719 .desc
= "1080p_strong_dvs_15fps",
1720 .regs
= imx_1080p_no_dvs_15fps
,
1729 .pixels_per_line
= 0x189C,
1730 .lines_per_frame
= 0x09A6,
1735 .mipi_freq
= 292500,
1738 .desc
= "STILL_3M_15fps",
1739 .regs
= imx_STILL_3M_15fps
,
1748 .pixels_per_line
= 0x1646,
1749 .lines_per_frame
= 0x0BB8,
1754 .mipi_freq
= 320000,
1757 .desc
= "STILL_5M_15fps",
1758 .regs
= imx_STILL_5M_15fps
,
1762 .pixels_per_line
= 0x1646, /* consistent with regs arrays */
1763 .lines_per_frame
= 0x0BB8, /* consistent with regs arrays */
1770 .pixels_per_line
= 0x1646,
1771 .lines_per_frame
= 0x0BB8,
1776 .mipi_freq
= 320000,
1779 .desc
= "STILL_6M_15fps",
1780 .regs
= imx_STILL_6M_15fps
,
1789 .pixels_per_line
= 0x1646,
1790 .lines_per_frame
= 0x0BB8,
1795 .mipi_freq
= 320000,
1798 .desc
= "STILL_8M_15fps",
1799 .regs
= imx_STILL_8M_15fps
,
1808 .pixels_per_line
= 0x1646,
1809 .lines_per_frame
= 0x0BB8,
1814 .mipi_freq
= 320000,
1818 struct imx_resolution imx175_res_video
[] = {
1820 .desc
= "QCIF_strong_dvs_30fps",
1821 .regs
= imx_QCIF_strong_dvs_30fps
,
1830 .pixels_per_line
= 0x0D70,
1831 .lines_per_frame
= 0x0548,
1836 .mipi_freq
= 174500,
1839 .desc
= "QVGA_strong_dvs_30fps",
1840 .regs
= imx_QVGA_strong_dvs_30fps
,
1849 .pixels_per_line
= 0x0D70,
1850 .lines_per_frame
= 0x0548,
1855 .mipi_freq
= 174500,
1858 .desc
= "VGA_strong_dvs_30fps",
1859 .regs
= imx_VGA_strong_dvs_30fps
,
1868 .pixels_per_line
= 0x1194,
1869 .lines_per_frame
= 0x0600,
1874 .mipi_freq
= 261500,
1877 .desc
= "720p_strong_dvs_30fps",
1878 .regs
= imx_720p_strong_dvs_30fps
,
1887 .pixels_per_line
= 0x139C,
1888 .lines_per_frame
= 0x0600,
1892 .pixels_per_line
= 0xD70,
1893 .lines_per_frame
= 0x444,
1898 .mipi_freq
= 292500,
1901 .desc
= "480p_strong_dvs_30fps",
1902 .regs
= imx_480p_strong_dvs_30fps
,
1911 .pixels_per_line
= 0x139C,
1912 .lines_per_frame
= 0x0600,
1917 .mipi_freq
= 292500,
1920 .desc
= "WVGA_strong_dvs_30fps",
1921 .regs
= imx_WVGA_strong_dvs_30fps
,
1930 .pixels_per_line
= 0x139C,
1931 .lines_per_frame
= 0x0600,
1936 .mipi_freq
= 292500,
1939 .desc
= "1080p_strong_dvs_30fps",
1940 .regs
= imx_1080p_strong_dvs_30fps
,
1949 .pixels_per_line
= 0x11C6,
1950 .lines_per_frame
= 0x06A4,
1955 .mipi_freq
= 292500,