iio: adc: Add Xilinx AMS driver
authorAnand Ashok Dumbre <anand.ashok.dumbre@xilinx.com>
Fri, 3 Dec 2021 21:23:56 +0000 (21:23 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 21 Dec 2021 15:10:09 +0000 (15:10 +0000)
commitd5c70627a79455154f5f636096abe6fe57510605
tree915b362f1d187b803c53508391d98321851e3d07
parenteca6e2d4a4a4b824f055eeaaa24f1c2327fb91a2
iio: adc: Add Xilinx AMS driver

The AMS includes an ADC as well as on-chip sensors that can be used to
sample external voltages and monitor on-die operating conditions, such
as temperature and supply voltage levels. The AMS has two SYSMON blocks.
PL-SYSMON block is capable of monitoring off chip voltage and
temperature.

PL-SYSMON block has DRP, JTAG and I2C interface to enable monitoring
from an external master. Out of these interfaces currently only DRP is
supported. Other block PS-SYSMON is memory mapped to PS.

The AMS can use internal channels to monitor voltage and temperature as
well as one primary and up to 16 auxiliary channels for measuring
external voltages.

The voltage and temperature monitoring channels also have event capability
which allows to generate an interrupt when their value falls below or
raises above a set threshold.

Co-developed-by: Manish Narani <manish.narani@xilinx.com>
Signed-off-by: Manish Narani <manish.narani@xilinx.com>
Signed-off-by: Anand Ashok Dumbre <anand.ashok.dumbre@xilinx.com>
Link: https://lore.kernel.org/r/20211203212358.31444-4-anand.ashok.dumbre@xilinx.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/Kconfig
drivers/iio/adc/Makefile
drivers/iio/adc/xilinx-ams.c [new file with mode: 0644]