Lines Matching defs:camif

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