lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200828131737.12483-1-kevin.lhopital@bootlin.com>
Date:   Fri, 28 Aug 2020 15:17:32 +0200
From:   Kévin L'hôpital 
        <kevin.lhopital@...tlin.com>
To:     linux-media@...r.kernel.org
Cc:     robh+dt@...nel.org, mark.rutland@....com, mripard@...nel.org,
        wens@...e.org, yong.deng@...ewell.com, mchehab+samsung@...nel.org,
        p.zabel@...gutronix.de, sakari.ailus@...ux.intel.com,
        hans.verkuil@...co.com, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
        paul.kocialkowski@...tlin.com, thomas.petazzoni@...tlin.com,
        Kévin L'hôpital 
        <kevin.lhopital@...tlin.com>
Subject: [PATCH v2 0/4] Support of MIPI CSI-2 for A83T

This series adds the support for the MIPI CSI-2 controller for the A83T SoC.
The CSI controller is the same as the V3s SoC that's why I put the A83T
MIPI CSI-2 driver in sun6i-csi.
My work is based on the Allwinner BSP for A83T and also on MIPI CSI-2
specification for the A83T given by Allwinner.

v4l2-compliance SHA: not available, 32 bits                                                                             
                                                                                                                        
Compliance test for sun6i-video device /dev/video0:                                                                     
                                                                                                                        
Driver Info:                                                                                                            
        Driver name      : sun6i-video                                                                                  
        Card type        : sun6i-csi                                                                                    
        Bus info         : platform:camera                                                                              
        Driver version   : 5.5.0                                                                                        
        Capabilities     : 0x84200001                                                                                   
                Video Capture                                                                                           
                Streaming                                                                                               
                Extended Pix Format                                                                                     
                Device Capabilities                                                                                     
        Device Caps      : 0x04200001                                                                                   
                Video Capture                                                                                           
                Streaming                                                                                               
                Extended Pix Format                                                                                     
Media Driver Info:                                                                                                      
        Driver name      : sun6i-csi                                                                                    
        Model            : Allwinner Video Capture Device                                                               
        Serial           :                                                                                              
        Bus info         :                                                                                              
        Media version    : 5.5.0                                                                                        
        Hardware revision: 0x00000000 (0)                                                                               
        Driver version   : 5.5.0                                                                                        
Interface Info:                                                                                                         
        ID               : 0x03000003                                                                                   
        Type             : V4L Video                                                                                    
Entity Info:                                                                                                            
        ID               : 0x00000001 (1)                                                                               
        Name             : sun6i-csi                                                                                    
        Function         : V4L2 I/O                                                                                     
        Pad 0x01000002   : 0: Sink, Must Connect                                                                        
          Link 0x02000007: from remote pad 0x1000006 of entity 'ov8865 1-0036': Data, Enabled, Immutable                
                                                                                                                        
Required ioctls:                                                                                                        
        test MC information (see 'Media Driver Info' above): OK                                                         
        test VIDIOC_QUERYCAP: OK                                                                                        
                                                                                                                        
Allow for multiple opens:                                                                                               
        test second /dev/video0 open: OK                                                                                
        test VIDIOC_QUERYCAP: OK                                                                                        
        test VIDIOC_G/S_PRIORITY: OK                                                                                    
        test for unlimited opens: OK                                                                                    
                                                                                                                        
Debug ioctls:                                                                                                           
        test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)                                                                
        test VIDIOC_LOG_STATUS: OK                                                                                      
                                                                                                                        
Input ioctls:                                                                                                           
        test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)                                                       
        test VIDIOC_G/S_FREQUENCY: OK (Not Supported)                                                                   
        test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)                                                                  
        test VIDIOC_ENUMAUDIO: OK (Not Supported)                                                                       
        test VIDIOC_G/S/ENUMINPUT: OK                                                                                   
        test VIDIOC_G/S_AUDIO: OK (Not Supported)                                                                       
        Inputs: 1 Audio Inputs: 0 Tuners: 0                                                                             
                                                                                                                        
