嵌入式linux新手入门手记-修改kernel支持外置USB hub
USB外置hub接到USB0上,在/arch/arm/mach-omap2/board-am335xevm.c中修改musb_board_data结构,将USB0定义为MUSB_HOST。
本文引用地址:https://www.eepw.com.cn/article/278904.htm外置hub使用的是FE1.1S芯片,这个芯片的性能一般,实际测试不能运行在USB2.0高速模式(也许和我的电路板的布线有关,这个还没有进行研究),修改/drivers/usb/musb/musb_core.c的musb_start:
musb_writeb(regs,MUSB_POWER, MUSB_POWER_ISOUPDATE
| MUSB_POWER_SOFTCONN //增加这个定义
/*|MUSB_POWER_HSENAB*/ //关闭高速模式
/*ENSUSPEND wedges tusb */
/*| MUSB_POWER_ENSUSPEND */
);
将USB0口的速度强制降低为低速模式。不过这里没有进行判断,将全部USB端口都强制设置为低速模式。可以判断regs,如果是USB0则降为低速。这样USB1可以支持高速设备。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)linux相关文章:linux教程
评论