2010-12-28 09:39:14     BF527 Internal USB HC Enumeration Problems

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

2010-12-28 09:39:14     BF527 Internal USB HC Enumeration Problems

Appalayagari Sreedhar (INDIA)

Message: 97034   




I am working with the BF527 rev 0.2 based custom board.  I am working with 2009R1-RC1.


The CLK_IN frequency is 12 MHz, I have changed the USB_PLLOSC_CTL register for the MSEL to get the required clock frequency for the USB.


the configured value is 0x30D0.


I am able to succesfully load and boot the image, musb driver is up but the device enumeration is not happening.


no messages are displayed on the console screen. here is my krnel log.


## Booting kernel from Legacy Image at 00000000 ...

   Image Name:   Linux-

   Created:      2010-12-28  14:55:23 UTC

   Image Type:   Blackfin Linux Kernel Image (gzip compressed)

   Data Size:    5616031 Bytes =  5.4 MB

   Load Address: 00180000

   Entry Point:  003f7674

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

Starting Kernel at = 003f7674

Linux version (thangaraj@linux) (gcc version 4.1.2 (ADI svn)) #1767 Tue Dec 28 20:24:30 IST 2010

Board Memory: 64MB

Kernel Managed Memory: 64MB

Memory map:

  fixedcode = 0x00000400-0x00000490

  text      = 0x00180000-0x002daa20

  rodata    = 0x002daa20-0x00350394

  bss       = 0x00351000-0x003caa4c

  data      = 0x003caa4c-0x003ea000

    stack   = 0x003e8000-0x003ea000

  init      = 0x003ea000-0x00d08000

  available = 0x00d08000-0x03eff000

  DMA Zone  = 0x03f00000-0x04000000

Hardware Trace Active and Enabled

Boot Mode: 1

Blackfin support (C) 2004-2009 Analog Devices, Inc.

Compiled for ADSP-BF527 Rev 0.2

Blackfin Linux support by   blackfin.uclinux.org/

Processor Speed: 526 MHz core clock and 131 MHz System Clock

NOMPU: setting up cplb tables

Instruction Cache Enabled for CPU0

Data Cache Enabled for CPU0 (write-back)

Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 16001

Kernel command line: console=ttyBF1,57600

Configuring Blackfin Priority Driven Interrupts

PID hash table entries: 256 (order: 8, 1024 bytes)

bfin-rtc: invalid date; resetting

Console: colour dummy device 80x25

console [ttyBF1] enabled

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory available: 50592k/65536k RAM, (9336k init code, 1386k kernel code, 1086k data, 1024k dma, 2108k reserved)

Calibrating delay loop... 1044.48 BogoMIPS (lpj=522240)

Security Framework initialized

Mount-cache hash table entries: 512

Blackfin Scratchpad data SRAM: 4 KB

Blackfin L1 Data A SRAM: 16 KB (5 KB free)

Blackfin L1 Data B SRAM: 16 KB (16 KB free)

Blackfin L1 Instruction SRAM: 48 KB (39 KB free)

net_namespace: 288 bytes

NET: Registered protocol family 16

Blackfin DMA Controller

request_dma() : BEGIN


request_dma() : END

request_dma() : BEGIN


request_dma() : END

ezkit_init(): registering device resources

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

musb_hdrc: version 6.0, musb-dma, host, debug=0

musb_hdrc: USB Host mode controller at ffc03800 using DMA, IRQ 59

musb_hdrc musb_hdrc.0: MUSB HDRC host driver

musb_hdrc musb_hdrc.0: new USB bus registered, assigned bus number 1

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

dma_alloc_init: dma_page @ 0x00dab000 - 256 pages at 0x03f00000

hub 1-0:1.0: 1 port detected

usb usb1: New USB device found, idVendor=1d6b, idProduct=0002

usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1

usb usb1: Product: MUSB HDRC host driver

usb usb1: Manufacturer: Linux musb-hcd

usb usb1: SerialNumber: musb_hdrc.0

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

NET: Registered protocol family 1

JFFS2 version 2.2. © 2001-2006 Red Hat, Inc.

msgmni has been set to 98

alg: No test for stdrng (krng)

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler cfq registered

Single Core  Loader Module enabled

bfin-otp: initialized

Serial: Blackfin serial driver

bfin-uart.1: ttyBF0 at MMIO 0xffc00400 (irq = 29) is a BFIN-UART

bfin-uart.1: ttyBF1 at MMIO 0xffc02000 (irq = 31) is a BFIN-UART

brd: module loaded

bfin_mii_bus: probed

bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=25)@sclk=131MHz)

bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1

Driver 'sd' needs updating - please use bus_type methods

gpio-latch-addr-flash: probing 16-bit flash bus

gpio-latch-addr-flash: Found 1 x16 devices at 0x0 in 16-bit bank

Amd/Fujitsu Extended Query Table at 0x0040

gpio-latch-addr-flash: CFI does not contain boot bank location. Assuming top.

number of CFI chips: 1

cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.

cmdlinepart partition parsing not available

Initializing USB Mass Storage driver...

usbcore: registered new interface driver usb-storage

