高通USB 调试总结随笔

高通USB 调试总结随笔

      • 1. 分析USB log
      • 2. 正常识别流程
      • 3. 修改为host 模式
      • 4. USB检测插入原理

最近分析了个高通USB 1 通过 主板上的HUB芯片不能正常通信识别USB 外设的问题,
注意分析时,一定要再三确认硬件工作正常 ,可以做个实验,
剪开一根USB 线,飞线到HUB芯片DPDM 上,如果,USB 接在电脑上,USB 外设接在HUB口上,电脑能正常识别外设,说明HUB芯片正常工作。

如下是对软件调试方面的一些方法,写个随笔备份下:


1. 分析USB log

echo ‘file dwc3-msm.c +p’ > /d/dynamic_debug/control
echo ‘file phy-msm-snps-hs.c +p’ > /d/dynamic_debug/control
echo ‘file phy-msm-qmp.c +p’ > /d/dynamic_debug/control
echo ‘file hub.c +p’ > /d/dynamic_debug/control

2. 正常识别流程

正常流程是vbus是常供电,device上电后,device拉高DP,host检测到dp拉高后,来枚举device。

@ drivers/usb/dwc3/dwc3-msm.c

static void dwc3_otg_sm_work(struct work_struct *w)
{
	case DRD_STATE_HOST_IDLE:
		ret = dwc3_otg_start_host(mdwc, 1);
		这里就会切到host mode
}

3. 修改为host 模式

dwc1: dwc3@a800000{
--- dr_mode="drd".
+++ dr_mode="host"

4. USB检测插入原理

在网上看到一篇写的非常好的文章,等有时间,我再学习总结到这里面,
先贴个链接:《如何检测USB 已经插入?》

你可能感兴趣的:(Qualcomm经验总结,Android,USB,Android驱动)