aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/regulator/ricoh619-regulator.h
blob: ea3b3a4bacce10e7db1e0286c56111dd7865cb1d (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
/*
 * linux/regulator/ricoh619-regulator.h
 *
 * Regulator driver for RICOH R5T619 power management chip.
 *
 * Copyright (C) 2012-2013 RICOH COMPANY,LTD
 *
 * Based on code
 *	Copyright (C) 2011 NVIDIA Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

#ifndef __LINUX_REGULATOR_RICOH619_H
#define __LINUX_REGULATOR_RICOH619_H

#include <linux/regulator/machine.h>
#include <linux/regulator/driver.h>

#define ricoh619_rails(_name) "RICOH619_"#_name

/* RICHOH Regulator IDs */
enum regulator_id {
	RICOH619_ID_DC1,
	RICOH619_ID_DC2,
	RICOH619_ID_DC3,
	RICOH619_ID_DC4,
	RICOH619_ID_DC5,
	RICOH619_ID_LDO1,
	RICOH619_ID_LDO2,
	RICOH619_ID_LDO3,
	RICOH619_ID_LDO4,
	RICOH619_ID_LDO5,
	RICOH619_ID_LDO6,
	RICOH619_ID_LDO7,
	RICOH619_ID_LDO8,
	RICOH619_ID_LDO9,
	RICOH619_ID_LDO10,
	RICOH619_ID_LDORTC1,
	RICOH619_ID_LDORTC2,
};

struct ricoh619_regulator_platform_data {
		struct regulator_init_data regulator;
		int init_uV;
		unsigned init_enable:1;
		unsigned init_apply:1;
		int sleep_uV;
		int sleep_slots;
		unsigned long ext_pwr_req;
		unsigned long flags;
};

extern	int ricoh61x_regulator_enable_eco_mode(struct regulator_dev *rdev);
extern	int ricoh61x_regulator_disable_eco_mode(struct regulator_dev *rdev);
extern	int ricoh61x_regulator_enable_eco_slp_mode(struct regulator_dev *rdev);
extern	int ricoh61x_regulator_disable_eco_slp_mode(struct regulator_dev *rdev);


#endif