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
  • 0
    •  Analog Employees 
    on Jan 11, 2018 8:52 AM
    / {
         clocks {
              ad9121_sampl_clk: clock@0 {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <500000000>; /* 500 Mhz */
                        clock-output-names = "sampl_clk";
              };
         };
    };

    [ -snip- ]

        cf_ad9122_core_0: cf-ad9122-core-lpc@74204000 {
            compatible = "adi,axi-ad9121";
            reg = <0x74204000 0x10000>;
            clocks = <&ad9121_sampl_clk>;
            dmas = <&tx_dma 0>;
            dma-names = "tx";
        };

    Try something like this. In the AXI-DAC driver create a new compatible string for "adi,axi-ad9121"

    Rebuild kernel and device tree afterwards.

    -Michael

Reply
  • 0
    •  Analog Employees 
    on Jan 11, 2018 8:52 AM
    / {
         clocks {
              ad9121_sampl_clk: clock@0 {
                        #clock-cells = <0>;
                        compatible = "fixed-clock";
                        clock-frequency = <500000000>; /* 500 Mhz */
                        clock-output-names = "sampl_clk";
              };
         };
    };

    [ -snip- ]

        cf_ad9122_core_0: cf-ad9122-core-lpc@74204000 {
            compatible = "adi,axi-ad9121";
            reg = <0x74204000 0x10000>;
            clocks = <&ad9121_sampl_clk>;
            dmas = <&tx_dma 0>;
            dma-names = "tx";
        };

    Try something like this. In the AXI-DAC driver create a new compatible string for "adi,axi-ad9121"

    Rebuild kernel and device tree afterwards.

    -Michael

Children
No Data