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

posted @ 2017-08-09 19:34  wangchangruei  阅读(1446)  评论(0编辑  收藏  举报