/linux/drivers/media/platform/sunxi/sun4i-csi/ |
H A D | sun4i_csi.c | 57 struct sun4i_csi *csi = container_of(notifier, struct sun4i_csi, in sun4i_csi_notify_bound() local 60 csi->src_subdev = subdev; in sun4i_csi_notify_bound() 61 csi->src_pad = media_entity_get_fwnode_pad(&subdev->entity, in sun4i_csi_notify_bound() 64 if (csi->src_pad < 0) { in sun4i_csi_notify_bound() 65 dev_err(csi->dev, "Couldn't find output pad for subdev %s\n", in sun4i_csi_notify_bound() 67 return csi->src_pad; in sun4i_csi_notify_bound() 70 dev_dbg(csi->dev, "Bound %s pad: %d\n", subdev->name, csi->src_pad); in sun4i_csi_notify_bound() 76 struct sun4i_csi *csi = container_of(notifier, struct sun4i_csi, in sun4i_csi_notify_complete() local 78 struct v4l2_subdev *subdev = &csi->subdev; in sun4i_csi_notify_complete() 79 struct video_device *vdev = &csi->vdev; in sun4i_csi_notify_complete() [all …]
|
H A D | sun4i_v4l2.c | 91 static void _sun4i_csi_try_fmt(struct sun4i_csi *csi, in _sun4i_csi_try_fmt() argument 134 struct sun4i_csi *csi = video_drvdata(file); in sun4i_csi_try_fmt_vid_cap() local 136 _sun4i_csi_try_fmt(csi, &f->fmt.pix_mp); in sun4i_csi_try_fmt_vid_cap() 144 struct sun4i_csi *csi = video_drvdata(file); in sun4i_csi_s_fmt_vid_cap() local 146 _sun4i_csi_try_fmt(csi, &f->fmt.pix_mp); in sun4i_csi_s_fmt_vid_cap() 147 csi->fmt = f->fmt.pix_mp; in sun4i_csi_s_fmt_vid_cap() 155 struct sun4i_csi *csi = video_drvdata(file); in sun4i_csi_g_fmt_vid_cap() local 157 f->fmt.pix_mp = csi->fmt; in sun4i_csi_g_fmt_vid_cap() 198 struct sun4i_csi *csi = video_drvdata(file); in sun4i_csi_open() local 201 ret = mutex_lock_interruptible(&csi->lock); in sun4i_csi_open() [all …]
|
H A D | Makefile | 3 sun4i-csi-y += sun4i_csi.o 4 sun4i-csi-y += sun4i_dma.o 5 sun4i-csi-y += sun4i_v4l2.o 7 obj-$(CONFIG_VIDEO_SUN4I_CSI) += sun4i-csi.o
|
H A D | sun4i_csi.h | 157 int sun4i_csi_dma_register(struct sun4i_csi *csi, int irq); 158 void sun4i_csi_dma_unregister(struct sun4i_csi *csi); 160 int sun4i_csi_v4l2_register(struct sun4i_csi *csi);
|
/linux/drivers/media/pci/intel/ivsc/ |
H A D | mei_csi.c | 170 static int mei_csi_send(struct mei_csi *csi, u8 *buf, size_t len) in mei_csi_send() argument 175 reinit_completion(&csi->cmd_completion); in mei_csi_send() 177 ret = mei_cldev_send(csi->cldev, buf, len); in mei_csi_send() 181 ret = wait_for_completion_killable_timeout(&csi->cmd_completion, in mei_csi_send() 191 ret = csi->cmd_response.status; in mei_csi_send() 195 v4l2_ctrl_s_ctrl(csi->privacy_ctrl, 1); in mei_csi_send() 201 if (csi->cmd_response.cmd_id != cmd->cmd_id) in mei_csi_send() 209 static int csi_set_link_owner(struct mei_csi *csi, enum csi_link_owner owner) in csi_set_link_owner() argument 219 mutex_lock(&csi->lock); in csi_set_link_owner() 221 ret = mei_csi_send(csi, (u8 *)&cmd, cmd_size); in csi_set_link_owner() [all …]
|
H A D | Makefile | 5 obj-$(CONFIG_INTEL_VSC) += ivsc-csi.o 6 ivsc-csi-y += mei_csi.o
|
/linux/drivers/gpu/ipu-v3/ |
H A D | ipu-csi.c | 177 static inline u32 ipu_csi_read(struct ipu_csi *csi, unsigned offset) in ipu_csi_read() argument 179 return readl(csi->base + offset); in ipu_csi_read() 182 static inline void ipu_csi_write(struct ipu_csi *csi, u32 value, in ipu_csi_write() argument 185 writel(value, csi->base + offset); in ipu_csi_write() 192 static int ipu_csi_set_testgen_mclk(struct ipu_csi *csi, u32 pixel_clk, in ipu_csi_set_testgen_mclk() argument 201 dev_err(csi->ipu->dev, in ipu_csi_set_testgen_mclk() 206 temp = ipu_csi_read(csi, CSI_SENS_CONF); in ipu_csi_set_testgen_mclk() 208 ipu_csi_write(csi, temp | (div_ratio << CSI_SENS_CONF_DIVRATIO_SHIFT), in ipu_csi_set_testgen_mclk() 399 ipu_csi_set_bt_interlaced_codes(struct ipu_csi *csi, in ipu_csi_set_bt_interlaced_codes() argument 430 ipu_csi_write(csi, 0x40596 | CSI_CCIR_ERR_DET_EN, in ipu_csi_set_bt_interlaced_codes() [all …]
|
/linux/drivers/media/platform/rockchip/rkisp1/ |
H A D | rkisp1-csi.c | 37 struct rkisp1_csi *csi = &rkisp1->csi; in rkisp1_csi_link_sensor() local 50 &csi->sd.entity, RKISP1_CSI_PAD_SINK, in rkisp1_csi_link_sensor() 53 dev_err(csi->rkisp1->dev, "failed to link src pad of %s\n", in rkisp1_csi_link_sensor() 61 static int rkisp1_csi_config(struct rkisp1_csi *csi, in rkisp1_csi_config() argument 65 struct rkisp1_device *rkisp1 = csi->rkisp1; in rkisp1_csi_config() 113 static void rkisp1_csi_enable(struct rkisp1_csi *csi) in rkisp1_csi_enable() argument 115 struct rkisp1_device *rkisp1 = csi->rkisp1; in rkisp1_csi_enable() 123 static void rkisp1_csi_disable(struct rkisp1_csi *csi) in rkisp1_csi_disable() argument 125 struct rkisp1_device *rkisp1 = csi->rkisp1; in rkisp1_csi_disable() 149 static int rkisp1_csi_start(struct rkisp1_csi *csi, in rkisp1_csi_start() argument [all …]
|
/linux/drivers/staging/media/tegra-video/ |
H A D | tegra210.c | 830 static void csi_write(struct tegra_csi *csi, u8 portno, unsigned int addr, in csi_write() argument 835 csi_pp_base = csi->iomem + CSI_PP_OFFSET(portno >> 1); in csi_write() 841 static void pp_write(struct tegra_csi *csi, u8 portno, u32 addr, u32 val) in pp_write() argument 846 csi_pp_base = csi->iomem + CSI_PP_OFFSET(portno >> 1); in pp_write() 852 static u32 pp_read(struct tegra_csi *csi, u8 portno, u32 addr) in pp_read() argument 857 csi_pp_base = csi->iomem + CSI_PP_OFFSET(portno >> 1); in pp_read() 864 static void cil_write(struct tegra_csi *csi, u8 portno, u32 addr, u32 val) in cil_write() argument 869 csi_cil_base = csi->iomem + CSI_PP_OFFSET(portno >> 1) + in cil_write() 876 static u32 cil_read(struct tegra_csi *csi, u8 portno, u32 addr) in cil_read() argument 881 csi_cil_base = csi->iomem + CSI_PP_OFFSET(portno >> 1) + in cil_read() [all …]
|
/linux/Documentation/devicetree/bindings/misc/ |
H A D | ifm-csi.txt | 4 - compatible: "ifm,o2d-csi" 10 - ifm,csi-clk-handle: the phandle to a node in the DT describing the sensor 12 - ifm,csi-addr-bus-width: address bus width (valid values are 16, 24, 25) 13 - ifm,csi-data-bus-width: data bus width (valid values are 8 and 16) 14 - ifm,csi-wait-cycles: sensor bus wait cycles 17 - ifm,csi-byte-swap: if this property is present, the byte swapping on 22 csi@3,0 { 23 compatible = "ifm,o2d-csi"; 27 ifm,csi-clk-handle = <&timer7>; 32 ifm,csi-addr-bus-width = <24>; [all …]
|
/linux/Documentation/admin-guide/media/ |
H A D | imx7.rst | 44 csi-mux 51 csi chapter 59 This entity has one sink pad that receives from the csi-mux entity and a single 84 media-ctl -l "'imx7-mipi-csis.0':1 -> 'csi-mux':1[1]" 85 media-ctl -l "'csi-mux':2 -> 'csi':0[1]" 86 media-ctl -l "'csi':1 -> 'csi capture':0[1]" 90 media-ctl -V "'csi-mux':1 [fmt:SBGGR10_1X10/800x600 field:none]" 91 media-ctl -V "'csi-mux':2 [fmt:SBGGR10_1X10/800x600 field:none]" 93 media-ctl -V "'csi':0 [fmt:SBGGR10_1X10/800x600 field:none]" 105 driver imx7-csi [all …]
|
/linux/include/video/ |
H A D | imx-ipu-v3.h | 360 int ipu_csi_init_interface(struct ipu_csi *csi, 364 bool ipu_csi_is_interlaced(struct ipu_csi *csi); 365 void ipu_csi_get_window(struct ipu_csi *csi, struct v4l2_rect *w); 366 void ipu_csi_set_window(struct ipu_csi *csi, struct v4l2_rect *w); 367 void ipu_csi_set_downsize(struct ipu_csi *csi, bool horiz, bool vert); 368 void ipu_csi_set_test_generator(struct ipu_csi *csi, bool active, 371 int ipu_csi_set_mipi_datatype(struct ipu_csi *csi, u32 vc, 373 int ipu_csi_set_skip_smfc(struct ipu_csi *csi, u32 skip, 375 int ipu_csi_set_dest(struct ipu_csi *csi, enum ipu_csi_dest csi_dest); 376 int ipu_csi_enable(struct ipu_csi *csi); [all …]
|
/linux/arch/powerpc/boot/dts/ |
H A D | o2d.dtsi | 97 csi@3,0 { 98 compatible = "ifm,o2d-csi"; 100 ifm,csi-clk-handle = <&gpt7>; 107 ifm,csi-addr-bus-width = <24>; 108 ifm,csi-data-bus-width = <8>; 109 ifm,csi-wait-cycles = <0>;
|
/linux/drivers/media/platform/renesas/rcar-vin/ |
H A D | rcar-core.c | 859 if (route->master == master_id && route->csi == csi_id) { in rvin_csi2_link_notify() 890 struct media_entity *source = &group->remotes[route->csi].subdev->entity; in rvin_csi2_create_link() 926 if (!vin->group->remotes[route->csi].subdev) in rvin_csi2_setup_links() 1152 { .master = 0, .csi = RVIN_CSI20, .chsel = 0x04 }, 1153 { .master = 0, .csi = RVIN_CSI40, .chsel = 0x03 }, 1154 { .master = 4, .csi = RVIN_CSI20, .chsel = 0x04 }, 1167 { .master = 0, .csi = RVIN_CSI20, .chsel = 0x04 }, 1168 { .master = 0, .csi = RVIN_CSI40, .chsel = 0x03 }, 1169 { .master = 4, .csi = RVIN_CSI20, .chsel = 0x04 }, 1170 { .master = 4, .csi = RVIN_CSI41, .chsel = 0x03 }, [all …]
|
/linux/drivers/staging/media/imx/ |
H A D | Makefile | 9 imx6-media-csi-objs := imx-media-csi.o imx-media-fim.o 13 obj-$(CONFIG_VIDEO_IMX_MEDIA) += imx6-media-csi.o
|
H A D | imx-ic-prp.c | 296 struct v4l2_subdev *csi; in prp_link_validate() local 304 csi = imx_media_pipeline_subdev(&ic_priv->sd.entity, in prp_link_validate() 306 if (IS_ERR(csi)) in prp_link_validate() 307 csi = NULL; in prp_link_validate() 322 if (!csi) { in prp_link_validate() 328 if (csi) { in prp_link_validate() 329 switch (csi->grp_id) { in prp_link_validate()
|
H A D | imx-media-internal-sd.c | 191 struct v4l2_subdev *csi) in imx_media_register_ipu_internal_subdevs() argument 193 struct device *ipu_dev = csi->dev->parent; in imx_media_register_ipu_internal_subdevs() 249 if (intsd->grp_id == csi->grp_id) { in imx_media_register_ipu_internal_subdevs() 250 sd = csi; in imx_media_register_ipu_internal_subdevs()
|
/linux/drivers/staging/media/atomisp/pci/ |
H A D | atomisp_gmin_platform.c | 1056 struct camera_mipi_info *csi; in camera_sensor_csi_alloc() local 1058 csi = kzalloc(sizeof(*csi), GFP_KERNEL); in camera_sensor_csi_alloc() 1059 if (!csi) in camera_sensor_csi_alloc() 1062 csi->port = port; in camera_sensor_csi_alloc() 1063 csi->num_lanes = lanes; in camera_sensor_csi_alloc() 1064 csi->input_format = format; in camera_sensor_csi_alloc() 1065 csi->raw_bayer_order = bayer_order; in camera_sensor_csi_alloc() 1066 v4l2_set_subdev_hostdata(sd, csi); in camera_sensor_csi_alloc() 1067 csi->metadata_format = ATOMISP_INPUT_FORMAT_EMBEDDED; in camera_sensor_csi_alloc() 1068 csi->metadata_effective_width = NULL; in camera_sensor_csi_alloc() [all …]
|
/linux/drivers/media/platform/sunxi/sun6i-csi/ |
H A D | Makefile | 2 sun6i-csi-y += sun6i_csi.o sun6i_csi_bridge.o sun6i_csi_capture.o 4 obj-$(CONFIG_VIDEO_SUN6I_CSI) += sun6i-csi.o
|
/linux/drivers/media/platform/sunxi/ |
H A D | Makefile | 3 obj-y += sun4i-csi/ 4 obj-y += sun6i-csi/
|
H A D | Kconfig | 5 source "drivers/media/platform/sunxi/sun4i-csi/Kconfig" 6 source "drivers/media/platform/sunxi/sun6i-csi/Kconfig"
|
/linux/arch/arm64/boot/dts/allwinner/ |
H A D | sun50i-a64-pinetab.dts | 50 i2c-csi { 133 &csi { 299 regulator-name = "dovdd-csi"; 360 regulator-name = "avdd-csi"; 390 regulator-name = "dvdd-1v8-csi";
|
H A D | sun50i-a64-amarula-relic.dts | 83 &csi { 187 regulator-name = "avdd-csi"; 249 regulator-name = "dovdd-csi"; 273 regulator-name = "dvdd-csi";
|
/linux/drivers/clk/imx/ |
H A D | clk-imx31.c | 40 per_div, per, csi, fir, csi_div, usb_div_pre, usb_div_post, fir_div_pre, enumerator 68 clk[csi] = imx_clk_mux("csi_sel", base + MXC_CCM_CCMR, 25, 1, csi_sel, ARRAY_SIZE(csi_sel)); in _mx31_clocks_init() 117 clk_set_parent(clk[csi], clk[upll]); in _mx31_clocks_init()
|
/linux/drivers/edac/ |
H A D | dmc520_edac.c | 446 struct csrow_info *csi; in dmc520_init_csrow() local 460 csi = mci->csrows[row]; in dmc520_init_csrow() 462 for (ch = 0; ch < csi->nr_channels; ch++) { in dmc520_init_csrow() 463 dimm = csi->channels[ch]->dimm; in dmc520_init_csrow() 468 dimm->nr_pages = pages_per_rank / csi->nr_channels; in dmc520_init_csrow()
|