About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / hwmon / da9052


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:53 EST.

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


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog