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

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

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ 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.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/admin-guide/media/ipu6-isys.rst (Version linux-6.12-rc7) and /Documentation/admin-guide/media/ipu6-isys.rst (Version linux-4.11.12)


  1 .. SPDX-License-Identifier: GPL-2.0               
  2                                                   
  3 .. include:: <isonum.txt>                         
  4                                                   
  5 ==============================================    
  6 Intel Image Processing Unit 6 (IPU6) Input Sys    
  7 ==============================================    
  8                                                   
  9 Copyright |copy| 2023--2024 Intel Corporation     
 10                                                   
 11 Introduction                                      
 12 ============                                      
 13                                                   
 14 This file documents the Intel IPU6 (6th genera    
 15 Input System (MIPI CSI2 receiver) drivers loca    
 16 drivers/media/pci/intel/ipu6.                     
 17                                                   
 18 The Intel IPU6 can be found in certain Intel S    
 19                                                   
 20 * Tiger Lake                                      
 21 * Jasper Lake                                     
 22 * Alder Lake                                      
 23 * Raptor Lake                                     
 24 * Meteor Lake                                     
 25                                                   
 26 Intel IPU6 is made up of two components - Inpu    
 27 System (PSYS).                                    
 28                                                   
 29 The Input System mainly works as MIPI CSI-2 re    
 30 processes the image data from the sensors and     
 31                                                   
 32 There are 2 driver modules - intel-ipu6 and in    
 33 IPU6 common driver which does PCI configuratio    
 34 firmware authentication, DMA mapping and IPU-M    
 35 configuration. intel_ipu6_isys implements V4L2    
 36 sub-device interfaces. The IPU6 ISYS driver su    
 37 to the IPU6 ISYS through V4L2 sub-device senso    
 38                                                   
 39 .. Note:: See Documentation/driver-api/media/d    
 40           information about the IPU6 hardware.    
 41                                                   
 42 Input system driver                               
 43 ===================                               
 44                                                   
 45 The Input System driver mainly configures CSI-    
 46 stream configuration, sends commands to firmwa    
 47 and firmware and then returns buffers to user.    
 48 several V4L2 sub-devices as well as video node    
 49                                                   
 50 .. kernel-figure::  ipu6_isys_graph.svg           
 51    :alt: ipu6 isys media graph with multiple s    
 52                                                   
 53    IPU6 ISYS media graph with multiple streams    
 54                                                   
 55 The graph has been produced using the followin    
 56                                                   
 57 .. code-block:: none                              
 58                                                   
 59    fdp -Gsplines=true -Tsvg < dot > dot.svg       
 60                                                   
 61 Capturing frames with IPU6 ISYS                   
 62 -------------------------------                   
 63                                                   
 64 IPU6 ISYS is used to capture frames from the c    
 65 CSI2 ports. The supported input formats of ISY    
 66                                                   
 67 .. tabularcolumns:: |p{0.8cm}|p{4.0cm}|p{4.0cm    
 68                                                   
 69 .. flat-table::                                   
 70     :header-rows: 1                               
 71                                                   
 72     * - IPU6 ISYS supported input formats         
 73                                                   
 74     * - RGB565, RGB888                            
 75                                                   
 76     * - UYVY8, YUYV8                              
 77                                                   
 78     * - RAW8, RAW10, RAW12                        
 79                                                   
 80 .. _ipu6_isys_capture_examples:                   
 81                                                   
 82 Examples                                          
 83 ~~~~~~~~                                          
 84                                                   
 85 Here is an example of IPU6 ISYS raw capture on    
 86 machine, ov01a10 sensor is connected to IPU IS    
 87 generate images at sBGGR10 with resolution 128    
 88                                                   
 89 Using the media controller APIs, we can config    
 90 media-ctl [#f1]_ and yavta [#f2]_ to transmit     
 91                                                   
 92 .. code-block:: none                              
 93                                                   
 94     # Example 1 capture frame from ov01a10 cam    
 95     # This example assumes /dev/media0 as the     
 96     export MDEV=/dev/media0                       
 97                                                   
 98     # Establish the link for the media devices    
 99     media-ctl -d $MDEV -l "\"ov01a10 3-0036\":    
100                                                   
101     # Set the format for the media devices        
102     media-ctl -d $MDEV -V "ov01a10:0 [fmt:SBGG    
103     media-ctl -d $MDEV -V "Intel IPU6 CSI2 2:0    
104     media-ctl -d $MDEV -V "Intel IPU6 CSI2 2:1    
105                                                   
106 Once the media pipeline is configured, desired    
107 (such as exposure and gain settings) can be se    
108                                                   
109 e.g                                               
110                                                   
111 .. code-block:: none                              
112                                                   
113     # and that ov01a10 sensor is connected to     
114     export SDEV=$(media-ctl -d $MDEV -e "ov01a    
115                                                   
116     yavta -w 0x009e0903 400 $SDEV                 
117     yavta -w 0x009e0913 1000 $SDEV                
118     yavta -w 0x009e0911 2000 $SDEV                
119                                                   
120 Once the desired sensor settings are set, fram    
121                                                   
122 e.g                                               
123                                                   
124 .. code-block:: none                              
125                                                   
126     yavta --data-prefix -u -c10 -n5 -I -s 1280    
127             -f SBGGR10 $(media-ctl -d $MDEV -e    
128                                                   
129 With the above command, 10 frames are captured    
130 sBGGR10 format. The captured frames are availa    
131                                                   
132 Here is another example of IPU6 ISYS RAW and m    
133 sensor ov2740 on Lenovo X1 Yoga laptop.           
134                                                   
135 .. code-block:: none                              
136                                                   
137     media-ctl -l "\"ov2740 14-0036\":0 -> \"In    
138     media-ctl -l "\"Intel IPU6 CSI2 1\":1 -> \    
139     media-ctl -l "\"Intel IPU6 CSI2 1\":2 -> \    
140                                                   
141     # set routing                                 
142     media-ctl -R "\"Intel IPU6 CSI2 1\" [0/0->    
143                                                   
144     media-ctl -V "\"Intel IPU6 CSI2 1\":0/0 [f    
145     media-ctl -V "\"Intel IPU6 CSI2 1\":0/1 [f    
146     media-ctl -V "\"Intel IPU6 CSI2 1\":1/0 [f    
147     media-ctl -V "\"Intel IPU6 CSI2 1\":2/1 [f    
148                                                   
149     CAPTURE_DEV=$(media-ctl -e "Intel IPU6 ISY    
150     ./yavta --data-prefix -c100 -n5 -I -s1932x    
151         -f SGRBG10 ${CAPTURE_DEV}                 
152                                                   
153     CAPTURE_META=$(media-ctl -e "Intel IPU6 IS    
154     ./yavta --data-prefix -c100 -n5 -I -s97x1     
155         --file=/tmp/meta-#.bin -f GENERIC_8 ${    
156                                                   
157 References                                        
158 ==========                                        
159                                                   
160 .. [#f1] https://git.ideasonboard.org/media-ct    
161 .. [#f2] https://git.ideasonboard.org/yavta.gi    
                                                      

~ [ 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