Lines Matching refs:camif
19 void camif_hw_reset(struct camif_dev *camif) in camif_hw_reset() argument
23 cfg = camif_read(camif, S3C_CAMIF_REG_CISRCFMT); in camif_hw_reset()
25 camif_write(camif, S3C_CAMIF_REG_CISRCFMT, cfg); in camif_hw_reset()
28 cfg = camif_read(camif, S3C_CAMIF_REG_CIGCTRL); in camif_hw_reset()
30 if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV) in camif_hw_reset()
32 camif_write(camif, S3C_CAMIF_REG_CIGCTRL, cfg); in camif_hw_reset()
35 cfg = camif_read(camif, S3C_CAMIF_REG_CIGCTRL); in camif_hw_reset()
37 camif_write(camif, S3C_CAMIF_REG_CIGCTRL, cfg); in camif_hw_reset()
43 u32 cfg = camif_read(vp->camif, S3C_CAMIF_REG_CIGCTRL); in camif_hw_clear_pending_irq()
45 camif_write(vp->camif, S3C_CAMIF_REG_CIGCTRL, cfg); in camif_hw_clear_pending_irq()
52 void camif_hw_set_test_pattern(struct camif_dev *camif, unsigned int pattern) in camif_hw_set_test_pattern() argument
54 u32 cfg = camif_read(camif, S3C_CAMIF_REG_CIGCTRL); in camif_hw_set_test_pattern()
57 camif_write(camif, S3C_CAMIF_REG_CIGCTRL, cfg); in camif_hw_set_test_pattern()
60 void camif_hw_set_effect(struct camif_dev *camif, unsigned int effect, in camif_hw_set_effect() argument
82 cfg = camif_read(camif, S3C_CAMIF_REG_CIIMGEFF(camif->vp->offset)); in camif_hw_set_effect()
87 if (camif->variant->ip_revision >= S3C6400_CAMIF_IP_REV) { in camif_hw_set_effect()
95 camif_write(camif, S3C_CAMIF_REG_CIIMGEFF(camif->vp->offset), cfg); in camif_hw_set_effect()
106 void camif_hw_set_source_format(struct camif_dev *camif) in camif_hw_set_source_format() argument
108 struct v4l2_mbus_framefmt *mf = &camif->mbus_fmt; in camif_hw_set_source_format()
118 dev_err(camif->dev, in camif_hw_set_source_format()
123 cfg = camif_read(camif, S3C_CAMIF_REG_CISRCFMT); in camif_hw_set_source_format()
127 camif_write(camif, S3C_CAMIF_REG_CISRCFMT, cfg); in camif_hw_set_source_format()
131 void camif_hw_set_camera_crop(struct camif_dev *camif) in camif_hw_set_camera_crop() argument
133 struct v4l2_mbus_framefmt *mf = &camif->mbus_fmt; in camif_hw_set_camera_crop()
134 struct v4l2_rect *crop = &camif->camif_crop; in camif_hw_set_camera_crop()
139 cfg = camif_read(camif, S3C_CAMIF_REG_CIWDOFST); in camif_hw_set_camera_crop()
144 camif_write(camif, S3C_CAMIF_REG_CIWDOFST, cfg); in camif_hw_set_camera_crop()
146 if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV) { in camif_hw_set_camera_crop()
150 camif_write(camif, S3C_CAMIF_REG_CIWDOFST2, cfg); in camif_hw_set_camera_crop()
156 struct camif_dev *camif = vp->camif; in camif_hw_clear_fifo_overflow() local
159 cfg = camif_read(camif, S3C_CAMIF_REG_CIWDOFST); in camif_hw_clear_fifo_overflow()
166 camif_write(camif, S3C_CAMIF_REG_CIWDOFST, cfg); in camif_hw_clear_fifo_overflow()
170 void camif_hw_set_camera_bus(struct camif_dev *camif) in camif_hw_set_camera_bus() argument
172 unsigned int flags = camif->pdata.sensor.flags; in camif_hw_set_camera_bus()
174 u32 cfg = camif_read(camif, S3C_CAMIF_REG_CIGCTRL); in camif_hw_set_camera_bus()
192 if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV) { in camif_hw_set_camera_bus()
200 camif_write(camif, S3C_CAMIF_REG_CIGCTRL, cfg); in camif_hw_set_camera_bus()
206 struct camif_dev *camif = vp->camif; in camif_hw_set_output_addr() local
208 camif_write(camif, S3C_CAMIF_REG_CIYSA(vp->id, i), paddr->y); in camif_hw_set_output_addr()
209 if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV in camif_hw_set_output_addr()
211 camif_write(camif, S3C_CAMIF_REG_CICBSA(vp->id, i), in camif_hw_set_output_addr()
213 camif_write(camif, S3C_CAMIF_REG_CICRSA(vp->id, i), in camif_hw_set_output_addr()
226 cfg = camif_read(vp->camif, S3C_CAMIF_REG_CITRGFMT(vp->id, vp->offset)); in camif_hw_set_out_dma_size()
229 camif_write(vp->camif, S3C_CAMIF_REG_CITRGFMT(vp->id, vp->offset), cfg); in camif_hw_set_out_dma_size()
260 struct camif_dev *camif = vp->camif; in camif_hw_set_output_dma() local
268 if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV) { in camif_hw_set_output_dma()
273 camif_write(camif, S3C_CAMIF_REG_CISSY(vp->id), cfg); in camif_hw_set_output_dma()
274 camif_write(camif, S3C_CAMIF_REG_CISSCB(vp->id), cfg); in camif_hw_set_output_dma()
275 camif_write(camif, S3C_CAMIF_REG_CISSCR(vp->id), cfg); in camif_hw_set_output_dma()
281 cfg = camif_read(camif, S3C_CAMIF_REG_CICTRL(vp->id, vp->offset)); in camif_hw_set_output_dma()
287 camif_write(camif, S3C_CAMIF_REG_CICTRL(vp->id, vp->offset), cfg); in camif_hw_set_output_dma()
294 u32 cfg = camif_read(vp->camif, S3C_CAMIF_REG_MSCTRL(vp->id)); in camif_hw_set_input_path()
296 camif_write(vp->camif, S3C_CAMIF_REG_MSCTRL(vp->id), cfg); in camif_hw_set_input_path()
301 struct camif_dev *camif = vp->camif; in camif_hw_set_target_format() local
308 cfg = camif_read(camif, S3C_CAMIF_REG_CITRGFMT(vp->id, vp->offset)); in camif_hw_set_target_format()
311 if (camif->variant->ip_revision == S3C244X_CAMIF_IP_REV) { in camif_hw_set_target_format()
340 camif_write(camif, S3C_CAMIF_REG_CITRGFMT(vp->id, vp->offset), cfg); in camif_hw_set_target_format()
343 cfg = camif_read(camif, S3C_CAMIF_REG_CITAREA(vp->id, vp->offset)); in camif_hw_set_target_format()
346 camif_write(camif, S3C_CAMIF_REG_CITAREA(vp->id, vp->offset), cfg); in camif_hw_set_target_format()
351 u32 cfg = camif_read(vp->camif, in camif_hw_set_flip()
361 camif_write(vp->camif, S3C_CAMIF_REG_CITRGFMT(vp->id, vp->offset), cfg); in camif_hw_set_flip()
366 struct camif_dev *camif = vp->camif; in camif_hw_set_prescaler() local
376 camif_write(camif, addr, cfg); in camif_hw_set_prescaler()
379 camif_write(camif, S3C_CAMIF_REG_CISCPREDST(vp->id, vp->offset), cfg); in camif_hw_set_prescaler()
384 struct camif_dev *camif = vp->camif; in camif_s3c244x_hw_set_scaler() local
391 cfg = camif_read(camif, S3C_CAMIF_REG_CISCCTRL(vp->id, vp->offset)); in camif_s3c244x_hw_set_scaler()
423 camif_write(camif, S3C_CAMIF_REG_CISCCTRL(vp->id, vp->offset), cfg); in camif_s3c244x_hw_set_scaler()
431 struct camif_dev *camif = vp->camif; in camif_s3c64xx_hw_set_scaler() local
438 cfg = camif_read(camif, S3C_CAMIF_REG_CISCCTRL(vp->id, vp->offset)); in camif_s3c64xx_hw_set_scaler()
472 camif_write(camif, S3C_CAMIF_REG_CISCCTRL(vp->id, vp->offset), cfg); in camif_s3c64xx_hw_set_scaler()
480 unsigned int ip_rev = vp->camif->variant->ip_revision; in camif_hw_set_scaler()
493 cfg = camif_read(vp->camif, addr); in camif_hw_enable_scaler()
498 camif_write(vp->camif, addr, cfg); in camif_hw_enable_scaler()
506 cfg = camif_read(vp->camif, addr); in camif_hw_set_lastirq()
511 camif_write(vp->camif, addr, cfg); in camif_hw_set_lastirq()
516 struct camif_dev *camif = vp->camif; in camif_hw_enable_capture() local
519 cfg = camif_read(camif, S3C_CAMIF_REG_CIIMGCPT(vp->offset)); in camif_hw_enable_capture()
520 camif->stream_count++; in camif_hw_enable_capture()
522 if (camif->variant->ip_revision == S3C6410_CAMIF_IP_REV) in camif_hw_enable_capture()
528 if (camif->stream_count == 1) in camif_hw_enable_capture()
531 camif_write(camif, S3C_CAMIF_REG_CIIMGCPT(vp->offset), cfg); in camif_hw_enable_capture()
534 cfg, camif->stream_count); in camif_hw_enable_capture()
539 struct camif_dev *camif = vp->camif; in camif_hw_disable_capture() local
542 cfg = camif_read(camif, S3C_CAMIF_REG_CIIMGCPT(vp->offset)); in camif_hw_disable_capture()
545 if (WARN_ON(--(camif->stream_count) < 0)) in camif_hw_disable_capture()
546 camif->stream_count = 0; in camif_hw_disable_capture()
548 if (camif->stream_count == 0) in camif_hw_disable_capture()
552 cfg, camif->stream_count); in camif_hw_disable_capture()
554 camif_write(camif, S3C_CAMIF_REG_CIIMGCPT(vp->offset), cfg); in camif_hw_disable_capture()
557 void camif_hw_dump_regs(struct camif_dev *camif, const char *label) in camif_hw_dump_regs() argument
603 u32 cfg = readl(camif->io_base + registers[i].offset); in camif_hw_dump_regs()
604 dev_info(camif->dev, "%s:\t0x%08x\n", registers[i].name, cfg); in camif_hw_dump_regs()