各位好:
我现在在imx6dl的平台上遇到个问题,就是在u-boot下调用了usb start命令之后,
is_boot_from_usb()返回的值由原来的0变成了1,因此每次启动时都进入了mfg烧录的模式。
这个函数定义如下:#define is_boot_from_usb(void) (!(readl(USB_PHY0_BASE_ADDR) & (1<<20)))
imx6dl的datasheet关于这个寄存器的说明如下:
0 = Normal operation.
1 = Power-down the entire USB PHY receiver block except for the full-speed differential receiver.
Note that this bit will be auto cleared if there is USB wakeup event while ENAUTOCLR_PHY_PWD bit of
USBPHYx_CTRL is enabled.
我就是不太清楚为什么执行usb start命令后就会改变这个寄存器的值呢?
查了下u-boot下的usb start命令, 也没发现有对这个寄存器进行操作的代码段啊。
求解。。。。
|