linux/drivers/iio
Stefan Popa 7f699bd149 iio: frequency: adf4371: Add support for ADF4371 PLL
The ADF4371 is a frequency synthesizer with an integrated voltage
controlled oscillator (VCO) for phase-locked loops (PLLs). The ADF4371
has an integrated VCO with a fundamental output frequency ranging from
4000 MHz to 8000 MHz. In addition, the VCO frequency is connected to
divide by 1, 2, 4, 8, 16, 32, or 64 circuits that allows the user to
generate radio frequency (RF) output frequencies as low as 62.5 MHz at
RF8x. A frequency multiplier at RF16x generates from 8 GHz to 16 GHz. A
frequency quadrupler generates frequencies from 16 GHz to 32 GHz at RF32x.
RFAUX8x duplicates the frequency range of RF8x or permits direct access to
the VCO output.

The driver takes the reference input frequency from the device tree and
uses it to calculate and maximize the PFD frequency (frequency of the phase
frequency detector). The PFD frequency is further used to calculate the
timeouts: synthesizer lock, VCO band selection, automatic level
calibration (ALC) and PLL settling time.

This initial driver exposes the attributes for setting the frequency and
enabling/disabling the different adf4371 channels.

Datasheet:
Link: https://www.analog.com/media/en/technical-documentation/data-sheets/adf4371.pdf

Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2019-06-17 21:06:45 +01:00
..
accel iio: accel: add missing sensor for some 2-in-1 based ultrabooks 2019-06-08 12:33:36 +01:00
adc iio: imx7d_adc: Remove unneeded 'average_en' member 2019-06-17 21:06:44 +01:00
afe
amplifiers
buffer iio: buffer: Switch to bitmap_zalloc() 2019-04-04 20:19:51 +01:00
chemical Merge 5.1-rc6 into staging-next 2019-04-21 23:18:44 +02:00
common iio: cros_ec: add 'id' sysfs entry 2019-04-27 14:11:59 +01:00
dac iio: dac: ds4422/ds4424 drop of_node check 2019-05-11 12:19:35 +01:00
dummy iio: dummy_evgen: fix possible memleak in evgen init 2019-04-22 11:45:03 +01:00
frequency iio: frequency: adf4371: Add support for ADF4371 PLL 2019-06-17 21:06:45 +01:00
gyro Second set of IIO new device support, features and cleanup for the 5.2 cycle. 2019-04-25 10:50:51 +02:00
health
humidity drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
imu iio: imu: st_lsm6dsx: get device name from st_lsm6dsx_sensor_settings 2019-06-17 21:06:45 +01:00
light iio: light: stk3310: Add support for stk3335 2019-06-17 21:06:44 +01:00
magnetometer iio: hmc5843: fix potential NULL pointer dereferences 2019-04-04 20:20:14 +01:00
multiplexer
orientation iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers 2018-11-16 11:42:12 +00:00
potentiometer drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
potentiostat iio:potentiostat:lmp91000: change dev_err message 2019-04-04 20:19:55 +01:00
pressure iio: dps310: Add pressure sensing capability 2019-06-08 12:33:32 +01:00
proximity Kconfig: change configuration of srf04 ultrasonic iio sensor 2019-04-14 14:08:48 +01:00
resolver staging:iio:ad2s90: Move out of staging 2018-12-01 15:40:39 +00:00
temperature iio: temperature: maxim_thermocouple: declare missing of table 2019-04-27 13:54:40 +01:00
trigger iio: remove redundant unlikely annotation 2019-04-04 20:19:40 +01:00
iio_core.h
iio_core_trigger.h
industrialio-buffer.c Merge 5.1-rc6 into staging-next 2019-04-21 23:18:44 +02:00
industrialio-configfs.c
industrialio-core.c iio:core: Fix bug in length of event info_mask and catch unhandled bits set in masks. 2019-06-17 21:06:44 +01:00
industrialio-event.c
industrialio-sw-device.c
industrialio-sw-trigger.c
industrialio-trigger.c iio: trigger: Print an error if there is no available irq 2019-04-04 20:19:41 +01:00
industrialio-triggered-event.c
inkern.c iio: inkern: Convert iio_read_avail_channel_raw into a wrapper 2019-04-14 11:32:20 +01:00
Kconfig Staging / IIO driver patches for 5.2-rc1 2019-05-07 13:31:29 -07:00
Makefile counter: stm32-lptimer: add counter device 2019-04-25 21:33:41 +02:00