linux-hardened/drivers/iio
Stefan Popa 326e235755 iio: imu: adis16480: Add support for external clock
Inertial sensor data collection and processing can be controlled by
configuring one of the DIOx lines as an external clock input. This
option is available for all devices supported by this driver. However,
only adis1649x devices support different modes for the external clock.

Sync mode is supported by all devices. In this mode, the output data
rate is equal with the clock frequency divided by DEC_RATE + 1. This
mode of calculation is similar with the case when the internal clock is
used.

Pulse Per Second (PPS) Mode, is only supported by adis1649x devices. In
this mode, the output data rate is equal to the product of the external
clock frequency and the scale factor in the SYNC_SCALE register.

This patch uses the "clock-names" property to enable the external clock
in one of the two supported modes: "sync" or "pps". This property is
optional. If it is not specified, the internal clock is used.

This patch also offers the option to select the DIOx line to be used as
an external clock input via the custom "adi,ext-clk-pin" property. If this
field is left empty, DIO2 is assigned as default external clock input pin.
Each DIOx pin supports only one function at a time (data ready line
selection or external clock input).

Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2019-04-04 20:19:57 +01:00
..
accel drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
adc drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
afe iio: afe: rescale: new driver 2018-04-28 18:03:22 +01:00
amplifiers drivers: iio: Update MODULE AUTHOR email address 2018-08-19 17:23:39 +01:00
buffer iio: buffer: Switch to bitmap_zalloc() 2019-04-04 20:19:51 +01:00
chemical drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
common drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
counter iio: counter: stm32-lptimer: Add power management support 2019-04-04 20:19:45 +01:00
dac iio:dac:ad5064 mlock cleanup - move to a local lock. 2019-04-04 20:19:57 +01:00
dummy iio:dummy: Add extra paragraphs on Kconfig 2018-03-03 15:20:16 +00:00
frequency iio: ad9523: fix a missing check of return value 2019-01-05 16:10:50 +00:00
gyro iio: gyro: itg3200: add mount matrix support 2019-04-04 20:19:47 +01:00
health iio: health: max30102: Mark expected switch fall-throughs 2018-08-19 17:21:35 +01:00
humidity drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
imu iio: imu: adis16480: Add support for external clock 2019-04-04 20:19:57 +01:00
light drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
magnetometer iio: ak8975: improve code readability 2019-04-04 20:19:48 +01:00
multiplexer iio: multiplexer: switch to SPDX license identifier 2018-08-20 19:28:26 +01:00
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:st_pressure:initial lps22hh sensor support 2019-01-19 17:32:41 +00:00
proximity iio: proximity: as3935: fix use-after-free on device remove 2019-04-04 20:19:56 +01:00
resolver staging:iio:ad2s90: Move out of staging 2018-12-01 15:40:39 +00:00
temperature drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
trigger iio: remove redundant unlikely annotation 2019-04-04 20:19:40 +01:00
iio_core.h the rest of drivers/*: annotate ->poll() instances 2017-11-28 11:06:58 -05:00
iio_core_trigger.h
industrialio-buffer.c iio: buffer: Switch to bitmap_zalloc() 2019-04-04 20:19:51 +01:00
industrialio-configfs.c
industrialio-core.c iio: Allow to read mount matrix from ACPI 2019-04-04 20:19:46 +01:00
industrialio-event.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
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 treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
Kconfig drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
Makefile staging: iio: ad2s1200: Move driver out of staging 2018-05-20 12:17:48 +01:00