Mauro Carvalho Chehab | 08fae07 | 2019-04-17 06:46:24 -0300 | [diff] [blame] | 1 | Kernel driver da9055 |
| 2 | ==================== |
| 3 | |
Ashish Jangam | e597022 | 2012-10-08 18:56:47 +0530 | [diff] [blame] | 4 | Supported chips: |
| 5 | * Dialog Semiconductors DA9055 PMIC |
Mauro Carvalho Chehab | 08fae07 | 2019-04-17 06:46:24 -0300 | [diff] [blame] | 6 | |
Ashish Jangam | e597022 | 2012-10-08 18:56:47 +0530 | [diff] [blame] | 7 | Prefix: 'da9055' |
Mauro Carvalho Chehab | 08fae07 | 2019-04-17 06:46:24 -0300 | [diff] [blame] | 8 | |
Ashish Jangam | e597022 | 2012-10-08 18:56:47 +0530 | [diff] [blame] | 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: |
Mauro Carvalho Chehab | 08fae07 | 2019-04-17 06:46:24 -0300 | [diff] [blame] | 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) |
Ashish Jangam | e597022 | 2012-10-08 18:56:47 +0530 | [diff] [blame] | 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: |
Mauro Carvalho Chehab | 08fae07 | 2019-04-17 06:46:24 -0300 | [diff] [blame] | 40 | |
Ashish Jangam | e597022 | 2012-10-08 18:56:47 +0530 | [diff] [blame] | 41 | Milli volt = ((ADC value * 1000) / 85) + 2500 |
| 42 | |
| 43 | The voltages on ADC channels 1, 2 and 3 are calculated as: |
Mauro Carvalho Chehab | 08fae07 | 2019-04-17 06:46:24 -0300 | [diff] [blame] | 44 | |
Ashish Jangam | e597022 | 2012-10-08 18:56:47 +0530 | [diff] [blame] | 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: |
Mauro Carvalho Chehab | 08fae07 | 2019-04-17 06:46:24 -0300 | [diff] [blame] | 54 | |
Ashish Jangam | e597022 | 2012-10-08 18:56:47 +0530 | [diff] [blame] | 55 | Degrees celsius = -0.4084 * (ADC_RES - T_OFFSET) + 307.6332 |
Mauro Carvalho Chehab | 08fae07 | 2019-04-17 06:46:24 -0300 | [diff] [blame] | 56 | |
Ashish Jangam | e597022 | 2012-10-08 18:56:47 +0530 | [diff] [blame] | 57 | The junction temperature attribute is supported by the driver. |