基于android7.1+msm8937充电学习---概述(1)_loongembedded的博客-程序员宝宝

技术标签: Linux驱动  高通Qualcomm+android  

基于android7.1+msm8937充电学习---概述(1)

Pmi8937驱动指qpnp-smbcharger.c,usb驱动指phy-msm-usb.c

1.    硬件方案


其中D+和D-也会连接到CPU msm8937的USB端口。

 The PM8937 and PMi8937 chips interface withthe MSM8937 chipsets

through the System Power ManagementInterface (SPMI) bus and provide

features such as Analog-to-DigitalConversion (ADC), charger, fuel gauge,

LED, and Pulse Width Modulation (PWM).

 

1.1 pmi8937充电部分相关引脚

 


1.2  VBUS和USB_ID只连接到PMI8937,没有连接到MSM8937

由pmi8937对应的充电器驱动通知USB软件关于VBUS和USB_ID事件。

1.3  充电器类型有pmi8937检测

由Pmi8937驱动,然后通知到usb驱动,当然,也可以使用USB驱动来替代pmi8937检测USB充电器,下面是相关说明:

Question:Many customers want to use USBbased charger detection instead of PMIC, because of the problem of PMIC, orcustomer do not adopt QC PMIC component in hardware design,  How to use USB to do charger detectioninstead of PMIC?

Answer:

On platforms like 8939,8916, USB sideSW&HW have support for charger detection. If customer want to use USB PHYto do charger detection, need to call below in charger driver to activate USB.

   power_supply_set_supply_type(chip->usb_psy,POWER_SUPPLY_TYPE_UNKNOWN);

   power_supply_set_present(chip->usb_psy, TRUE);

If the charger type set to unknown, USBwill start charger detection.

Please note on new platforms like 9x40, wedo not support USB charger detection.

1.4  充电器的检测:APSD

APSD是基于D+和D-信号来检测识别USB充电器的

 

2.    软件部分

2.1 pmi8937部分

The PMi8937 charger driver acts toconfigure charger parameters for the

hardware finite state-machine to regulatethe charging current.

Charger driver source –kernel/drivers/power/qpnp-smbcharger.c

DTS –kernel/arch/arm/boot/dts/qcom/msm-pmi8937.dtsi

DTSI documentation –kernel/Documentation/devicetree/bindings/

power/qpnp-smbcharger.txt

2.2  Usb

Usb驱动---kernel\msm-3.18\drivers\usb\phy\phy-msm-usb.c

设备树--- kernel/arch/arm/boot/dts/qcom/msm8937.dtsi

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/LoongEmbedded/article/details/80762289

智能推荐

Android sdcard插拔事件_braddoris的博客-程序员宝宝_android sd卡插拔

有一个问题,在网上被频繁的问到,就是为什么自定义的Receiver总是无法接收到SD卡插拔的事件。而此问题大部分情况下可以通过增加一句代码解决: filter.addDataScheme("file"); // filter是IntentFilter对象那么为什么增加这句代码就可以解决了呢?这个问题尽管有人问到,但是却没有太好的回答。可能是因为对于精通IntentFilter策略的高手们来说,这根

QString转换QByteArray乱码问题_.少卿的博客-程序员宝宝_qstring转qbytearray乱码

先从QByteArray转QString然后QString转换QByteArray时会碰到编码的问题,导致转换的值是乱码:下面的转换方式可以解决乱码的问题:str.toStdString().data()

Linux下onvif的编译_镖叔的博客-程序员宝宝_onvif编译

最先要申明的一点:onvif开发并不需要编译安装gsoap,gsoap只是用来获取onvif源代码的工具!一、准备"onvif"源码需要gsoap来帮助我们将.wdsl生成为.h,最后再生成.c文件。因为wdsl互相之间有相关性,离线安装会出现更多的麻烦(修改更多的配置信息),所以整个过程都在联网状态完成,虽然比较耗时,但是强烈建议。gsoap项目地址(需要下载)

爬取网页中的qq号_FOUR_A的博客-程序员宝宝

