am335x otg-usb
任務(wù): am335x一共有兩個(gè)usb主機(jī)控制器,在天嵌的bsp中,一個(gè)配置為usb host ,一個(gè)配置為了usb otg。現(xiàn)在需要將otg也配置為host。
實(shí)際修改過(guò)程非常簡(jiǎn)單:將.config文件中,將CONFIG_USB_OTG,CONFIG_USB_OTG_WHITELIST,CONFIG_USB_OTG_UTILS這幾個(gè)宏注釋掉,重新編譯即可。
修改過(guò)程中,大概看了一下usb總線驅(qū)動(dòng)程序。
根據(jù)usb設(shè)備的插拔,根據(jù)串口的打印信息,查到了drivers/usb/core/hub.c
usb_hub_init
??????? kthread_run(hub_thread, NULL, "khubd") ? ?? 開(kāi)啟hub_thread線程
??????????? hub_thread 線程會(huì)阻塞,直到hub_irq中斷到來(lái)調(diào)用kick_khubd來(lái)解除阻塞
???????????????? hub_events
??????????????????????????? hub_port_connect_change
??????????????????????????????????????? choose_devnum????? 每一個(gè)usb主機(jī)控制器,可以支持127個(gè)設(shè)備,因此這個(gè)函數(shù)給新接入的設(shè)備分配一個(gè)設(shè)備號(hào)(1-127)
??????????????????????????????????????? hub_port_init? 這里串口打印出了 "new high-speed USB device number 6 using"
??????????????????????????????????????? usb_new_device
?????????????????????????????????????????????????? usb_enumerate_device
???????????????????????????????????????????????????????????????? usb_enumerate_device_otg
??????????????????????????????????????????????????????????????????????????? is_targeted? 這里很關(guān)鍵,如果將usb設(shè)備插入到了otg中,這里會(huì)打印出"device v05e3 p0723 is not supported",這個(gè)函數(shù)在otg_whitelist.h。
?????????????????????????????????????????????????? announce_device ?? 這里打印出"New USB device found, idVendor=05e3,idProduct=0723"
總結(jié)
以上是生活随笔為你收集整理的am335x otg-usb的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于linux kernel编译的几项关
- 下一篇: 证券公司理财产品安全吗?通过三个指标判断