1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * MFD core driver for the RT5033
- *
- * Copyright (C) 2014 Samsung Electronics
- * Author: Beomho Seo <[email protected]>
- */
- #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__ */
|