本文轉載自:https://blog.csdn.net/kris_fei/article/details/78620960
Platform: RK3288
OS: Android 6.0
Kernel: 3.10.92
先提USB HOST/DEVICE/OTG概念:

OTG控制器可以做host,也能做device,控制器的角色一般由USB ID電平來決定。完整的USB2.0 OTG 控制器硬件信號如下:

USB_ID:輸入信號,由 USB OTG 協議定義,用於識別 USB 口所接設備的默認角色(host or device)。USB_ID 默認上拉,處於 device 狀況,如果要控制器進入 host 狀態,需外接 mini-A 口或 micro-A 口將 USB_ID 短接到地。
也可以由軟件進行強制切換,通過控制 /sys/bus/platform/drivers/usb20_otg/force_usb_mode
實現,可以有如下三種值:
0: 由硬件即USB ID決定
1: 強制 host模式
2: 強制 device模式
