Post Go back to editing

reading data from ad7616

1)I am trying to read AD7616 in parallel mode. I have built the HDL and c drivers(No-OS branch) from the source code provided by Analog devices and currently using the device in default mode where channel V0A and V0B should be read.
I have modified the HDL so as to just keep the axi_ad7616 and its Fifo interface for the Dma. Rest part of the project i have removed. I am attaching the block diagram for the project. When i am integrating this with sdk part and doing a cross triggering to check the data
converted by the ADC, I am finding there is no change on the data lines of the axi_ad7616 IP, however ADC valid, adc sync, adc busy all these signals are getting generated. can someone help me?

2)Also when i am trying to read back the  range value that has been set for Register A1 group, using this command,
    uint16_t data;
    ad7616_par_read(dev, AD7616_REG_INPUT_RANGE_A1, &data);
    printf("Range = % d \n", data);

The output I am receiving is Range = 0,


However as per my input to init_param the value should be 255 right (AD7616_10V set  for ch V0A to V3A)?,
 struct ad7616_init_param init_param = {
    /* SPI */
    .spi_param = &ad7616_spi_init,
    .offload_init_param = &spi_engine_offload_init_param,
    .reg_access_speed = 1000000,
    /* GPIO */
    .gpio_hw_rngsel0_param = NULL,
    .gpio_hw_rngsel1_param = NULL,
    .gpio_os0_param = NULL,
    .gpio_os1_param = NULL,
    .gpio_os2_param = NULL,
    .gpio_reset_param = &ad7616_gpio_reset,
    /* AXI Core */
    .core_baseaddr = AD7616_CORE_BASEADDR,
    /* Device Settings */
    .mode = AD7616_SW,
    .va = {AD7616_10V, AD7616_10V, AD7616_10V, AD7616_10V,
        AD7616_10V, AD7616_10V, AD7616_10V, AD7616_10V
},
    .vb = {
        AD7616_10V, AD7616_10V, AD7616_10V, AD7616_10V,
        AD7616_10V, AD7616_10V, AD7616_10V, AD7616_10V
    },

    .osr = AD7616_OSR_0,
    .dcache_invalidate_range =
    (void (*)(uint32_t, uint32_t))Xil_DCacheInvalidateRange,
};