1 .. SPDX-License-Identifier: GPL-2.0 2 3 i.MX7 Video Capture Driver 4 ========================== 5 6 Introduction 7 ------------ 8 9 The i.MX7 contrary to the i.MX5/6 family does 10 Unit (IPU); because of that the capabilities t 11 manipulation of the capture frames are less fe 12 13 For image capture the i.MX7 has three units: 14 - CMOS Sensor Interface (CSI) 15 - Video Multiplexer 16 - MIPI CSI-2 Receiver 17 18 .. code-block:: none 19 20 MIPI Camera Input ---> MIPI CSI-2 --- > |\ 21 | \ 22 | 23 | M 24 | U 25 | X 26 | 27 Parallel Camera Input ----------------> | / 28 |/ 29 30 For additional information, please refer to th 31 reference manual [#f1]_. 32 33 Entities 34 -------- 35 36 imx-mipi-csi2 37 -------------- 38 39 This is the MIPI CSI-2 receiver entity. It has 40 data from MIPI CSI-2 camera sensor. It has one 41 virtual channel 0. This module is compliant to 42 D-phy, and supports two D-PHY Rx Data lanes. 43 44 csi-mux 45 ------- 46 47 This is the video multiplexer. It has two sink 48 sensor with a parallel interface or from MIPI 49 a single source pad that routes to the CSI. 50 51 csi 52 --- 53 54 The CSI enables the chip to connect directly t 55 can interface directly with Parallel and MIPI 56 to store received image pixel data and embedde 57 from the FIFO through AHB bus. 58 59 This entity has one sink pad that receives fro 60 source pad that routes video frames directly t 61 routed to a capture device node. 62 63 Usage Notes 64 ----------- 65 66 To aid in configuration and for backward compa 67 that access controls only from video device no 68 inherit controls from the active entities in t 69 can be accessed either directly from the subde 70 device interface. For example, the sensor cont 71 sensor subdevs or from the active capture devi 72 73 Warp7 with OV2680 74 ----------------- 75 76 On this platform an OV2680 MIPI CSI-2 module i 77 CSI-2 receiver. The following example configur 78 an output of 800x600, and BGGR 10 bit bayer fo 79 80 .. code-block:: none 81 82 # Setup links 83 media-ctl -l "'ov2680 1-0036':0 -> 'imx7-mi 84 media-ctl -l "'imx7-mipi-csis.0':1 -> 'csi- 85 media-ctl -l "'csi-mux':2 -> 'csi':0[1]" 86 media-ctl -l "'csi':1 -> 'csi capture':0[1] 87 88 # Configure pads for pipeline 89 media-ctl -V "'ov2680 1-0036':0 [fmt:SBGGR1 90 media-ctl -V "'csi-mux':1 [fmt:SBGGR10_1X10 91 media-ctl -V "'csi-mux':2 [fmt:SBGGR10_1X10 92 media-ctl -V "'imx7-mipi-csis.0':0 [fmt:SBG 93 media-ctl -V "'csi':0 [fmt:SBGGR10_1X10/800 94 95 After this streaming can start. The v4l2-ctl t 96 the resolutions supported by the sensor. 97 98 .. code-block:: none 99 100 # media-ctl -p 101 Media controller API version 5.2.0 102 103 Media device information 104 ------------------------ 105 driver imx7-csi 106 model imx-media 107 serial 108 bus info 109 hw revision 0x0 110 driver version 5.2.0 111 112 Device topology 113 - entity 1: csi (2 pads, 2 links) 114 type V4L2 subdev subtype U 115 device node name /dev/v4l- 116 pad0: Sink 117 [fmt:SBGGR10_1X10/800x 118 <- "csi-mux":2 [ENABLE 119 pad1: Source 120 [fmt:SBGGR10_1X10/800x 121 -> "csi capture":0 [EN 122 123 - entity 4: csi capture (1 pad, 1 link 124 type Node subtype V4L flag 125 device node name /dev/vide 126 pad0: Sink 127 <- "csi":1 [ENABLED] 128 129 - entity 10: csi-mux (3 pads, 2 links) 130 type V4L2 subdev subtype 131 device node name /dev/v4l 132 pad0: Sink 133 [fmt:Y8_1X8/1x1 field: 134 pad1: Sink 135 [fmt:SBGGR10_1X10/800x6 136 <- "imx7-mipi-csis.0": 137 pad2: Source 138 [fmt:SBGGR10_1X10/800x 139 -> "csi":0 [ENABLED] 140 141 - entity 14: imx7-mipi-csis.0 (2 pads, 142 type V4L2 subdev subtype 143 device node name /dev/v4l 144 pad0: Sink 145 [fmt:SBGGR10_1X10/800x 146 <- "ov2680 1-0036":0 [ 147 pad1: Source 148 [fmt:SBGGR10_1X10/800x 149 -> "csi-mux":1 [ENABLE 150 151 - entity 17: ov2680 1-0036 (1 pad, 1 l 152 type V4L2 subdev subtype 153 device node name /dev/v4l 154 pad0: Source 155 [fmt:SBGGR10_1X10/800x 156 -> "imx7-mipi-csis.0": 157 158 i.MX6ULL-EVK with OV5640 159 ------------------------ 160 161 On this platform a parallel OV5640 sensor is c 162 The following example configures a video captu 163 of 640x480 and UYVY8_2X8 format: 164 165 .. code-block:: none 166 167 # Setup links 168 media-ctl -l "'ov5640 1-003c':0 -> 'csi':0[ 169 media-ctl -l "'csi':1 -> 'csi capture':0[1] 170 171 # Configure pads for pipeline 172 media-ctl -v -V "'ov5640 1-003c':0 [fmt:UYV 173 174 After this streaming can start: 175 176 .. code-block:: none 177 178 gst-launch-1.0 -v v4l2src device=/dev/video 179 180 .. code-block:: none 181 182 # media-ctl -p 183 Media controller API version 5.14.0 184 185 Media device information 186 ------------------------ 187 driver imx7-csi 188 model imx-media 189 serial 190 bus info 191 hw revision 0x0 192 driver version 5.14.0 193 194 Device topology 195 - entity 1: csi (2 pads, 2 links) 196 type V4L2 subdev subtype U 197 device node name /dev/v4l- 198 pad0: Sink 199 [fmt:UYVY8_2X8/640x480 200 <- "ov5640 1-003c":0 [ 201 pad1: Source 202 [fmt:UYVY8_2X8/640x480 203 -> "csi capture":0 [EN 204 205 - entity 4: csi capture (1 pad, 1 link 206 type Node subtype V4L flag 207 device node name /dev/vide 208 pad0: Sink 209 <- "csi":1 [ENABLED,IM 210 211 - entity 10: ov5640 1-003c (1 pad, 1 l 212 type V4L2 subdev subtype 213 device node name /dev/v4l 214 pad0: Source 215 [fmt:UYVY8_2X8/640x480 216 -> "csi":0 [ENABLED,IM 217 218 References 219 ---------- 220 221 .. [#f1] https://www.nxp.com/docs/en/reference
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.