Post Go back to editing

Anyone experience with using ad9680.c linux kernel driver for ad9690?

Category: Software
Product Number: AD9690
Software Version: Linux Kernel - Analog devices tree


I'm trying to integrate the ad9680 driver into our linux kernel (based on xilinx kernel and also xilinx's device trees)

    github.com/.../device-tree-xlnx
    github.com/.../linux-xlnx (Kernel 6.6)
    github.com/.../linux (Kernel 6.6)

Target Platform is a Zynq Ultrascale+ RFSoC.

Since there is no specific driver for AD9690, I first selected the one for AD9680; since the according to their Data Sheets, the AD9690 is a subset of AD9680.

github.com/.../ad9680.c (2012-2017 Analog Devices Inc.)

But in the same driver it does say one should instead use the ad9208 device driver.

static const struct spi_device_id ad9680_id[] = {
/*    { "ad9680", CHIPID_AD9680 }, Now handled in the ad9208 device driver */
    { "ad9234", CHIPID_AD9234 },
    { "ad9684", CHIPID_AD9684 },
    { "ad9694", CHIPID_AD9694 },
    { "ad9094", CHIPID_AD9094 },
    {}
};

github.com/.../ad9208.c (2019-2022 Analog Devices Inc.)

This driver is however much more complex and has many dependencies with other subsystems of the kernel.

I've been trying to integrate the AD9680 driver, but it does not get registered at bootup. The module is build, that's for sure, but it is somehow not seen by the kernel.

What are the bare minimum config switches required for AD9680 driver to get registered and trigger the probe function?

any input is appreciated,
best regards

Thread Notes