blob: 5bc51346b6897aead6100151d4faaab80722c694 [file] [log] [blame]
Ashish Jangame41f6432012-03-17 15:34:41 +05301Supported chips:
2 * Dialog Semiconductors DA9052-BC and DA9053-AA/Bx PMICs
3 Prefix: 'da9052'
4 Datasheet: Datasheet is not publicly available.
5
6Authors: David Dajun Chen <dchen@diasemi.com>
7
8Description
9-----------
10
11The DA9052/53 provides an Analogue to Digital Converter (ADC) with 10 bits
12resolution and track and hold circuitry combined with an analogue input
13multiplexer. The analogue input multiplexer will allow conversion of up to 10
14different inputs. The track and hold circuit ensures stable input voltages at
15the input of the ADC during the conversion.
16
17The ADC is used to measure the following inputs:
18Channel 0: VDDOUT - measurement of the system voltage
19Channel 1: ICH - internal battery charger current measurement
20Channel 2: TBAT - output from the battery NTC
21Channel 3: VBAT - measurement of the battery voltage
22Channel 4: ADC_IN4 - high impedance input (0 - 2.5V)
23Channel 5: ADC_IN5 - high impedance input (0 - 2.5V)
24Channel 6: ADC_IN6 - high impedance input (0 - 2.5V)
25Channel 7: XY - TSI interface to measure the X and Y voltage of the touch
26 screen resistive potentiometers
27Channel 8: Internal Tjunc. - sense (internal temp. sensor)
28Channel 9: VBBAT - measurement of the backup battery voltage
29
30By using sysfs attributes we can measure the system voltage VDDOUT, the battery
31charging current ICH, battery temperature TBAT, battery junction temperature
32TJUNC, battery voltage VBAT and the back up battery voltage VBBAT.
33
34Voltage Monitoring
35------------------
36
37Voltages are sampled by a 10 bit ADC.
38
39The battery voltage is calculated as:
40 Milli volt = ((ADC value * 1000) / 512) + 2500
41
42The backup battery voltage is calculated as:
43 Milli volt = (ADC value * 2500) / 512;
44
45The voltages on ADC channels 4, 5 and 6 are calculated as:
46 Milli volt = (ADC value * 2500) / 1023
47
48Temperature Monitoring
49----------------------
50
51Temperatures are sampled by a 10 bit ADC. Junction and battery temperatures
52are monitored by the ADC channels.
53
54The junction temperature is calculated:
55 Degrees celsius = 1.708 * (TJUNC_RES - T_OFFSET) - 108.8
56The junction temperature attribute is supported by the driver.
57
58The battery temperature is calculated:
Peter Meerwald4d7e47b2012-10-10 15:25:56 +020059 Degree Celsius = 1 / (t1 + 1/298)- 273
Ashish Jangame41f6432012-03-17 15:34:41 +053060where t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255))
61Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively.