MT6735 - battery相关笔记 (充电、电池状态、zvc、driver与service通信)

本文主要是介绍MT6735 - battery相关笔记 (充电、电池状态、zvc、driver与service通信),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

充电

	kernel-3.18/drivers/misc/mediatek/include/mt-plat/mt6735/include/mach/mt_charging.h#define AC_CHARGER_CURRENT					CHARGE_CURRENT_800_00_MA //先跑这个kernel-3.18/arch/arm64/boot/dts/mt6735.dtsi //好像不是用这个啊,被重赋值了,是alps/kernel-3.18/arch/arm64/boot/dts/xxx_public_3565u.dtsac_charger_current = <80000 >;	/* Unit: 0.01 mA */ //再通过dt跑这个,没这个dt就直接用上面那macro了/kernel-3.18/drivers/power/mediatek/battery_common.c__batt_init_cust_data_from_cust_header();#if defined(BATTERY_DTS_SUPPORT) && defined(CONFIG_OF)__batt_init_cust_data_from_dt();#endif什么是 wake charge state ???流程分析battery_probebatt_init_cust_data();//这里从dts读参数kthread_run(bat_thread_kthread, NULL, "bat_thread_kthread");charger_hv_detect_sw_workaround_init();//?bat_thread_kthread{while (1) {BAT_thread();//wait_event(bat_thread_wq, (bat_thread_timeout == KAL_TRUE));//等PMIC设置bat_thread_timeout}}BAT_thread{mt_battery_charger_detect_check();//[BAT_thread]Cable in, CHR_Type_num=4mt_battery_GetBatteryData //这个比较重要,会获取各个参数,电池电压,充电电流,电池温度,等mt_battery_thermal_check();//热敏电阻温度mt_battery_notify_check();//mt_battery_charging_algorithmBAT_ConstantCurrentModeAction//case CHR_CC: 恒流充电pchr_turn_on_charging //这里设置充电电流select_charging_current()battery_charging_control(CHARGING_CMD_SET_CV_VOLTAGE, &cv_voltage);// == charging_set_cv_voltage 设置 0x0E寄存器 CTRL_VBATcharging_full_check()//什么时候判断为full??battery_charging_control(CHARGING_CMD_GET_CHARGING_STATUS, &status);ncp1854_read_interface((unsigned char) (NCP1854_CON0)...)//0号寄存器返回值6 == chargeDone,5=charging/*这个寄存器什么时候置6 ? 看着好像是RO的* 电压升高到某个值(Vrechg),同时电流降低到某个值(Ieoc) * Vrechg 和 Vchg相关(97% ?), Vchg通过VBAT_SET bits CTRL_VBAT[5:0] //现在是0x2A 4.35v* Ieoc通过IBAT_SET - bits IEOC[2:0] 100~275 默认 150mA*//// DPP是什么/** 充电电流 IBAT_SET bit ICHG[3:0] and ICHG_HIGH* Iinlim* Iinlim_set Iinlim_TA* Input Voltage Based Automatic Charge Current -- ILIM! = 0 && ILIM2 = 1 (CTRL2 AICL_EN)* 温度也会影响Ichg,junction temperature management*/mt_battery_update_status();mt_kpoc_power_off_check();}do_jeita_state_machine //没用jeita ¥¥¥¥¥¥select_jeita_cv //根据温度选择充电电压battery_charging_control(CHARGING_CMD_SET_CV_VOLTAGE, &cv_voltage);pmic_thread_kthread //pmic中断 mediatek, pmic-eint === GPIO206 interrupts = <206 IRQ_TYPE_LEVEL_HIGH>;//但是在excel里,GPIO最大只有203 ???,dws EINT那一栏有206,而且配置好了while(1){pm

这篇关于MT6735 - battery相关笔记 (充电、电池状态、zvc、driver与service通信)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428921

相关文章

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

RabbitMQ工作模式中的RPC通信模式详解

《RabbitMQ工作模式中的RPC通信模式详解》在RabbitMQ中,RPC模式通过消息队列实现远程调用功能,这篇文章给大家介绍RabbitMQ工作模式之RPC通信模式,感兴趣的朋友一起看看吧... 目录RPC通信模式概述工作流程代码案例引入依赖常量类编写客户端代码编写服务端代码RPC通信模式概述在R

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

Python模拟串口通信的示例详解

《Python模拟串口通信的示例详解》pySerial是Python中用于操作串口的第三方模块,它支持Windows、Linux、OSX、BSD等多个平台,下面我们就来看看Python如何使用pySe... 目录1.win 下载虚www.chinasem.cn拟串口2、确定串口号3、配置串口4、串口通信示例5

基于C#实现MQTT通信实战

《基于C#实现MQTT通信实战》MQTT消息队列遥测传输,在物联网领域应用的很广泛,它是基于Publish/Subscribe模式,具有简单易用,支持QoS,传输效率高的特点,下面我们就来看看C#实现... 目录1、连接主机2、订阅消息3、发布消息MQTT(Message Queueing Telemetr

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

Maven中引入 springboot 相关依赖的方式(最新推荐)

《Maven中引入springboot相关依赖的方式(最新推荐)》:本文主要介绍Maven中引入springboot相关依赖的方式(最新推荐),本文给大家介绍的非常详细,对大家的学习或工作具有... 目录Maven中引入 springboot 相关依赖的方式1. 不使用版本管理(不推荐)2、使用版本管理(推