[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <51CC19A1.90706@slimlogic.co.uk>
Date: Thu, 27 Jun 2013 11:53:21 +0100
From: Graeme Gregory <gg@...mlogic.co.uk>
To: Oleksandr Kozaruk <oleksandr.kozaruk@...com>
CC: rob@...dley.net, sameo@...ux.intel.com, grant.likely@...aro.org,
rob.herring@...xeda.com, balajitk@...com,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-omap@...r.kernel.org
Subject: Re: [PATCH v1 0/2] TWL6030, TWL6032 GPADC driver
I suspect this will find a better home in drivers/iio that subsystem did
not exist when driver was originally written.
It would need converted to new API.
Graeme
On 27/06/13 11:43, Oleksandr Kozaruk wrote:
> Hello
>
> TWL603[02] GPADC is used to measure battery voltage,
> battery temperature, battery presence ID, and could
> be used to measure twl603[02] die temperature.
> This is used on TI blaze, blaze tablet platforms.
>
> The TWL6030 and TWL6032 have GPADC with 17 and 19
> channels respectively. Some channels have current
> source and are used for measuring voltage drop
> on resistive load for detecting battery ID resistance,
> or measuring voltage drop on NTC resistors for external
> temperature measurements. Some channels measure voltage,
> (i.e. battery voltage), and have inbuilt voltage dividers,
> thus, capable to scale voltage. Some channels are dedicated
> for measuring die temperature.
>
> Some channels could be calibrated in 2 points, having
> offsets from ideal values in trim registers.
>
> The difference between GPADC in TWL6030 and TWL6032:
> - 10 bit vs 12 bit ADC;
> - 17 vs 19 channels;
> - channels have different purpose(i. e. battery voltage
> channel 8 vs channel 18);
> - trim values are interpreted differently.
>
> The driver exports function returning converted value for
> requested channels: raw code, corrected code, and converted
> to mV result.
>
> Sysfs entries are added to start and read conversion result
> in millivolts for channel if it has calibration data, or
> ADC code(for temperature and test network channels).
>
> The driver is derived from git://git.omapzoom.org/kernel/omap.git
> The original driver's authors and contributors are Balaji T K,
> Graeme Gregory, Ambresh K, Girish S Ghongdemath.
>
> The changes to the original driver:
> - device tree adaptation;
> - drop ioctl support - never been used;
> - unified measurement method for both devices;
> - get rid of "if (device == X)" code style to data driven;
> - drop polling end of conversion and use interrupt instead;
> - simplified (hopefully) exported external function interface to the driver.
>
> Tested with on blaze tablet 2 with OMAP4430(twl6030), and
> OMAP4470(twl6032) SOMs.
>
> The patches were tested against 3.10-rc7
>
> Oleksandr Kozaruk (2):
> ARM: dts: twl: Add GPADC data to device tree
> mfd: twl6030-gpadc: TWL6030, TWL6032 GPADC driver
>
> .../testing/sysfs-devices-platform-twl6030_gpadc | 5 +
> arch/arm/boot/dts/twl6030.dtsi | 5 +
> drivers/mfd/Kconfig | 8 +
> drivers/mfd/Makefile | 1 +
> drivers/mfd/twl6030-gpadc.c | 1053 ++++++++++++++++++++
> include/linux/i2c/twl6030-gpadc.h | 51 +
> 6 files changed, 1123 insertions(+)
> create mode 100644 Documentation/ABI/testing/sysfs-devices-platform-twl6030_gpadc
> create mode 100644 drivers/mfd/twl6030-gpadc.c
> create mode 100644 include/linux/i2c/twl6030-gpadc.h
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists