doubao_chat/include_lib/driver/cpu/wl82/asm/charge.h

100 lines
2.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _CHARGE_H_
#define _CHARGE_H_
#include "typedef.h"
/*------充满电电压选择 3.869V-4.567V-------*/
#define CHARGE_FULL_V_3869 0
#define CHARGE_FULL_V_3907 1
#define CHARGE_FULL_V_3946 2
#define CHARGE_FULL_V_3985 3
#define CHARGE_FULL_V_4026 4
#define CHARGE_FULL_V_4068 5
#define CHARGE_FULL_V_4122 6
#define CHARGE_FULL_V_4157 7
#define CHARGE_FULL_V_4202 8
#define CHARGE_FULL_V_4249 9
#define CHARGE_FULL_V_4295 10
#define CHARGE_FULL_V_4350 11
#define CHARGE_FULL_V_4398 12
#define CHARGE_FULL_V_4452 13
#define CHARGE_FULL_V_4509 14
#define CHARGE_FULL_V_4567 15
/*****************************************/
/*充满电电流选择 2mA-30mA*/
#define CHARGE_FULL_mA_2 0
#define CHARGE_FULL_mA_5 1
#define CHARGE_FULL_mA_7 2
#define CHARGE_FULL_mA_10 3
#define CHARGE_FULL_mA_15 4
#define CHARGE_FULL_mA_20 5
#define CHARGE_FULL_mA_25 6
#define CHARGE_FULL_mA_30 7
/*
充电电流选择
恒流:20-220mA
*/
#define CHARGE_mA_20 0
#define CHARGE_mA_30 1
#define CHARGE_mA_40 2
#define CHARGE_mA_50 3
#define CHARGE_mA_60 4
#define CHARGE_mA_70 5
#define CHARGE_mA_80 6
#define CHARGE_mA_90 7
#define CHARGE_mA_100 8
#define CHARGE_mA_110 9
#define CHARGE_mA_120 10
#define CHARGE_mA_140 11
#define CHARGE_mA_160 12
#define CHARGE_mA_180 13
#define CHARGE_mA_200 14
#define CHARGE_mA_220 15
#define DEVICE_EVENT_FROM_CHARGE (('C' << 24) | ('H' << 16) | ('G' << 8) | '\0')
#define CHARGE_CCVOL_V 300 //最低充电电流档转向用户设置充电电流档的电压转换点(AC693X无涓流充电,电池电压低时采用最低电流档,电池电压大于设置的值时采用用户设置的充电电流档)
struct charge_platform_data {
u8 charge_en; //内置充电使能
u8 charge_poweron_en; //开机充电使能
u8 charge_full_V; //充满电电压大小
u8 charge_full_mA; //充满电电流大小
u8 charge_mA; //充电电流大小
};
#define CHARGE_PLATFORM_DATA_BEGIN(data) \
struct charge_platform_data data = {
#define CHARGE_PLATFORM_DATA_END() \
};
enum {
CHARGE_FULL_33V = 0, //充满标记位
TERMA_33V, //模拟测试信号
VBGOK_33V, //模拟测试信号
CICHARGE_33V, //涓流转恒流信号
};
enum {
CHARGE_EVENT_CHARGE_START,
CHARGE_EVENT_CHARGE_CLOSE,
CHARGE_EVENT_CHARGE_FULL,
CHARGE_EVENT_CHARGE_ERR,
CHARGE_EVENT_LDO5V_IN,
CHARGE_EVENT_LDO5V_OFF,
};
extern void set_charge_online_flag(u8 flag);
extern u8 get_charge_online_flag(void);
extern u8 get_charge_poweron_en(void);
extern void charge_start(void);
extern void charge_close(void);
extern const struct device_operations charge_dev_ops;
#endif //_CHARGE_H_