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
72