133036f48SWenyou Yang /*
250a03e35SBeniamino Galvani  * act8865.h  --  Voltage regulation for active-semi act88xx PMUs
333036f48SWenyou Yang  *
433036f48SWenyou Yang  * Copyright (C) 2013 Atmel Corporation.
533036f48SWenyou Yang  *
633036f48SWenyou Yang  * This program is free software; you can redistribute it and/or modify
733036f48SWenyou Yang  * it under the terms of the GNU General Public License as published by
833036f48SWenyou Yang  * the Free Software Foundation; version 2 of the License.
933036f48SWenyou Yang  *
1033036f48SWenyou Yang  * This program is distributed in the hope that it will be useful,
1133036f48SWenyou Yang  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1233036f48SWenyou Yang  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1333036f48SWenyou Yang  * GNU General Public License for more details.
1433036f48SWenyou Yang  */
1533036f48SWenyou Yang 
1633036f48SWenyou Yang #ifndef __LINUX_REGULATOR_ACT8865_H
1733036f48SWenyou Yang #define __LINUX_REGULATOR_ACT8865_H
1833036f48SWenyou Yang 
1933036f48SWenyou Yang #include <linux/regulator/machine.h>
2033036f48SWenyou Yang 
2133036f48SWenyou Yang enum {
2233036f48SWenyou Yang 	ACT8865_ID_DCDC1,
2333036f48SWenyou Yang 	ACT8865_ID_DCDC2,
2433036f48SWenyou Yang 	ACT8865_ID_DCDC3,
2533036f48SWenyou Yang 	ACT8865_ID_LDO1,
2633036f48SWenyou Yang 	ACT8865_ID_LDO2,
2733036f48SWenyou Yang 	ACT8865_ID_LDO3,
2833036f48SWenyou Yang 	ACT8865_ID_LDO4,
2933036f48SWenyou Yang 	ACT8865_REG_NUM,
3033036f48SWenyou Yang };
3133036f48SWenyou Yang 
3250a03e35SBeniamino Galvani enum {
3350a03e35SBeniamino Galvani 	ACT8865,
3450a03e35SBeniamino Galvani };
3550a03e35SBeniamino Galvani 
3633036f48SWenyou Yang /**
3733036f48SWenyou Yang  * act8865_regulator_data - regulator data
3833036f48SWenyou Yang  * @id: regulator id
3933036f48SWenyou Yang  * @name: regulator name
4033036f48SWenyou Yang  * @platform_data: regulator init data
4133036f48SWenyou Yang  */
4233036f48SWenyou Yang struct act8865_regulator_data {
4333036f48SWenyou Yang 	int id;
4433036f48SWenyou Yang 	const char *name;
4533036f48SWenyou Yang 	struct regulator_init_data *platform_data;
4633036f48SWenyou Yang };
4733036f48SWenyou Yang 
4833036f48SWenyou Yang /**
4933036f48SWenyou Yang  * act8865_platform_data - platform data for act8865
5033036f48SWenyou Yang  * @num_regulators: number of regulators used
5133036f48SWenyou Yang  * @regulators: pointer to regulators used
5233036f48SWenyou Yang  */
5333036f48SWenyou Yang struct act8865_platform_data {
5433036f48SWenyou Yang 	int num_regulators;
5533036f48SWenyou Yang 	struct act8865_regulator_data *regulators;
5633036f48SWenyou Yang };
5733036f48SWenyou Yang #endif
58