blob: fbe46233c73fe289406c78a5a7403e7b0675f32c [file] [log] [blame]
/*
* s2mu00x_battery.h
*
* Copyright (C) 2017 Samsung Electronics, Inc.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __S2MU00X_BATTERY_H
#define __S2MU00X_BATTERY_H
#include <linux/module.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/err.h>
#include <linux/delay.h>
#include <linux/gpio.h>
#include <linux/irq.h>
#include <linux/interrupt.h>
#include <linux/i2c.h>
#include <linux/power_supply.h>
#include <linux/slab.h>
#include <linux/device.h>
#include <linux/power_supply.h>
enum s2mu00x_battery_voltage_mode {
S2MU00X_BATTERY_VOLTAGE_AVERAGE = 0,
S2MU00X_BATTERY_VOLTAGE_OCV,
};
enum s2mu00x_battery_current_mode {
S2MU00X_BATTERY_CURRENT_UA = 0,
S2MU00X_BATTERY_CURRENT_MA,
};
enum s2mu00x_battery_charger_mode {
S2MU00X_BAT_CHG_MODE_CHARGING = 0,
S2MU00X_BAT_CHG_MODE_CHARGING_OFF,
S2MU00X_BAT_CHG_MODE_BUCK_OFF,
};
struct s2mu00x_charging_current {
#ifdef CONFIG_OF
unsigned int input_current_limit;
unsigned int fast_charging_current;
unsigned int full_check_current;
#else
int input_current_limit;
int fast_charging_current;
int full_check_current;
#endif
};
#define s2mu00x_charging_current_t struct s2mu00x_charging_current
#define S2MU00X_FUELGAUGE_CAPACITY_TYPE_RESET (-1)
#endif /* __S2MU00X_BATTERY_H */