1/*
2 * act8865.h  --  Voltage regulation for active-semi act88xx PMUs
3 *
4 * Copyright (C) 2013 Atmel Corporation.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 * GNU General Public License for more details.
14 */
15
16#ifndef __LINUX_REGULATOR_ACT8865_H
17#define __LINUX_REGULATOR_ACT8865_H
18
19#include <linux/regulator/machine.h>
20
21enum {
22	ACT8600_ID_DCDC1,
23	ACT8600_ID_DCDC2,
24	ACT8600_ID_DCDC3,
25	ACT8600_ID_SUDCDC4,
26	ACT8600_ID_LDO5,
27	ACT8600_ID_LDO6,
28	ACT8600_ID_LDO7,
29	ACT8600_ID_LDO8,
30	ACT8600_ID_LDO9,
31	ACT8600_ID_LDO10,
32};
33
34enum {
35	ACT8865_ID_DCDC1,
36	ACT8865_ID_DCDC2,
37	ACT8865_ID_DCDC3,
38	ACT8865_ID_LDO1,
39	ACT8865_ID_LDO2,
40	ACT8865_ID_LDO3,
41	ACT8865_ID_LDO4,
42	ACT8865_REG_NUM,
43};
44
45enum {
46	ACT8846_ID_REG1,
47	ACT8846_ID_REG2,
48	ACT8846_ID_REG3,
49	ACT8846_ID_REG4,
50	ACT8846_ID_REG5,
51	ACT8846_ID_REG6,
52	ACT8846_ID_REG7,
53	ACT8846_ID_REG8,
54	ACT8846_ID_REG9,
55	ACT8846_ID_REG10,
56	ACT8846_ID_REG11,
57	ACT8846_ID_REG12,
58	ACT8846_REG_NUM,
59};
60
61enum {
62	ACT8600,
63	ACT8865,
64	ACT8846,
65};
66
67/**
68 * act8865_regulator_data - regulator data
69 * @id: regulator id
70 * @name: regulator name
71 * @platform_data: regulator init data
72 */
73struct act8865_regulator_data {
74	int id;
75	const char *name;
76	struct regulator_init_data *platform_data;
77};
78
79/**
80 * act8865_platform_data - platform data for act8865
81 * @num_regulators: number of regulators used
82 * @regulators: pointer to regulators used
83 */
84struct act8865_platform_data {
85	int num_regulators;
86	struct act8865_regulator_data *regulators;
87};
88#endif
89