2014-12-09 20:03:51 +08:00
|
|
|
/*
|
|
|
|
* MFD core driver for the RT5033
|
|
|
|
*
|
|
|
|
* Copyright (C) 2014 Samsung Electronics
|
|
|
|
* Author: Beomho Seo <beomho.seo@samsung.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 bythe Free Software Foundation.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __RT5033_H__
|
|
|
|
#define __RT5033_H__
|
|
|
|
|
|
|
|
#include <linux/regulator/consumer.h>
|
|
|
|
#include <linux/i2c.h>
|
|
|
|
#include <linux/regmap.h>
|
|
|
|
#include <linux/power_supply.h>
|
|
|
|
|
|
|
|
/* RT5033 regulator IDs */
|
|
|
|
enum rt5033_regulators {
|
|
|
|
RT5033_BUCK = 0,
|
|
|
|
RT5033_LDO,
|
|
|
|
RT5033_SAFE_LDO,
|
|
|
|
|
|
|
|
RT5033_REGULATOR_NUM,
|
|
|
|
};
|
|
|
|
|
|
|
|
struct rt5033_dev {
|
|
|
|
struct device *dev;
|
|
|
|
|
|
|
|
struct regmap *regmap;
|
|
|
|
struct regmap_irq_chip_data *irq_data;
|
|
|
|
int irq;
|
|
|
|
bool wakeup;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct rt5033_battery {
|
|
|
|
struct i2c_client *client;
|
|
|
|
struct rt5033_dev *rt5033;
|
|
|
|
struct regmap *regmap;
|
2015-03-12 15:44:11 +08:00
|
|
|
struct power_supply *psy;
|
2014-12-09 20:03:51 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
/* RT5033 charger platform data */
|
|
|
|
struct rt5033_charger_data {
|
|
|
|
unsigned int pre_uamp;
|
|
|
|
unsigned int pre_uvolt;
|
|
|
|
unsigned int const_uvolt;
|
|
|
|
unsigned int eoc_uamp;
|
|
|
|
unsigned int fast_uamp;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct rt5033_charger {
|
|
|
|
struct device *dev;
|
|
|
|
struct rt5033_dev *rt5033;
|
|
|
|
struct power_supply psy;
|
|
|
|
|
|
|
|
struct rt5033_charger_data *chg;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* __RT5033_H__ */
|