Merge tag 'iommu-updates-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro...
[platform/kernel/linux-rpi.git] / Documentation / hwmon / da9055.rst
1 Kernel driver da9055
2 ====================
3
4 Supported chips:
5   * Dialog Semiconductors DA9055 PMIC
6
7     Prefix: 'da9055'
8
9     Datasheet: Datasheet is not publicly available.
10
11 Authors: David Dajun Chen <dchen@diasemi.com>
12
13 Description
14 -----------
15
16 The DA9055 provides an Analogue to Digital Converter (ADC) with 10 bits
17 resolution and track and hold circuitry combined with an analogue input
18 multiplexer. The analogue input multiplexer will allow conversion of up to 5
19 different inputs. The track and hold circuit ensures stable input voltages at
20 the input of the ADC during the conversion.
21
22 The ADC is used to measure the following inputs:
23
24 - Channel 0: VDDOUT - measurement of the system voltage
25 - Channel 1: ADC_IN1 - high impedance input (0 - 2.5V)
26 - Channel 2: ADC_IN2 - high impedance input (0 - 2.5V)
27 - Channel 3: ADC_IN3 - high impedance input (0 - 2.5V)
28 - Channel 4: Internal Tjunc. - sense (internal temp. sensor)
29
30 By using sysfs attributes we can measure the system voltage VDDOUT,
31 chip junction temperature and auxiliary channels voltages.
32
33 Voltage Monitoring
34 ------------------
35
36 Voltages are sampled in a AUTO mode it can be manually sampled too and results
37 are stored in a 10 bit ADC.
38
39 The system voltage is calculated as:
40
41         Milli volt = ((ADC value * 1000) / 85) + 2500
42
43 The voltages on ADC channels 1, 2 and 3 are calculated as:
44
45         Milli volt = (ADC value * 1000) / 102
46
47 Temperature Monitoring
48 ----------------------
49
50 Temperatures are sampled by a 10 bit ADC.  Junction temperatures
51 are monitored by the ADC channels.
52
53 The junction temperature is calculated:
54
55         Degrees celsius = -0.4084 * (ADC_RES - T_OFFSET) + 307.6332
56
57 The junction temperature attribute is supported by the driver.