mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-21 08:46:49 +07:00
38e968380b
As we progress with DB5500 and future voltage domain regulators based on very similar hardware as found in the DB8500 PRCMU, it makes sense to split off the generic parts and introduce some generic debug code for the DBx500 regulators. This patch accoplish a basic abstraction of the DBx500 voltage domain regulators. Signed-off-by: Bengt Jonsson <bengt.g.jonsson@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
64 lines
1.5 KiB
C
64 lines
1.5 KiB
C
/*
|
|
* Copyright (C) ST-Ericsson SA 2010
|
|
*
|
|
* Author: Bengt Jonsson <bengt.jonsson@stericsson.com> for ST-Ericsson,
|
|
* Jonas Aaberg <jonas.aberg@stericsson.com> for ST-Ericsson
|
|
*
|
|
* License Terms: GNU General Public License v2
|
|
*
|
|
*/
|
|
|
|
#ifndef DBX500_REGULATOR_H
|
|
#define DBX500_REGULATOR_H
|
|
|
|
#include <linux/platform_device.h>
|
|
|
|
/**
|
|
* struct dbx500_regulator_info - dbx500 regulator information
|
|
* @dev: device pointer
|
|
* @desc: regulator description
|
|
* @rdev: regulator device pointer
|
|
* @is_enabled: status of the regulator
|
|
* @epod_id: id for EPOD (power domain)
|
|
* @is_ramret: RAM retention switch for EPOD (power domain)
|
|
* @operating_point: operating point (only for vape, to be removed)
|
|
*
|
|
*/
|
|
struct dbx500_regulator_info {
|
|
struct device *dev;
|
|
struct regulator_desc desc;
|
|
struct regulator_dev *rdev;
|
|
bool is_enabled;
|
|
u16 epod_id;
|
|
bool is_ramret;
|
|
bool exclude_from_power_state;
|
|
unsigned int operating_point;
|
|
};
|
|
|
|
void power_state_active_enable(void);
|
|
int power_state_active_disable(void);
|
|
|
|
|
|
#ifdef CONFIG_REGULATOR_DEBUG
|
|
int ux500_regulator_debug_init(struct platform_device *pdev,
|
|
struct dbx500_regulator_info *regulator_info,
|
|
int num_regulators);
|
|
|
|
int ux500_regulator_debug_exit(void);
|
|
#else
|
|
|
|
static inline int ux500_regulator_debug_init(struct platform_device *pdev,
|
|
struct dbx500_regulator_info *regulator_info,
|
|
int num_regulators)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline int ux500_regulator_debug_exit(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
#endif
|
|
#endif
|