The AD9517 provides a multi-output clock distribution function with sub-picosecond jitter performance, along with an on-chip PLL and VCO. The AD9517 emphasizes low jitter and phase noise to maximize data converter performance, and it can benefit other applications with demanding phase noise and jitter requirements. The AD9517 features four LVPECL outputs (in two pairs) and four LVDS outputs (in two pairs). Each LVDS output can be reconfigured as two CMOS outputs. The LVPECL outputs operate to 1.6 GHz, the LVDS outputs operate to 800 MHz, and the CMOS outputs operate to 250 MHz.
This Linux device driver uses the .stp file generated by the Device Evaluation Software to configure the device. This file is then loaded via the Linux firmware subsystem.
Source | Mainlined? |
---|---|
drivers/iio/frequency/ad9517.c | No |
Function | File |
---|---|
driver | drivers/iio/frequency/ad9517.c |
Configure kernel with “make menuconfig” (alternatively use “make xconfig” or “make qconfig”)
The ad9517 Driver depends on CONFIG_SPI
Linux Kernel Configuration Device Drivers ---> <*> Industrial I/O support ---> Frequency Synthesizers DDS/PLL ---> Clock Generator/Distribution ---> <*> Analog Devices AD9517 12-Output Clock Generator
The following example instantiates the ad9517 driver for a ad9517-3 device connected on the SPI bus to the chip-select line 1.
&spi0 {
clk_ad9517: ad9517@1 {
#address-cells = <1>;
#size-cells = <0>;
#clock-cells = <1>;
compatible = "adi,ad9517-3";
reg = <1>;
spi-max-frequency = <10000000>;
clocks = <&ad9517_ref_clk>, <&ad9517_ref_clk>;
clock-names = "refclk", "clkin";
clock-output-names = "out0", "out1", "out2", "out3", "out4", "out5", "out6", "out7";
firmware = "pzsdr-fmc-ad9517.stp";
};
};