Skip to content

Commit

Permalink
iio: frequency: New driver for Analog Devices ADF4350/ADF4351 Wideban…
Browse files Browse the repository at this point in the history
…d Synthesizers

Changes since V1:
Apply Jonathan's review feedback:
    Introduce and use IIO_ALTVOLTAGE.
    Fix up comments and documentation.
    Remove dead code.
    Reorder some code fragments.
    Add missing iio_device_free.

Convert to new API.
Fix-up out of staging includes.
Removed pll_locked attribute.

Changes since V2:
Use module_spi_driver.
adf4350_remove: move gpio_free after regulator.
target patch to drivers/iio

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Michael Hennerich authored and Greg Kroah-Hartman committed Jun 5, 2012
1 parent cd1678f commit e31166f
Show file tree
Hide file tree
Showing 5 changed files with 644 additions and 0 deletions.
21 changes: 21 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-iio-frequency-adf4350
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_frequency_resolution
KernelVersion: 3.4.0
Contact: linux-iio@vger.kernel.org
Description:
Stores channel Y frequency resolution/channel spacing in Hz.
The value given directly influences the MODULUS used by
the fractional-N PLL. It is assumed that the algorithm
that is used to compute the various dividers, is able to
generate proper values for multiples of channel spacing.

What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_refin_frequency
KernelVersion: 3.4.0
Contact: linux-iio@vger.kernel.org
Description:
Sets channel Y REFin frequency in Hz. In some clock chained
applications, the reference frequency used by the PLL may
change during runtime. This attribute allows the user to
adjust the reference frequency accordingly.
The value written has no effect until out_altvoltageY_frequency
is updated. Consider to use out_altvoltageY_powerdown to power
down the PLL and it's RFOut buffers during REFin changes.
18 changes: 18 additions & 0 deletions drivers/iio/frequency/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,23 @@ config AD9523
To compile this driver as a module, choose M here: the
module will be called ad9523.

endmenu

#
# Phase-Locked Loop (PLL) frequency synthesizers
#

menu "Phase-Locked Loop (PLL) frequency synthesizers"

config ADF4350
tristate "Analog Devices ADF4350/ADF4351 Wideband Synthesizers"
depends on SPI
help
Say yes here to build support for Analog Devices ADF4350/ADF4351
Wideband Synthesizers. The driver provides direct access via sysfs.

To compile this driver as a module, choose M here: the
module will be called adf4350.

endmenu
endmenu
1 change: 1 addition & 0 deletions drivers/iio/frequency/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
#

obj-$(CONFIG_AD9523) += ad9523.o
obj-$(CONFIG_ADF4350) += adf4350.o
Loading

0 comments on commit e31166f

Please sign in to comment.