Output ioctls:                                                                                                          
        test VIDIOC_G/S_MODULATOR: OK (Not Supported)                                                                   
        test VIDIOC_G/S_FREQUENCY: OK (Not Supported)                                                                   
        test VIDIOC_ENUMAUDOUT: OK (Not Supported)                                                                      
        test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)                                                                  
        test VIDIOC_G/S_AUDOUT: OK (Not Supported)                                                                      
        Outputs: 0 Audio Outputs: 0 Modulators: 0                                                                       
                                                                                                                        
Input/Output configuration ioctls:                                                                                      
        test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)                                                              
        test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)                                                       
        test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)                                                                  
        test VIDIOC_G/S_EDID: OK (Not Supported)                                                                        
                                                                                                                        
Control ioctls (Input 0):                                                                                               
        test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK                                                                        
        test VIDIOC_QUERYCTRL: OK                                                                                       
        test VIDIOC_G/S_CTRL: OK                                                                                        
        test VIDIOC_G/S/TRY_EXT_CTRLS: OK                                                                               
        test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK                                                                     
        test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)                                                                    
        Standard Controls: 7 Private Controls: 0                                                                        
                                                                                                                        
Format ioctls (Input 0):                                                                                                
        test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK                                                              
        test VIDIOC_G/S_PARM: OK (Not Supported)                                                                        
        test VIDIOC_G_FBUF: OK (Not Supported)                                                                          
        test VIDIOC_G_FMT: OK                                                                                           
        test VIDIOC_TRY_FMT: OK                                                                                         
        test VIDIOC_S_FMT: OK                                                                                           
        test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)                                                                
        test Cropping: OK (Not Supported)                                                                               
        test Composing: OK (Not Supported)                                                                              
        test Scaling: OK                                                                                                
                                                                                                                        
Codec ioctls (Input 0):                                                                                                 
        test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)                                                               
        test VIDIOC_G_ENC_INDEX: OK (Not Supported)                                                                     
        test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)                                                               
                                                                                                                        
Buffer ioctls (Input 0):                                                                                                
        test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK                                                                    
        test VIDIOC_EXPBUF: OK                                                                                          
        test Requests: OK (Not Supported)                                                                               
                                                                                                                        
Total for sun6i-video device /dev/video0: 45, Succeeded: 45, Failed: 0, Warnings: 0

Changes since V1:
- Add more details in the cover letter.
- Add a test to get the clocks to avoid an error for the platform without MIPI
CSI-2.
- Add more details in the register assignations.
- Removed the support of multiple virtual channels because there is only one
channel support in the CSI driver.

Kévin L'hôpital (4):
  media: sun6i-csi: Fix the bpp for 10-bit bayer formats
  media: sunxi: sun6i-csi: Move the sun6i_csi_dev structure to the
    common header
  media: sunxi: sun6i-csi: Add support of MIPI CSI-2 for A83T
  ARM: dts: sun8i: a83t: Add support for the MIPI CSI-2 in CSI node

 arch/arm/boot/dts/sun8i-a83t.dtsi             |  11 +-
 .../media/platform/sunxi/sun6i-csi/Makefile   |   2 +-
 .../platform/sunxi/sun6i-csi/sun6i_csi.c      |  96 +++++---
 .../platform/sunxi/sun6i-csi/sun6i_csi.h      |  14 +-
 .../sunxi/sun6i-csi/sun8i_a83t_dphy.c         |  39 ++++
 .../sunxi/sun6i-csi/sun8i_a83t_dphy.h         |  16 ++
 .../sunxi/sun6i-csi/sun8i_a83t_dphy_reg.h     |  39 ++++
 .../sunxi/sun6i-csi/sun8i_a83t_mipi_csi2.c    | 217 ++++++++++++++++++
 .../sunxi/sun6i-csi/sun8i_a83t_mipi_csi2.h    |  16 ++
 .../sun6i-csi/sun8i_a83t_mipi_csi2_reg.h      | 179 +++++++++++++++
 10 files changed, 595 insertions(+), 34 deletions(-)
 create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun8i_a83t_dphy.c
 create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun8i_a83t_dphy.h
 create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun8i_a83t_dphy_reg.h
 create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun8i_a83t_mipi_csi2.c
 create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun8i_a83t_mipi_csi2.h
 create mode 100644 drivers/media/platform/sunxi/sun6i-csi/sun8i_a83t_mipi_csi2_reg.h

-- 
2.17.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