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