• Home
  • Raw
  • Download

Lines Matching refs:cmd

132 	struct cpia2_command cmd;  in cpia2_do_command()  local
135 cmd.command = command; in cpia2_do_command()
136 cmd.reg_count = 2; /* default */ in cpia2_do_command()
137 cmd.direction = direction; in cpia2_do_command()
144 cmd.req_mode = in cpia2_do_command()
146 cmd.start = CPIA2_SYSTEM_DEVICE_HI; in cpia2_do_command()
149 cmd.req_mode = in cpia2_do_command()
151 cmd.reg_count = 8; in cpia2_do_command()
152 cmd.start = CPIA2_SYSTEM_DESCRIP_VID_HI; in cpia2_do_command()
155 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VC; in cpia2_do_command()
156 cmd.start = CPIA2_VC_ASIC_ID; in cpia2_do_command()
159 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
160 cmd.start = CPIA2_VP_SENSOR_FLAGS; in cpia2_do_command()
163 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
164 cmd.start = CPIA2_VP_DEVICEH; in cpia2_do_command()
167 cmd.buffer.block_data[0] = param; in cpia2_do_command()
170 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
171 cmd.reg_count = 1; in cpia2_do_command()
173 cmd.start = CPIA2_VP4_EXPOSURE_TARGET; in cpia2_do_command()
175 cmd.start = CPIA2_VP5_EXPOSURE_TARGET; in cpia2_do_command()
178 cmd.buffer.block_data[0] = param; in cpia2_do_command()
181 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
182 cmd.reg_count = 1; in cpia2_do_command()
183 cmd.start = CPIA2_VP_YRANGE; in cpia2_do_command()
186 cmd.buffer.block_data[0] = param; in cpia2_do_command()
189 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
190 cmd.reg_count = 1; in cpia2_do_command()
192 cmd.start = CPIA2_VP_SATURATION; in cpia2_do_command()
194 cmd.start = CPIA2_VP5_MCUVSATURATION; in cpia2_do_command()
197 cmd.buffer.block_data[0] = param; in cpia2_do_command()
200 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
201 cmd.reg_count = 1; in cpia2_do_command()
202 cmd.start = CPIA2_VP_GPIO_DATA; in cpia2_do_command()
205 cmd.buffer.block_data[0] = param; in cpia2_do_command()
208 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
209 cmd.reg_count = 1; in cpia2_do_command()
210 cmd.start = CPIA2_VP_GPIO_DIRECTION; in cpia2_do_command()
213 cmd.buffer.block_data[0] = param; in cpia2_do_command()
216 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VC; in cpia2_do_command()
217 cmd.reg_count = 1; in cpia2_do_command()
218 cmd.start = CPIA2_VC_MP_DATA; in cpia2_do_command()
221 cmd.buffer.block_data[0] = param; in cpia2_do_command()
224 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VC; in cpia2_do_command()
225 cmd.reg_count = 1; in cpia2_do_command()
226 cmd.start = CPIA2_VC_MP_DIR; in cpia2_do_command()
229 cmd.req_mode = in cpia2_do_command()
231 cmd.start = CPIA2_SYSTEM_INT_PACKET_CTRL; in cpia2_do_command()
232 cmd.reg_count = 1; in cpia2_do_command()
233 cmd.buffer.block_data[0] = param; in cpia2_do_command()
236 cmd.buffer.block_data[0] = param; in cpia2_do_command()
239 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
240 cmd.reg_count = 1; in cpia2_do_command()
241 cmd.start = CPIA2_VP_FLICKER_MODES; in cpia2_do_command()
244 cmd.req_mode = CAMERAACCESS_TYPE_RANDOM | CAMERAACCESS_VC; in cpia2_do_command()
245 cmd.reg_count = 2; in cpia2_do_command()
246 cmd.start = 0; in cpia2_do_command()
247 cmd.buffer.registers[0].index = CPIA2_VC_ST_CTRL; in cpia2_do_command()
248 cmd.buffer.registers[0].value = CPIA2_VC_ST_CTRL_SRC_VC | in cpia2_do_command()
250 cmd.buffer.registers[1].index = CPIA2_VC_ST_CTRL; in cpia2_do_command()
251 cmd.buffer.registers[1].value = CPIA2_VC_ST_CTRL_SRC_VC | in cpia2_do_command()
257 cmd.req_mode = in cpia2_do_command()
259 cmd.reg_count = 2; in cpia2_do_command()
260 cmd.buffer.registers[0].index = in cpia2_do_command()
262 cmd.buffer.registers[1].index = in cpia2_do_command()
264 cmd.buffer.registers[0].value = CPIA2_SYSTEM_CONTROL_CLEAR_ERR; in cpia2_do_command()
265 cmd.buffer.registers[1].value = in cpia2_do_command()
269 cmd.req_mode = in cpia2_do_command()
271 cmd.reg_count = 1; in cpia2_do_command()
272 cmd.start = CPIA2_SYSTEM_SYSTEM_CONTROL; in cpia2_do_command()
273 cmd.buffer.block_data[0] = 0; in cpia2_do_command()
276 cmd.req_mode = in cpia2_do_command()
278 cmd.reg_count = 1; in cpia2_do_command()
279 cmd.start = CPIA2_SYSTEM_SYSTEM_CONTROL; in cpia2_do_command()
280 cmd.buffer.block_data[0] = CPIA2_SYSTEM_CONTROL_CLEAR_ERR; in cpia2_do_command()
283 cmd.buffer.block_data[0] = param; in cpia2_do_command()
286 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
287 cmd.reg_count = 1; in cpia2_do_command()
289 cmd.start = CPIA2_VP4_USER_MODE; in cpia2_do_command()
291 cmd.start = CPIA2_VP5_USER_MODE; in cpia2_do_command()
294 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
295 cmd.reg_count = 1; in cpia2_do_command()
297 cmd.start = CPIA2_VP4_FRAMERATE_REQUEST; in cpia2_do_command()
299 cmd.start = CPIA2_VP5_FRAMERATE_REQUEST; in cpia2_do_command()
300 cmd.buffer.block_data[0] = param; in cpia2_do_command()
303 cmd.buffer.block_data[0] = param; in cpia2_do_command()
306 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VC; in cpia2_do_command()
307 cmd.reg_count = 1; in cpia2_do_command()
308 cmd.start = CPIA2_VC_WAKEUP; in cpia2_do_command()
311 cmd.buffer.block_data[0] = param; in cpia2_do_command()
314 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VC; in cpia2_do_command()
315 cmd.reg_count = 1; in cpia2_do_command()
316 cmd.start = CPIA2_VC_PW_CTRL; in cpia2_do_command()
319 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
320 cmd.reg_count = 1; in cpia2_do_command()
321 cmd.start = CPIA2_VP_SYSTEMSTATE; in cpia2_do_command()
324 cmd.buffer.block_data[0] = param; in cpia2_do_command()
327 cmd.req_mode = in cpia2_do_command()
329 cmd.reg_count = 1; in cpia2_do_command()
330 cmd.start = CPIA2_SYSTEM_SYSTEM_CONTROL; in cpia2_do_command()
333 cmd.buffer.block_data[0] = param; in cpia2_do_command()
336 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
337 cmd.reg_count = 1; in cpia2_do_command()
338 cmd.start = CPIA2_VP_SYSTEMCTRL; in cpia2_do_command()
341 cmd.buffer.block_data[0] = param; in cpia2_do_command()
344 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
345 cmd.reg_count = 1; in cpia2_do_command()
346 cmd.start = CPIA2_VP_EXPOSURE_MODES; in cpia2_do_command()
349 cmd.buffer.block_data[0] = param; in cpia2_do_command()
352 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
353 cmd.reg_count = 1; in cpia2_do_command()
354 cmd.start = CPIA2_VP_DEVICE_CONFIG; in cpia2_do_command()
357 cmd.buffer.block_data[0] = param; in cpia2_do_command()
358 cmd.req_mode = in cpia2_do_command()
360 cmd.reg_count = 1; in cpia2_do_command()
361 cmd.start = CPIA2_SYSTEM_VP_SERIAL_ADDR; in cpia2_do_command()
364 cmd.buffer.block_data[0] = param; in cpia2_do_command()
365 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
366 cmd.reg_count = 1; in cpia2_do_command()
367 cmd.start = CPIA2_SENSOR_CR1; in cpia2_do_command()
370 cmd.buffer.block_data[0] = param; in cpia2_do_command()
373 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VC; in cpia2_do_command()
374 cmd.reg_count = 1; in cpia2_do_command()
375 cmd.start = CPIA2_VC_VC_CTRL; in cpia2_do_command()
378 cmd.req_mode = CAMERAACCESS_TYPE_RANDOM | CAMERAACCESS_VC; in cpia2_do_command()
379 cmd.reg_count = 1; in cpia2_do_command()
380 cmd.buffer.registers[0].index = CPIA2_VC_VC_TARGET_KB; in cpia2_do_command()
381 cmd.buffer.registers[0].value = param; in cpia2_do_command()
384 cmd.req_mode = CAMERAACCESS_TYPE_RANDOM | CAMERAACCESS_VC; in cpia2_do_command()
385 cmd.reg_count = 4; in cpia2_do_command()
386 cmd.buffer.registers[0].index = CPIA2_VC_VC_JPEG_OPT; in cpia2_do_command()
387 cmd.buffer.registers[0].value = in cpia2_do_command()
389 cmd.buffer.registers[1].index = CPIA2_VC_VC_USER_SQUEEZE; in cpia2_do_command()
390 cmd.buffer.registers[1].value = 20; in cpia2_do_command()
391 cmd.buffer.registers[2].index = CPIA2_VC_VC_CREEP_PERIOD; in cpia2_do_command()
392 cmd.buffer.registers[2].value = 2; in cpia2_do_command()
393 cmd.buffer.registers[3].index = CPIA2_VC_VC_JPEG_OPT; in cpia2_do_command()
394 cmd.buffer.registers[3].value = CPIA2_VC_VC_JPEG_OPT_DEFAULT; in cpia2_do_command()
397 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
398 cmd.reg_count = 1; in cpia2_do_command()
399 cmd.start = CPIA2_VP_REHASH_VALUES; in cpia2_do_command()
400 cmd.buffer.block_data[0] = param; in cpia2_do_command()
405 cmd.buffer.block_data[0] = param; in cpia2_do_command()
408 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_do_command()
409 cmd.reg_count = 1; in cpia2_do_command()
411 cmd.start = CPIA2_VP4_USER_EFFECTS; in cpia2_do_command()
413 cmd.start = CPIA2_VP5_USER_EFFECTS; in cpia2_do_command()
420 retval = cpia2_send_command(cam, &cmd); in cpia2_do_command()
431 cmd.buffer.block_data[0]; in cpia2_do_command()
433 cmd.buffer.block_data[1]; in cpia2_do_command()
436 cam->params.pnp_id.vendor = (cmd.buffer.block_data[0] << 8) | in cpia2_do_command()
437 cmd.buffer.block_data[1]; in cpia2_do_command()
438 cam->params.pnp_id.product = (cmd.buffer.block_data[2] << 8) | in cpia2_do_command()
439 cmd.buffer.block_data[3]; in cpia2_do_command()
441 (cmd.buffer.block_data[4] << 8) | in cpia2_do_command()
442 cmd.buffer.block_data[5]; in cpia2_do_command()
453 cam->params.version.asic_id = cmd.buffer.block_data[0]; in cpia2_do_command()
454 cam->params.version.asic_rev = cmd.buffer.block_data[1]; in cpia2_do_command()
457 cam->params.version.sensor_flags = cmd.buffer.block_data[0]; in cpia2_do_command()
458 cam->params.version.sensor_rev = cmd.buffer.block_data[1]; in cpia2_do_command()
461 cam->params.version.vp_device_hi = cmd.buffer.block_data[0]; in cpia2_do_command()
462 cam->params.version.vp_device_lo = cmd.buffer.block_data[1]; in cpia2_do_command()
465 cam->params.vp_params.gpio_data = cmd.buffer.block_data[0]; in cpia2_do_command()
468 cam->params.vp_params.gpio_direction = cmd.buffer.block_data[0]; in cpia2_do_command()
471 cam->params.vc_params.vc_mp_direction =cmd.buffer.block_data[0]; in cpia2_do_command()
474 cam->params.vc_params.vc_mp_data = cmd.buffer.block_data[0]; in cpia2_do_command()
478 cmd.buffer.block_data[0]; in cpia2_do_command()
481 cam->params.vc_params.wakeup = cmd.buffer.block_data[0]; in cpia2_do_command()
484 cam->params.vc_params.pw_control = cmd.buffer.block_data[0]; in cpia2_do_command()
487 cam->params.camera_state.system_ctrl = cmd.buffer.block_data[0]; in cpia2_do_command()
490 cam->params.vp_params.system_state = cmd.buffer.block_data[0]; in cpia2_do_command()
493 cam->params.vp_params.system_ctrl = cmd.buffer.block_data[0]; in cpia2_do_command()
496 cam->params.vp_params.exposure_modes = cmd.buffer.block_data[0]; in cpia2_do_command()
499 cam->params.vp_params.device_config = cmd.buffer.block_data[0]; in cpia2_do_command()
502 cam->params.vc_params.vc_control = cmd.buffer.block_data[0]; in cpia2_do_command()
505 cam->params.vp_params.video_mode = cmd.buffer.block_data[0]; in cpia2_do_command()
508 cam->params.vp_params.user_effects = cmd.buffer.block_data[0]; in cpia2_do_command()
522 #define DIR(cmd) ((cmd->direction == TRANSFER_WRITE) ? "Write" : "Read") argument
523 #define BINDEX(cmd) (cmd->req_mode & 0x03) argument
525 int cpia2_send_command(struct camera_data *cam, struct cpia2_command *cmd) in cpia2_send_command() argument
532 switch (cmd->req_mode & 0x0c) { in cpia2_send_command()
534 count = cmd->reg_count * sizeof(struct cpia2_register); in cpia2_send_command()
536 buffer = (u8 *) & cmd->buffer; in cpia2_send_command()
538 DBG("%s Random: Register block %s\n", DIR(cmd), in cpia2_send_command()
539 block_name[BINDEX(cmd)]); in cpia2_send_command()
542 count = cmd->reg_count; in cpia2_send_command()
543 start = cmd->start; in cpia2_send_command()
544 buffer = cmd->buffer.block_data; in cpia2_send_command()
546 DBG("%s Block: Register block %s\n", DIR(cmd), in cpia2_send_command()
547 block_name[BINDEX(cmd)]); in cpia2_send_command()
550 count = cmd->reg_count * sizeof(struct cpia2_reg_mask); in cpia2_send_command()
552 buffer = (u8 *) & cmd->buffer; in cpia2_send_command()
554 DBG("%s Mask: Register block %s\n", DIR(cmd), in cpia2_send_command()
555 block_name[BINDEX(cmd)]); in cpia2_send_command()
558 count = cmd->reg_count; in cpia2_send_command()
559 start = cmd->start; in cpia2_send_command()
560 buffer = cmd->buffer.block_data; in cpia2_send_command()
562 DBG("%s Repeat: Register block %s\n", DIR(cmd), in cpia2_send_command()
563 block_name[BINDEX(cmd)]); in cpia2_send_command()
572 cmd->req_mode, in cpia2_send_command()
573 start, count, cmd->direction); in cpia2_send_command()
577 for (i = 0; i < cmd->reg_count; i++) { in cpia2_send_command()
578 if((cmd->req_mode & 0x0c) == CAMERAACCESS_TYPE_BLOCK) in cpia2_send_command()
580 DIR(cmd), start + i, buffer[i]); in cpia2_send_command()
581 if((cmd->req_mode & 0x0c) == CAMERAACCESS_TYPE_RANDOM) in cpia2_send_command()
583 DIR(cmd), cmd->buffer.registers[i].index, in cpia2_send_command()
584 cmd->buffer.registers[i].value); in cpia2_send_command()
621 struct cpia2_command cmd; in cpia2_reset_camera() local
635 cmd.req_mode = CAMERAACCESS_TYPE_RANDOM | CAMERAACCESS_VC; in cpia2_reset_camera()
636 cmd.direction = TRANSFER_WRITE; in cpia2_reset_camera()
637 cmd.reg_count = 2; in cpia2_reset_camera()
638 cmd.buffer.registers[0].index = CPIA2_VC_ST_CTRL; in cpia2_reset_camera()
639 cmd.buffer.registers[0].value = CPIA2_VC_ST_CTRL_SRC_VC | in cpia2_reset_camera()
641 cmd.buffer.registers[1].index = CPIA2_VC_ST_CTRL; in cpia2_reset_camera()
642 cmd.buffer.registers[1].value = CPIA2_VC_ST_CTRL_SRC_VC | in cpia2_reset_camera()
646 cpia2_send_command(cam, &cmd); in cpia2_reset_camera()
652 cmd.req_mode = CAMERAACCESS_TYPE_RANDOM | CAMERAACCESS_SYSTEM; in cpia2_reset_camera()
653 cmd.buffer.registers[0].index = CPIA2_SYSTEM_INT_PACKET_CTRL; in cpia2_reset_camera()
654 cmd.buffer.registers[0].value = in cpia2_reset_camera()
656 cmd.reg_count = 1; in cpia2_reset_camera()
657 cpia2_send_command(cam, &cmd); in cpia2_reset_camera()
672 cmd.req_mode = CAMERAACCESS_TYPE_RANDOM | CAMERAACCESS_VP; in cpia2_reset_camera()
675 cmd.buffer.registers[0].index = CPIA2_VP5_MYBLACK_LEVEL; in cpia2_reset_camera()
676 cmd.buffer.registers[0].value = 0; /* reduce from the default in cpia2_reset_camera()
678 cmd.buffer.registers[1].index = CPIA2_VP5_MCYRANGE; in cpia2_reset_camera()
679 cmd.buffer.registers[1].value = 0x92; /* increase from 100% to in cpia2_reset_camera()
682 cmd.buffer.registers[2].index = CPIA2_VP5_MYCEILING; in cpia2_reset_camera()
683 cmd.buffer.registers[2].value = 0xFF; /* Increase from the in cpia2_reset_camera()
686 cmd.buffer.registers[3].index = CPIA2_VP5_MCUVSATURATION; in cpia2_reset_camera()
687 cmd.buffer.registers[3].value = 0xFF; /* Increase from the rec in cpia2_reset_camera()
690 cmd.buffer.registers[4].index = CPIA2_VP5_ANTIFLKRSETUP; in cpia2_reset_camera()
691 cmd.buffer.registers[4].value = 0x80; /* Inhibit the in cpia2_reset_camera()
695 cmd.buffer.registers[5].index = CPIA2_VP_RAM_ADDR_H; in cpia2_reset_camera()
696 cmd.buffer.registers[5].value = 0x01; in cpia2_reset_camera()
697 cmd.buffer.registers[6].index = CPIA2_VP_RAM_ADDR_L; in cpia2_reset_camera()
698 cmd.buffer.registers[6].value = 0xE3; in cpia2_reset_camera()
699 cmd.buffer.registers[7].index = CPIA2_VP_RAM_DATA; in cpia2_reset_camera()
700 cmd.buffer.registers[7].value = 0x02; in cpia2_reset_camera()
701 cmd.buffer.registers[8].index = CPIA2_VP_RAM_DATA; in cpia2_reset_camera()
702 cmd.buffer.registers[8].value = 0xFC; in cpia2_reset_camera()
704 cmd.direction = TRANSFER_WRITE; in cpia2_reset_camera()
705 cmd.reg_count = 9; in cpia2_reset_camera()
707 cpia2_send_command(cam, &cmd); in cpia2_reset_camera()
731 cmd.buffer.registers[0].value = tmp_reg & in cpia2_reset_camera()
735 cmd.buffer.registers[1].value = cam->params.vp_params.device_config | in cpia2_reset_camera()
737 cmd.buffer.registers[0].index = CPIA2_VP_SYSTEMCTRL; in cpia2_reset_camera()
738 cmd.buffer.registers[1].index = CPIA2_VP_DEVICE_CONFIG; in cpia2_reset_camera()
739 cmd.req_mode = CAMERAACCESS_TYPE_RANDOM | CAMERAACCESS_VP; in cpia2_reset_camera()
740 cmd.reg_count = 2; in cpia2_reset_camera()
741 cmd.direction = TRANSFER_WRITE; in cpia2_reset_camera()
742 cmd.start = 0; in cpia2_reset_camera()
743 cpia2_send_command(cam, &cmd); in cpia2_reset_camera()
777 cmd.buffer.registers[0].value = cam->params.vp_params.device_config & in cpia2_reset_camera()
781 cmd.buffer.registers[1].value = in cpia2_reset_camera()
784 cmd.buffer.registers[0].index = CPIA2_VP_DEVICE_CONFIG; in cpia2_reset_camera()
785 cmd.buffer.registers[1].index = CPIA2_VP_SYSTEMCTRL; in cpia2_reset_camera()
786 cmd.req_mode = CAMERAACCESS_TYPE_RANDOM | CAMERAACCESS_VP; in cpia2_reset_camera()
787 cmd.reg_count = 2; in cpia2_reset_camera()
788 cmd.direction = TRANSFER_WRITE; in cpia2_reset_camera()
790 cpia2_send_command(cam, &cmd); in cpia2_reset_camera()
898 struct cpia2_command *cmd, in cpia2_send_onebyte_command() argument
901 cmd->buffer.block_data[0] = datum; in cpia2_send_onebyte_command()
902 cmd->start = start; in cpia2_send_onebyte_command()
903 cmd->reg_count = 1; in cpia2_send_onebyte_command()
904 return cpia2_send_command(cam, cmd); in cpia2_send_onebyte_command()
912 struct cpia2_command cmd; in apply_vp_patch() local
921 cmd.req_mode = CAMERAACCESS_TYPE_REPEAT | CAMERAACCESS_VP; in apply_vp_patch()
922 cmd.direction = TRANSFER_WRITE; in apply_vp_patch()
925 cpia2_send_onebyte_command(cam, &cmd, 0x0A, fw->data[0]); /* hi */ in apply_vp_patch()
926 cpia2_send_onebyte_command(cam, &cmd, 0x0B, fw->data[1]); /* lo */ in apply_vp_patch()
930 cmd.start = 0x0C; /* Data */ in apply_vp_patch()
931 cmd.reg_count = min_t(uint, 64, fw->size - i); in apply_vp_patch()
932 memcpy(cmd.buffer.block_data, &fw->data[i], cmd.reg_count); in apply_vp_patch()
933 cpia2_send_command(cam, &cmd); in apply_vp_patch()
937 cpia2_send_onebyte_command(cam, &cmd, 0x0A, fw->data[0]); /* hi */ in apply_vp_patch()
938 cpia2_send_onebyte_command(cam, &cmd, 0x0B, fw->data[1]); /* lo */ in apply_vp_patch()
941 cpia2_send_onebyte_command(cam, &cmd, 0x0D, 1); in apply_vp_patch()
1151 struct cpia2_command cmd; in config_sensor_410() local
1194 cmd.req_mode = CAMERAACCESS_TYPE_RANDOM | CAMERAACCESS_VC; in config_sensor_410()
1195 cmd.direction = TRANSFER_WRITE; in config_sensor_410()
1198 cmd.buffer.registers[i].index = CPIA2_VC_VC_FORMAT; in config_sensor_410()
1200 cmd.buffer.registers[i++].value = in config_sensor_410()
1204 cmd.buffer.registers[i++].value = in config_sensor_410()
1209 cmd.buffer.registers[i].index = CPIA2_VC_VC_CLOCKS; in config_sensor_410()
1212 cmd.buffer.registers[i++].value= in config_sensor_410()
1219 cmd.buffer.registers[i++].value= in config_sensor_410()
1225 cmd.buffer.registers[i++].value = in config_sensor_410()
1230 cmd.buffer.registers[i++].value = in config_sensor_410()
1236 DBG("VC_Clocks (0xc4) = 0x%0X\n", cmd.buffer.registers[i-1].value); in config_sensor_410()
1239 cmd.buffer.registers[i].index = CPIA2_VC_VC_IHSIZE_LO; in config_sensor_410()
1241 cmd.buffer.registers[i++].value = in config_sensor_410()
1244 cmd.buffer.registers[i++].value = in config_sensor_410()
1248 cmd.buffer.registers[i].index = CPIA2_VC_VC_XLIM_HI; in config_sensor_410()
1250 cmd.buffer.registers[i++].value = (u8) 0; in config_sensor_410()
1252 cmd.buffer.registers[i++].value = (u8) 1; in config_sensor_410()
1254 cmd.buffer.registers[i].index = CPIA2_VC_VC_XLIM_LO; in config_sensor_410()
1256 cmd.buffer.registers[i++].value = (u8) 208; in config_sensor_410()
1258 cmd.buffer.registers[i++].value = (u8) 160; in config_sensor_410()
1260 cmd.buffer.registers[i].index = CPIA2_VC_VC_YLIM_HI; in config_sensor_410()
1262 cmd.buffer.registers[i++].value = (u8) 0; in config_sensor_410()
1264 cmd.buffer.registers[i++].value = (u8) 1; in config_sensor_410()
1266 cmd.buffer.registers[i].index = CPIA2_VC_VC_YLIM_LO; in config_sensor_410()
1268 cmd.buffer.registers[i++].value = (u8) 160; in config_sensor_410()
1270 cmd.buffer.registers[i++].value = (u8) 64; in config_sensor_410()
1273 cmd.buffer.registers[i].index = CPIA2_VC_VC_OHSIZE; in config_sensor_410()
1274 cmd.buffer.registers[i++].value = cam->params.roi.width / 4; in config_sensor_410()
1276 cmd.buffer.registers[i].index = CPIA2_VC_VC_OVSIZE; in config_sensor_410()
1277 cmd.buffer.registers[i++].value = cam->params.roi.height / 4; in config_sensor_410()
1280 cmd.buffer.registers[i].index = CPIA2_VC_VC_HCROP; in config_sensor_410()
1282 cmd.buffer.registers[i++].value = in config_sensor_410()
1285 cmd.buffer.registers[i++].value = in config_sensor_410()
1288 cmd.buffer.registers[i].index = CPIA2_VC_VC_VCROP; in config_sensor_410()
1290 cmd.buffer.registers[i++].value = in config_sensor_410()
1293 cmd.buffer.registers[i++].value = in config_sensor_410()
1297 cmd.buffer.registers[i].index = CPIA2_VC_VC_HPHASE; in config_sensor_410()
1298 cmd.buffer.registers[i++].value = (u8) 0; in config_sensor_410()
1300 cmd.buffer.registers[i].index = CPIA2_VC_VC_VPHASE; in config_sensor_410()
1301 cmd.buffer.registers[i++].value = (u8) 0; in config_sensor_410()
1303 cmd.buffer.registers[i].index = CPIA2_VC_VC_HISPAN; in config_sensor_410()
1304 cmd.buffer.registers[i++].value = (u8) 31; in config_sensor_410()
1306 cmd.buffer.registers[i].index = CPIA2_VC_VC_VISPAN; in config_sensor_410()
1307 cmd.buffer.registers[i++].value = (u8) 31; in config_sensor_410()
1309 cmd.buffer.registers[i].index = CPIA2_VC_VC_HICROP; in config_sensor_410()
1310 cmd.buffer.registers[i++].value = (u8) 0; in config_sensor_410()
1312 cmd.buffer.registers[i].index = CPIA2_VC_VC_VICROP; in config_sensor_410()
1313 cmd.buffer.registers[i++].value = (u8) 0; in config_sensor_410()
1315 cmd.buffer.registers[i].index = CPIA2_VC_VC_HFRACT; in config_sensor_410()
1316 cmd.buffer.registers[i++].value = (u8) 0x81; /* = 8/1 = 8 (HIBYTE/LOBYTE) */ in config_sensor_410()
1318 cmd.buffer.registers[i].index = CPIA2_VC_VC_VFRACT; in config_sensor_410()
1319 cmd.buffer.registers[i++].value = (u8) 0x81; /* = 8/1 = 8 (HIBYTE/LOBYTE) */ in config_sensor_410()
1321 cmd.reg_count = i; in config_sensor_410()
1323 cpia2_send_command(cam, &cmd); in config_sensor_410()
1337 struct cpia2_command cmd; in config_sensor_500() local
1368 cmd.req_mode = CAMERAACCESS_TYPE_RANDOM | CAMERAACCESS_VC; in config_sensor_500()
1369 cmd.direction = TRANSFER_WRITE; in config_sensor_500()
1373 cmd.buffer.registers[i].index = CPIA2_VC_VC_FORMAT; in config_sensor_500()
1374 cmd.buffer.registers[i].value = (u8) CPIA2_VC_VC_FORMAT_UFIRST; in config_sensor_500()
1376 cmd.buffer.registers[i].value |= (u8) CPIA2_VC_VC_FORMAT_DECIMATING; in config_sensor_500()
1380 cmd.buffer.registers[i].index = CPIA2_VC_VC_CLOCKS; in config_sensor_500()
1383 cmd.buffer.registers[i].value = in config_sensor_500()
1386 cmd.buffer.registers[i].value = in config_sensor_500()
1391 cmd.buffer.registers[i].value = in config_sensor_500()
1394 cmd.buffer.registers[i].value = in config_sensor_500()
1400 DBG("VC_CLOCKS = 0x%X\n", cmd.buffer.registers[i-1].value); in config_sensor_500()
1403 cmd.buffer.registers[i].index = CPIA2_VC_VC_IHSIZE_LO; in config_sensor_500()
1405 cmd.buffer.registers[i].value = in config_sensor_500()
1408 cmd.buffer.registers[i].value = in config_sensor_500()
1411 DBG("Input width = %d\n", cmd.buffer.registers[i-1].value); in config_sensor_500()
1414 cmd.buffer.registers[i].index = CPIA2_VC_VC_XLIM_HI; in config_sensor_500()
1416 cmd.buffer.registers[i++].value = (u8) 2; in config_sensor_500()
1418 cmd.buffer.registers[i++].value = (u8) 1; in config_sensor_500()
1420 cmd.buffer.registers[i].index = CPIA2_VC_VC_XLIM_LO; in config_sensor_500()
1422 cmd.buffer.registers[i++].value = (u8) 250; in config_sensor_500()
1424 cmd.buffer.registers[i++].value = (u8) 125; in config_sensor_500()
1426 cmd.buffer.registers[i++].value = (u8) 160; in config_sensor_500()
1428 cmd.buffer.registers[i].index = CPIA2_VC_VC_YLIM_HI; in config_sensor_500()
1430 cmd.buffer.registers[i++].value = (u8) 2; in config_sensor_500()
1432 cmd.buffer.registers[i++].value = (u8) 1; in config_sensor_500()
1434 cmd.buffer.registers[i].index = CPIA2_VC_VC_YLIM_LO; in config_sensor_500()
1436 cmd.buffer.registers[i++].value = (u8) 12; in config_sensor_500()
1438 cmd.buffer.registers[i++].value = (u8) 64; in config_sensor_500()
1440 cmd.buffer.registers[i++].value = (u8) 6; in config_sensor_500()
1443 cmd.buffer.registers[i].index = CPIA2_VC_VC_OHSIZE; in config_sensor_500()
1445 cmd.buffer.registers[i++].value = STV_IMAGE_CIF_COLS / 4; in config_sensor_500()
1447 cmd.buffer.registers[i++].value = width / 4; in config_sensor_500()
1449 cmd.buffer.registers[i].index = CPIA2_VC_VC_OVSIZE; in config_sensor_500()
1451 cmd.buffer.registers[i++].value = STV_IMAGE_CIF_ROWS / 4; in config_sensor_500()
1453 cmd.buffer.registers[i++].value = height / 4; in config_sensor_500()
1456 cmd.buffer.registers[i].index = CPIA2_VC_VC_HCROP; in config_sensor_500()
1458 cmd.buffer.registers[i++].value = in config_sensor_500()
1461 cmd.buffer.registers[i++].value = in config_sensor_500()
1464 cmd.buffer.registers[i++].value = in config_sensor_500()
1467 cmd.buffer.registers[i++].value = in config_sensor_500()
1470 cmd.buffer.registers[i].index = CPIA2_VC_VC_VCROP; in config_sensor_500()
1472 cmd.buffer.registers[i++].value = in config_sensor_500()
1475 cmd.buffer.registers[i++].value = in config_sensor_500()
1478 cmd.buffer.registers[i++].value = in config_sensor_500()
1481 cmd.buffer.registers[i++].value = in config_sensor_500()
1485 cmd.buffer.registers[i].index = CPIA2_VC_VC_HPHASE; in config_sensor_500()
1487 cmd.buffer.registers[i++].value = (u8) 36; in config_sensor_500()
1489 cmd.buffer.registers[i++].value = (u8) 0; in config_sensor_500()
1491 cmd.buffer.registers[i].index = CPIA2_VC_VC_VPHASE; in config_sensor_500()
1493 cmd.buffer.registers[i++].value = (u8) 32; in config_sensor_500()
1495 cmd.buffer.registers[i++].value = (u8) 0; in config_sensor_500()
1497 cmd.buffer.registers[i].index = CPIA2_VC_VC_HISPAN; in config_sensor_500()
1499 cmd.buffer.registers[i++].value = (u8) 26; in config_sensor_500()
1501 cmd.buffer.registers[i++].value = (u8) 31; in config_sensor_500()
1503 cmd.buffer.registers[i].index = CPIA2_VC_VC_VISPAN; in config_sensor_500()
1505 cmd.buffer.registers[i++].value = (u8) 21; in config_sensor_500()
1507 cmd.buffer.registers[i++].value = (u8) 31; in config_sensor_500()
1509 cmd.buffer.registers[i].index = CPIA2_VC_VC_HICROP; in config_sensor_500()
1510 cmd.buffer.registers[i++].value = (u8) 0; in config_sensor_500()
1512 cmd.buffer.registers[i].index = CPIA2_VC_VC_VICROP; in config_sensor_500()
1513 cmd.buffer.registers[i++].value = (u8) 0; in config_sensor_500()
1515 cmd.buffer.registers[i].index = CPIA2_VC_VC_HFRACT; in config_sensor_500()
1517 cmd.buffer.registers[i++].value = (u8) 0x2B; /* 2/11 */ in config_sensor_500()
1519 cmd.buffer.registers[i++].value = (u8) 0x81; /* 8/1 */ in config_sensor_500()
1521 cmd.buffer.registers[i].index = CPIA2_VC_VC_VFRACT; in config_sensor_500()
1523 cmd.buffer.registers[i++].value = (u8) 0x13; /* 1/3 */ in config_sensor_500()
1525 cmd.buffer.registers[i++].value = (u8) 0x81; /* 8/1 */ in config_sensor_500()
1527 cmd.reg_count = i; in config_sensor_500()
1529 cpia2_send_command(cam, &cmd); in config_sensor_500()
1836 struct cpia2_command cmd; in set_lowlight_boost() local
1842 cmd.direction = TRANSFER_WRITE; in set_lowlight_boost()
1843 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in set_lowlight_boost()
1844 cmd.reg_count = 3; in set_lowlight_boost()
1845 cmd.start = CPIA2_VP_RAM_ADDR_H; in set_lowlight_boost()
1847 cmd.buffer.block_data[0] = 0; /* High byte of address to write to */ in set_lowlight_boost()
1848 cmd.buffer.block_data[1] = 0x59; /* Low byte of address to write to */ in set_lowlight_boost()
1849 cmd.buffer.block_data[2] = 0; /* High byte of data to write */ in set_lowlight_boost()
1851 cpia2_send_command(cam, &cmd); in set_lowlight_boost()
1854 cmd.buffer.block_data[0] = 0x02; /* Low byte data to write */ in set_lowlight_boost()
1856 cmd.buffer.block_data[0] = 0x06; in set_lowlight_boost()
1858 cmd.start = CPIA2_VP_RAM_DATA; in set_lowlight_boost()
1859 cmd.reg_count = 1; in set_lowlight_boost()
1860 cpia2_send_command(cam, &cmd); in set_lowlight_boost()
1896 struct cpia2_command cmd; in cpia2_dbg_dump_registers() local
1901 cmd.direction = TRANSFER_READ; in cpia2_dbg_dump_registers()
1904 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_SYSTEM; in cpia2_dbg_dump_registers()
1905 cmd.reg_count = 3; in cpia2_dbg_dump_registers()
1906 cmd.start = 0; in cpia2_dbg_dump_registers()
1907 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
1909 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
1911 cmd.buffer.block_data[1]); in cpia2_dbg_dump_registers()
1913 cmd.buffer.block_data[2]); in cpia2_dbg_dump_registers()
1916 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VC; in cpia2_dbg_dump_registers()
1917 cmd.reg_count = 4; in cpia2_dbg_dump_registers()
1918 cmd.start = 0x80; in cpia2_dbg_dump_registers()
1919 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
1921 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
1923 cmd.buffer.block_data[1]); in cpia2_dbg_dump_registers()
1925 cmd.buffer.block_data[2]); in cpia2_dbg_dump_registers()
1927 cmd.buffer.block_data[3]); in cpia2_dbg_dump_registers()
1929 cmd.start = 0xA0; /* ST_CTRL */ in cpia2_dbg_dump_registers()
1930 cmd.reg_count = 1; in cpia2_dbg_dump_registers()
1931 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
1933 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
1935 cmd.start = 0xA4; /* Stream status */ in cpia2_dbg_dump_registers()
1936 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
1938 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
1940 cmd.start = 0xA8; /* USB status */ in cpia2_dbg_dump_registers()
1941 cmd.reg_count = 3; in cpia2_dbg_dump_registers()
1942 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
1944 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
1946 cmd.buffer.block_data[1]); in cpia2_dbg_dump_registers()
1948 cmd.buffer.block_data[2]); in cpia2_dbg_dump_registers()
1950 cmd.start = 0xAF; /* USB settings */ in cpia2_dbg_dump_registers()
1951 cmd.reg_count = 1; in cpia2_dbg_dump_registers()
1952 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
1954 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
1956 cmd.start = 0xC0; /* VC stuff */ in cpia2_dbg_dump_registers()
1957 cmd.reg_count = 26; in cpia2_dbg_dump_registers()
1958 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
1960 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
1962 cmd.buffer.block_data[3]); in cpia2_dbg_dump_registers()
1964 cmd.buffer.block_data[4]); in cpia2_dbg_dump_registers()
1966 cmd.buffer.block_data[5]); in cpia2_dbg_dump_registers()
1968 cmd.buffer.block_data[6]); in cpia2_dbg_dump_registers()
1970 cmd.buffer.block_data[7]); in cpia2_dbg_dump_registers()
1972 cmd.buffer.block_data[8]); in cpia2_dbg_dump_registers()
1974 cmd.buffer.block_data[9]); in cpia2_dbg_dump_registers()
1976 cmd.buffer.block_data[10]); in cpia2_dbg_dump_registers()
1978 cmd.buffer.block_data[11]); in cpia2_dbg_dump_registers()
1980 cmd.buffer.block_data[12]); in cpia2_dbg_dump_registers()
1982 cmd.buffer.block_data[13]); in cpia2_dbg_dump_registers()
1984 cmd.buffer.block_data[14]); in cpia2_dbg_dump_registers()
1986 cmd.buffer.block_data[15]); in cpia2_dbg_dump_registers()
1988 cmd.buffer.block_data[16]); in cpia2_dbg_dump_registers()
1990 cmd.buffer.block_data[17]); in cpia2_dbg_dump_registers()
1992 cmd.buffer.block_data[18]); in cpia2_dbg_dump_registers()
1994 cmd.buffer.block_data[19]); in cpia2_dbg_dump_registers()
1996 cmd.buffer.block_data[20]); in cpia2_dbg_dump_registers()
1998 cmd.buffer.block_data[21]); in cpia2_dbg_dump_registers()
2000 cmd.buffer.block_data[22]); in cpia2_dbg_dump_registers()
2002 cmd.buffer.block_data[23]); in cpia2_dbg_dump_registers()
2004 cmd.buffer.block_data[24]); in cpia2_dbg_dump_registers()
2006 cmd.buffer.block_data[25]); in cpia2_dbg_dump_registers()
2009 cmd.req_mode = CAMERAACCESS_TYPE_BLOCK | CAMERAACCESS_VP; in cpia2_dbg_dump_registers()
2010 cmd.reg_count = 14; in cpia2_dbg_dump_registers()
2011 cmd.start = 0; in cpia2_dbg_dump_registers()
2012 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
2015 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
2017 cmd.buffer.block_data[1]); in cpia2_dbg_dump_registers()
2019 cmd.buffer.block_data[2]); in cpia2_dbg_dump_registers()
2021 cmd.buffer.block_data[3]); in cpia2_dbg_dump_registers()
2023 cmd.buffer.block_data[5]); in cpia2_dbg_dump_registers()
2025 cmd.buffer.block_data[6]); in cpia2_dbg_dump_registers()
2027 cmd.buffer.block_data[7]); in cpia2_dbg_dump_registers()
2029 cmd.buffer.block_data[8]); in cpia2_dbg_dump_registers()
2031 cmd.buffer.block_data[9]); in cpia2_dbg_dump_registers()
2033 cmd.buffer.block_data[10]); in cpia2_dbg_dump_registers()
2035 cmd.buffer.block_data[11]); in cpia2_dbg_dump_registers()
2037 cmd.buffer.block_data[12]); in cpia2_dbg_dump_registers()
2039 cmd.buffer.block_data[13]); in cpia2_dbg_dump_registers()
2042 cmd.reg_count = 9; in cpia2_dbg_dump_registers()
2043 cmd.start = 0x0E; in cpia2_dbg_dump_registers()
2044 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
2046 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
2048 cmd.buffer.block_data[1]); in cpia2_dbg_dump_registers()
2050 cmd.buffer.block_data[2]); in cpia2_dbg_dump_registers()
2052 cmd.buffer.block_data[3]); in cpia2_dbg_dump_registers()
2054 cmd.buffer.block_data[4]); in cpia2_dbg_dump_registers()
2056 cmd.buffer.block_data[5]); in cpia2_dbg_dump_registers()
2058 cmd.buffer.block_data[6]); in cpia2_dbg_dump_registers()
2060 cmd.buffer.block_data[7]); in cpia2_dbg_dump_registers()
2062 cmd.buffer.block_data[8]); in cpia2_dbg_dump_registers()
2064 cmd.reg_count = 1; in cpia2_dbg_dump_registers()
2065 cmd.start = 0x1B; in cpia2_dbg_dump_registers()
2066 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
2068 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
2070 cmd.reg_count = 8 ; in cpia2_dbg_dump_registers()
2071 cmd.start = 0x0E; in cpia2_dbg_dump_registers()
2072 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
2074 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
2076 cmd.buffer.block_data[1]); in cpia2_dbg_dump_registers()
2078 cmd.buffer.block_data[5]); in cpia2_dbg_dump_registers()
2080 cmd.buffer.block_data[6]); in cpia2_dbg_dump_registers()
2082 cmd.buffer.block_data[7]); in cpia2_dbg_dump_registers()
2084 cmd.reg_count = 1; in cpia2_dbg_dump_registers()
2085 cmd.start = CPIA2_VP5_EXPOSURE_TARGET; in cpia2_dbg_dump_registers()
2086 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
2088 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
2090 cmd.reg_count = 4; in cpia2_dbg_dump_registers()
2091 cmd.start = 0x3A; in cpia2_dbg_dump_registers()
2092 cpia2_send_command(cam, &cmd); in cpia2_dbg_dump_registers()
2094 cmd.buffer.block_data[0]); in cpia2_dbg_dump_registers()
2096 cmd.buffer.block_data[1]); in cpia2_dbg_dump_registers()
2098 cmd.buffer.block_data[2]); in cpia2_dbg_dump_registers()
2100 cmd.buffer.block_data[3]); in cpia2_dbg_dump_registers()