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