drivers/usb/gadget/android.c
定義 vendor ID 0x18D1 product ID 0x0001
可以從 platform data override
定義 Manufacturer, Product string, Serial string (adb 看到的)
rndis 跟 mass storage, MTP 互斥
drivers/usb/gadget/android.c 裡面 include
usbstring.c, config.c,
epqutoconf.c 選擇符合 descriptor 設定的 endpoint以及相對應的
gadget device
USB controller 端是 otg registers
arch/arm/mach-omap2/usb-musb.c
usb_musb_pm_init() 會先 reset otg controller 應該是漏掉這裡沒追到
musb 資料另外跟廠商要 datasheet,透過 IRQ92 對 core INTC 發中斷
suspend/resume 後一段時間就沒收到新的中斷?主要問題從這裡開始追
drivers/usb/musb/omap2430.c
drivers/usb/musb/musb_core.c musbhdrc 的控制,需要再讀資料
drivers/usb/musb/musb_debugfs.c debugfs 介面
drivers/usb/musb/musb_procfs.c procfs 介面
drivers/usb/musb/musb_gadget.c
drivers/usb/musb/musb_hdrc.c
drivers/usb/musb/musb_host.c
USB Phy 是掛在 PMIC 上,透過 I2C 控制,目前只支援 high speed
USB ULPI 模式,控制 regulator power on/off,Phy suspend/resume
VBUS/ID 腳位有變化時才會打開 vusb3v1,vusb3v1 ldo 的電從
vbat 來,而非 vio
drivers/usb/otg/twl4030-usb.c