mirror of https://gitee.com/openkylin/linux.git
58 lines
1.7 KiB
ReStructuredText
58 lines
1.7 KiB
ReStructuredText
|
Kernel driver da9055
|
||
|
====================
|
||
|
|
||
|
Supported chips:
|
||
|
* Dialog Semiconductors DA9055 PMIC
|
||
|
|
||
|
Prefix: 'da9055'
|
||
|
|
||
|
Datasheet: Datasheet is not publicly available.
|
||
|
|
||
|
Authors: David Dajun Chen <dchen@diasemi.com>
|
||
|
|
||
|
Description
|
||
|
-----------
|
||
|
|
||
|
The DA9055 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 5
|
||
|
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: ADC_IN1 - high impedance input (0 - 2.5V)
|
||
|
- Channel 2: ADC_IN2 - high impedance input (0 - 2.5V)
|
||
|
- Channel 3: ADC_IN3 - high impedance input (0 - 2.5V)
|
||
|
- Channel 4: Internal Tjunc. - sense (internal temp. sensor)
|
||
|
|
||
|
By using sysfs attributes we can measure the system voltage VDDOUT,
|
||
|
chip junction temperature and auxiliary channels voltages.
|
||
|
|
||
|
Voltage Monitoring
|
||
|
------------------
|
||
|
|
||
|
Voltages are sampled in a AUTO mode it can be manually sampled too and results
|
||
|
are stored in a 10 bit ADC.
|
||
|
|
||
|
The system voltage is calculated as:
|
||
|
|
||
|
Milli volt = ((ADC value * 1000) / 85) + 2500
|
||
|
|
||
|
The voltages on ADC channels 1, 2 and 3 are calculated as:
|
||
|
|
||
|
Milli volt = (ADC value * 1000) / 102
|
||
|
|
||
|
Temperature Monitoring
|
||
|
----------------------
|
||
|
|
||
|
Temperatures are sampled by a 10 bit ADC. Junction temperatures
|
||
|
are monitored by the ADC channels.
|
||
|
|
||
|
The junction temperature is calculated:
|
||
|
|
||
|
Degrees celsius = -0.4084 * (ADC_RES - T_OFFSET) + 307.6332
|
||
|
|
||
|
The junction temperature attribute is supported by the driver.
|