技术标签: 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
文章浏览阅读89次。第一步 创建跨域拦截import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpSe_springmvc跨域问题
文章浏览阅读6.9k次,点赞5次,收藏10次。今天看到一篇文章,说是在Windows上可以不需要安装VMware workstation或者其它虚拟化应用就能够使用Linux系统,称为“适用于Linux的Windows子系统”(Windows subsystem for Linux),我怎么总感觉是:适用于Windows的Linux子系统呢。。。。好了,先不扯这些。本文中不叙述这个是怎么来的,目的是为了什么,有什么优缺点等等,只是简单介绍..._适用于linux的windows子系统
文章浏览阅读225次。计算机编程语言有很多种,但最本质的东西都是相同的。如果想要了解一个语言,无非就是几个方面:关键字、标识符、注释、常量和变量、运算符、语句、函数、数组。下面就说一下Java的这几个方面。1. 关键字:Java挑选了一些特定的英文单词,并赋予其特殊的含义。如:class、inteface、public等等。2. 标识符:标识符从字面上来看就是标识一件事物的符号,在Java中一般是变量名称、方法_java内置的码表
文章浏览阅读3.8k次,点赞2次,收藏4次。编译qt5.5.1步骤1 去官网下载qt5.5.1,解压vi qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 修改MAKEFILE_GENERATOR = UNIXCONFIG += incrementalQMAKE_INCREMENTAL_STYLE = sublib#####
文章浏览阅读201次。HandlesTypes使用BCEL的ClassParser在字节码层面读取了/WEB-INF/classes和jar中class文件的超类名和实现的接口名,判断是否与记录的注解类名相同,若相同再通过org.apache.catalina.util.Introspection类加载为Class对象保存起来,最后传入onStartup方法参数中。jar包主要用于存储Java类文件和相关资源文件,而war包主要用于存储Web应用程序相关的文件。
文章浏览阅读426次。//在源字符串中删除子字符串的函数/* 可以处理空字符串,以及源串中有重复子串的情况 */#include #define TRUE 1#define FALSE 0int del_substr( char *str, char const *substr ){ char *s; char const *t; int status = FALSE; int
文章浏览阅读595次。JavaWeb 考试题库 题型: 1.选择题( 20 题, 40 分) 2.多项选择题( 5 题,10 分) 3.判断题( 10 题, 10 分) 4.简答题( 4 题,20 分) 5.编程题......6、如果使用厂商驱动连接数据库,jar 文件的存放位置为“web 应用/WEB-INF/lib” 。 简答题: 常用的用于 web 编程的语言有哪些 P2 创建一个 jsp web 网站的......._java web简答题
文章浏览阅读293次。版本是2018\3\14最近在Siki学院学习愤怒的小鸟开发,对于老师的一份代码感觉有些收获public void ShowStars() { //print(birds.Count); StartCoroutine("Show"); } IEnumerator Show() { ...
文章浏览阅读100次。#所有节点修改ip,主机名和hosts解析controller10.0.0.11 controllercompute110.0.0.31 compute1#所有节点准备本地repo源rm -fr /etc/yum.repos.d/local.repocd /opt/rz -Etar xf openstack_rpm.tar.gzmount /d...
文章浏览阅读7k次,点赞5次,收藏5次。金三银四,意思是说,每年三四月份是人才招聘的高峰期,也是跳槽的好机会。由于新冠肺炎疫情的影响,今年的金三银四,肯定会更为严峻,一些人等待,一些人彷徨。 有的互联网从业者,通过跳槽,收入翻倍,听起来挺爽的。当然,普遍增幅并没有这么高。 对于绝大多数人来说,职场的目的无非就是个人的成长和回报。多数人每天辛辛苦苦坐公交、挤地铁地去上班,当然是有所期待的。_金三银四就业
文章浏览阅读1.5k次。用途:1. allegro中某些模块在其他PCB板中已经成熟使用,在新的PCB中,如果要使用,不用再重复画一遍,直接使用的一种方法。2. 同一个PCB,多个人一起画图,分模块,合到一起的方式步骤:1.在画好的PCB中,选择Application Mode为Placement edit2. 鼠标左键框选需要reuse的器件,右键选择Place replicate cr_allegro中怎么做reuse
文章浏览阅读69次。如何正确终止一个线程的执行方法:设置一个布尔类型的控制因子,使用它来标记状态停止的线程。package 多线程;/* * 怎么合理的终止一个线程的执行,这种方式很常用。 */public class ThreadTest09 { public static void main(String[] args) { MyRunnable4 r = new MyRunnable4(); Thread t = new Thread(r); t.setName("tt"); t.star_java多线程知识点汇总超详细代码