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 | |