pat = "<em>QQ:(.*?)</em>"import urllib.requestdata = urllib.request.urlopen("网址").read()result = re.compile(pat).findall(str(data))print(result)

ios开发—ios高级进阶视频资料分享_次世代群901739356的博客-程序员宝宝

 iOS安全攻防,AR技术,ARKit技术,移动架构,支付宝,底层,高级进阶等,逆向,音视频处理技术,新技术开发,OpenGL ES,人工智能,进阶,区块链讲解,都是纯干货分享,需要进阶伙伴福利来了,咨询可以加我QQ群:319819749每天分享新的进阶视频资料,欢迎加入...

android 获取流量总数,NetworkStatsManager.querySummaryForDevice获取流量使用情况_weixin_39541681的博客-程序员宝宝

querySummaryForDevice方法第一个参数0表示查手机流量,1表示查wifi流量。对于第二个参数subscriberId,如果是Android10系统,传null即可。以下代码在自己的小米8A和华为mate pad pro上有用。我也不是很懂,就是试出来这样可行,供有需要的人参考。plus.android.importClass('android.app.usage.NetworkS...

随便推点

JAVA 程序设计题解与上机指导(第四版) 第二章·标识符、关键字和数据类型 2.12_qq_41835967的博客-程序员宝宝_1.设计并实现一个mygraphic类及其子类,它们代表一些基本的图形,这些图形包括

/*2.12设计实现一个MyGraphic类及子类,它们代表一些基本图形,这些图形包括矩形、三角形、圆、椭圆、菱形、梯形等。试给能描述这些图形所必需的属性及必要的方法**/public class MyGraphic { String lineColor;//线条颜色 String fillColor;//填充颜色 MyGraphic(String lc,String fc){//图...

Linux 虚拟机忘记密码解决办法_司夜寒的夏天的博客-程序员宝宝_linux虚拟机忘记密码怎么办

1,打开虚拟机,用鼠标左键点击linux界面,用上下建控制光标2.选择第一项,根据下方提示按键盘“e”键3.然后在以Linux开头的行最后 (这行的最后是我光标位置)加上rd.break(注意前面有空格)4.按下组合键ctrl+x5,输入以上命令就可以了,new passwd 输入时是啥也看不到,输正确就行6.两次密码输正确以后会有sucessfully的字样7.光标处输入 touch /.autorelabel8.最后一步退出 输入 exit 没出去再输一次.

nfs启动失败,需要rpcbind_蘑菇丁的博客-程序员宝宝

 systemctl start rpcbind1.hive.vectorized.execution.enabled参数在CDH5的Hive中默认是开启的,矢量查询(Vectorized query) 每次处理数据时会将1024行数据组成一个batch进行处理,而不是一行一行进行处理,这样能够显著提高执行速度。2.但当该参数开启后,会与ORC格式文件的Hive表冲突,也会导致本文第一章所...

Unity物体爆炸插件_ThreePointsHeat的博客-程序员宝宝

unity物体爆炸成碎片插件,导入unitypackage包,Exploder--->Demos - safe to delete下面有三个demo,很容易看懂。下载地址:https://download.csdn.net/download/ThreePointsHeat/13192500

Logistic回归模型_Sky Leaf的博客-程序员宝宝_logistic回归模型

为什么会用到logistic回归模型普通线性回归模型的一个假设条件是当自变量取值确定时,因变量服从方差不变的正态分布。而如果因变量是类别变量,则该假设条件无法满足。为了通过自变量的线性组合来预测类别因变量的取值,logistic回归模型应运而生。logistic回归模型可分为二分类和多分类模型。二分类logistic回归模型当因变量只有0,1两种取值时,因变量服从伯努利分布:预测自变量取...

Android内存泄漏问题分析及解决方案_Maxwell_nc的博客-程序员宝宝

总结一下工作中最常见内存泄漏问题,也是自己之前踩过的坑,为了让大家少走弯路,系统全面总结一下内存泄漏问题分析原因及寻找解决方案。

推荐文章

热门文章

相关标签