AD9121-M5372-EBZ based on AD-FMCOMMS1-EBZ

Hello,

I’m using the AD9121-M5372-EBZ evaluation board connected by FMC with a ZedBoard. By using these instructions:

  1. https://wiki.analog.com/resources/fpga/docs/build#folded_1
  2. https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms1-ebz/software/linux/zynq
  3. https://wiki.analog.com/resources/tools-software/linux-drivers/iio-dds/axi-dac-dds-hdl

I try to launch LINUX – DAC working system without any success. First of all I modify HDL reference design by deleting the ADC IP blocks from block design and change pinout on FMC Connector. Then I have modified and generated the device tree file but unfortunately no communication has been established between the ARM and DAC (but the HDMI working perfectly). So I made some mistake, but I have no idea where. The differences between both evaluation boards (AD9121 and FMCOMMS1) are mainly in connection number in FMC connector. I only want to send data samples from Linux to 9121.

My board don’t have IIC connection whatsoever with AD9121. I also don’t see the my device on the list in /sys/bus/iio/devices .

After launching the Linux there are two alarming messages:

  1. UART:

spi_master spi32765: failed to transfer one message from queue

iio iio:device1: write failed (-5)

 mmcblk0: p1 p2

ad9523: probe of spi32765.3 failed with error -5

spi_master spi32765: failed to transfer one message from queue

ad9548: probe of spi32765.2 failed with error -5

spi_master spi32765: failed to transfer one message from queue

ad9122: probe of spi32765.0 failed with error -5

  1. HDMI Monitor:

Modprobe: FATAL: Could not load /lib/modules/4.6.0-ga8f23b8/modules.dep: No such file or directory

I have been researching and working on it from a long time, and I’ve exhausted all my ideas how to make this connection working.  Can anyone help me? Is someone working on this “changes” in reference design with a success?

 

Thank you in advance.

  • Thank You for your help Michael! I don't know if I understood you correctly. Just for a clarification: I should add standalone mode to ad9122 by editing struct axidds_core_info ad9122_6_00_a_info and then build uImage once again? Then delete line "spibus-connected" and build DTB?

    What do you mean by "providing clock"? How it should be done for example?

  • 0
    •  Analog Employees 
    on Jan 11, 2018 3:03 PM

    Can you check your device tree and make sure the clock is present and properly attached.

    Can you do a:

    root@analog:~# cat /sys/kernel/debug/clk/clk_summary

    Please attach the output.

    FATAL: Could not load /lib/modules/4.6.0-ga8f23b8/modules.dep: No such file or directory

    You can ignore that - you build the driver statically into the kernel.

    You see this because you didn't install the modules for your dirty kernel.

    -Michael

  • Thank You very much, I will test this solution and will keep you informed.

    About editing AXI-DAC driver, that's what you mean:

    static const struct of_device_id cf_axi_dds_of_match[] = {

    { .compatible = "adi,axi-ad9121", .data = &ad9121_info},
    { .compatible = "adi,axi-ad9122-6.00.a", .data = &ad9122_6_00_a_info},
    { .compatible = "adi,axi-ad9144-1.0", .data = &ad9144_7_00_a_info},
    { .compatible = "adi,axi-ad9739a-8.00.b", .data = &ad9739a_8_00_b_info},
    {
    .compatible = "adi,axi-ad9361x2-dds-6.00.a",
    .data = &ad9361x2_6_00_a_info,
    }, {
    .compatible = "adi,axi-ad9361-dds-6.00.a",
    .data = &ad9361_6_00_a_info,
    }, {
    .compatible = "adi,axi-ad9364-dds-6.00.a",
    .data = &ad9364_6_00_a_info,
    }, {
    .compatible = "adi,axi-ad9371-tx-1.0",
    .data = &ad9371_6_00_a_info,
    }, {
    .compatible = "adi,axi-ad9162-1.0",
    .data = &ad9162_1_00_a_info,
    },
    { },

    };

    static const struct axidds_core_info ad9121_info = {

    .version = PCORE_VERSION(9, 0, 'a'),

    .standalone = true,

    .rate = 1,
    .data_format = ADI_DATA_FORMAT,

    };

    ?

  • Thank You very much Michael, I will test it and will keep you informed.

  • Unfortunately I now receive an error from Linux:

    cf_axi_dds: probe of 74204000.cf-ad9122-core-lpc failed with error -2

    And still getn an error about modules:

    FATAL: Could not load /lib/modules/4.6.0-ga8f23b8/modules.dep: No such file or directory