Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25ec2496 authored by Tony Lindgren's avatar Tony Lindgren Committed by Jonathan Cameron
Browse files

iio: adc: cpcap: Add minimal support for CPCAP PMIC ADC



On Motorola phones like droid 4 there is a custom CPCAP PMIC. This PMIC
has ADCs that are used for battery charging and USB PHY VBUS and ID pin
detection.

Unfortunately the only documentation for this ADC seems to be the
Motorola mapphone Linux kernel tree. I have tested that reading raw and
scaled values works, but I have not used the timed sampling that the ADC
seems to support.

Let's add a minimal support for it so we can eventually provide IIO
channels for the related battery charging and USB PHY drivers.

Cc: devicetree@vger.kernel.org
Cc: Marcel Partap <mpartap@gmx.net>
Cc: Michael Scott <michael.scott@linaro.org>
Cc: Sebastian Reichel <sre@kernel.org>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent b71244b6
Loading
Loading
Loading
Loading
+18 −0
Original line number Original line Diff line number Diff line
Motorola CPCAP PMIC ADC binding

Required properties:
- compatible: Should be "motorola,cpcap-adc" or "motorola,mapphone-cpcap-adc"
- interrupt-parent: The interrupt controller
- interrupts: The interrupt number for the ADC device
- interrupt-names: Should be "adcdone"
- #io-channel-cells: Number of cells in an IIO specifier

Example:

cpcap_adc: adc {
	compatible = "motorola,mapphone-cpcap-adc";
	interrupt-parent = <&cpcap>;
	interrupts = <8 IRQ_TYPE_NONE>;
	interrupt-names = "adcdone";
	#io-channel-cells = <1>;
};
+11 −0
Original line number Original line Diff line number Diff line
@@ -195,6 +195,17 @@ config CC10001_ADC
	  This driver can also be built as a module. If so, the module will be
	  This driver can also be built as a module. If so, the module will be
	  called cc10001_adc.
	  called cc10001_adc.


config CPCAP_ADC
	tristate "Motorola CPCAP PMIC ADC driver"
	depends on MFD_CPCAP
	select IIO_BUFFER
	select IIO_TRIGGERED_BUFFER
	help
	  Say yes here to build support for Motorola CPCAP PMIC ADC.

	  This driver can also be built as a module. If so, the module will be
	  called cpcap-adc.

config DA9150_GPADC
config DA9150_GPADC
	tristate "Dialog DA9150 GPADC driver support"
	tristate "Dialog DA9150 GPADC driver support"
	depends on MFD_DA9150
	depends on MFD_DA9150
+1 −0
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@ obj-$(CONFIG_AXP288_ADC) += axp288_adc.o
obj-$(CONFIG_BCM_IPROC_ADC) += bcm_iproc_adc.o
obj-$(CONFIG_BCM_IPROC_ADC) += bcm_iproc_adc.o
obj-$(CONFIG_BERLIN2_ADC) += berlin2-adc.o
obj-$(CONFIG_BERLIN2_ADC) += berlin2-adc.o
obj-$(CONFIG_CC10001_ADC) += cc10001_adc.o
obj-$(CONFIG_CC10001_ADC) += cc10001_adc.o
obj-$(CONFIG_CPCAP_ADC) += cpcap-adc.o
obj-$(CONFIG_DA9150_GPADC) += da9150-gpadc.o
obj-$(CONFIG_DA9150_GPADC) += da9150-gpadc.o
obj-$(CONFIG_ENVELOPE_DETECTOR) += envelope-detector.o
obj-$(CONFIG_ENVELOPE_DETECTOR) += envelope-detector.o
obj-$(CONFIG_EXYNOS_ADC) += exynos_adc.o
obj-$(CONFIG_EXYNOS_ADC) += exynos_adc.o
+1007 −0

File added.

Preview size limit exceeded, changes collapsed.