Home
last modified time | relevance | path

Searched refs:csi (Results 1 – 25 of 74) sorted by relevance

123

/Linux-v5.4/drivers/media/platform/sunxi/sun4i-csi/
Dsun4i_dma.c36 static void sun4i_csi_capture_start(struct sun4i_csi *csi) in sun4i_csi_capture_start() argument
38 writel(CSI_CPT_CTRL_VIDEO_START, csi->regs + CSI_CPT_CTRL_REG); in sun4i_csi_capture_start()
41 static void sun4i_csi_capture_stop(struct sun4i_csi *csi) in sun4i_csi_capture_stop() argument
43 writel(0, csi->regs + CSI_CPT_CTRL_REG); in sun4i_csi_capture_stop()
52 struct sun4i_csi *csi = vb2_get_drv_priv(vq); in sun4i_csi_queue_setup() local
53 unsigned int num_planes = csi->fmt.num_planes; in sun4i_csi_queue_setup()
61 if (sizes[i] < csi->fmt.plane_fmt[i].sizeimage) in sun4i_csi_queue_setup()
68 sizes[i] = csi->fmt.plane_fmt[i].sizeimage; in sun4i_csi_queue_setup()
75 struct sun4i_csi *csi = vb2_get_drv_priv(vb->vb2_queue); in sun4i_csi_buffer_prepare() local
78 for (i = 0; i < csi->fmt.num_planes; i++) { in sun4i_csi_buffer_prepare()
[all …]
Dsun4i_csi.c39 struct sun4i_csi *csi = container_of(notifier, struct sun4i_csi, in sun4i_csi_notify_bound() local
42 csi->src_subdev = subdev; in sun4i_csi_notify_bound()
43 csi->src_pad = media_entity_get_fwnode_pad(&subdev->entity, in sun4i_csi_notify_bound()
46 if (csi->src_pad < 0) { in sun4i_csi_notify_bound()
47 dev_err(csi->dev, "Couldn't find output pad for subdev %s\n", in sun4i_csi_notify_bound()
49 return csi->src_pad; in sun4i_csi_notify_bound()
52 dev_dbg(csi->dev, "Bound %s pad: %d\n", subdev->name, csi->src_pad); in sun4i_csi_notify_bound()
58 struct sun4i_csi *csi = container_of(notifier, struct sun4i_csi, in sun4i_csi_notify_complete() local
60 struct v4l2_subdev *subdev = &csi->subdev; in sun4i_csi_notify_complete()
61 struct video_device *vdev = &csi->vdev; in sun4i_csi_notify_complete()
[all …]
Dsun4i_v4l2.c56 struct sun4i_csi *csi = video_drvdata(file); in sun4i_csi_querycap() local
61 dev_name(csi->dev)); in sun4i_csi_querycap()
95 static void _sun4i_csi_try_fmt(struct sun4i_csi *csi, in _sun4i_csi_try_fmt() argument
142 struct sun4i_csi *csi = video_drvdata(file); in sun4i_csi_try_fmt_vid_cap() local
144 _sun4i_csi_try_fmt(csi, &f->fmt.pix_mp); in sun4i_csi_try_fmt_vid_cap()
152 struct sun4i_csi *csi = video_drvdata(file); in sun4i_csi_s_fmt_vid_cap() local
154 _sun4i_csi_try_fmt(csi, &f->fmt.pix_mp); in sun4i_csi_s_fmt_vid_cap()
155 csi->fmt = f->fmt.pix_mp; in sun4i_csi_s_fmt_vid_cap()
163 struct sun4i_csi *csi = video_drvdata(file); in sun4i_csi_g_fmt_vid_cap() local
165 f->fmt.pix_mp = csi->fmt; in sun4i_csi_g_fmt_vid_cap()
[all …]
DMakefile1 sun4i-csi-y += sun4i_csi.o
2 sun4i-csi-y += sun4i_dma.o
3 sun4i-csi-y += sun4i_v4l2.o
5 obj-$(CONFIG_VIDEO_SUN4I_CSI) += sun4i-csi.o
Dsun4i_csi.h155 int sun4i_csi_dma_register(struct sun4i_csi *csi, int irq);
156 void sun4i_csi_dma_unregister(struct sun4i_csi *csi);
158 int sun4i_csi_v4l2_register(struct sun4i_csi *csi);
/Linux-v5.4/drivers/staging/media/imx/
Dimx7-media-csi.c198 static u32 imx7_csi_reg_read(struct imx7_csi *csi, unsigned int offset) in imx7_csi_reg_read() argument
200 return readl(csi->regbase + offset); in imx7_csi_reg_read()
203 static void imx7_csi_reg_write(struct imx7_csi *csi, unsigned int value, in imx7_csi_reg_write() argument
206 writel(value, csi->regbase + offset); in imx7_csi_reg_write()
209 static void imx7_csi_hw_reset(struct imx7_csi *csi) in imx7_csi_hw_reset() argument
211 imx7_csi_reg_write(csi, in imx7_csi_hw_reset()
212 imx7_csi_reg_read(csi, CSI_CSICR3) | BIT_FRMCNT_RST, in imx7_csi_hw_reset()
215 imx7_csi_reg_write(csi, CSICR1_RESET_VAL, CSI_CSICR1); in imx7_csi_hw_reset()
216 imx7_csi_reg_write(csi, CSICR2_RESET_VAL, CSI_CSICR2); in imx7_csi_hw_reset()
217 imx7_csi_reg_write(csi, CSICR3_RESET_VAL, CSI_CSICR3); in imx7_csi_hw_reset()
[all …]
DMakefile9 imx6-media-csi-objs := imx-media-csi.o imx-media-fim.o
14 obj-$(CONFIG_VIDEO_IMX_CSI) += imx6-media-csi.o
17 obj-$(CONFIG_VIDEO_IMX7_CSI) += imx7-media-csi.o
Dimx-ic-prp.c295 struct v4l2_subdev *csi; in prp_link_validate() local
303 csi = imx_media_pipeline_subdev(&ic_priv->sd.entity, in prp_link_validate()
305 if (IS_ERR(csi)) in prp_link_validate()
306 csi = NULL; in prp_link_validate()
321 if (!csi) { in prp_link_validate()
327 if (csi) { in prp_link_validate()
328 switch (csi->grp_id) { in prp_link_validate()
/Linux-v5.4/drivers/gpu/ipu-v3/
Dipu-csi.c177 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()
378 ipu_csi_set_bt_interlaced_codes(struct ipu_csi *csi, in ipu_csi_set_bt_interlaced_codes() argument
409 ipu_csi_write(csi, 0x40596 | CSI_CCIR_ERR_DET_EN, in ipu_csi_set_bt_interlaced_codes()
[all …]
/Linux-v5.4/drivers/media/platform/rcar-vin/
Drcar-core.c61 if (group->csi[i].subdev == sd) in rvin_group_entity_to_csi_id()
76 route->csi == csi_id && in rvin_group_get_mask()
80 route->vin, route->csi, route->channel); in rvin_group_get_mask()
717 if (!vin->group->csi[route->csi].subdev) in rvin_group_notify_complete()
720 source = &vin->group->csi[route->csi].subdev->entity; in rvin_group_notify_complete()
757 if (vin->group->csi[i].fwnode != asd->match.fwnode) in rvin_group_notify_unbind()
759 vin->group->csi[i].subdev = NULL; in rvin_group_notify_unbind()
777 if (vin->group->csi[i].fwnode != asd->match.fwnode) in rvin_group_notify_bound()
779 vin->group->csi[i].subdev = subdev; in rvin_group_notify_bound()
813 if (vin->group->csi[vep->base.id].fwnode) { in rvin_mc_parse_of_endpoint()
[all …]
/Linux-v5.4/drivers/media/platform/sunxi/sun6i-csi/
Dsun6i_csi.c33 struct sun6i_csi csi; member
44 static inline struct sun6i_csi_dev *sun6i_csi_to_dev(struct sun6i_csi *csi) in sun6i_csi_to_dev() argument
46 return container_of(csi, struct sun6i_csi_dev, csi); in sun6i_csi_to_dev()
50 bool sun6i_csi_is_format_supported(struct sun6i_csi *csi, in sun6i_csi_is_format_supported() argument
53 struct sun6i_csi_dev *sdev = sun6i_csi_to_dev(csi); in sun6i_csi_is_format_supported()
60 if ((sdev->csi.v4l2_ep.bus_type == V4L2_MBUS_PARALLEL in sun6i_csi_is_format_supported()
61 || sdev->csi.v4l2_ep.bus_type == V4L2_MBUS_BT656) in sun6i_csi_is_format_supported()
62 && sdev->csi.v4l2_ep.bus.parallel.bus_width == 16) { in sun6i_csi_is_format_supported()
164 int sun6i_csi_set_power(struct sun6i_csi *csi, bool enable) in sun6i_csi_set_power() argument
166 struct sun6i_csi_dev *sdev = sun6i_csi_to_dev(csi); in sun6i_csi_set_power()
[all …]
Dsun6i_video.c163 ret = sun6i_csi_update_config(video->csi, &config); in sun6i_video_start_streaming()
172 sun6i_csi_update_buf_addr(video->csi, buf->dma_addr); in sun6i_video_start_streaming()
174 sun6i_csi_set_stream(video->csi, true); in sun6i_video_start_streaming()
195 sun6i_csi_update_buf_addr(video->csi, next_buf->dma_addr); in sun6i_video_start_streaming()
206 sun6i_csi_set_stream(video->csi, false); in sun6i_video_start_streaming()
230 sun6i_csi_set_stream(video->csi, false); in sun6i_video_stop_streaming()
267 dev_dbg(video->csi->dev, "Frame dropped!\n"); in sun6i_video_frame_done()
279 sun6i_csi_update_buf_addr(video->csi, next_buf->dma_addr); in sun6i_video_frame_done()
280 dev_dbg(video->csi->dev, "Frame dropped!\n"); in sun6i_video_frame_done()
294 sun6i_csi_update_buf_addr(video->csi, next_buf->dma_addr); in sun6i_video_frame_done()
[all …]
Dsun6i_csi.h57 bool sun6i_csi_is_format_supported(struct sun6i_csi *csi, u32 pixformat,
65 int sun6i_csi_set_power(struct sun6i_csi *csi, bool enable);
72 int sun6i_csi_update_config(struct sun6i_csi *csi,
80 void sun6i_csi_update_buf_addr(struct sun6i_csi *csi, dma_addr_t addr);
87 void sun6i_csi_set_stream(struct sun6i_csi *csi, bool enable);
DMakefile2 sun6i-csi-y += sun6i_video.o sun6i_csi.o
4 obj-$(CONFIG_VIDEO_SUN6I_CSI) += sun6i-csi.o
Dsun6i_video.h19 struct sun6i_csi *csi; member
32 int sun6i_video_init(struct sun6i_video *video, struct sun6i_csi *csi,
/Linux-v5.4/Documentation/devicetree/bindings/misc/
Difm-csi.txt4 - 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-v5.4/Documentation/media/v4l-drivers/
Dimx7.rst44 csi-mux
51 csi section in i.MX7 Video Capture Driver
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-v5.4/Documentation/devicetree/bindings/media/
Dimx7-csi.txt4 csi node
12 - compatible : "fsl,imx7-csi" or "fsl,imx6ul-csi";
27 csi: csi@30710000 {
31 compatible = "fsl,imx7-csi";
Dsun6i-csi.txt8 * "allwinner,sun6i-a31-csi"
9 * "allwinner,sun8i-a83t-csi"
10 * "allwinner,sun8i-h3-csi"
11 * "allwinner,sun8i-v3s-csi"
12 * "allwinner,sun50i-a64-csi"
38 csi1: csi@1cb4000 {
39 compatible = "allwinner,sun8i-v3s-csi";
/Linux-v5.4/drivers/staging/uwb/
Dallocator.c20 for (col = ci->csi.start_col; col < UWB_NUM_ZONES; col += ci->csi.interval) { in uwb_rsv_fill_column_alloc()
22 safe_mas = ci->csi.safe_mas_per_col; in uwb_rsv_fill_column_alloc()
23 unsafe_mas = ci->csi.unsafe_mas_per_col; in uwb_rsv_fill_column_alloc()
130 struct uwb_rsv_col_set_info *csi = &ci->csi; in uwb_rsv_find_best_column_set() local
169 csi->start_col = tmp_csi.start_col; in uwb_rsv_find_best_column_set()
175 csi->start_col = tmp_csi.start_col; in uwb_rsv_find_best_column_set()
181 csi->interval = interval; in uwb_rsv_find_best_column_set()
182 csi->safe_mas_per_col = num_safe_mas; in uwb_rsv_find_best_column_set()
183 csi->unsafe_mas_per_col = num_unsafe_mas; in uwb_rsv_find_best_column_set()
/Linux-v5.4/arch/powerpc/boot/dts/
Do2d.dtsi103 csi@3,0 {
104 compatible = "ifm,o2d-csi";
106 ifm,csi-clk-handle = <&gpt7>;
113 ifm,csi-addr-bus-width = <24>;
114 ifm,csi-data-bus-width = <8>;
115 ifm,csi-wait-cycles = <0>;
/Linux-v5.4/include/video/
Dimx-ipu-v3.h358 int ipu_csi_init_interface(struct ipu_csi *csi,
362 bool ipu_csi_is_interlaced(struct ipu_csi *csi);
363 void ipu_csi_get_window(struct ipu_csi *csi, struct v4l2_rect *w);
364 void ipu_csi_set_window(struct ipu_csi *csi, struct v4l2_rect *w);
365 void ipu_csi_set_downsize(struct ipu_csi *csi, bool horiz, bool vert);
366 void ipu_csi_set_test_generator(struct ipu_csi *csi, bool active,
369 int ipu_csi_set_mipi_datatype(struct ipu_csi *csi, u32 vc,
371 int ipu_csi_set_skip_smfc(struct ipu_csi *csi, u32 skip,
373 int ipu_csi_set_dest(struct ipu_csi *csi, enum ipu_csi_dest csi_dest);
374 int ipu_csi_enable(struct ipu_csi *csi);
[all …]
/Linux-v5.4/drivers/media/platform/sunxi/
DMakefile1 obj-y += sun4i-csi/
2 obj-y += sun6i-csi/
DKconfig1 source "drivers/media/platform/sunxi/sun4i-csi/Kconfig"
2 source "drivers/media/platform/sunxi/sun6i-csi/Kconfig"
/Linux-v5.4/arch/ia64/kernel/
Dtopology.c141 pal_cache_shared_info_t csi; in cache_shared_cpu_map_setup() local
154 &csi) != PAL_STATUS_SUCCESS) in cache_shared_cpu_map_setup()
157 num_shared = (int) csi.num_shared; in cache_shared_cpu_map_setup()
161 && cpu_data(j)->core_id == csi.log1_cid in cache_shared_cpu_map_setup()
162 && cpu_data(j)->thread_id == csi.log1_tid) in cache_shared_cpu_map_setup()
170 &csi) == PAL_STATUS_SUCCESS); in cache_shared_cpu_map_setup()

123