mirror-linux/include/linux/mfd
Quentin Schulz d1caa99055 iio: adc: add support for Allwinner SoCs ADC
The Allwinner SoCs all have an ADC that can also act as a touchscreen
controller and a thermal sensor. This patch adds the ADC driver which is
based on the MFD for the same SoCs ADC.

This also registers the thermal adc channel in the iio map array so
iio_hwmon could use it without modifying the Device Tree. This registers
the driver in the thermal framework.

The thermal sensor requires the IP to be in touchscreen mode to return
correct values. Therefore, if the user is continuously reading the ADC
channel(s), the thermal framework in which the thermal sensor is
registered will switch the IP in touchscreen mode to get a temperature
value and requires a delay of 100ms (because of the mode switching),
then the ADC will switch back to ADC mode and requires also a delay of
100ms. If the ADC readings are critical to user and the SoC temperature
is not, this driver is capable of not registering the thermal sensor in
the thermal framework and thus, "quicken" the ADC readings.

This driver probes on three different platform_device_id to take into
account slight differences (registers bit and temperature computation)
between Allwinner SoCs ADCs.

Signed-off-by: Quentin Schulz <quentin.schulz@free-electrons.com>
Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2017-03-08 20:27:25 +00:00
..
abx500 mfd: abx500: Fix spelling mistake: "Celcius" -> "Celsius" 2017-02-13 09:29:41 +00:00
arizona mfd: arizona: Remove arizona_of_get_named_gpio helper function 2016-10-04 15:48:05 +01:00
da9052 mfd: da9053: Fix compiler warning message for uninitialised variable 2016-06-30 07:44:23 +01:00
da9055
da9062 mfd: da9062: Supply core driver 2015-08-11 15:08:45 +01:00
da9063 mfd: da9063: Update author information to remove incorrect e-mail addresses 2016-10-04 15:48:01 +01:00
da9150 mfd: da9150: Add support for Fuel-Gauge 2015-10-13 11:27:54 +01:00
mt6323 mfd: mt6397: Add MT6323 support to MT6397 driver 2016-03-16 08:50:30 +00:00
mt6397 mfd: mt6397: int_con and int_status may vary in location 2016-03-16 08:50:28 +00:00
pcf50633
samsung Merge remote-tracking branches 'regulator/topic/pwm', 'regulator/topic/qcom-spmi', 'regulator/topic/rk808' and 'regulator/topic/s2mps11' into regulator-next 2016-05-13 14:23:46 +01:00
syscon mfd: Add Samsung Exynos Low Power Audio Subsystem driver 2016-10-04 15:48:02 +01:00
wm831x
wm8350 leds: wm8350: Remove work queue 2016-01-04 09:57:35 +01:00
wm8994
88pm80x.h mfd: 88pm80x: Double shifting bug in suspend/resume 2016-10-04 15:48:02 +01:00
88pm860x.h
aat2870.h
ab3100.h
abx500.h mfd: abx500: Fix spelling mistake: "Celcius" -> "Celsius" 2017-02-13 09:29:41 +00:00
ac100.h mfd: ac100: Add driver for X-Powers AC100 audio codec / RTC combo IC 2016-08-08 12:53:26 +01:00
adp5520.h
altera-a10sr.h mfd: altr_a10sr: Add Altera Arria10 DevKit System Resource Chip 2016-06-29 10:14:37 +01:00
as3711.h mfd: as3711: Set regmap config reg counts properly 2016-03-16 08:50:34 +00:00
as3722.h regulator: as3722: Add bypass support for LDO6 2016-04-11 15:15:36 +01:00
asic3.h
atmel-hlcdc.h
axp20x.h - Core Frameworks 2017-02-23 08:18:01 -08:00
bcm590xx.h
core.h - New Drivers 2016-05-20 11:10:24 -07:00
cros_ec.h mfd: cros_ec: Prevent data transfer while device is suspended 2017-02-13 09:29:42 +00:00
cros_ec_commands.h - Core Frameworks 2017-02-23 08:18:01 -08:00
da8xx-cfgchip.h mfd: da8xx-cfgchip: New header file for CFGCHIP registers 2016-08-12 14:59:10 +05:30
da903x.h
davinci_voicecodec.h mfd: davinci_voicecodec: Tidyup header difinitions 2016-11-29 08:21:27 +00:00
db8500-prcmu.h mfd: db8500-prcmu: Remove unused *prcmu_set_ddr_opp() calls 2016-10-04 15:48:05 +01:00
dbx500-prcmu.h mfd: db8500-prcmu: Remove unused *prcmu_set_ddr_opp() calls 2016-10-04 15:48:05 +01:00
dln2.h
ds1wm.h
ezx-pcap.h
hi655x-pmic.h mfd: hi655x-pmic: Rename some interrupt macro names 2016-06-29 10:14:41 +01:00
hi6421-pmic.h
htc-pasic3.h
imx25-tsadc.h mfd: fsl-imx25-tsadc: Register touchscreen ADC driver 2016-02-11 15:40:41 +00:00
intel_bxtwc.h mfd: add Intel Broxton Whiskey Cove PMIC driver 2015-10-30 17:18:50 +00:00
intel_msic.h
intel_soc_pmic.h platform/x86: Add Whiskey Cove PMIC TMU support 2016-12-18 14:56:37 -08:00
ipaq-micro.h
janz.h
kempld.h
lm3533.h
lp873x.h mfd: lp873x: Remove unused mutex lock from struct lp873x 2016-10-04 15:48:04 +01:00
lp3943.h Revert "gpio: lp3943: Drop pin_used and lp3943_gpio_request/lp3943_gpio_free" 2016-03-09 22:00:27 +07:00
lp8788-isink.h
lp8788.h
lpc_ich.h mfd: lpc_ich: Add support for SPI serial flash host controller 2017-01-03 17:34:15 +00:00
max8907.h
max8925.h
max8997-private.h
max8997.h
max8998-private.h
max8998.h
max14577-private.h mfd: max14577: Change Krzysztof Kozlowski's email to kernel.org 2016-10-04 15:48:02 +01:00
max14577.h mfd: max14577: Change Krzysztof Kozlowski's email to kernel.org 2016-10-04 15:48:02 +01:00
max77620.h regulator: max77620: add support to configure MPOK 2016-11-23 16:27:24 +00:00
max77686-private.h rtc: max77686: move initialisation of rtc regmap, irq chip locally 2016-03-14 17:08:13 +01:00
max77686.h
max77693-common.h
max77693-private.h
max77693.h
max77843-private.h
mc13xxx.h
mc13783.h
mc13892.h
mcp.h
menelaus.h
motorola-cpcap.h mfd: cpcap: Add minimal support 2017-02-13 09:29:44 +00:00
palmas.h extcon: palmas: Add the support for VBUS detection by using GPIO 2016-02-05 14:15:31 +09:00
qcom_rpm.h
rc5t583.h mfd: rc5t583: Set regmap config reg counts properly 2016-03-16 08:50:34 +00:00
rdc321x.h
retu.h
rk808.h mfd: rk808: RK818 uses DEV_OFF to power off supplies 2016-11-29 08:21:24 +00:00
rn5t618.h mfd: rn5t618: Add Ricoh RC5T619 PMIC support 2016-11-29 08:21:35 +00:00
rt5033-private.h
rt5033.h
rtsx_common.h
rtsx_pci.h mfd: rtsx: Add support for rts522A 2015-10-30 17:19:51 +00:00
rtsx_usb.h
si476x-core.h
si476x-platform.h
si476x-reports.h
sky81452.h
smsc.h
sta2x11-mfd.h
stm32-timers.h mfd: Add STM32 Timers driver 2017-01-23 12:03:57 +00:00
stmpe.h mfd: Add STMPE1600 support 2016-08-10 09:25:18 +01:00
stw481x.h
sun4i-gpadc.h iio: adc: add support for Allwinner SoCs ADC 2017-03-08 20:27:25 +00:00
syscon.h mfd: syscon: Include errno.h from header 2016-04-11 13:31:40 +01:00
t7l66xb.h
tc3589x.h
tc6387xb.h
tc6393xb.h
ti_am335x_tscadc.h drivers: iio: ti_am335x_adc: add dma support 2016-11-05 17:32:05 +00:00
tmio.h mmc: host: tmio: SDIO_STATUS_QUIRK is rather SDIO_STATUS_SETBITS 2017-02-13 13:20:34 +01:00
tps6105x.h mfd: tps6105x: Use i2c regmap to access registers 2015-10-05 10:38:22 +01:00
tps6507x.h
tps6586x.h
tps65086.h mfd: tps65086: Add driver for the TPS65086 PMIC 2016-03-16 08:50:15 +00:00
tps65090.h mfd: tps65090: Set regmap config reg counts properly 2016-03-16 08:50:36 +00:00
tps65217.h - New Device Support 2016-12-19 08:16:26 -08:00
tps65218.h regulator: tps65218: Remove all the compatibles 2016-10-26 10:30:39 +01:00
tps65910.h rtc: tps65910: Add RTC calibration support 2017-01-10 01:32:33 +01:00
tps65912.h mfd: tps65912: Move regmap config into core driver 2016-11-29 08:21:21 +00:00
tps80031.h
twl4030-audio.h
twl6040.h mfd: twl6040: Register child device for twl6040-pdmclk 2016-10-04 15:48:05 +01:00
ucb1x00.h
viperboard.h
wl1273-core.h
wm8400-audio.h
wm8400-private.h mfd: wm8400-core: Delete wm8400_reg_read() 2016-05-09 08:20:45 +01:00
wm8400.h