Wiki

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
resources:tools-software:linux-drivers:iio-adc:ad400x [02 Nov 2018 10:09] – [Driver testing] Mircea Caprioruresources:tools-software:linux-drivers:iio-adc:ad400x [14 Nov 2018 11:26] – [Status] Mircea Caprioru
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 ======
Line 82: Line 141:
 </xterm></WRAP> </xterm></WRAP>
  
 +====== More Information ======
 +
 +{{page>software:linux:docs:iio:iio_snippets#iio pointers&noheader&firstseconly&noeditbtn}}
resources/tools-software/linux-drivers/iio-adc/ad400x.txt · Last modified: 01 Feb 2024 21:48 by Marcelo Schmitt