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

68 lines
1.6 KiB
C

/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2021 MediaTek Inc.
*/
#ifndef __MTK_PE_40_INTF_H
#define __MTK_PE_40_INTF_H
#define CONFIG_MTK_PUMP_EXPRESS_PLUS_40_SUPPORT
#include "adapter_class.h"
struct pe4_pps_status {
int output_mv; /* 0xffff means no support */
int output_ma; /* 0xff means no support */
uint8_t real_time_flags;
};
struct mtk_pe40 {
bool is_connect;
bool is_enabled;
bool can_query;
struct adapter_power_cap cap;
int avbus;
int vbus;
int ibus;
int watt;
int r_sw;
int r_cable;
int r_cable_1;
int r_cable_2;
int pmic_vbus;
int TA_vbus;
int vbus_cali;
int max_charger_ibus;
int max_vbus;
int max_ibus;
int pe4_input_current_limit;
int pe4_input_current_limit_setting;
int input_current_limit;
};
#ifdef CONFIG_MTK_PUMP_EXPRESS_PLUS_40_SUPPORT
extern bool mtk_pe40_init(struct charger_manager *pinfo);
extern bool mtk_is_TA_support_pd_pps(struct charger_manager *info);
extern bool mtk_pe40_is_ready(struct charger_manager *pinfo);
extern bool mtk_pe40_get_is_connect(struct charger_manager *pinfo);
extern void mtk_pe40_set_is_enable(struct charger_manager *pinfo, bool enable);
extern bool mtk_pe40_get_is_enable(struct charger_manager *pinfo);
extern int mtk_pe40_init_state(struct charger_manager *pinfo);
extern int mtk_pe40_tune1_state(struct charger_manager *pinfo);
extern int mtk_pe40_tune2_state(struct charger_manager *pinfo);
extern int mtk_pe40_cc_state(struct charger_manager *pinfo);
extern void mtk_pe40_plugout_reset(struct charger_manager *pinfo);
extern void mtk_pe40_end(struct charger_manager *pinfo, int type, bool retry);
#else
#endif
#endif /* __MTK_PE_40_INTF_H */