otg device id pin 探討

Platform : Qualcomm MSM8937
PMIC : Qualcomm PMI8940

OTG base on USB2.0,增加

  1. device 可當 host 也可當 peripheral。
  2. 增加 HNP 用來交換 host peripheral 的 protocol.
  3. 增加 SRP, 當 A-device 關掉 Vbus,B-device 用來向 A-device 請求 打開 Vbus.

OTG spec 定義 device 有兩種 roles,

  1. OTG A-device,id pin 接地, 是 power supplier,供 5V。
  2. OTG B-device,id pin floating,是 power consumer,消耗 5V。
    在初始化時,OTG A-device 會被預設為 host mode,OTG B-device 會被預設為 peripheral mode,
    之後可以在不重新插拔 cable 的狀況下,使用 HNP protocol 來調換 host 及 peripheral,但供電的角色 A-device B-device 是不變的,
    範例:
    印表機與數位相機,
    一條cable,id pin 接地的這端連到 printer,
    printer 為 OTG A-device,並初始化為 host mode,
    camera 為 OTG B-device,並初始化為 peripheral mode,
    但是 printer 不了解 camera 的 print job,所以發一個 HNP protocol,和 camera 交換 host 及 peripheral mode,
    交換後,printer 一樣是 OTG A-device power supplier,但為 peripheral mode,
    而 camera 一樣是 OTG B-device power consumer,但為 host mode,
    camera 就可以與 printer 溝通並印照片。

    reference

    https://en.wikipedia.org/wiki/USB_On-The-Go

battery charging spec (BC1.1 BC1.2) 有定義 id pin,
id pin 主要用來決定是否要供電給 otg device,及 启动usb主控制器,切換 host mode,
當 id pin 為 low 時,PMIC 需供電給 otg device,啟動 usb 主控制器,切換 host mode (手機插 otg device,手機切成 host mode),
id pin 並不影響 usb communication,
D+ D- 負責 protocol 溝通。

Micro-A plug (start Host mode)
Micro-B plug (start Peripheral mode)

Hardware

otg device id pin 可以接到 MSM8937的 USB_HS_ID ( usb phy ) pin,
也可以接到 PMI8940 的 USB_ID pin,
軟體需要做相對應的修改。

Software

kernel 需要做對應的修改

kernel/msm-3.18/Documentation/devicetree/bindings/usb/msm-hsusb.txt

 32 - qcom,hsusb-otg-otg-control: OTG control (VBUS and ID notifications)
 33   can be one of
 34             1 - PHY control
 35             2 - PMIC control
 36             3 - User control (via debugfs)

kernel/msm-3.18/arch/arm/boot/dts/qcom/msm8937.dtsi

1093         usb_otg: usb@78db000 {
1094                 compatible = "qcom,hsusb-otg";
...
...
1112                 qcom,hsusb-otg-otg-control = <2>; /* PMIC */

Reference

Qualcomm
MTK

转载于:https://www.cnblogs.com/youchihwang/p/7327209.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值