setting the sampling frequency of fmcdaq2/kcu1105 in linux ELF image

I am trying to set the sampling frequency to 300MSPS on fmcdaq2 using linux 2019_R1(vivado 2018.3)  image by changing the clock settings (channel dividers) from adi-daq2.dtsi
then build the kernel. I did the following steps :

  1. set adi,pll2-m1-freq = <600000000>; which means out master clock is 5.
  2. change ADC and DAC clock channel dividers :
    • "DAC_CLK_FMC" = 4.
    • "DAC_CLK" = 2.
    • "CLKD_DAC_SYSREF"=256.
    • "DAC_SYSREF"=256.
    • "ADC_CLK_FMC" = 4.
    • "ADC_CLK" = 2.
    • "CLKD_ADC_SYSREF"=256.
    • "ADC_SYSREF"=256.
  3. enable cpll in axi_ad9144_adxcvr by adding adi,use-cpll-enable;
  4. set adi,sys-clk-select = <0> in axi_ad9144_adxcvr.

the settings did not work . ad9680 sp0 and ad9144 sp0 are out of range also I did the same settings before on no-OS software after emoving the FIFO and it worked do you have any advice. 

settings the sampling frequency in no-OS to 300MSPS are disscussed here :

https://ez.analog.com/microcontroller-no-os-drivers/f/q-a/536803/adc-dac-sampling-frequency-kcu105-and-daq2

thanks

Ahmed

Parents
  • 0
    •  Analog Employees 
    on Mar 6, 2021 8:33 AM

    Hi,

    Can you show us the entire dmesg log? By the way, I would better use the 2019_R2 branch for both Linux and HDL.

    Thanks,
    Dragos

  • Hi Dragos

    I can not use vivado 2019.1 because my pc performance is not that good.

    this the dmesg output:

    Ramdisk addr 0x00000000,                                                        
    Compiled-in FDT at 80416a8c                                                     
    Linux version 4.14.0-gb6e379910a11-dirty (ahmed@ahmed-virtual-machine) (gcc ver1
    setup_cpuinfo: initialising                                                     
    setup_cpuinfo: Using full CPU PVR support                                       
    wt_msr_noirq                                                                    
    setup_memory: max_mapnr: 0x30000                                                
    setup_memory: min_low_pfn: 0x80000                                              
    setup_memory: max_low_pfn: 0xb0000                                              
    setup_memory: max_pfn: 0xb0000                                                  
    Zone ranges:                                                                    
      DMA      [mem 0x0000000080000000-0x00000000afffffff]                          
      Normal   empty                                                                
    Movable zone start for each node                                                
    Early memory node ranges                                                        
      node   0: [mem 0x0000000080000000-0x00000000ffffefff]                         
    Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffefff]                
    On node 0 totalpages: 196608                                                    
    free_area_init_node: node 0, pgdat 805c8584, node_mem_map 808bc000              
      DMA zone: 1536 pages used for memmap                                          
      DMA zone: 0 pages reserved                                                    
      DMA zone: 196608 pages, LIFO batch:31                                         
    pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768                                   
    pcpu-alloc: [0] 0                                                               
    Built 1 zonelists, mobility grouping on.  Total pages: 195072                   
    Kernel command line: console=ttyUL0,115200                                      
    PID hash table entries: 4096 (order: 2, 16384 bytes)                            
    Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)                
    Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)                  
    Memory: 769732K/786432K available (4186K kernel code, 160K rwdata, 1504K rodata)
    Kernel virtual memory layout:                                                   
      * 0xffffe000..0xfffff000  : fixmap                                            
      * 0xffffe000..0xffffe000  : early ioremap                                     
      * 0xb0000000..0xffffe000  : vmalloc & ioremap                                 
    NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0                                  
    irq-xilinx: /amba_pl/interrupt-controller@41200000: num_irq=16, edge=0x410      
    /amba_pl/timer@41c00000: irq=1                                                  
    clocksource: xilinx_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_is
    xilinx_timer_shutdown                                                           
    xilinx_timer_set_periodic                                                       
    sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 21474836475ns      
    Calibrating delay loop... 49.35 BogoMIPS (lpj=246784)                           
    pid_max: default: 32768 minimum: 301                                            
    Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)                     
    Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)                
    devtmpfs: initialized                                                           
    random: get_random_u32 called from bucket_table_alloc+0x248/0x29c with crng_ini0
    clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 191s
    futex hash table entries: 256 (order: -1, 3072 bytes)                           
    NET: Registered protocol family 16                                              
    clocksource: Switched to clocksource xilinx_clocksource                         
    NET: Registered protocol family 2                                               
    TCP established hash table entries: 8192 (order: 3, 32768 bytes)                
    TCP bind hash table entries: 8192 (order: 3, 32768 bytes)                       
    TCP: Hash tables configured (established 8192 bind 8192)                        
    UDP hash table entries: 512 (order: 1, 8192 bytes)                              
    UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)                         
    NET: Registered protocol family 1                                               
    RPC: Registered named UNIX socket transport module.                             
    RPC: Registered udp transport module.                                           
    RPC: Registered tcp transport module.                                           
    RPC: Registered tcp NFSv4.1 backchannel transport module.                       
    random: fast init done                                                          
    Skipping unavailable RESET gpio -2 (reset)                                      
    workingset: timestamp_bits=30 max_order=18 bucket_order=0                       
    jffs2: version 2.2. (NAND) (SUMMARY)  �© 2001-2006 Red Hat, Inc.                
    Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)            
    io scheduler noop registered                                                    
    io scheduler deadline registered                                                
    io scheduler cfq registered (default)                                           
    io scheduler mq-deadline registered                                             
    io scheduler kyber registered                                                   
    Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled                        
    40600000.serial: ttyUL0 at MMIO 0x40600000 (irq = 5, base_baud = 0) is a uartlie
    console [ttyUL0] enabled                                                        
    brd: module loaded                                                              
    Xilinx SystemACE device driver, major=254                                       
    libphy: Fixed MDIO Bus: probed                                                  
    xilinx_axienet 40e00000.ethernet: TX_CSUM 2                                     
    xilinx_axienet 40e00000.ethernet: RX_CSUM 2                                     
    libphy: Xilinx Axi Ethernet MDIO: probed                                        
    i2c /dev entries driver                                                         
    i2c i2c-0: Added multiplexed i2c bus 1                                          
    at24 2-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write                     
    i2c i2c-0: Added multiplexed i2c bus 2                                          
    i2c i2c-0: Added multiplexed i2c bus 3                                          
    i2c i2c-0: Added multiplexed i2c bus 4                                          
    pca954x 0-0075: registered 4 multiplexed busses for I2C mux pca9544             
    ad9523 spi0.0: spi0.0 supply vcc not found, using dummy regulator               
    ad9523 spi0.0: probed ad9523-1                                                  
    axi_adxcvr 44a50000.axi-ad9680-adxcvr: AXI-ADXCVR-RX (17.01.a) using GTH3 at 0x.
    axi_adxcvr 44a60000.axi-ad9144-adxcvr: AXI-ADXCVR-TX (17.01.a) using GTH3 at 0x.
    axi_sysid 45000000.axi-sysid-0: [daq2] on [kcu105] git <7c86b9f84f75d6eaad0ef29C
    NET: Registered protocol family 17                                              
    ad9680 spi0.2: Lane rate 3000 Mbps out of bounds. Must be between 3125 and 1250s
    ad9680 spi0.2: Failed to initialize: -22                                        
    ad9680: probe of spi0.2 failed with error -22                                   
    cf_axi_dds 44a04000.axi-ad9144-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.4
    Freeing unused kernel memory: 2884K                                             
    This architecture does not have kernel memory protection.                       
    net eth0: Promiscuous mode disabled.                                            
    net eth0: Promiscuous mode disabled.                                            
    xilinx_axienet 40e00000.ethernet eth0: Link is Down                             
    xilinx_axienet 40e00000.ethernet eth0: Link is Up - 1Gbps/Full - flow control of

