Home
last modified time | relevance | path

Searched full:csi (Results 1 – 25 of 313) sorted by relevance

12345678910>>...13

/Linux-v5.10/drivers/staging/media/imx/
Dimx7-media-csi.c3 * V4L2 Capture CSI Subdev for Freescale i.MX6UL/L / i.MX7 SOC
41 /* csi control reg 1 */
91 /* csi status reg */
111 /* csi control reg 18 */
203 static u32 imx7_csi_reg_read(struct imx7_csi *csi, unsigned int offset) in imx7_csi_reg_read() argument
205 return readl(csi->regbase + offset); in imx7_csi_reg_read()
208 static void imx7_csi_reg_write(struct imx7_csi *csi, unsigned int value, in imx7_csi_reg_write() argument
211 writel(value, csi->regbase + offset); in imx7_csi_reg_write()
214 static void imx7_csi_hw_reset(struct imx7_csi *csi) in imx7_csi_hw_reset() argument
216 imx7_csi_reg_write(csi, in imx7_csi_hw_reset()
[all …]
/Linux-v5.10/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.c47 struct sun4i_csi *csi = container_of(notifier, struct sun4i_csi, in sun4i_csi_notify_bound() local
50 csi->src_subdev = subdev; in sun4i_csi_notify_bound()
51 csi->src_pad = media_entity_get_fwnode_pad(&subdev->entity, in sun4i_csi_notify_bound()
54 if (csi->src_pad < 0) { in sun4i_csi_notify_bound()
55 dev_err(csi->dev, "Couldn't find output pad for subdev %s\n", in sun4i_csi_notify_bound()
57 return csi->src_pad; in sun4i_csi_notify_bound()
60 dev_dbg(csi->dev, "Bound %s pad: %d\n", subdev->name, csi->src_pad); in sun4i_csi_notify_bound()
66 struct sun4i_csi *csi = container_of(notifier, struct sun4i_csi, in sun4i_csi_notify_complete() local
68 struct v4l2_subdev *subdev = &csi->subdev; in sun4i_csi_notify_complete()
69 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
59 strscpy(cap->card, "sun4i-csi", sizeof(cap->card)); in sun4i_csi_querycap()
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
[all …]
/Linux-v5.10/drivers/gpu/ipu-v3/
Dipu-csi.c32 /* CSI Register Offsets */
55 /* CSI Register Fields */
116 /* MIPI CSI-2 data types */
133 * Bitfield of CSI bus signal polarities and modes.
153 * Enumeration of CSI data bus widths.
164 * Enumeration of CSI clock modes.
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()
[all …]
/Linux-v5.10/drivers/staging/media/tegra-video/
Dcsi.c19 #include "csi.h"
36 * CSI is a separate subdevice which has 6 source pads to generate
37 * test pattern. CSI subdevice pad ops are used only for TPG and
95 static int csi_get_frmrate_table_index(struct tegra_csi *csi, u32 code, in csi_get_frmrate_table_index() argument
101 frmrate = csi->soc->tpg_frmrate_table; in csi_get_frmrate_table_index()
102 for (i = 0; i < csi->soc->tpg_frmrate_table_size; i++) { in csi_get_frmrate_table_index()
116 struct tegra_csi *csi = csi_chan->csi; in csi_chan_update_blank_intervals() local
117 const struct tpg_framerate *frmrate = csi->soc->tpg_frmrate_table; in csi_chan_update_blank_intervals()
120 index = csi_get_frmrate_table_index(csi_chan->csi, code, in csi_chan_update_blank_intervals()
161 struct tegra_csi *csi = csi_chan->csi; in csi_enum_frameintervals() local
[all …]
Dtegra210.c8 * VI and CSI SoC specific data, operations and registers accessors.
17 #include "csi.h"
33 /* Tegra210 VI CSI registers */
57 /* Tegra210 CSI Pixel Parser registers: Starts from 0x838, offset 0x0 */
85 /* Tegra210 CSI PHY registers */
216 * Recover VI and CSI hardware blocks in case of missing frame start in tegra_channel_capture_error_recover()
217 * events due to source not streaming or noisy csi inputs from the in tegra_channel_capture_error_recover()
219 * events which can cause CSI and VI hardware hang. in tegra_channel_capture_error_recover()
235 /* recover CSI block */ in tegra_channel_capture_error_recover()
644 /* Tegra210 CSI PHY registers accessors */
[all …]
Dcsi.h14 * Each CSI brick supports max of 4 lanes that can be used as either
15 * one x4 port using both CILA and CILB partitions of a CSI brick or can
21 /* each CSI channel can have one sink and one source pads */
38 * struct tegra_csi_channel - Tegra CSI channel
44 * @csi: Tegra CSI device structure
45 * @of_node: csi device tree node
47 * @csi_port_num: CSI channel port number
53 * @mipi: mipi device for corresponding csi channel pads
61 struct tegra_csi *csi; member
75 * struct tpg_framerate - Tegra CSI TPG framerate configuration
[all …]
/Linux-v5.10/drivers/media/platform/sunxi/sun6i-csi/
Dsun6i_csi.c30 #define MODULE_NAME "sun6i-csi"
33 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
[all …]
Dsun6i_csi.h20 * struct sun6i_csi_config - configs for sun6i csi
52 * sun6i_csi_is_format_supported() - check if the format supported by csi
53 * @csi: pointer to the csi
57 bool sun6i_csi_is_format_supported(struct sun6i_csi *csi, u32 pixformat,
61 * sun6i_csi_set_power() - power on/off the csi
62 * @csi: pointer to the csi
65 int sun6i_csi_set_power(struct sun6i_csi *csi, bool enable);
68 * sun6i_csi_update_config() - update the csi register settings
69 * @csi: pointer to the csi
72 int sun6i_csi_update_config(struct sun6i_csi *csi,
[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()
177 * CSI will lookup the next dma buffer for next frame before the in sun6i_video_start_streaming()
182 * to CSI in the first frame done ISR call. Then in second frame in sun6i_video_start_streaming()
184 * and pass the third buffer to CSI. And so on. The bad thing is in sun6i_video_start_streaming()
187 * So, I make some improvement here. Pass the next buffer to CSI in sun6i_video_start_streaming()
188 * just follow starting the CSI. In this case, the first frame 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()
[all …]
/Linux-v5.10/drivers/media/platform/rcar-vin/
Drcar-core.c29 * The companion CSI-2 receiver driver (rcar-csi2) is known
32 * CSI-2 receiver to/from the VIN internal channel number simply
61 if (group->csi[i].subdev == sd) in rvin_group_entity_to_csi_id()
76 route->csi == csi_id && in rvin_group_get_mask()
79 "Adding route: vin: %d csi: %d channel: %d\n", in rvin_group_get_mask()
80 route->vin, route->csi, route->channel); in rvin_group_get_mask()
89 * Link setup for the links between a VIN and a CSI-2 receiver is a bit
160 /* Get remote CSI-2, if any. */ in rvin_group_link_notify()
181 * one of the CSI-2 subdevices. in rvin_group_link_notify()
698 /* Create all media device links between VINs and CSI-2's. */ in rvin_group_notify_complete()
[all …]
Drcar-vin.h114 * CSI-2 receiver to a VIN
116 * @csi: CSI-2 receiver ID.
117 * @channel: Output channel of the CSI-2 receiver.
120 * allow for a route from @csi + @chan to @vin.
123 * Each R-Car CSI-2 receiver has four output channels facing the VIN
124 * devices, each channel can carry one CSI-2 Virtual Channel (VC).
125 * There is no correlation between channel number and CSI-2 VC. It's
126 * up to the CSI-2 receiver driver to configure which VC is output
130 * allow for the same route from @csi + @channel to @vin. For example
137 enum rvin_csi_id csi; member
[all …]
/Linux-v5.10/Documentation/admin-guide/media/
Dimx7.rst14 - CMOS Sensor Interface (CSI)
16 - MIPI CSI-2 Receiver
20 MIPI Camera Input ---> MIPI CSI-2 --- > |\
24 | U | ------> CSI ---> Capture
39 This is the MIPI CSI-2 receiver entity. It has one sink pad to receive the pixel
40 data from MIPI CSI-2 camera sensor. It has one source pad, corresponding to the
44 csi-mux
48 sensor with a parallel interface or from MIPI CSI-2 virtual channel 0. It has
49 a single source pad that routes to the CSI.
51 csi section in i.MX7 Video Capture Driver
[all …]
Dimx.rst16 - Camera Serial Interface (CSI)
31 The CSI is the backend capture unit that interfaces directly with
32 camera sensors over Parallel, BT.656/1120, and MIPI CSI-2 buses.
66 - MIPI CSI-2 Receiver for camera sensors with the MIPI CSI-2 bus
69 to send to a CSI.
84 - Supports parallel, BT.565, and MIPI CSI-2 interfaces.
98 CSI. There is also support in the future for sending frames to the
112 The i.MX5/6 topologies can differ upstream from the IPUv3 CSI video
115 MIPI CSI-2 OV5640 sensor, requires the i.MX6 MIPI CSI-2 receiver. But
117 therefore does not require the MIPI CSI-2 receiver, so it is missing in
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/media/xilinx/
Dxlnx,csi2rxss.yaml7 title: Xilinx MIPI CSI-2 Receiver Subsystem
13 The Xilinx MIPI CSI-2 Receiver Subsystem is used to capture MIPI CSI-2
17 data packets. This is passed along the MIPI CSI-2 Rx IP which extracts the
20 For more details, please refer to PG232 Xilinx MIPI CSI-2 Receiver Subsystem.
21 Please note that this bindings includes only the MIPI CSI-2 Rx controller
47 xlnx,csi-pxl-format:
49 This denotes the CSI Data type selected in hw design.
79 xlnx,en-csi-v2-0:
81 description: Present if CSI v2 is enabled in IP configuration.
107 CSI-2 transmitter.
[all …]
/Linux-v5.10/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.10/drivers/staging/media/atomisp/pci/css_2401_system/host/
Dcsi_rx_private.h101 * @brief Get the state of the csi rx fe dlane process.
116 * @brief Get the csi rx fe state.
155 * @brief dump the csi rx fe state.
164 ia_css_print("CSI RX FE STATE Controller %d Enable state 0x%x\n", ID, in csi_rx_fe_ctrl_dump_state()
166 ia_css_print("CSI RX FE STATE Controller %d No Of enable lanes 0x%x\n", ID, in csi_rx_fe_ctrl_dump_state()
168 ia_css_print("CSI RX FE STATE Controller %d Error handling 0x%x\n", ID, in csi_rx_fe_ctrl_dump_state()
170 ia_css_print("CSI RX FE STATE Controller %d Status 0x%x\n", ID, state->status); in csi_rx_fe_ctrl_dump_state()
171 ia_css_print("CSI RX FE STATE Controller %d Status Dlane HS 0x%x\n", ID, in csi_rx_fe_ctrl_dump_state()
173 ia_css_print("CSI RX FE STATE Controller %d Status Dlane LP 0x%x\n", ID, in csi_rx_fe_ctrl_dump_state()
175 ia_css_print("CSI RX FE STATE Controller %d Status term enable LP 0x%x\n", ID, in csi_rx_fe_ctrl_dump_state()
[all …]
/Linux-v5.10/drivers/staging/media/atomisp/pci/hive_isp_css_include/host/
Dcsi_rx_public.h26 * @brief Get the csi rx frontend state.
27 * Get the state of the csi rx frontend regiester-set.
29 * @param[in] id The global unique ID of the csi rx fe controller.
36 * @brief Dump the csi rx frontend state.
37 * Dump the state of the csi rx frontend regiester-set.
39 * @param[in] id The global unique ID of the csi rx fe controller.
46 * @brief Get the state of the csi rx fe dlane.
58 * @brief Get the csi rx backend state.
59 * Get the state of the csi rx backend regiester-set.
61 * @param[in] id The global unique ID of the csi rx be controller.
[all …]
/Linux-v5.10/Documentation/devicetree/bindings/media/
Dimx7-csi.txt4 csi node
7 This is device node for the CMOS Sensor Interface (CSI) which enables the chip
12 - compatible : "fsl,imx7-csi" or "fsl,imx6ul-csi";
14 - interrupts : should contain CSI interrupt;
27 csi: csi@30710000 {
31 compatible = "fsl,imx7-csi";
Dallwinner,sun6i-a31-csi.yaml4 $id: http://devicetree.org/schemas/media/allwinner,sun6i-a31-csi.yaml#
7 title: Allwinner A31 CMOS Sensor Interface (CSI) Device Tree Bindings
16 - allwinner,sun6i-a31-csi
17 - allwinner,sun8i-a83t-csi
18 - allwinner,sun8i-h3-csi
19 - allwinner,sun8i-v3s-csi
20 - allwinner,sun50i-a64-csi
86 csi1: csi@1cb4000 {
87 compatible = "allwinner,sun8i-v3s-csi";
Dallwinner,sun4i-a10-csi.yaml4 $id: http://devicetree.org/schemas/media/allwinner,sun4i-a10-csi.yaml#
7 title: Allwinner A10 CMOS Sensor Interface (CSI) Device Tree Bindings
38 - description: The CSI interface clock
39 - description: The CSI DRAM clock
42 - description: The CSI interface clock
43 - description: The CSI ISP clock
44 - description: The CSI DRAM clock
114 csi0: csi@1c09000 {
Dti,omap3isp.txt14 CSI PHYs and receivers registers.
17 syscon : the phandle and register offset to the Complex I/O or CSI-PHY
42 vdd-csiphy1-supply : voltage supply of the CSI-2 PHY 1
43 vdd-csiphy2-supply : voltage supply of the CSI-2 PHY 2
48 lane-polarities : lane polarity (required on CSI-2)
51 be either 1 or 2. (required on CSI-2)
52 clock-lanes : the clock lane (from 1 to 3). (required on CSI-2)
/Linux-v5.10/Documentation/driver-api/media/
Dcsi2.rst5 MIPI CSI-2
8 CSI-2 is a data bus intended for transferring images from cameras to
17 be used for CSI-2 interfaces.
22 CSI-2 transmitter, such as a sensor or a TV tuner, drivers need to
23 provide the CSI-2 receiver with information on the CSI-2 bus
28 CSI-2 transmitter.
51 - Number of data lanes used on the CSI-2 link. This can
58 The transmitter drivers must, if possible, configure the CSI-2
81 Before the receiver driver may enable the CSI-2 transmitter by using
/Linux-v5.10/Documentation/devicetree/bindings/media/i2c/
Dst,st-mipid02.txt1 STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge
3 MIPID02 has two CSI-2 input ports, only one of those ports can be active at a
6 CSI-2 first input port is a dual lane 800Mbps per lane whereas CSI-2 second
32 0 CSI-2 first input port
33 1 CSI-2 second input port
36 Endpoint node required property for CSI-2 connection is:
39 Endpoint node optional property for CSI-2 connection is:

12345678910>>...13