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