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