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.

Parents
  • 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,

    };

    ?

Reply
  • 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,

    };

    ?

Children
No Data