63 lines
1.2 KiB
C
63 lines
1.2 KiB
C
|
/*
|
||
|
* 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;
|
||
|
struct power_supply *psy;
|
||
|
};
|
||
|
|
||
|
/* 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__ */
|