unplugged-kernel/drivers/power/supply/mediatek/charger/mtk_linear_charging.h

36 lines
966 B
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2021 MediaTek Inc.
*/
#ifndef _MTK_LINEAR_CHARGER_H
#define _MTK_LINEAR_CHARGER_H
/*****************************************************************************
* Linear Charging State
****************************************************************************/
#define MAX_TOPOFF_CHARGING_TIME (3 * 60 * 60) /* 3 hours */
#define RECHARGE_OFFSET 150000 /* uV */
#define TOPOFF_VOLTAGE 4200000 /* uV */
#define CHG_FULL_CURRENT 150000 /* uA */
struct linear_charging_alg_data {
int state;
bool disable_charging;
struct mutex ichg_access_mutex;
unsigned int total_charging_time;
unsigned int cc_charging_time;
unsigned int topoff_charging_time;
unsigned int full_charging_time;
struct timespec topoff_begin_time;
struct timespec charging_begin_time;
int recharge_offset; /* uv */
int topoff_voltage; /* uv */
int chg_full_current; /* uA */
};
#endif /* End of _MTK_LINEAR_CHARGER_H */