linux/drivers/iio/adc
Evgeny Boger 4da5f2d6f2 iio:adc:axp20x: add support for NTC thermistor
Most AXPxxx-based reference designs place a 10k NTC thermistor on a
TS pin. When appropriately configured, AXP PMICs will inject fixed
current (80uA by default) into TS pin and measure the voltage across a
thermistor. The PMIC itself will by default compare this voltage with
predefined thresholds  and disable battery charging whenever
the battery is too hot or too cold.

Alternatively, the TS pin can be configured as general-purpose
ADC input. This mode is not supported by the driver.

This patch allows reading the voltage on the TS pin. It can be then
either processed by userspace or used by kernel consumer like hwmon
ntc thermistor driver.

Signed-off-by: Evgeny Boger <boger@wirenboard.com>
Acked-by: Maxime Ripard <maxime@cerno.tech>
Reviewed-by: Quentin Schulz <foss+kernel@0leil.net>
Link: https://lore.kernel.org/r/20211118141233.247907-2-boger@wirenboard.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2021-12-04 15:34:18 +00:00
..
ab8500-gpadc.c iio: adc: ab8500-gpadc: Make use of the helper function dev_err_probe() 2021-10-20 14:43:51 +01:00
ad799x.c iio: adc: ad799x: Implement selecting external reference voltage input on AD7991, AD7995 and AD7999. 2021-10-19 08:30:43 +01:00
ad7091r5.c
ad7091r-base.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
ad7091r-base.h
ad7124.c iio: adc: ad7124: Use devm_ managed calls for all of probe() + drop remove() 2021-06-13 17:00:16 +01:00
ad7192.c iio: expose shared parameter in IIO_ENUM_AVAILABLE 2021-11-27 16:12:23 +00:00
ad7266.c iio: ad7266: Use scan_type when processing raw data 2021-11-17 17:51:42 +00:00
ad7291.c iio: adc: ad7291: convert probe to device-managed only 2021-10-19 08:27:35 +01:00
ad7292.c iio: adc: ad7292: Modify the bool initialization assignment 2021-03-25 19:13:52 +00:00
ad7298.c iio: adc: ad7298: Enable on Intel Galileo Gen 1 2021-05-17 13:49:05 +01:00
ad7476.c iio: adc: remove unused private data assigned with spi_set_drvdata() 2021-06-13 17:00:17 +01:00
ad7606_par.c
ad7606_spi.c
ad7606.c iio: core: move @id from struct iio_dev to struct iio_dev_opaque 2021-05-17 13:49:13 +01:00
ad7606.h
ad7766.c iio: adc: remove unused private data assigned with spi_set_drvdata() 2021-06-13 17:00:17 +01:00
ad7768-1.c iio: adc: remove unused private data assigned with spi_set_drvdata() 2021-06-13 17:00:17 +01:00
ad7780.c iio: adc: ad7780: Fix IRQ flag 2021-09-14 12:02:12 +01:00
ad7791.c iio: adc: ad7791: convert to device-managed functions 2021-06-13 17:00:16 +01:00
ad7793.c iio: adc: ad7793: Fix IRQ flag 2021-09-14 12:02:12 +01:00
ad7887.c iio: adc: remove unused private data assigned with spi_set_drvdata() 2021-06-13 17:00:17 +01:00
ad7923.c iio: adc: ad7923: Fix undersized rx buffer. 2021-05-22 08:32:36 +01:00
ad7949.c iio: adc: ad7949: use devm managed functions 2021-09-14 12:00:31 +01:00
ad9467.c iio: adc: remove unused private data assigned with spi_set_drvdata() 2021-06-13 17:00:17 +01:00
ad_sigma_delta.c iio: ad_sigma_delta: Remove no-op trigger ops 2021-11-17 17:51:36 +00:00
adi-axi-adc.c iio: adc: adi-axi-adc: simplify devm_adi_axi_adc_conv_register() 2021-05-17 13:49:06 +01:00
aspeed_adc.c First set of IIO new device and feature support for the 5.16 cycle 2021-10-19 11:44:28 +02:00
at91_adc.c iio: core: move @id from struct iio_dev to struct iio_dev_opaque 2021-05-17 13:49:13 +01:00
at91-sama5d2_adc.c iio: at91-sama5d2: Use dev_to_iio_dev() in sysfs callbacks 2021-11-17 17:51:39 +00:00
axp20x_adc.c iio:adc:axp20x: add support for NTC thermistor 2021-12-04 15:34:18 +00:00
axp288_adc.c iio: adc: axp288_adc: convert probe to full device-managed 2021-10-19 08:27:34 +01:00
bcm_iproc_adc.c iio:adc:bcm_iproc: Drop of_match_ptr protection and switch to mod_devicetable.h 2020-09-03 19:40:45 +01:00
berlin2-adc.c iio: adc: berlin2-adc: convert probe to device-managed only 2021-10-19 08:27:35 +01:00
cc10001_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
cpcap-adc.c iio: adc: cpcap-adc: kernel-doc fix - that should be _ in structure name 2021-03-25 19:13:51 +00:00
da9150-gpadc.c iio: adc: da9150-gpadc: convert probe to full-device managed 2021-10-19 08:27:34 +01:00
dln2-adc.c iio: core: move @id from struct iio_dev to struct iio_dev_opaque 2021-05-17 13:49:13 +01:00
envelope-detector.c iio: adc: envelope-detector: Simplify with dev_err_probe() 2020-09-03 19:40:49 +01:00
ep93xx_adc.c iio: ep93xx: Make use of the helper function devm_platform_ioremap_resource() 2021-10-17 11:05:53 +01:00
exynos_adc.c iio: adc: exynos: drop unneeded variable assignment 2021-05-17 13:49:04 +01:00
fsl-imx25-gcq.c iio: adc: fsl-imx25-gcq: initialize regulators as needed 2021-10-19 08:27:34 +01:00
hi8435.c iio: expose shared parameter in IIO_ENUM_AVAILABLE 2021-11-27 16:12:23 +00:00
hx711.c iio: adc: hx711: Fix buffer alignment in iio_push_to_buffers_with_timestamp() 2021-06-14 11:42:41 +01:00
imx7d_adc.c iio: imx7d_adc: Don't pass IIO device to imx7d_adc_{enable,disable}() 2021-11-17 17:51:33 +00:00
imx8qxp-adc.c iio: imx8qxp-adc: mark PM functions as __maybe_unused 2021-10-19 08:31:33 +01:00
ina2xx-adc.c iio: adc: ina2xx: Avoid double reference counting from get_task_struct/put_task_struct() 2021-11-17 17:51:34 +00:00
ingenic-adc.c iio/adc: ingenic: add JZ4760B support to the sadc driver 2021-07-31 18:14:53 +01:00
intel_mrfld_adc.c iio: adc: intel_mrfld_adc: convert probe to full device-managed 2021-10-19 08:27:34 +01:00
Kconfig iio: adc: Kconfig: add COMPILE_TEST dep for berlin2-adc 2021-10-19 08:27:35 +01:00
lp8788_adc.c iio: adc: lp8788_adc: convert probe to full-device managed 2021-10-19 08:27:34 +01:00
lpc18xx_adc.c iio: adc: lpc18xx_adc: Reorder clk_get_rate() function call 2021-11-17 17:51:31 +00:00
lpc32xx_adc.c iio:adc:lpc32xx: Drop of_match_ptr protection 2020-07-07 20:24:08 +01:00
ltc2471.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
ltc2485.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
ltc2496.c iio:adc:ltc2496: Drop of_match_ptr and use mod_devicetable.h 2020-07-07 20:24:08 +01:00
ltc2497-core.c iio: adc: ltc2497: Simplify with dev_err_probe() 2020-09-03 19:40:49 +01:00
ltc2497.c iio:adc:ltc2497 drop of_match_ptr protection 2020-07-07 20:24:09 +01:00
ltc2497.h
Makefile iio: imx8qxp-adc: Add driver support for NXP IMX8QXP ADC 2021-10-19 08:27:32 +01:00
max1027.c First set of IIO new device and feature support for the 5.16 cycle 2021-10-19 11:44:28 +02:00
max1118.c iio: adc: max1118: Make use of the helper function dev_err_probe() 2021-10-20 14:43:52 +01:00
max1241.c iio: adc: max1241: Make use of the helper function dev_err_probe() 2021-10-20 14:43:52 +01:00
max1363.c iio: adc: max1363: convert probe to full device-managed 2021-10-19 08:27:35 +01:00
max9611.c iio: adc: max9611: Demote obvious misuse of kerneldoc to standard comment blocks 2020-07-20 09:03:27 +01:00
max11100.c iio: adc: max11100: Use devm_ functions for rest of probe() 2021-06-03 18:24:14 +01:00
mcp320x.c Replace HTTP links with HTTPS ones: drivers/iio 2020-07-13 15:05:59 +01:00
mcp3422.c iio: adc: mcp3422: fix locking on error path 2020-09-01 16:08:07 +02:00
mcp3911.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
men_z188_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
meson_saradc.c iio: adc: meson_saradc: Make use of the helper function dev_err_probe() 2021-10-20 14:43:52 +01:00
mp2629_adc.c iio: adc: mp2629: Drop duplicate setting iio_dev.dev.parent 2021-05-17 13:49:12 +01:00
mt6360-adc.c iio: adc: mt6360: Drop duplicate setting of iio_dev.dev.parent 2021-05-17 13:49:12 +01:00
mt6577_auxadc.c iio: mtk-auxadc: fix case IIO_CHAN_INFO_PROCESSED 2021-09-26 12:30:09 +01:00
mxs-lradc-adc.c iio: adc: mxs-lradc: Fix buffer alignment in iio_push_to_buffers_with_timestamp() 2021-06-14 11:42:41 +01:00
nau7802.c iio: adc: nau7802: convert probe to full device-managed 2021-10-19 08:27:34 +01:00
npcm_adc.c iio: adc: npcm_adc: Replace indio_dev->mlock with own device lock 2021-03-25 19:13:49 +00:00
palmas_gpadc.c iio: adc: Fix incorrect exit of for-loop 2021-07-31 14:46:05 +01:00
qcom-pm8xxx-xoadc.c iio: adc: qcom-pm8xxx-xoadc: Make use of the helper function dev_err_probe() 2021-10-20 14:43:52 +01:00
qcom-spmi-adc5.c iio: adc: qcom-spmi-adc5: use of_device_get_match_data 2021-01-16 18:23:36 +00:00
qcom-spmi-iadc.c iio: Remove superfluous of_node assignments 2020-06-14 14:20:08 +01:00
qcom-spmi-vadc.c First set of IIO and counter fixes for the 5.12 cycle 2021-03-15 16:34:39 +01:00
qcom-vadc-common.c thermal: qcom: add support for adc-tm5 PMIC thermal monitor 2021-02-15 21:28:53 +01:00
rcar-gyroadc.c iio: adc: rcar-gyroadc: Use pm_runtime_resume_and_get() and check in probe() 2021-05-17 13:54:26 +01:00
rn5t618-adc.c iio: adc: rn5t618-adc: use devm_iio_map_array_register() function 2021-10-19 08:27:35 +01:00
rockchip_saradc.c iio: adc: rockchip_saradc: Make use of the helper function dev_err_probe() 2021-10-20 14:43:53 +01:00
rzg2l_adc.c iio: adc: rzg2l_adc: Remove unnecessary print function dev_err() 2021-11-17 17:51:44 +00:00
sc27xx_adc.c iio: adc: Add missing MODULE_DEVICE_TABLE 2021-05-17 13:54:24 +01:00
sd_adc_modulator.c iio:adc:sd_adc_modulator: Drop of_match_ptr and tweak includes 2020-07-07 20:24:09 +01:00
spear_adc.c iio: adc: spear_adc: Replace indio_dev->mlock with own device lock 2021-03-25 19:13:49 +00:00
stm32-adc-core.c iio: adc: stm32-adc: add support of internal channels 2021-10-20 14:43:54 +01:00
stm32-adc-core.h iio: adc: stm32-adc: add support of internal channels 2021-10-20 14:43:54 +01:00
stm32-adc.c iio: adc: stm32-adc: Fix of_node_put() issue in stm32-adc 2021-11-17 17:51:32 +00:00
stm32-dfsdm-adc.c iio: adc: stm32-dfsdm: drop __func__ while using Dynamic debug 2021-04-07 08:36:38 +01:00
stm32-dfsdm-core.c iio: adc: stm32-dfsdm: Use pm_runtime_resume_and_get() to replace open coding. 2021-05-17 13:54:26 +01:00
stm32-dfsdm.h ASoC: stm32: dfsdm: add actual resolution trace 2020-10-08 20:44:41 +01:00
stmpe-adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
stx104.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
sun4i-gpadc-iio.c iio:adc:sun4i-gpadc: Use new IRQF_NO_AUTOEN flag instead of request then disable 2021-04-07 08:36:39 +01:00
ti_am335x_adc.c iio: adc: ti_am335x_adc: Add the am437x compatible 2021-10-21 10:02:48 +01:00
ti-adc081c.c iio: adc: ti-adc081c: Use devm managed functions for all of probe() 2021-06-03 18:24:14 +01:00
ti-adc084s021.c iio: adc: remove unused private data assigned with spi_set_drvdata() 2021-06-13 17:00:17 +01:00
ti-adc108s102.c iio: adc: ti-adc108s102: Fix alignment of buffer pushed to iio buffers. 2021-10-19 08:29:22 +01:00
ti-adc128s052.c iio: adc: adc128s052: Simplify adc128_probe() 2021-10-21 20:03:01 +01:00
ti-adc161s626.c iio: adc: ti-adc161s626: Use devm managed functions for all of probe. 2021-06-03 18:24:14 +01:00
ti-adc0832.c iio: adc: ti-adc0832: Use devm managed functions for all of probe() 2021-06-03 18:24:14 +01:00
ti-adc12138.c iio: ti-adc12138: Use scan_type when processing raw data 2021-11-17 17:51:42 +00:00
ti-ads124s08.c iio: adc: remove unused private data assigned with spi_set_drvdata() 2021-06-13 17:00:17 +01:00
ti-ads131e08.c iio: core: move @id from struct iio_dev to struct iio_dev_opaque 2021-05-17 13:49:13 +01:00
ti-ads1015.c iio: ti-ads1015: Remove shift variable ads1015_read_raw 2021-11-17 17:51:43 +00:00
ti-ads7950.c iio: adc: ti-ads7950: Make use of the helper function dev_err_probe() 2021-10-20 14:43:53 +01:00
ti-ads8344.c iio: adc: ti-ads8344: convert probe to device-managed 2021-09-14 12:00:34 +01:00
ti-ads8688.c iio: adc: ti-ads8688: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() 2021-06-14 11:42:41 +01:00
ti-tlc4541.c Replace HTTP links with HTTPS ones: drivers/iio 2020-07-13 15:05:59 +01:00
ti-tsc2046.c iio: adc: tsc2046: fix scan interval warning 2021-10-17 17:23:17 +01:00
twl4030-madc.c iio: adc: twl4030-madc: Fix misnamed struct attribute 2020-07-20 09:03:14 +01:00
twl6030-gpadc.c iio: adc: twl6030-gpadc: Use the defined variable to clean code 2021-09-14 12:00:32 +01:00
vf610_adc.c iio: adc: vf610: Fix buffer alignment in iio_push_to_buffers_with_timestamp() 2021-05-17 13:54:29 +01:00
viperboard_adc.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
xilinx-xadc-core.c iio: xilinx-xadc-core: Use local variable in xadc_read_raw 2021-11-17 17:51:44 +00:00
xilinx-xadc-events.c iio: xilinx-xadc: Add basic support for Ultrascale System Monitor 2021-01-09 14:25:24 +00:00
xilinx-xadc.h iio: xilinx-xadc: Remove irq field from state struct 2021-10-20 14:43:53 +01:00