Skip to contentSkip to conversation

HWMON: DA9052 hwmon driver v2

PATCH In review ashishj3 2 participants 3 messages Jun 30, 2011 – Jul 1, 2011

Subsystems (3)
lore
Share & tools
lore

ashishj3

author
#0 lore raw

PATCH 6/11 HWMON: DA9052 hwmon driver v2

The DA9052 PMIC provides an Analogue to Digital Converter with 10 bits resolution and 10 channels.

This patch montiors the DA9052 PMIC's ADC channels mostly for battery parameters like battery temperature, junction temperature, battery current etc.

---
Changes since v1:
- Corrected error handling in the function da9052_read_vddout()

---
 Documentation/hwmon/da9052   |   58 ++++++++
 drivers/hwmon/Kconfig        |   10 ++
 drivers/hwmon/Makefile       |    1 +
 drivers/hwmon/da9052-hwmon.c |  332 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 401 insertions(+), 0 deletions(-)
 create mode 100755 Documentation/hwmon/da9052
 create mode 100755 drivers/hwmon/da9052-hwmon.c
Documentation/hwmon/da9052 new file +58 -0
new file mode 100755
index 0000000..0b7930f
@@ -0,0 +1,58 @@
+Kernel driver da9052-hwmon
+==========================
+
+Supported chips:
+  * Dialog Semiconductors DA9052 PMICs
+    Prefix: 'da9052'
+    Datasheet: Kindly visit www.dialog-semiconductor.com and request for the
+               official datasheet.
+
+Authors: David Dajun Chen <[email protected]>
+
+Description
+-----------
+
+The DA9052 provides an Analogue to Digital Converter (ADC) with 10 bits
+resolution and track and hold circuitry combined with an analogue input
+multiplexer. The analogue input multiplexer will allow conversion of up to 10
+different inputs. The track and hold circuit ensures stable input voltages at
+the input of the ADC during the conversion.
+
+The ADC is used to measure the following inputs:
+Channel 0: VDDOUT - measurement of the system voltage
+Channel 1: ICH - internal battery charger current measurement
+Channel 2: TBAT - output from the battery NTC
+Channel 3: VBAT - measurement of the battery voltage
+Channel 4: ADC_IN4 - high impedance input (0 - 2.5V)
+Channel 5: ADC_IN5 - high impedance input (0 - 2.5V)
+Channel 6: ADC_IN6 - high impedance input (0 - 2.5V)
+Channel 7: XY - TSI interface to measure the X and Y voltage of the touch
+screen resistive potentiometers
+Channel 8: Internal Tjunc. - sense (internal temp. sensor)
+Channel 9: VBBAT - measurement of the backup battery voltage
+
+By using sysfs attributes we can measure the system voltage VDDOUT, the battery
+charging current ICH, battery temperature TBAT, battery junction temperature
+TJUNC, battery voltage VBAT and the back up battery voltage VBBAT.
+
+Voltage Monitoring
+------------------
+
+Voltages are sampled by a 10 bit ADC.  Voltages in millivolts are 1.465
+times the ADC value.
+
+Temperature Monitoring
+----------------------
+
+Temperatures are sampled by a 10 bit ADC.  Junction and battery temperatures
+are monitored by the ADC channels.
+
+The junction temperature is calculated:
+	Degrees celsius = 1.708 * (TJUNC_RES - T_OFFSET) - 108.8
+The junction temperature attribute is supported by the driver.
+
+The battery temperature is calculated:
+	Degree Celcius = 1 / (t1 + 1/298)- 273
+where t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255))
+Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively.
+
drivers/hwmon/Kconfig +10 -0
index 3236a45..da5ff6d 100644
@@ -303,6 +303,16 @@ config SENSORS_DS1621
 	  This driver can also be built as a module.  If so, the module
 	  will be called ds1621.
 
+config SENSORS_DA9052_ADC
+        tristate "Dialog DA9052 HWMON"
+        depends on PMIC_DA9052
+        help
+          Say y here to support the ADC found on
+          Dialog Semiconductor DA9052 PMIC.
+
+          This driver can also be built as module. If so, the module
+          will be called da9052-hwmon.
+
 config SENSORS_I5K_AMB
 	tristate "FB-DIMM AMB temperature sensor on Intel 5000 series chipsets"
 	depends on PCI && EXPERIMENTAL
drivers/hwmon/Makefile +1 -0
index f7c0c28..88b81ca 100644
@@ -42,6 +42,7 @@ obj-$(CONFIG_SENSORS_ASC7621)	+= asc7621.o
 obj-$(CONFIG_SENSORS_ATXP1)	+= atxp1.o
 obj-$(CONFIG_SENSORS_CORETEMP)	+= coretemp.o
 obj-$(CONFIG_SENSORS_PKGTEMP)	+= pkgtemp.o
+obj-$(CONFIG_SENSORS_DA9052_ADC)+= da9052-hwmon.o
 obj-$(CONFIG_SENSORS_DME1737)	+= dme1737.o
 obj-$(CONFIG_SENSORS_DS620)	+= ds620.o
 obj-$(CONFIG_SENSORS_DS1621)	+= ds1621.o
drivers/hwmon/da9052-hwmon.c new file +332 -0

332 lines not on this page · raw message

Acked-by on v1 6/11
#1 lore raw
Quoted 8 lines · On Thu, Jun 30, 2011 at 09:15:27AM -0400, ashishj3 wrote:

The DA9052 PMIC provides an Analogue to Digital Converter with 10 bits resolution and 10 channels.

This patch montiors the DA9052 PMIC's ADC channels mostly for battery parameters like battery temperature, junction temperature, battery current etc.

I assume this patch will be handled as part of a patchset, correct ?

Thanks,
Guenter

_______________________________________________
lm-sensors mailing list
[email protected]
http://lists.lm-sensors.org/mailman/listinfo/lm-sensors

#2 lore raw
Quoted 15 lines

-----Original Message-----
From: Guenter Roeck [mailto:[email protected]]
Sent: Thursday, June 30, 2011 7:52 PM
To: Ashish Jangam
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH 6/11] HWMON: DA9052 hwmon driver v2

Quoted 4 lines · On Thu, Jun 30, 2011 at 09:15:27AM -0400, ashishj3 wrote:

The DA9052 PMIC provides an Analogue to Digital Converter with 10 bits resolution and 10 channels.

This patch montiors the DA9052 PMIC's ADC channels mostly for battery

parameters

Quoted 8 lines
Quoted 4 lines

like battery temperature, junction temperature, battery current etc.

I assume this patch will be handled as part of a patchset, correct ?

Correct.

Quoted 3 lines

Thanks,
Guenter

���{.n�+�������+%�����ݶ��w��{.n�+����{��G�����{ay�ʇڙ�,j��f���h��������z_�(�階�ݢj"���m������G������?����&���~��iO��z��v�^�m���� ������?�I