Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
resources:tools-software:linux-drivers:iio-adc:ad400x [02 Nov 2018 10:10]
mirceac [Driver testing]
resources:tools-software:linux-drivers:iio-adc:ad400x [14 Nov 2018 11:26] (current)
mirceac [Status]
Line 1: Line 1:
-====== AD4003/​AD4007/​AD4011/​AD4020 Linux Driver ======+====== AD4003/​AD4007/​AD4011/​AD4020/​ADAQ40XX ​Linux Driver ======
  
 ===== Supported Devices ===== ===== Supported Devices =====
Line 8: Line 8:
   * [[adi>​AD4011]]   * [[adi>​AD4011]]
   * [[adi>​AD4020]]   * [[adi>​AD4020]]
 +  * [[adi>​ADAQ4003]]
  
 ===== Evaluation Boards ===== ===== Evaluation Boards =====
Line 20: Line 21:
  
 ^ Source ^ Mainlined? ^ ^ Source ^ Mainlined? ^
-| [[linux.github>​master/​drivers/​iio/​adc/​ad7124.c|git]] | [In progress...] |+| [[linux.github>​master/​drivers/​iio/​adc/​ad400x.c|git]] | [No] |
  
 ===== Files ===== ===== Files =====
  
 ^ Function ^ File ^ ^ Function ^ File ^
-| driver ​ | [[linux.github>​master/​drivers/​iio/​adc/​ad7124.c]] | +| driver ​ | [[linux.github>​master/​drivers/​iio/​adc/​ad400x.c]] | 
-| devicetree bindings | [[linux.github>​master?​Documentation/​devicetree/​bindings/​iio/​adc/​adi,​ad7124.txt | Documentation/​devicetree/​bindings/​iio/​adc/​adi,ad7124.txt]] |+| devicetree bindings | [[linux.github>​master?​Documentation/​devicetree/​bindings/​iio/​adc/​adi,​ad7124.txt | Documentation/​devicetree/​bindings/​iio/​adc/​ad400x.txt]] | 
 + 
 +====== Driver setup ====== 
 +Since AD4003/​4007/​4011/​4020 are high speed analog-to-digital converters with speeds up to 2 Msps additional components are required in order to achieve high performance. In this scenario the following hdl components are required: 
 +  * [[resources:​fpga:​peripherals:​spi_engine|SPI Engine]] 
 +  * [[resources:​fpga:​docs:​axi_dmac|High-Speed DMA Controller Peripheral]] 
 + 
 +The device will interface with these components and follow the device tree bindings.  
 + 
 +<WRAP box bggreen><​wrap info>​This specifies any shell prompt running on the target</​wrap>​ 
 +<​xterm>​ 
 +&​fpga_axi {                                                                       
 +         ​rx_dma:​ rx-dmac@44a30000 {                                                
 +                 ​compatible = "​adi,​axi-dmac-1.00.a"; ​                              
 +                 reg = <​0x44a30000 0x1000>; ​                                       
 +                 #​dma-cells = <​1>; ​                                                
 +                 ​interrupts = <0 57 0>; ​                                           
 +                 ​clocks = <&​clkc 16>; ​                                             
 +                                                                                   
 +                 ​adi,​channels {                                                    
 +                         #​size-cells = <​0>; ​                                       
 +                         #​address-cells = <​1>; ​                                    
 +                                                                                   
 +                         ​dma-channel@0 {                                           
 +                                 reg = <​0>; ​                                       
 +                                 ​adi,​source-bus-width = <​32>; ​                     
 +                                 ​adi,​source-bus-type = <​1>; ​                       
 +                                 ​adi,​destination-bus-width = <​64>; ​                
 +                                 ​adi,​destination-bus-type = <​0>; ​                  
 +                         ​}; ​                                                       
 +                 ​}; ​                                                               
 +         ​}; ​                                                                       
 +                                                                                   
 +         ​axi_spi_engine_0:​ axi-spi-engine@44a00000 {                               
 +                 ​compatible = "​adi,​axi-spi-engine-1.00.a"; ​                        
 +                 reg = <​0x44a00000 0x1000>; ​                                       
 +                 ​interrupt-parent = <&​intc>; ​                                      
 +                 ​interrupts = <0 56 4>; ​                                           
 +                 ​clocks = <&​clkc 15 &clkc 15>; ​                                    
 +                 ​clock-names = "​s_axi_aclk",​ "​spi_clk"; ​                           
 +                 ​num-cs = <​1>; ​                                                    
 +                                                                                  
 +                 #​address-cells = <​0x1>; ​                                          
 +                 #​size-cells = <​0x0>; ​                                             
 +                                                                                   
 +                 ​ad4020:​ adc@0 {                                                   
 +                         ​compatible = "​ad4020"; ​                                   
 +                         reg = <​0>; ​                                               
 +                         ​spi-max-frequency = <​71000000>; ​                          
 +                                                                                   
 +                         dmas = <&​rx_dma 0>; ​                                      
 +                         ​dma-names = "​rx"; ​                                        
 +                                                                                   
 +                         ​vref-supply = <&​vref>; ​                                   
 +                         #​io-channel-cells = <​1>; ​                                 
 +                 ​}; ​                                                               
 +         ​}; ​                                                                       
 + ​}; ​    
 +</​xterm></​WRAP>​
  
 ====== Driver testing ====== ====== Driver testing ======
resources/tools-software/linux-drivers/iio-adc/ad400x.1541149831.txt.gz · Last modified: 02 Nov 2018 10:10 by mirceac