2010-02-04 12:04:20     BF527 OTG in u-boot can't restart and causes problem in kernel

Document created by Aaronwu Employee on Sep 25, 2013
Version 1Show Document
  • View in full screen mode

2010-02-04 12:04:20     BF527 OTG in u-boot can't restart and causes problem in kernel

Kevin Dimmer (UNITED KINGDOM)

Message: 85613   

 

Hi

 

I have another BF527 USB OTG question.

 

We have recently ported U-Boot 2008.10-svn2576 (ADI-2009R1.1-rc1) to our custom boards so we can use the USB OTG port for firware update and recovery.

With your help on an earlier question we managed to get the OTG port working and can now boot a kerenel from the USB when we need to.

 

However we have noticed 2 things.

From H/W reset if we issue the USB start command all goes well, the FLASH stick is recognised ok and we can read files from it.

 

If we now issue the USB stop command, it can never be restarted again, its like the controller has been left in a state that the start operation cannot recover from.

 

We added the 5v enable/disable but apart from that the code is standard.

 

USB:   USB 5v Enabled

scanning bus for devices... 2 USB Device(s) found

       scanning bus for storage devices... 1 Storage Device(s) found

npl_u-boot> usb stop

stopping USB..

USB 5v Disabled

npl_u-boot> usb start

(Re)start USB...

USB:   USB 5v Enabled

scanning bus for devices...

      USB device not responding, giving up (status=20)

2 USB Device(s) found

       scanning bus for storage devices... 0 Storage Device(s) found

 

We have also noticed that if u-boot initialises the OTG controller, when control is passed to kernel it too cannot sucessfully re-initialise and use the OTG port. (Linux release 2.6.28.10-ADI-2009R1CCDPL-svn2508)

If we run from powerup into the same kernel it works fine.

So again the conclusion appears to be that u-boot has left the port in some state that the kernel OTG driver init cannot recover from.

 

(I know this isn't the kernel forum but though the error messages might give some clues)

 

usb 1-1: device descriptor read/64, error -110

usb 1-1: device descriptor read/64, error -110

usb 1-1: new high speed USB device using musb_hdrc and address 3

usb 1-1: device descriptor read/64, error -110

usb 1-1: device descriptor read/64, error -110

usb 1-1: new high speed USB device using musb_hdrc and address 4

musb_h_tx_flush_fifo 124: Could not flush host TX fifo: csr: 000a

musb_h_tx_flush_fifo 124: Could not flush host TX fifo: csr: 000a

usb 1-1: device not accepting address 4, error -110

usb 1-1: new high speed USB device using musb_hdrc and address 5

 

A software reset does not fix the problem, it has to be a powerup or hardware reset to get it working again.

 

Any ideas please

 

Thanks

 

Kevin

QuoteReplyEditDelete

 

 

2010-02-04 23:01:20     Re: BF527 OTG in u-boot can't restart and causes problem in kernel

Sonic Zhang (CHINA)

Message: 85632   

 

Yes, I can confirm that after you stop the usb controller in uboot, you can never start it again in uboot without a reset.

 

But, if you run soft reset in uboot or boot kernel up, you can still start the USB properly.

 

 

 

There may be a bug in uboot usb start operation.

Attachments

    Outcomes