/linux/drivers/spi/ |
H A D | spi-rzv2m-csi.c | 3 * Renesas RZ/V2M Clocked Serial Interface (CSI) driver 22 #define CSI_MODE 0x00 /* CSI mode control */ 23 #define CSI_CLKSEL 0x04 /* CSI clock select */ 24 #define CSI_CNT 0x08 /* CSI control */ 25 #define CSI_INT 0x0C /* CSI interrupt status */ 26 #define CSI_IFIFOL 0x10 /* CSI receive FIFO level display */ 27 #define CSI_OFIFOL 0x14 /* CSI transmit FIFO level display */ 28 #define CSI_IFIFO 0x18 /* CSI receive window */ 29 #define CSI_OFIFO 0x1C /* CSI transmit window */ 30 #define CSI_FIFOTRG 0x20 /* CSI FIFO trigger level */ [all …]
|
/linux/drivers/media/platform/sunxi/sun4i-csi/ |
H A 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 …]
|
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 | 57 strscpy(cap->card, "sun4i-csi", sizeof(cap->card)); in sun4i_csi_querycap() 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 [all …]
|
/linux/drivers/media/platform/nxp/ |
H A D | imx7-media-csi.c | 3 * V4L2 Capture CSI Subdev for Freescale i.MX6UL/L / i.MX7 SOC 51 /* csi control reg 1 */ 106 /* csi status reg */ 126 /* csi image parameter reg */ 130 /* csi control reg 18 */ 284 static u32 imx7_csi_reg_read(struct imx7_csi *csi, unsigned int offset) in imx7_csi_reg_read() argument 286 return readl(csi->regbase + offset); in imx7_csi_reg_read() 289 static void imx7_csi_reg_write(struct imx7_csi *csi, unsigned int value, in imx7_csi_reg_write() argument 292 writel(value, csi->regbase + offset); in imx7_csi_reg_write() 295 static u32 imx7_csi_irq_clear(struct imx7_csi *csi) in imx7_csi_irq_clear() argument [all …]
|
/linux/drivers/gpu/ipu-v3/ |
H A 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/drivers/media/pci/intel/ivsc/ |
H A D | mei_csi.c | 4 * Intel Visual Sensing Controller CSI Linux driver 8 * To set ownership of CSI-2 link and to configure CSI-2 link, there 36 #define MEI_CSI_ENTITY_NAME "Intel IVSC CSI" 42 /* to setup CSI-2 link an extra delay needed and determined experimentally */ 53 /* used to set csi ownership */ 56 /* used to configure CSI-2 link */ 63 /* CSI-2 link ownership definition */ 82 /* configuration of the CSI-2 link between host and IVSC */ 84 /* number of data lanes used on the CSI-2 link */ 87 /* frequency of the CSI-2 link */ [all …]
|
/linux/drivers/media/platform/ti/j721e-csi2rx/ |
H A D | j721e-csi2rx.c | 58 u32 csi_dt; /* CSI Data type. */ 67 struct ti_csi2rx_dev *csi; member 215 static int ti_csi2rx_start_dma(struct ti_csi2rx_dev *csi, 305 struct ti_csi2rx_dev *csi = video_drvdata(file); in ti_csi2rx_g_fmt_vid_cap() local 307 *f = csi->v_fmt; in ti_csi2rx_g_fmt_vid_cap() 336 struct ti_csi2rx_dev *csi = video_drvdata(file); in ti_csi2rx_s_fmt_vid_cap() local 337 struct vb2_queue *q = &csi->vidq; in ti_csi2rx_s_fmt_vid_cap() 347 csi->v_fmt = *f; in ti_csi2rx_s_fmt_vid_cap() 412 struct ti_csi2rx_dev *csi = dev_get_drvdata(notifier->v4l2_dev->dev); in csi_async_notifier_bound() local 414 csi->source = subdev; in csi_async_notifier_bound() [all …]
|
/linux/drivers/staging/media/tegra-video/ |
H A D | csi.c | 18 #include "csi.h" 35 * CSI is a separate subdevice which has 6 source pads to generate 36 * test pattern. CSI subdevice pad ops are used only for TPG and 94 static int csi_get_frmrate_table_index(struct tegra_csi *csi, u32 code, in csi_get_frmrate_table_index() argument 100 frmrate = csi->soc->tpg_frmrate_table; in csi_get_frmrate_table_index() 101 for (i = 0; i < csi->soc->tpg_frmrate_table_size; i++) { in csi_get_frmrate_table_index() 115 struct tegra_csi *csi = csi_chan->csi; in csi_chan_update_blank_intervals() local 116 const struct tpg_framerate *frmrate = csi->soc->tpg_frmrate_table; in csi_chan_update_blank_intervals() 119 index = csi_get_frmrate_table_index(csi_chan->csi, code, in csi_chan_update_blank_intervals() 160 struct tegra_csi *csi = csi_chan->csi; in csi_enum_frameintervals() local [all …]
|
H A 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 22 /* Maximum 2 CSI x4 ports can be ganged up for streaming */ 25 /* each CSI channel can have one sink and one source pads */ 42 * struct tegra_csi_channel - Tegra CSI channel 48 * @csi: Tegra CSI device structure 49 * @of_node: csi device tree node 53 * @csi_port_nums: CSI channel port numbers 59 * @mipi: mipi device for corresponding csi channel pads, or NULL if not applicable (TPG, error) 67 struct tegra_csi *csi; member [all …]
|
H A D | tegra210.c | 8 * VI and CSI SoC specific data, operations and registers accessors. 17 #include "csi.h" 40 /* Tegra210 VI CSI registers */ 64 /* Tegra210 CSI Pixel Parser registers: Starts from 0x838, offset 0x0 */ 92 /* Tegra210 CSI PHY registers */ 328 * Recover VI and CSI hardware blocks in case of missing frame start in tegra_channel_capture_error_recover() 329 * events due to source not streaming or noisy csi inputs from the in tegra_channel_capture_error_recover() 331 * events which can cause CSI and VI hardware hang. in tegra_channel_capture_error_recover() 347 /* recover CSI block */ in tegra_channel_capture_error_recover() 639 /* clear csi errors and do capture setup for all ports in gang mode */ in tegra210_vi_start_streaming() [all …]
|
/linux/drivers/media/platform/rockchip/rkisp1/ |
H A D | rkisp1-csi.c | 3 * Rockchip ISP1 Driver - CSI-2 Receiver 22 #include "rkisp1-csi.h" 37 struct rkisp1_csi *csi = &rkisp1->csi; in rkisp1_csi_link_sensor() local 48 /* Create the link from the sensor to the CSI receiver. */ in rkisp1_csi_link_sensor() 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() [all …]
|
/linux/Documentation/admin-guide/media/ |
H A 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 chapter [all …]
|
H A 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/Documentation/devicetree/bindings/soc/imx/ |
H A D | fsl,imx8mm-disp-blk-ctrl.yaml | 14 the NoC and ensuring proper power sequencing of the display and MIPI CSI 36 - const: csi-bridge 39 - const: mipi-csi 47 - const: csi-bridge-axi 48 - const: csi-bridge-apb 49 - const: csi-bridge-core 55 - const: csi-aclk 56 - const: csi-pclk 78 power-domain-names = "bus", "csi-bridge", "lcdif", 79 "mipi-dsi", "mipi-csi"; [all …]
|
/linux/Documentation/devicetree/bindings/media/xilinx/ |
H A 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/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/devicetree/bindings/media/ |
H A D | nxp,imx7-csi.yaml | 4 $id: http://devicetree.org/schemas/media/nxp,imx7-csi.yaml# 7 title: i.MX7 and i.MX8 CSI bridge (CMOS Sensor Interface) 13 This is device node for the CMOS Sensor Interface (CSI) which enables the 20 - fsl,imx8mq-csi 21 - fsl,imx7-csi 22 - fsl,imx6ul-csi 24 - const: fsl,imx8mm-csi 25 - const: fsl,imx7-csi 62 - fsl,imx8mm-csi 73 csi: csi@30710000 { [all …]
|
H A 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) 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 74 description: MIPI CSI-2 bridge input port 108 csi1: csi@1cb4000 { 109 compatible = "allwinner,sun8i-v3s-csi";
|
/linux/drivers/staging/media/atomisp/pci/css_2401_system/host/ |
H A 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/drivers/staging/media/atomisp/pci/hive_isp_css_include/host/ |
H A D | csi_rx_public.h | 25 * @brief Get the csi rx frontend state. 26 * Get the state of the csi rx frontend regiester-set. 28 * @param[in] id The global unique ID of the csi rx fe controller. 35 * @brief Dump the csi rx frontend state. 36 * Dump the state of the csi rx frontend regiester-set. 38 * @param[in] id The global unique ID of the csi rx fe controller. 45 * @brief Get the state of the csi rx fe dlane. 57 * @brief Get the csi rx backend state. 58 * Get the state of the csi rx backend regiester-set. 60 * @param[in] id The global unique ID of the csi rx be controller. [all …]
|
/linux/Documentation/devicetree/bindings/phy/ |
H A D | rockchip-inno-csi-dphy.yaml | 4 $id: http://devicetree.org/schemas/phy/rockchip-inno-csi-dphy.yaml# 13 The Rockchip SoC has a MIPI CSI D-PHY based on an Innosilicon IP which 14 connects to the ISP1 (Image Signal Processing unit v1.0) for CSI cameras. 19 - rockchip,px30-csi-dphy 20 - rockchip,rk1808-csi-dphy 21 - rockchip,rk3326-csi-dphy 22 - rockchip,rk3368-csi-dphy 23 - rockchip,rk3568-csi-dphy 71 compatible = "rockchip,px30-csi-dphy";
|
/linux/drivers/media/platform/renesas/rcar-vin/ |
H A D | rcar-vin.h | 130 * CSI-2 receiver to a VIN 133 * @csi: CSI-2 receiver ID. 134 * @chsel: CHSEL register values that connects VIN group to CSI-2. 137 * Each R-Car CSI-2 receiver has four output channels facing the VIN 138 * devices, each channel can carry one CSI-2 Virtual Channel (VC). 139 * There is no correlation between channel number and CSI-2 VC. It's 140 * up to the CSI-2 receiver driver to configure which VC is output 145 enum rvin_csi_id csi; member 153 * @use_isp: the VIN is connected to the ISP and not to the CSI-2 157 * @routes: list of possible routes from the CSI-2 recivers to [all …]
|
/linux/Documentation/driver-api/media/drivers/ |
H A D | ipu6.rst | 155 IPU6 input system consists of MIPI D-PHY and several CSI-2 receivers. It can 156 capture image pixel data from camera sensors or other MIPI CSI-2 output devices. 158 D-PHYs and CSI-2 ports lane mapping 164 adaptional layer between D-PHY and CSI-2 receiver controller which includes port 170 there are 12 data lanes and 8 clock lanes, IPU6 support maximum 8 CSI-2 ports, 173 maximum 4 CSI-2 ports. For Meteor Lake, D-PHY has 12 data lanes and 6 clock 174 lanes so IPU6 support maximum 6 CSI-2 ports. 176 .. Note:: Each pair of CSI-2 two ports is a single unit that can share the data 177 lanes. For example, for CSI-2 port 0 and 1, CSI-2 port 0 support 178 maximum 4 data lanes, CSI-2 port 1 support maximum 2 data lanes, CSI-2 [all …]
|
/linux/arch/arm64/boot/dts/renesas/ |
H A D | Makefile | 114 dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043u11-smarc-cru-csi-ov5645.dtbo 117 r9a07g043u11-smarc-cru-csi-ov5645-dtbs := r9a07g043u11-smarc.dtb r9a07g043u11-smarc-cru-csi-ov5645.… 118 dtb-$(CONFIG_ARCH_R9A07G043) += r9a07g043u11-smarc-cru-csi-ov5645.dtb 125 dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044c2-smarc-cru-csi-ov5645.dtbo 126 r9a07g044c2-smarc-cru-csi-ov5645-dtbs := r9a07g044c2-smarc.dtb r9a07g044c2-smarc-cru-csi-ov5645.dtbo 127 dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044c2-smarc-cru-csi-ov5645.dtb 130 dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc-cru-csi-ov5645.dtbo 131 r9a07g044l2-smarc-cru-csi-ov5645-dtbs := r9a07g044l2-smarc.dtb r9a07g044l2-smarc-cru-csi-ov5645.dtbo 132 dtb-$(CONFIG_ARCH_R9A07G044) += r9a07g044l2-smarc-cru-csi-ov5645.dtb 135 dtb-$(CONFIG_ARCH_R9A07G054) += r9a07g054l2-smarc-cru-csi-ov5645.dtbo [all …]
|