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>
This commit is contained in:
parent
eca6e2d4a4
commit
d5c70627a7
|
@ -1288,4 +1288,19 @@ config XILINX_XADC
|
||||||
The driver can also be build as a module. If so, the module will be called
|
The driver can also be build as a module. If so, the module will be called
|
||||||
xilinx-xadc.
|
xilinx-xadc.
|
||||||
|
|
||||||
|
config XILINX_AMS
|
||||||
|
tristate "Xilinx AMS driver"
|
||||||
|
depends on ARCH_ZYNQMP || COMPILE_TEST
|
||||||
|
depends on HAS_IOMEM
|
||||||
|
help
|
||||||
|
Say yes here to have support for the Xilinx AMS for Ultrascale/Ultrascale+
|
||||||
|
System Monitor. With this you can measure and monitor the Voltages and
|
||||||
|
Temperature values on the SOC.
|
||||||
|
|
||||||
|
The driver supports Voltage and Temperature monitoring on Xilinx Ultrascale
|
||||||
|
devices.
|
||||||
|
|
||||||
|
The driver can also be built as a module. If so, the module will be called
|
||||||
|
xilinx-ams.
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
|
@ -115,4 +115,5 @@ obj-$(CONFIG_VF610_ADC) += vf610_adc.o
|
||||||
obj-$(CONFIG_VIPERBOARD_ADC) += viperboard_adc.o
|
obj-$(CONFIG_VIPERBOARD_ADC) += viperboard_adc.o
|
||||||
xilinx-xadc-y := xilinx-xadc-core.o xilinx-xadc-events.o
|
xilinx-xadc-y := xilinx-xadc-core.o xilinx-xadc-events.o
|
||||||
obj-$(CONFIG_XILINX_XADC) += xilinx-xadc.o
|
obj-$(CONFIG_XILINX_XADC) += xilinx-xadc.o
|
||||||
|
obj-$(CONFIG_XILINX_AMS) += xilinx-ams.o
|
||||||
obj-$(CONFIG_SD_ADC_MODULATOR) += sd_adc_modulator.o
|
obj-$(CONFIG_SD_ADC_MODULATOR) += sd_adc_modulator.o
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue