GNU Linux-libre 6.0.15-gnu
[releases.git] / include / linux / platform_data / lp8755.h
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