17ebd8b66SMauro Carvalho ChehabKernel driver da9055
27ebd8b66SMauro Carvalho Chehab====================
37ebd8b66SMauro Carvalho Chehab
47ebd8b66SMauro Carvalho ChehabSupported chips:
57ebd8b66SMauro Carvalho Chehab  * Dialog Semiconductors DA9055 PMIC
67ebd8b66SMauro Carvalho Chehab
77ebd8b66SMauro Carvalho Chehab    Prefix: 'da9055'
87ebd8b66SMauro Carvalho Chehab
97ebd8b66SMauro Carvalho Chehab    Datasheet: Datasheet is not publicly available.
107ebd8b66SMauro Carvalho Chehab
117ebd8b66SMauro Carvalho ChehabAuthors: David Dajun Chen <dchen@diasemi.com>
127ebd8b66SMauro Carvalho Chehab
137ebd8b66SMauro Carvalho ChehabDescription
147ebd8b66SMauro Carvalho Chehab-----------
157ebd8b66SMauro Carvalho Chehab
167ebd8b66SMauro Carvalho ChehabThe DA9055 provides an Analogue to Digital Converter (ADC) with 10 bits
177ebd8b66SMauro Carvalho Chehabresolution and track and hold circuitry combined with an analogue input
187ebd8b66SMauro Carvalho Chehabmultiplexer. The analogue input multiplexer will allow conversion of up to 5
197ebd8b66SMauro Carvalho Chehabdifferent inputs. The track and hold circuit ensures stable input voltages at
207ebd8b66SMauro Carvalho Chehabthe input of the ADC during the conversion.
217ebd8b66SMauro Carvalho Chehab
227ebd8b66SMauro Carvalho ChehabThe ADC is used to measure the following inputs:
237ebd8b66SMauro Carvalho Chehab
247ebd8b66SMauro Carvalho Chehab- Channel 0: VDDOUT - measurement of the system voltage
257ebd8b66SMauro Carvalho Chehab- Channel 1: ADC_IN1 - high impedance input (0 - 2.5V)
267ebd8b66SMauro Carvalho Chehab- Channel 2: ADC_IN2 - high impedance input (0 - 2.5V)
277ebd8b66SMauro Carvalho Chehab- Channel 3: ADC_IN3 - high impedance input (0 - 2.5V)
287ebd8b66SMauro Carvalho Chehab- Channel 4: Internal Tjunc. - sense (internal temp. sensor)
297ebd8b66SMauro Carvalho Chehab
307ebd8b66SMauro Carvalho ChehabBy using sysfs attributes we can measure the system voltage VDDOUT,
317ebd8b66SMauro Carvalho Chehabchip junction temperature and auxiliary channels voltages.
327ebd8b66SMauro Carvalho Chehab
337ebd8b66SMauro Carvalho ChehabVoltage Monitoring
347ebd8b66SMauro Carvalho Chehab------------------
357ebd8b66SMauro Carvalho Chehab
367ebd8b66SMauro Carvalho ChehabVoltages are sampled in a AUTO mode it can be manually sampled too and results
377ebd8b66SMauro Carvalho Chehabare stored in a 10 bit ADC.
387ebd8b66SMauro Carvalho Chehab
397ebd8b66SMauro Carvalho ChehabThe system voltage is calculated as:
407ebd8b66SMauro Carvalho Chehab
417ebd8b66SMauro Carvalho Chehab	Milli volt = ((ADC value * 1000) / 85) + 2500
427ebd8b66SMauro Carvalho Chehab
437ebd8b66SMauro Carvalho ChehabThe voltages on ADC channels 1, 2 and 3 are calculated as:
447ebd8b66SMauro Carvalho Chehab
457ebd8b66SMauro Carvalho Chehab	Milli volt = (ADC value * 1000) / 102
467ebd8b66SMauro Carvalho Chehab
477ebd8b66SMauro Carvalho ChehabTemperature Monitoring
487ebd8b66SMauro Carvalho Chehab----------------------
497ebd8b66SMauro Carvalho Chehab
507ebd8b66SMauro Carvalho ChehabTemperatures are sampled by a 10 bit ADC.  Junction temperatures
517ebd8b66SMauro Carvalho Chehabare monitored by the ADC channels.
527ebd8b66SMauro Carvalho Chehab
537ebd8b66SMauro Carvalho ChehabThe junction temperature is calculated:
547ebd8b66SMauro Carvalho Chehab
557ebd8b66SMauro Carvalho Chehab	Degrees celsius = -0.4084 * (ADC_RES - T_OFFSET) + 307.6332
567ebd8b66SMauro Carvalho Chehab
577ebd8b66SMauro Carvalho ChehabThe junction temperature attribute is supported by the driver.
58