Post Go back to editing

ADRV9009 IIO driver with no direct control of HMC7044

Category: Software

Hello,
In our design, two ADRV9009 are connected to a Zynq Ultrascale MPSOC (transceiver lanes and SPI configuration interfaces), and those chips are clocked by a HMC7044 chip for which the configuration interface is connected to a separate processor (i.e. not connected to the MPSoC).

Is it still possible to use the Linux IIO ADR9009 driver to configure the ADRV9009 ?
If so, what would be the necessary updates to the driver ? How should the device tree look like ? 


Thank you.
Best regards,
Romain 

  • Hi Romain,

    The Linux IIO driver doesn't depend on a particular clock chip.

    We have a few clock chip drivers that interoperate with our jesd204-fsm kernel framework.

    The HMC7044 actually supports SPI write only.

    So you can pretend that it's there while it's actually not.

    So if your external clockchip is programmed correctly the system may come up.

    I would take a look at the FMCOMMS8 device trees: 

    https://github.com/analogdevicesinc/linux/blob/master/arch/arm64/boot/dts/xilinx/adi-fmcomms8.dtsi

    You say you have to AD9009s, so I assume you need to sync them?

    Here is the more complicated part.

    ADRV9009 multichip and phase sync require some distinct SYSREF pulses.

    So you need some SYSREF request control from the MPSoC to the HMC7044 (via GPIO) or to the controller which sets up the HMC7044.

    -Michael