GNU Linux-libre 4.9.284-gnu1
[releases.git] / include / linux / platform_data / lp8755.h
1 /*
2  * LP8755 High Performance Power Management Unit Driver:System Interface Driver
3  *
4  *                      Copyright (C) 2012 Texas Instruments
5  *
6  * Author: Daniel(Geon Si) Jeong <daniel.jeong@ti.com>
7  *             G.Shark Jeong <gshark.jeong@gmail.com>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License version 2 as
11  * published by the Free Software Foundation.
12  *
13  */
14
15 #ifndef _LP8755_H
16 #define _LP8755_H
17
18 #include <linux/regulator/consumer.h>
19
20 #define LP8755_NAME "lp8755-regulator"
21 /*
22  *PWR FAULT : power fault detected
23  *OCP : over current protect activated
24  *OVP : over voltage protect activated
25  *TEMP_WARN : thermal warning
26  *TEMP_SHDN : thermal shutdonw detected
27  *I_LOAD : current measured
28  */
29 #define LP8755_EVENT_PWR_FAULT REGULATOR_EVENT_FAIL
30 #define LP8755_EVENT_OCP REGULATOR_EVENT_OVER_CURRENT
31 #define LP8755_EVENT_OVP 0x10000
32 #define LP8755_EVENT_TEMP_WARN 0x2000
33 #define LP8755_EVENT_TEMP_SHDN REGULATOR_EVENT_OVER_TEMP
34 #define LP8755_EVENT_I_LOAD     0x40000
35
36 enum lp8755_bucks {
37         LP8755_BUCK0 = 0,
38         LP8755_BUCK1,
39         LP8755_BUCK2,
40         LP8755_BUCK3,
41         LP8755_BUCK4,
42         LP8755_BUCK5,
43         LP8755_BUCK_MAX,
44 };
45
46 /**
47  * multiphase configuration options
48  */
49 enum lp8755_mphase_config {
50         MPHASE_CONF0,
51         MPHASE_CONF1,
52         MPHASE_CONF2,
53         MPHASE_CONF3,
54         MPHASE_CONF4,
55         MPHASE_CONF5,
56         MPHASE_CONF6,
57         MPHASE_CONF7,
58         MPHASE_CONF8,
59         MPHASE_CONF_MAX
60 };
61
62 /**
63  * struct lp8755_platform_data
64  * @mphase_type : Multiphase Switcher Configurations.
65  * @buck_data   : buck0~6 init voltage in uV
66  */
67 struct lp8755_platform_data {
68         int mphase;
69         struct regulator_init_data *buck_data[LP8755_BUCK_MAX];
70 };
71 #endif