404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.217.162.18: ~ $
/*
 * Copyright 2012 Texas Instruments
 *
 * Author: Milo(Woogyom) Kim <milo.kim@ti.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 */

#ifndef __LP872X_REGULATOR_H__
#define __LP872X_REGULATOR_H__

#include <linux/regulator/machine.h>
#include <linux/platform_device.h>
#include <linux/gpio.h>

#define LP872X_MAX_REGULATORS		9

#define LP8720_ENABLE_DELAY		200
#define LP8725_ENABLE_DELAY		30000

enum lp872x_regulator_id {
	LP8720_ID_BASE,
	LP8720_ID_LDO1 = LP8720_ID_BASE,
	LP8720_ID_LDO2,
	LP8720_ID_LDO3,
	LP8720_ID_LDO4,
	LP8720_ID_LDO5,
	LP8720_ID_BUCK,

	LP8725_ID_BASE,
	LP8725_ID_LDO1 = LP8725_ID_BASE,
	LP8725_ID_LDO2,
	LP8725_ID_LDO3,
	LP8725_ID_LDO4,
	LP8725_ID_LDO5,
	LP8725_ID_LILO1,
	LP8725_ID_LILO2,
	LP8725_ID_BUCK1,
	LP8725_ID_BUCK2,

	LP872X_ID_MAX,
};

enum lp872x_dvs_state {
	DVS_LOW  = GPIOF_OUT_INIT_LOW,
	DVS_HIGH = GPIOF_OUT_INIT_HIGH,
};

enum lp872x_dvs_sel {
	SEL_V1,
	SEL_V2,
};

/**
 * lp872x_dvs
 * @gpio       : gpio pin number for dvs control
 * @vsel       : dvs selector for buck v1 or buck v2 register
 * @init_state : initial dvs pin state
 */
struct lp872x_dvs {
	int gpio;
	enum lp872x_dvs_sel vsel;
	enum lp872x_dvs_state init_state;
};

/**
 * lp872x_regdata
 * @id        : regulator id
 * @init_data : init data for each regulator
 */
struct lp872x_regulator_data {
	enum lp872x_regulator_id id;
	struct regulator_init_data *init_data;
};

/**
 * lp872x_platform_data
 * @general_config    : the value of LP872X_GENERAL_CFG register
 * @update_config     : if LP872X_GENERAL_CFG register is updated, set true
 * @regulator_data    : platform regulator id and init data
 * @dvs               : dvs data for buck voltage control
 * @enable_gpio       : gpio pin number for enable control
 */
struct lp872x_platform_data {
	u8 general_config;
	bool update_config;
	struct lp872x_regulator_data regulator_data[LP872X_MAX_REGULATORS];
	struct lp872x_dvs *dvs;
	int enable_gpio;
};

#endif

Filemanager

Name Type Size Permission Actions
ab8500.h File 7.03 KB 0644
act8865.h File 1.85 KB 0644
arizona-ldo1.h File 532 B 0644
arizona-micsupp.h File 493 B 0644
consumer.h File 17.86 KB 0644
da9211.h File 1.15 KB 0644
db8500-prcmu.h File 1.14 KB 0644
driver.h File 18.94 KB 0644
fan53555.h File 1.35 KB 0644
fixed.h File 2.41 KB 0644
gpio-regulator.h File 2.4 KB 0644
lp3971.h File 1.38 KB 0644
lp3972.h File 1.28 KB 0644
lp872x.h File 2.03 KB 0644
machine.h File 8.18 KB 0644
max1586.h File 2.14 KB 0644
max8649.h File 976 B 0644
max8660.h File 1.55 KB 0644
max8952.h File 2.94 KB 0644
max8973-regulator.h File 3.18 KB 0644
mt6311.h File 834 B 0644
mt6323-regulator.h File 1.2 KB 0644
mt6380-regulator.h File 870 B 0644
mt6397-regulator.h File 1.17 KB 0644
of_regulator.h File 1.09 KB 0644
pfuze100.h File 2.13 KB 0644
qcom_smd-regulator.h File 989 B 0644
tps51632-regulator.h File 1.62 KB 0644
tps62360.h File 1.85 KB 0644
tps6507x.h File 1.09 KB 0644
userspace-consumer.h File 675 B 0644