mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
0b27125854
This patch adds a new driver for Richtek RT5033 driver. RT5033 is a Multifunction device which includes battery charger, fuel gauge, flash LED current source, LDO and synchronous Buck converter. It is interfaced to host controller using I2C interface. Signed-off-by: Beomho Seo <beomho.seo@samsung.com> Acked-by: Chanwoo Choi <cw00.choi@samsung.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
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__ */
|