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

TOMOYO Linux Cross Reference
Linux/Documentation/driver-api/media/tx-rx.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/driver-api/media/tx-rx.rst (Version linux-6.12-rc7) and /Documentation/driver-api/media/tx-rx.rst (Version linux-5.2.21)


  1 .. SPDX-License-Identifier: GPL-2.0               
  2                                                   
  3 .. _transmitter-receiver:                         
  4                                                   
  5 Pixel data transmitter and receiver drivers       
  6 ===========================================       
  7                                                   
  8 V4L2 supports various devices that transmit an    
  9 these devices include a camera sensor, a TV tu    
 10 CSI-2 receiver in an SoC.                         
 11                                                   
 12 Bus types                                         
 13 ---------                                         
 14                                                   
 15 The following busses are the most common. This    
 16                                                   
 17 MIPI CSI-2                                        
 18 ^^^^^^^^^^                                        
 19                                                   
 20 CSI-2 is a data bus intended for transferring     
 21 the host SoC. It is defined by the `MIPI allia    
 22                                                   
 23 .. _`MIPI alliance`: https://www.mipi.org/        
 24                                                   
 25 Parallel and BT.656                               
 26 ^^^^^^^^^^^^^^^^^^^                               
 27                                                   
 28 The parallel and `BT.656`_ buses transport one    
 29 per data line. The parallel bus uses synchroni    
 30 signals whereas BT.656 embeds synchronisation.    
 31                                                   
 32 .. _`BT.656`: https://en.wikipedia.org/wiki/IT    
 33                                                   
 34 Transmitter drivers                               
 35 -------------------                               
 36                                                   
 37 Transmitter drivers generally need to provide     
 38 configuration of the transmitter. What is requ    
 39 bus. These are common for both busses.            
 40                                                   
 41 Media bus pixel code                              
 42 ^^^^^^^^^^^^^^^^^^^^                              
 43                                                   
 44 See :ref:`v4l2-mbus-pixelcode`.                   
 45                                                   
 46 Link frequency                                    
 47 ^^^^^^^^^^^^^^                                    
 48                                                   
 49 The :ref:`V4L2_CID_LINK_FREQ <v4l2-cid-link-fr    
 50 receiver the frequency of the bus (i.e. it is     
 51                                                   
 52 ``.s_stream()`` callback                          
 53 ^^^^^^^^^^^^^^^^^^^^^^^^                          
 54                                                   
 55 The struct struct v4l2_subdev_video_ops->s_str    
 56 receiver driver to control the transmitter dri    
 57                                                   
 58                                                   
 59 CSI-2 transmitter drivers                         
 60 -------------------------                         
 61                                                   
 62 Pixel rate                                        
 63 ^^^^^^^^^^                                        
 64                                                   
 65 The pixel rate on the bus is calculated as fol    
 66                                                   
 67         pixel_rate = link_freq * 2 * nr_of_lan    
 68                                                   
 69 where                                             
 70                                                   
 71 .. list-table:: variables in pixel rate calcul    
 72    :header-rows: 1                                
 73                                                   
 74    * - variable or constant                       
 75      - description                                
 76    * - link_freq                                  
 77      - The value of the ``V4L2_CID_LINK_FREQ``    
 78    * - nr_of_lanes                                
 79      - Number of data lanes used on the CSI-2     
 80        be obtained from the OF endpoint config    
 81    * - 2                                          
 82      - Data is transferred on both rising and     
 83    * - bits_per_sample                            
 84      - Number of bits per sample.                 
 85    * - k                                          
 86      - 16 for D-PHY and 7 for C-PHY               
 87                                                   
 88 .. note::                                         
 89                                                   
 90         The pixel rate calculated this way is     
 91         pixel rate on the camera sensor's pixe    
 92         :ref:`V4L2_CID_PIXEL_RATE <v4l2-cid-pi    
 93                                                   
 94 LP-11 and LP-111 states                           
 95 ^^^^^^^^^^^^^^^^^^^^^^^                           
 96                                                   
 97 As part of transitioning to high speed mode, a    
 98 briefly sets the bus to LP-11 or LP-111 state,    
 99 may be as short as 100 µs, during which the r    
100 proceeds its own part of high speed mode trans    
101                                                   
102 Most receivers are capable of autonomously han    
103 configured them to do so, but there are receiv    
104 involvement in observing LP-11 or LP-111 state    
105 in software, especially when there is no inter    
106 happening.                                        
107                                                   
108 One way to address this is to configure the tr    
109 or LP-111 state, which requires support from t    
110 not universally available. Many devices return    
111 stopped while the state after power-on is LP-0    
112                                                   
113 The ``.pre_streamon()`` callback may be used t    
114 transitioning to streaming state, but not yet     
115 ``.post_streamoff()`` callback is used to undo    
116 ``.pre_streamon()`` callback. The caller of ``    
117 to call ``.post_streamoff()`` for each success    
118                                                   
119 In the context of CSI-2, the ``.pre_streamon()    
120 the transmitter to the LP-11 or LP-111 state.     
121 device, so this should be only done when it is    
122                                                   
123 Receiver drivers that do not need explicit LP-    
124 waived from calling the two callbacks.            
125                                                   
126 Stopping the transmitter                          
127 ^^^^^^^^^^^^^^^^^^^^^^^^                          
128                                                   
129 A transmitter stops sending the stream of imag    
130 calling the ``.s_stream()`` callback. Some tra    
131 stream at a frame boundary whereas others stop    
132 effectively leaving the current frame unfinish    
133 should not make assumptions either way, but fu    
134 cases.                                            
                                                      

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