~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/media/imx7.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 not contain an Image Processing
 10 Unit (IPU); because of that the capabilities to perform operations or
 11 manipulation of the capture frames are less feature rich.
 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 | ------>  CSI ---> Capture
 25                                            | X |
 26                                            |  /
 27    Parallel Camera Input ----------------> | /
 28                                            |/
 29 
 30 For additional information, please refer to the latest versions of the i.MX7
 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 one sink pad to receive the pixel
 40 data from MIPI CSI-2 camera sensor. It has one source pad, corresponding to the
 41 virtual channel 0. This module is compliant to previous version of Samsung
 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 pads to select from either camera
 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.
 50 
 51 csi
 52 ---
 53 
 54 The CSI enables the chip to connect directly to external CMOS image sensor. CSI
 55 can interface directly with Parallel and MIPI CSI-2 buses. It has 256 x 64 FIFO
 56 to store received image pixel data and embedded DMA controllers to transfer data
 57 from the FIFO through AHB bus.
 58 
 59 This entity has one sink pad that receives from the csi-mux entity and a single
 60 source pad that routes video frames directly to memory buffers. This pad is
 61 routed to a capture device node.
 62 
 63 Usage Notes
 64 -----------
 65 
 66 To aid in configuration and for backward compatibility with V4L2 applications
 67 that access controls only from video device nodes, the capture device interfaces
 68 inherit controls from the active entities in the current pipeline, so controls
 69 can be accessed either directly from the subdev or from the active capture
 70 device interface. For example, the sensor controls are available either from the
 71 sensor subdevs or from the active capture device.
 72 
 73 Warp7 with OV2680
 74 -----------------
 75 
 76 On this platform an OV2680 MIPI CSI-2 module is connected to the internal MIPI
 77 CSI-2 receiver. The following example configures a video capture pipeline with
 78 an output of 800x600, and BGGR 10 bit bayer format:
 79 
 80 .. code-block:: none
 81 
 82    # Setup links
 83    media-ctl -l "'ov2680 1-0036':0 -> 'imx7-mipi-csis.0':0[1]"
 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]"
 87 
 88    # Configure pads for pipeline
 89    media-ctl -V "'ov2680 1-0036':0 [fmt:SBGGR10_1X10/800x600 field:none]"
 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]"
 92    media-ctl -V "'imx7-mipi-csis.0':0 [fmt:SBGGR10_1X10/800x600 field:none]"
 93    media-ctl -V "'csi':0 [fmt:SBGGR10_1X10/800x600 field:none]"
 94 
 95 After this streaming can start. The v4l2-ctl tool can be used to select any of
 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 Unknown flags 0
115                     device node name /dev/v4l-subdev0
116                 pad0: Sink
117                         [fmt:SBGGR10_1X10/800x600 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
118                         <- "csi-mux":2 [ENABLED]
119                 pad1: Source
120                         [fmt:SBGGR10_1X10/800x600 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
121                         -> "csi capture":0 [ENABLED]
122 
123         - entity 4: csi capture (1 pad, 1 link)
124                     type Node subtype V4L flags 0
125                     device node name /dev/video0
126                 pad0: Sink
127                         <- "csi":1 [ENABLED]
128 
129         - entity 10: csi-mux (3 pads, 2 links)
130                      type V4L2 subdev subtype Unknown flags 0
131                      device node name /dev/v4l-subdev1
132                 pad0: Sink
133                         [fmt:Y8_1X8/1x1 field:none]
134                 pad1: Sink
135                        [fmt:SBGGR10_1X10/800x600 field:none]
136                         <- "imx7-mipi-csis.0":1 [ENABLED]
137                 pad2: Source
138                         [fmt:SBGGR10_1X10/800x600 field:none]
139                         -> "csi":0 [ENABLED]
140 
141         - entity 14: imx7-mipi-csis.0 (2 pads, 2 links)
142                      type V4L2 subdev subtype Unknown flags 0
143                      device node name /dev/v4l-subdev2
144                 pad0: Sink
145                         [fmt:SBGGR10_1X10/800x600 field:none]
146                         <- "ov2680 1-0036":0 [ENABLED]
147                 pad1: Source
148                         [fmt:SBGGR10_1X10/800x600 field:none]
149                         -> "csi-mux":1 [ENABLED]
150 
151         - entity 17: ov2680 1-0036 (1 pad, 1 link)
152                      type V4L2 subdev subtype Sensor flags 0
153                      device node name /dev/v4l-subdev3
154                 pad0: Source
155                         [fmt:SBGGR10_1X10/800x600@1/30 field:none colorspace:srgb]
156                         -> "imx7-mipi-csis.0":0 [ENABLED]
157 
158 i.MX6ULL-EVK with OV5640
159 ------------------------
160 
161 On this platform a parallel OV5640 sensor is connected to the CSI port.
162 The following example configures a video capture pipeline with an output
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[1]"
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:UYVY8_2X8/640x480 field:none]"
173 
174 After this streaming can start:
175 
176 .. code-block:: none
177 
178    gst-launch-1.0 -v v4l2src device=/dev/video1 ! video/x-raw,format=UYVY,width=640,height=480 ! v4l2convert ! fbdevsink
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 Unknown flags 0
197                     device node name /dev/v4l-subdev0
198                 pad0: Sink
199                         [fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
200                         <- "ov5640 1-003c":0 [ENABLED,IMMUTABLE]
201                 pad1: Source
202                         [fmt:UYVY8_2X8/640x480 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
203                         -> "csi capture":0 [ENABLED,IMMUTABLE]
204 
205         - entity 4: csi capture (1 pad, 1 link)
206                     type Node subtype V4L flags 0
207                     device node name /dev/video1
208                 pad0: Sink
209                         <- "csi":1 [ENABLED,IMMUTABLE]
210 
211         - entity 10: ov5640 1-003c (1 pad, 1 link)
212                      type V4L2 subdev subtype Sensor flags 0
213                      device node name /dev/v4l-subdev1
214                 pad0: Source
215                         [fmt:UYVY8_2X8/640x480@1/30 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
216                         -> "csi":0 [ENABLED,IMMUTABLE]
217 
218 References
219 ----------
220 
221 .. [#f1] https://www.nxp.com/docs/en/reference-manual/IMX7SRM.pdf

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php