/Linux-v5.10/drivers/staging/media/imx/ |
D | imx7-media-csi.c | 3 * 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/ |
D | sun4i_dma.c | 36 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 …]
|
D | sun4i_csi.c | 47 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 …]
|
D | sun4i_v4l2.c | 56 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/ |
D | ipu-csi.c | 32 /* 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/ |
D | csi.c | 19 #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 …]
|
D | tegra210.c | 8 * 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 …]
|
D | csi.h | 14 * 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/ |
D | sun6i_csi.c | 30 #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 …]
|
D | sun6i_csi.h | 20 * 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 …]
|
D | sun6i_video.c | 163 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/ |
D | rcar-core.c | 29 * 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 …]
|
D | rcar-vin.h | 114 * 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/ |
D | imx7.rst | 14 - 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 …]
|
D | imx.rst | 16 - 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/ |
D | xlnx,csi2rxss.yaml | 7 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/ |
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-v5.10/drivers/staging/media/atomisp/pci/css_2401_system/host/ |
D | csi_rx_private.h | 101 * @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/ |
D | csi_rx_public.h | 26 * @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/ |
D | imx7-csi.txt | 4 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";
|
D | allwinner,sun6i-a31-csi.yaml | 4 $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";
|
D | allwinner,sun4i-a10-csi.yaml | 4 $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 {
|
D | ti,omap3isp.txt | 14 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/ |
D | csi2.rst | 5 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/ |
D | st,st-mipid02.txt | 1 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:
|