Reply
  • Hi Dragos

    I can not use vivado 2019.1 because my pc performance is not that good.

    this the dmesg output:

    Ramdisk addr 0x00000000,                                                        
    Compiled-in FDT at 80416a8c                                                     
    Linux version 4.14.0-gb6e379910a11-dirty (ahmed@ahmed-virtual-machine) (gcc ver1
    setup_cpuinfo: initialising                                                     
    setup_cpuinfo: Using full CPU PVR support                                       
    wt_msr_noirq                                                                    
    setup_memory: max_mapnr: 0x30000                                                
    setup_memory: min_low_pfn: 0x80000                                              
    setup_memory: max_low_pfn: 0xb0000                                              
    setup_memory: max_pfn: 0xb0000                                                  
    Zone ranges:                                                                    
      DMA      [mem 0x0000000080000000-0x00000000afffffff]                          
      Normal   empty                                                                
    Movable zone start for each node                                                
    Early memory node ranges                                                        
      node   0: [mem 0x0000000080000000-0x00000000ffffefff]                         
    Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffefff]                
    On node 0 totalpages: 196608                                                    
    free_area_init_node: node 0, pgdat 805c8584, node_mem_map 808bc000              
      DMA zone: 1536 pages used for memmap                                          
      DMA zone: 0 pages reserved                                                    
      DMA zone: 196608 pages, LIFO batch:31                                         
    pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768                                   
    pcpu-alloc: [0] 0                                                               
    Built 1 zonelists, mobility grouping on.  Total pages: 195072                   
    Kernel command line: console=ttyUL0,115200                                      
    PID hash table entries: 4096 (order: 2, 16384 bytes)                            
    Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)                
    Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)                  
    Memory: 769732K/786432K available (4186K kernel code, 160K rwdata, 1504K rodata)
    Kernel virtual memory layout:                                                   
      * 0xffffe000..0xfffff000  : fixmap                                            
      * 0xffffe000..0xffffe000  : early ioremap                                     
      * 0xb0000000..0xffffe000  : vmalloc & ioremap                                 
    NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0                                  
    irq-xilinx: /amba_pl/interrupt-controller@41200000: num_irq=16, edge=0x410      
    /amba_pl/timer@41c00000: irq=1                                                  
    clocksource: xilinx_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_is
    xilinx_timer_shutdown                                                           
    xilinx_timer_set_periodic                                                       
    sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 21474836475ns      
    Calibrating delay loop... 49.35 BogoMIPS (lpj=246784)                           
    pid_max: default: 32768 minimum: 301                                            
    Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)                     
    Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)                
    devtmpfs: initialized                                                           
    random: get_random_u32 called from bucket_table_alloc+0x248/0x29c with crng_ini0
    clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 191s
    futex hash table entries: 256 (order: -1, 3072 bytes)                           
    NET: Registered protocol family 16                                              
    clocksource: Switched to clocksource xilinx_clocksource                         
    NET: Registered protocol family 2                                               
    TCP established hash table entries: 8192 (order: 3, 32768 bytes)                
    TCP bind hash table entries: 8192 (order: 3, 32768 bytes)                       
    TCP: Hash tables configured (established 8192 bind 8192)                        
    UDP hash table entries: 512 (order: 1, 8192 bytes)                              
    UDP-Lite hash table entries: 512 (order: 1, 8192 bytes)                         
    NET: Registered protocol family 1                                               
    RPC: Registered named UNIX socket transport module.                             
    RPC: Registered udp transport module.                                           
    RPC: Registered tcp transport module.                                           
    RPC: Registered tcp NFSv4.1 backchannel transport module.                       
    random: fast init done                                                          
    Skipping unavailable RESET gpio -2 (reset)                                      
    workingset: timestamp_bits=30 max_order=18 bucket_order=0                       
    jffs2: version 2.2. (NAND) (SUMMARY)  �© 2001-2006 Red Hat, Inc.                
    Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)            
    io scheduler noop registered                                                    
    io scheduler deadline registered                                                
    io scheduler cfq registered (default)                                           
    io scheduler mq-deadline registered                                             
    io scheduler kyber registered                                                   
    Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled                        
    40600000.serial: ttyUL0 at MMIO 0x40600000 (irq = 5, base_baud = 0) is a uartlie
    console [ttyUL0] enabled                                                        
    brd: module loaded                                                              
    Xilinx SystemACE device driver, major=254                                       
    libphy: Fixed MDIO Bus: probed                                                  
    xilinx_axienet 40e00000.ethernet: TX_CSUM 2                                     
    xilinx_axienet 40e00000.ethernet: RX_CSUM 2                                     
    libphy: Xilinx Axi Ethernet MDIO: probed                                        
    i2c /dev entries driver                                                         
    i2c i2c-0: Added multiplexed i2c bus 1                                          
    at24 2-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write                     
    i2c i2c-0: Added multiplexed i2c bus 2                                          
    i2c i2c-0: Added multiplexed i2c bus 3                                          
    i2c i2c-0: Added multiplexed i2c bus 4                                          
    pca954x 0-0075: registered 4 multiplexed busses for I2C mux pca9544             
    ad9523 spi0.0: spi0.0 supply vcc not found, using dummy regulator               
    ad9523 spi0.0: probed ad9523-1                                                  
    axi_adxcvr 44a50000.axi-ad9680-adxcvr: AXI-ADXCVR-RX (17.01.a) using GTH3 at 0x.
    axi_adxcvr 44a60000.axi-ad9144-adxcvr: AXI-ADXCVR-TX (17.01.a) using GTH3 at 0x.
    axi_sysid 45000000.axi-sysid-0: [daq2] on [kcu105] git <7c86b9f84f75d6eaad0ef29C
    NET: Registered protocol family 17                                              
    ad9680 spi0.2: Lane rate 3000 Mbps out of bounds. Must be between 3125 and 1250s
    ad9680 spi0.2: Failed to initialize: -22                                        
    ad9680: probe of spi0.2 failed with error -22                                   
    cf_axi_dds 44a04000.axi-ad9144-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.4
    Freeing unused kernel memory: 2884K                                             
    This architecture does not have kernel memory protection.                       
    net eth0: Promiscuous mode disabled.                                            
    net eth0: Promiscuous mode disabled.                                            
    xilinx_axienet 40e00000.ethernet eth0: Link is Down                             
    xilinx_axienet 40e00000.ethernet eth0: Link is Up - 1Gbps/Full - flow control of

Children
No Data