mfd: Export ISEL values from WM831x core

The current settings which can be used with the WM831x current sinks
can't easily be mapped between register values and currents at run
time without a lookup table since the values scale logarithmically
to match the way the human eye interprets brightness. This lookup
table is inclided in the core since several drivers need to use it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
This commit is contained in:
Mark Brown 2009-07-27 14:45:57 +01:00 committed by Samuel Ortiz
parent 6704e5171b
commit 698659d5f7
2 changed files with 85 additions and 0 deletions

View File

@ -24,6 +24,70 @@
#include <linux/mfd/wm831x/irq.h> #include <linux/mfd/wm831x/irq.h>
#include <linux/mfd/wm831x/auxadc.h> #include <linux/mfd/wm831x/auxadc.h>
#include <linux/mfd/wm831x/otp.h> #include <linux/mfd/wm831x/otp.h>
#include <linux/mfd/wm831x/regulator.h>
/* Current settings - values are 2*2^(reg_val/4) microamps. These are
* exported since they are used by multiple drivers.
*/
int wm831x_isinkv_values[WM831X_ISINK_MAX_ISEL] = {
2,
2,
3,
3,
4,
5,
6,
7,
8,
10,
11,
13,
16,
19,
23,
27,
32,
38,
45,
54,
64,
76,
91,
108,
128,
152,
181,
215,
256,
304,
362,
431,
512,
609,
724,
861,
1024,
1218,
1448,
1722,
2048,
2435,
2896,
3444,
4096,
4871,
5793,
6889,
8192,
9742,
11585,
13777,
16384,
19484,
23170,
27554,
};
EXPORT_SYMBOL_GPL(wm831x_isinkv_values);
enum wm831x_parent { enum wm831x_parent {
WM8310 = 0, WM8310 = 0,

View File

@ -0,0 +1,21 @@
/*
* linux/mfd/wm831x/regulator.h -- Regulator definitons for wm831x
*
* Copyright 2009 Wolfson Microelectronics PLC.
*
* Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation; either version 2 of the License, or (at your
* option) any later version.
*
*/
#ifndef __MFD_WM831X_REGULATOR_H__
#define __MFD_WM831X_REGULATOR_H__
#define WM831X_ISINK_MAX_ISEL 56
extern int wm831x_isinkv_values[WM831X_ISINK_MAX_ISEL];
#endif