USB Mass Storage support registered.

usbcore: registered new interface driver libusual

rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0

i2c /dev entries driver

i2c-bfin-twi i2c-bfin-twi.0: Blackfin BF5xx on-chip I2C TWI Contoller, regs_base@ffc01400

TCP cubic registered

NET: Registered protocol family 17

rtc-bfin rtc-bfin: setting system clock to 1970-01-01 15:04:49 UTC (54289)

Freeing unused kernel memory: 9336k freed


        a8888b.           / Welcome to the uClinux distribution \

       d888888b.         /       _     _                         \

       8P"YP"Y88        /       | |   |_|            __  __ (TM)  |

       8|o||o|88  _____/        | |    _ ____  _   _ \ \/ /       |

       8'    .88       \        | |   | |  _ \| | | | \  /        |

       8`._.' Y8.       \       | |__ | | | | | |_| | /  \        |

      d/      `8b.       \      \____||_|_| |_|\____|/_/\_\       |

     dP   .    Y8b.       \   For embedded processors including   |

    d8:'  "  `::88b        \    the Analog Devices Blackfin      /

   d8"         'Y88b        \___________________________________/

  :8P    '      :888

   8a.   :     _a88P         For further information, check out:

._/"Yaa_:   .| 88P|            -   blackfin.uclinux.org/

\    YP"    `| 8P  `.          -   docs.blackfin.uclinux.org/

/     \.___.d|    .'           -   www.uclinux.org/

`--..__)8888P`._.'  jgs/a:f    -   www.analog.com/blackfin


Have a lot of fun...



BusyBox v1.13.4 (2010-12-14 19:26:23 IST) built-in shell (msh)

Enter 'help' for a list of built-in commands.




NO enumeration is happening, please let me know any setting is missing.


Thank you, Sreedhar.




2010-12-28 12:32:32     Re: BF527 Internal USB HC Enumeration Problems

Mike Frysinger (UNITED STATES)

Message: 97037   


you really should upgrade to the latest releases.  the USB driver has undergone a lot of updates.


otherwise, are you sure you're using the right cable ?




2010-12-29 00:08:26     Re: BF527 Internal USB HC Enumeration Problems

Appalayagari Sreedhar (INDIA)

Message: 97044   


Dear Mike,


The same distribution version works for the Ezkit BF527 rev0.2 hw. where USB enumeration is success.


the wire used is ok, since we have another USB host on the board it is able to succesfully enumerate the device.


please let me know anything i need to check.


Thank you, Sreedhar




2010-12-29 05:11:54     Re: BF527 Internal USB HC Enumeration Problems

Appalayagari Sreedhar (INDIA)

Message: 97057   


Dear Mike,


There was a hw problem, the USB_ID pin is pulled high so the USB OTG is behaving as a Slave.


We removed the pull up and put pull down resistor. device enumeration is success.


But when we remove and connect the device again enumeration is not happening. any option we are missing to enable in the distribution, below are the options we have enabled under USB support


--- USB support                                                                           

  │ │                      <*>   Support for Host-side USB                                               

  │ │                      [*]     USB verbose debug messages                                      

  │ │                      [*]     USB announce new devices                                            

  │ │                              *** Miscellaneous USB options ***                                 

  │ │                      [*]     USB device filesystem                                                      

  │ │                      [*]     USB device class-devices (DEPRECATED)                

  │ │                      [ ]     Dynamic USB minor allocation                                       

  │ │                      [ ]     Rely on OTG Targeted Peripherals List                        

  │ │                      [ ]     Disable external hubs                                                      

  │ │                      [*]     USB Monitor                                                                       

  │ │                      <*>     Enable Wireless USB extensions (EXPERIMENTAL)


  │ │                      <*>   Inventra Highspeed Dual Role Controller (TI, ADI, ...) 

  │ │                            *** Blackfin high speed USB Support ***                          

  │ │                            Driver Mode (USB Host)  --->                                               

  │ │                      [ ]   Disable DMA (always use PIO)                                           

  │ │                      [*]   Enable debugging messages                                           

  │ │                            *** USB Device Class drivers ***                                       

  │ │                      < >   USB Modem (CDC ACM) support                                   

  │ │                      < >   USB Printer support                                                           

  │ │                      < >   USB Wireless Device Management support


<*>   USB Test and Measurement Class support                                              

  │ │                      <*>   USB Mass Storage support                                                       

  │ │                      [*]   The shared table of common (or usual) storage devices      

  │ │                            *** USB Imaging devices ***                                                          


Thank you, Sreedhar.




2010-12-30 21:36:31     Re: BF527 Internal USB HC Enumeration Problems

Bob Liu (CHINA)

Message: 97081   


Please try attached patch.








2011-01-04 05:19:28     Re: BF527 Internal USB HC Enumeration Problems

Appalayagari Sreedhar (INDIA)

Message: 97162   


Hi Bob,


We are working with 2009R1-RC1 distribution. this patch can be applied only to 2010 kernel.


In Ekit we are able to succesfully enumerate the device even we disconenct and connect it again.


So kernel dependency should not be an issue, is what we beleive.


please let us know your inputs.