/* * 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__ */