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