ccp2 2109 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.lanecfg.clk.pos = vep->bus.mipi_csi1.clock_lane; ccp2 2110 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.lanecfg.clk.pol = vep->bus.mipi_csi1.lane_polarity[0]; ccp2 2112 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.lanecfg.clk.pol, ccp2 2113 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.lanecfg.clk.pos); ccp2 2115 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.lanecfg.data[0].pos = vep->bus.mipi_csi1.data_lane; ccp2 2116 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.lanecfg.data[0].pol = ccp2 2120 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.lanecfg.data[0].pol, ccp2 2121 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.lanecfg.data[0].pos); ccp2 2123 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.strobe_clk_pol = vep->bus.mipi_csi1.clock_inv; ccp2 2124 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.phy_layer = vep->bus.mipi_csi1.strobe; ccp2 2125 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.ccp2_mode = vep->bus_type == V4L2_MBUS_CCP2; ccp2 2126 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.vp_clk_pol = 1; ccp2 2128 drivers/media/platform/omap3isp/isp.c buscfg->bus.ccp2.crc = 1; ccp2 68 drivers/media/platform/omap3isp/ispccp2.c static void ccp2_print_status(struct isp_ccp2_device *ccp2) ccp2 70 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 110 drivers/media/platform/omap3isp/ispccp2.c static void ccp2_reset(struct isp_ccp2_device *ccp2) ccp2 112 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 133 drivers/media/platform/omap3isp/ispccp2.c static void ccp2_pwr_cfg(struct isp_ccp2_device *ccp2) ccp2 135 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 148 drivers/media/platform/omap3isp/ispccp2.c static int ccp2_if_enable(struct isp_ccp2_device *ccp2, u8 enable) ccp2 150 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 154 drivers/media/platform/omap3isp/ispccp2.c if (enable && ccp2->vdds_csib) { ccp2 155 drivers/media/platform/omap3isp/ispccp2.c ret = regulator_enable(ccp2->vdds_csib); ccp2 171 drivers/media/platform/omap3isp/ispccp2.c if (!enable && ccp2->vdds_csib) ccp2 172 drivers/media/platform/omap3isp/ispccp2.c regulator_disable(ccp2->vdds_csib); ccp2 182 drivers/media/platform/omap3isp/ispccp2.c static void ccp2_mem_enable(struct isp_ccp2_device *ccp2, u8 enable) ccp2 184 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 187 drivers/media/platform/omap3isp/ispccp2.c ccp2_if_enable(ccp2, 0); ccp2 207 drivers/media/platform/omap3isp/ispccp2.c static int ccp2_phyif_config(struct isp_ccp2_device *ccp2, ccp2 210 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 252 drivers/media/platform/omap3isp/ispccp2.c static void ccp2_vp_config(struct isp_ccp2_device *ccp2, ccp2 255 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 285 drivers/media/platform/omap3isp/ispccp2.c static void ccp2_lcx_config(struct isp_ccp2_device *ccp2, ccp2 288 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 348 drivers/media/platform/omap3isp/ispccp2.c static int ccp2_if_configure(struct isp_ccp2_device *ccp2) ccp2 350 drivers/media/platform/omap3isp/ispccp2.c struct isp_pipeline *pipe = to_isp_pipeline(&ccp2->subdev.entity); ccp2 358 drivers/media/platform/omap3isp/ispccp2.c ccp2_pwr_cfg(ccp2); ccp2 360 drivers/media/platform/omap3isp/ispccp2.c pad = media_entity_remote_pad(&ccp2->pads[CCP2_PAD_SINK]); ccp2 364 drivers/media/platform/omap3isp/ispccp2.c ret = ccp2_phyif_config(ccp2, &buscfg->bus.ccp2); ccp2 368 drivers/media/platform/omap3isp/ispccp2.c ccp2_vp_config(ccp2, buscfg->bus.ccp2.vpclk_div + 1); ccp2 372 drivers/media/platform/omap3isp/ispccp2.c format = &ccp2->formats[CCP2_PAD_SINK]; ccp2 374 drivers/media/platform/omap3isp/ispccp2.c ccp2->if_cfg.data_start = lines; ccp2 375 drivers/media/platform/omap3isp/ispccp2.c ccp2->if_cfg.crc = buscfg->bus.ccp2.crc; ccp2 376 drivers/media/platform/omap3isp/ispccp2.c ccp2->if_cfg.format = format->code; ccp2 377 drivers/media/platform/omap3isp/ispccp2.c ccp2->if_cfg.data_size = format->height; ccp2 379 drivers/media/platform/omap3isp/ispccp2.c ccp2_lcx_config(ccp2, &ccp2->if_cfg); ccp2 384 drivers/media/platform/omap3isp/ispccp2.c static int ccp2_adjust_bandwidth(struct isp_ccp2_device *ccp2) ccp2 386 drivers/media/platform/omap3isp/ispccp2.c struct isp_pipeline *pipe = to_isp_pipeline(&ccp2->subdev.entity); ccp2 387 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 388 drivers/media/platform/omap3isp/ispccp2.c const struct v4l2_mbus_framefmt *ofmt = &ccp2->formats[CCP2_PAD_SOURCE]; ccp2 432 drivers/media/platform/omap3isp/ispccp2.c static void ccp2_mem_configure(struct isp_ccp2_device *ccp2, ccp2 435 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 436 drivers/media/platform/omap3isp/ispccp2.c u32 sink_pixcode = ccp2->formats[CCP2_PAD_SINK].code; ccp2 437 drivers/media/platform/omap3isp/ispccp2.c u32 source_pixcode = ccp2->formats[CCP2_PAD_SOURCE].code; ccp2 445 drivers/media/platform/omap3isp/ispccp2.c ccp2_pwr_cfg(ccp2); ccp2 456 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->video_in.bpl_padding == 0) ccp2 459 drivers/media/platform/omap3isp/ispccp2.c config->src_ofst = ccp2->video_in.bpl_value; ccp2 505 drivers/media/platform/omap3isp/ispccp2.c ccp2_vp_config(ccp2, ccp2_adjust_bandwidth(ccp2)); ccp2 525 drivers/media/platform/omap3isp/ispccp2.c static void ccp2_set_inaddr(struct isp_ccp2_device *ccp2, u32 addr) ccp2 527 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 536 drivers/media/platform/omap3isp/ispccp2.c static void ccp2_isr_buffer(struct isp_ccp2_device *ccp2) ccp2 538 drivers/media/platform/omap3isp/ispccp2.c struct isp_pipeline *pipe = to_isp_pipeline(&ccp2->subdev.entity); ccp2 541 drivers/media/platform/omap3isp/ispccp2.c buffer = omap3isp_video_buffer_next(&ccp2->video_in); ccp2 543 drivers/media/platform/omap3isp/ispccp2.c ccp2_set_inaddr(ccp2, buffer->dma); ccp2 547 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->state == ISP_PIPELINE_STREAM_SINGLESHOT) { ccp2 560 drivers/media/platform/omap3isp/ispccp2.c void omap3isp_ccp2_isr(struct isp_ccp2_device *ccp2) ccp2 562 drivers/media/platform/omap3isp/ispccp2.c struct isp_pipeline *pipe = to_isp_pipeline(&ccp2->subdev.entity); ccp2 563 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 595 drivers/media/platform/omap3isp/ispccp2.c if (omap3isp_module_sync_is_stopping(&ccp2->wait, &ccp2->stopping)) ccp2 600 drivers/media/platform/omap3isp/ispccp2.c ccp2_isr_buffer(ccp2); ccp2 621 drivers/media/platform/omap3isp/ispccp2.c __ccp2_get_format(struct isp_ccp2_device *ccp2, struct v4l2_subdev_pad_config *cfg, ccp2 625 drivers/media/platform/omap3isp/ispccp2.c return v4l2_subdev_get_try_format(&ccp2->subdev, cfg, pad); ccp2 627 drivers/media/platform/omap3isp/ispccp2.c return &ccp2->formats[pad]; ccp2 638 drivers/media/platform/omap3isp/ispccp2.c static void ccp2_try_format(struct isp_ccp2_device *ccp2, ccp2 650 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->input == CCP2_INPUT_SENSOR) { ccp2 657 drivers/media/platform/omap3isp/ispccp2.c } else if (ccp2->input == CCP2_INPUT_MEMORY) { ccp2 673 drivers/media/platform/omap3isp/ispccp2.c format = __ccp2_get_format(ccp2, cfg, CCP2_PAD_SINK, which); ccp2 694 drivers/media/platform/omap3isp/ispccp2.c struct isp_ccp2_device *ccp2 = v4l2_get_subdevdata(sd); ccp2 706 drivers/media/platform/omap3isp/ispccp2.c format = __ccp2_get_format(ccp2, cfg, CCP2_PAD_SINK, ccp2 718 drivers/media/platform/omap3isp/ispccp2.c struct isp_ccp2_device *ccp2 = v4l2_get_subdevdata(sd); ccp2 727 drivers/media/platform/omap3isp/ispccp2.c ccp2_try_format(ccp2, cfg, fse->pad, &format, fse->which); ccp2 737 drivers/media/platform/omap3isp/ispccp2.c ccp2_try_format(ccp2, cfg, fse->pad, &format, fse->which); ccp2 754 drivers/media/platform/omap3isp/ispccp2.c struct isp_ccp2_device *ccp2 = v4l2_get_subdevdata(sd); ccp2 757 drivers/media/platform/omap3isp/ispccp2.c format = __ccp2_get_format(ccp2, cfg, fmt->pad, fmt->which); ccp2 775 drivers/media/platform/omap3isp/ispccp2.c struct isp_ccp2_device *ccp2 = v4l2_get_subdevdata(sd); ccp2 778 drivers/media/platform/omap3isp/ispccp2.c format = __ccp2_get_format(ccp2, cfg, fmt->pad, fmt->which); ccp2 782 drivers/media/platform/omap3isp/ispccp2.c ccp2_try_format(ccp2, cfg, fmt->pad, &fmt->format, fmt->which); ccp2 787 drivers/media/platform/omap3isp/ispccp2.c format = __ccp2_get_format(ccp2, cfg, CCP2_PAD_SOURCE, ccp2 790 drivers/media/platform/omap3isp/ispccp2.c ccp2_try_format(ccp2, cfg, CCP2_PAD_SOURCE, format, fmt->which); ccp2 828 drivers/media/platform/omap3isp/ispccp2.c struct isp_ccp2_device *ccp2 = v4l2_get_subdevdata(sd); ccp2 829 drivers/media/platform/omap3isp/ispccp2.c struct isp_device *isp = to_isp_device(ccp2); ccp2 830 drivers/media/platform/omap3isp/ispccp2.c struct device *dev = to_device(ccp2); ccp2 833 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->state == ISP_PIPELINE_STREAM_STOPPED) { ccp2 836 drivers/media/platform/omap3isp/ispccp2.c atomic_set(&ccp2->stopping, 0); ccp2 841 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->phy) { ccp2 842 drivers/media/platform/omap3isp/ispccp2.c ret = omap3isp_csiphy_acquire(ccp2->phy, &sd->entity); ccp2 847 drivers/media/platform/omap3isp/ispccp2.c ccp2_if_configure(ccp2); ccp2 848 drivers/media/platform/omap3isp/ispccp2.c ccp2_print_status(ccp2); ccp2 851 drivers/media/platform/omap3isp/ispccp2.c ret = ccp2_if_enable(ccp2, 1); ccp2 853 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->phy) ccp2 854 drivers/media/platform/omap3isp/ispccp2.c omap3isp_csiphy_release(ccp2->phy); ccp2 860 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->state != ISP_PIPELINE_STREAM_SINGLESHOT) { ccp2 863 drivers/media/platform/omap3isp/ispccp2.c format = &ccp2->formats[CCP2_PAD_SINK]; ccp2 865 drivers/media/platform/omap3isp/ispccp2.c ccp2->mem_cfg.hsize_count = format->width; ccp2 866 drivers/media/platform/omap3isp/ispccp2.c ccp2->mem_cfg.vsize_count = format->height; ccp2 867 drivers/media/platform/omap3isp/ispccp2.c ccp2->mem_cfg.src_ofst = 0; ccp2 869 drivers/media/platform/omap3isp/ispccp2.c ccp2_mem_configure(ccp2, &ccp2->mem_cfg); ccp2 871 drivers/media/platform/omap3isp/ispccp2.c ccp2_print_status(ccp2); ccp2 873 drivers/media/platform/omap3isp/ispccp2.c ccp2_mem_enable(ccp2, 1); ccp2 877 drivers/media/platform/omap3isp/ispccp2.c if (omap3isp_module_sync_idle(&sd->entity, &ccp2->wait, ccp2 878 drivers/media/platform/omap3isp/ispccp2.c &ccp2->stopping)) ccp2 880 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->input == CCP2_INPUT_MEMORY) { ccp2 881 drivers/media/platform/omap3isp/ispccp2.c ccp2_mem_enable(ccp2, 0); ccp2 883 drivers/media/platform/omap3isp/ispccp2.c } else if (ccp2->input == CCP2_INPUT_SENSOR) { ccp2 885 drivers/media/platform/omap3isp/ispccp2.c ccp2_if_enable(ccp2, 0); ccp2 886 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->phy) ccp2 887 drivers/media/platform/omap3isp/ispccp2.c omap3isp_csiphy_release(ccp2->phy); ccp2 892 drivers/media/platform/omap3isp/ispccp2.c ccp2->state = enable; ccp2 932 drivers/media/platform/omap3isp/ispccp2.c struct isp_ccp2_device *ccp2 = &video->isp->isp_ccp2; ccp2 934 drivers/media/platform/omap3isp/ispccp2.c ccp2_set_inaddr(ccp2, buffer->dma); ccp2 959 drivers/media/platform/omap3isp/ispccp2.c struct isp_ccp2_device *ccp2 = v4l2_get_subdevdata(sd); ccp2 970 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->input == CCP2_INPUT_SENSOR) ccp2 972 drivers/media/platform/omap3isp/ispccp2.c ccp2->input = CCP2_INPUT_MEMORY; ccp2 974 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->input == CCP2_INPUT_MEMORY) ccp2 975 drivers/media/platform/omap3isp/ispccp2.c ccp2->input = CCP2_INPUT_NONE; ccp2 982 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->input == CCP2_INPUT_MEMORY) ccp2 984 drivers/media/platform/omap3isp/ispccp2.c ccp2->input = CCP2_INPUT_SENSOR; ccp2 986 drivers/media/platform/omap3isp/ispccp2.c if (ccp2->input == CCP2_INPUT_SENSOR) ccp2 987 drivers/media/platform/omap3isp/ispccp2.c ccp2->input = CCP2_INPUT_NONE; ccp2 993 drivers/media/platform/omap3isp/ispccp2.c ccp2->output = CCP2_OUTPUT_CCDC; ccp2 995 drivers/media/platform/omap3isp/ispccp2.c ccp2->output = CCP2_OUTPUT_NONE; ccp2 1015 drivers/media/platform/omap3isp/ispccp2.c void omap3isp_ccp2_unregister_entities(struct isp_ccp2_device *ccp2) ccp2 1017 drivers/media/platform/omap3isp/ispccp2.c v4l2_device_unregister_subdev(&ccp2->subdev); ccp2 1018 drivers/media/platform/omap3isp/ispccp2.c omap3isp_video_unregister(&ccp2->video_in); ccp2 1028 drivers/media/platform/omap3isp/ispccp2.c int omap3isp_ccp2_register_entities(struct isp_ccp2_device *ccp2, ccp2 1034 drivers/media/platform/omap3isp/ispccp2.c ccp2->subdev.dev = vdev->mdev->dev; ccp2 1035 drivers/media/platform/omap3isp/ispccp2.c ret = v4l2_device_register_subdev(vdev, &ccp2->subdev); ccp2 1039 drivers/media/platform/omap3isp/ispccp2.c ret = omap3isp_video_register(&ccp2->video_in, vdev); ccp2 1046 drivers/media/platform/omap3isp/ispccp2.c omap3isp_ccp2_unregister_entities(ccp2); ccp2 1059 drivers/media/platform/omap3isp/ispccp2.c static int ccp2_init_entities(struct isp_ccp2_device *ccp2) ccp2 1061 drivers/media/platform/omap3isp/ispccp2.c struct v4l2_subdev *sd = &ccp2->subdev; ccp2 1062 drivers/media/platform/omap3isp/ispccp2.c struct media_pad *pads = ccp2->pads; ccp2 1066 drivers/media/platform/omap3isp/ispccp2.c ccp2->input = CCP2_INPUT_NONE; ccp2 1067 drivers/media/platform/omap3isp/ispccp2.c ccp2->output = CCP2_OUTPUT_NONE; ccp2 1073 drivers/media/platform/omap3isp/ispccp2.c v4l2_set_subdevdata(sd, ccp2); ccp2 1098 drivers/media/platform/omap3isp/ispccp2.c ccp2->video_in.type = V4L2_BUF_TYPE_VIDEO_OUTPUT; ccp2 1099 drivers/media/platform/omap3isp/ispccp2.c ccp2->video_in.bpl_alignment = 32; ccp2 1100 drivers/media/platform/omap3isp/ispccp2.c ccp2->video_in.bpl_max = 0xffffffe0; ccp2 1101 drivers/media/platform/omap3isp/ispccp2.c ccp2->video_in.isp = to_isp_device(ccp2); ccp2 1102 drivers/media/platform/omap3isp/ispccp2.c ccp2->video_in.ops = &ccp2_video_ops; ccp2 1103 drivers/media/platform/omap3isp/ispccp2.c ccp2->video_in.capture_mem = PAGE_ALIGN(4096 * 4096) * 3; ccp2 1105 drivers/media/platform/omap3isp/ispccp2.c ret = omap3isp_video_init(&ccp2->video_in, "CCP2"); ccp2 1112 drivers/media/platform/omap3isp/ispccp2.c media_entity_cleanup(&ccp2->subdev.entity); ccp2 1123 drivers/media/platform/omap3isp/ispccp2.c struct isp_ccp2_device *ccp2 = &isp->isp_ccp2; ccp2 1126 drivers/media/platform/omap3isp/ispccp2.c init_waitqueue_head(&ccp2->wait); ccp2 1140 drivers/media/platform/omap3isp/ispccp2.c ccp2->vdds_csib = devm_regulator_get(isp->dev, "vdds_csib"); ccp2 1141 drivers/media/platform/omap3isp/ispccp2.c if (IS_ERR(ccp2->vdds_csib)) { ccp2 1142 drivers/media/platform/omap3isp/ispccp2.c if (PTR_ERR(ccp2->vdds_csib) == -EPROBE_DEFER) { ccp2 1149 drivers/media/platform/omap3isp/ispccp2.c ccp2->vdds_csib = NULL; ccp2 1151 drivers/media/platform/omap3isp/ispccp2.c ccp2->phy = &isp->isp_csiphy2; ccp2 1153 drivers/media/platform/omap3isp/ispccp2.c ccp2->phy = &isp->isp_csiphy1; ccp2 1156 drivers/media/platform/omap3isp/ispccp2.c ret = ccp2_init_entities(ccp2); ccp2 1160 drivers/media/platform/omap3isp/ispccp2.c ccp2_reset(ccp2); ccp2 1170 drivers/media/platform/omap3isp/ispccp2.c struct isp_ccp2_device *ccp2 = &isp->isp_ccp2; ccp2 1172 drivers/media/platform/omap3isp/ispccp2.c omap3isp_video_cleanup(&ccp2->video_in); ccp2 1173 drivers/media/platform/omap3isp/ispccp2.c media_entity_cleanup(&ccp2->subdev.entity); ccp2 80 drivers/media/platform/omap3isp/ispccp2.h int omap3isp_ccp2_register_entities(struct isp_ccp2_device *ccp2, ccp2 82 drivers/media/platform/omap3isp/ispccp2.h void omap3isp_ccp2_unregister_entities(struct isp_ccp2_device *ccp2); ccp2 83 drivers/media/platform/omap3isp/ispccp2.h void omap3isp_ccp2_isr(struct isp_ccp2_device *ccp2); ccp2 174 drivers/media/platform/omap3isp/ispcsiphy.c lanes = &buscfg->bus.ccp2.lanecfg; ccp2 207 drivers/media/platform/omap3isp/ispcsiphy.c buscfg->bus.ccp2.phy_layer); ccp2 312 drivers/media/platform/omap3isp/ispcsiphy.c buscfg->bus.ccp2.phy_layer); ccp2 125 drivers/media/platform/omap3isp/omap3isp.h struct isp_ccp2_cfg ccp2;