board-am335xevm.c 里面
static struct omap_musb_board_data musb_board_data = {
.interface_type = MUSB_INTERFACE_ULPI,
/*
* mode[0:3] = USB0PORT's mode
* mode[4:7] = USB1PORT's mode
* AM335X beta EVM has USB0 in OTG mode and USB1 in host mode.
*/
//.mode = (MUSB_HOST << 4) | MUSB_OTG,
.mode = (MUSB_HOST << 4) | MUSB_HOST,
.power = 500,
.instances = 1,
};
这样修改也是可以,但是有个设计的细节需要考虑。
这取决于你是要设计成为OTG的口,还是要设计成为HOST的口。TI的设计上面,是OTG的口,所以这个ID脚没有接,而且VBUS是通过drvVBUS来控制的,OTG口做host的时候,VBUS自己来供,ID脚会被接入的接插件端接地;OTG口做为DEVICE的时候,drvbus不输出,所以VBUS不再是由板子本身提供,而是由外面的host提供,同时ID脚在接插件上也悬空。
你的设计中,VBUS是直接拉在5V上面的,没有什么drvVBUS的控制,所以按照你们的硬件设置是想设计成为HOST而非OTG,所以这里的ID脚是需要接地的。
如果板子上 没有打零件,这个ID要接地。