summaryrefslogtreecommitdiff
path: root/drivers/regulator/ab8500-debug.h
blob: 2b59e556a3f1a43919cc2cb36030311b57d2810b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
 * Copyright (C) ST-Ericsson SA 2010-2011
 *
 * Author: Bengt Jonsson <bengt.g.jonsson@stericsson.com> for ST-Ericsson.
 *
 * License Terms: GNU General Public License v2
 */

#ifndef __AB8500_DEBUG_H__
#define __AB8500_DEBUG_H__

/*
 * regulator status print
 */
enum ab8500_regulator_id {
	AB8500_VARM,
	AB8500_VBBP,
	AB8500_VBBN,
	AB8500_VAPE,
	AB8500_VSMPS1,
	AB8500_VSMPS2,
	AB8500_VSMPS3,
	AB8500_VPLL,
	AB8500_VREFDDR,
	AB8500_VMOD,
	AB8500_VEXTSUPPLY1,
	AB8500_VEXTSUPPLY2,
	AB8500_VEXTSUPPLY3,
	AB8500_VRF1,
	AB8500_VANA,
	AB8500_VAUX1,
	AB8500_VAUX2,
	AB8500_VAUX3,
	AB9540_VAUX4,		/* Note: AB9540 only */
	AB8500_VINTCORE,
	AB8500_VTVOUT,
	AB8500_VAUDIO,
	AB8500_VANAMIC1,
	AB8500_VANAMIC2,
	AB8500_VDMIC,
	AB8500_VUSB,
	AB8500_VOTG,
	AB8500_VBUSBIS,
	AB8500_NUM_REGULATORS,
};

enum ab8500_regulator_mode {
	AB8500_MODE_OFF = 0,
	AB8500_MODE_ON,
	AB8500_MODE_HW,
	AB8500_MODE_LP
};

enum ab8500_regulator_hwmode {
	AB8500_HWMODE_NONE = 0,
	AB8500_HWMODE_HPLP,
	AB8500_HWMODE_HPOFF,
	AB8500_HWMODE_HP,
	AB8500_HWMODE_HP2,
};

enum hwmode_auto {
	HWM_OFF = 0,
	HWM_ON = 1,
	HWM_INVAL = 2,
};

struct ab8500_debug_regulator_status {
	char *name;
	enum ab8500_regulator_mode mode;
	enum ab8500_regulator_hwmode hwmode;
	enum hwmode_auto hwmode_auto[4];
	int volt_selected;
	int volt_len;
	int volt[4];
};

int ab8500_regulator_debug_read(enum ab8500_regulator_id id,
				struct ab8500_debug_regulator_status *s);
#endif /* __AB8500_DEBUG_H__ */