This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/TMS320C5534: C55 long delay in boot

Guru 20755 points
Part Number: TMS320C5534

Tool/software: Linux

Hello,

We use TI's sound card connected to x86 chip.

We are using linux 3.18.11-rt7,

But it takes 10 seconds(!) from detection of sound card, till it is registered (see below dmesg)

[ 7.911220] ixgbe 0000:01:00.1: registered PHC device on eth1
[ 8.186213] ixgbe 0000:01:00.1 eth1: NIC Link is Up 1 Gbps, Flow Control: RX/TX
[ 8.218386] NET: Registered protocol family 10
[ 8.691077] ixgbe 0000:01:00.0 eth0: NIC Link is Down
[ 9.090808] ixgbe 0000:01:00.1 eth1: NIC Link is Down
[ 9.893587] ixgbe 0000:01:00.0 eth0: NIC Link is Up 1 Gbps, Flow Control: RX/TX
[ 10.317939] ixgbe 0000:01:00.1 eth1: NIC Link is Up 1 Gbps, Flow Control: RX/TX
[ 38.171328] random: nonblocking pool is initialized
[ 260.380461] usb 1-2: new full-speed USB device number 2 using xhci_hcd
[ 260.545907] usb 1-2: config 1 has an invalid descriptor of length 0, skipping remainder of the config
[ 260.546471] usb 1-2: New USB device found, idVendor=0451, idProduct=9010
[ 260.546478] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 260.546484] usb 1-2: Product: TI C55 Ver 6.00
[ 260.546488] usb 1-2: Manufacturer: Texas Instruments
[ 260.546491] usb 1-2: SerialNumber: 320001
[ 260.594916] input: Texas Instruments TI C55 Ver 6.00 as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.3/0003:0451:9010.0001/input/input3
[ 260.595084] hid-generic 0003:0451:9010.0001: input,hidraw0: USB HID v1.11 Device [Texas Instruments TI C55 Ver 6.00] on usb-0000:00:14.0-2/input3
[ 260.595153] usbcore: registered new interface driver usbhid
[ 260.595157] usbhid: USB HID core driver
[ 345.706843] usbcore: registered new interface driver snd-usb-audio

Is there anything which can explain this long delay ?

Thank you,

ran

  • Hi Ran,

    Is that 10 seconds from applying power/ releasing reset until the C55xx device to it enumerating with the USB Host as a USB Audio Device?

    What is the boot source where the C55x gets its boot image from? C55xx has a serial boot sequence.

    Refer to this recently revised app note: Using the TMS320C5545/35/34/33/32 Bootloader (Rev. D)

    Regards,
    Mark

  • Hi Mark,

    The print above of linux is from intel x86 chip.
    let me explain:
    This is our configuration:

    Inetl's x86/Linux --------- (usb) ------------ TI'S C55 DSP ------------(i2c)---------TLC 3306

    We see it takes 10 seconds ! for the linux running in x86 to register the usb device (C55).
    I am trying to understand if it is a known issue related to TI's dsp.


    Thanks,
    Ran
  • Hi Ran,

    I asked about the boot source and reset/ power on timing because the C55 can take a relatively long time to boot. It cannot enumerate as a USB device until after it has bootloaded the code and the software is running. The bootloader checks sequentially from every possible boot source, booting from the first one with a valid boot image. If you are booting from one of the last sources checked, it can take a while. The device order is NOR Flash, NAND Flash, 16-bit SPI EEPROM, I2C EEPROM, and MMC/SD followed by UART and USB (boot).
    For example, if you boot from NOR flash it will begin faster than SD card. Refer to http://www.ti.com/.../sprabd7c.pdf

    Sorry the C553x boot order is 16-bit SPI EEPROM, 24-bit SPI serial flash, I2C EEPROM, and SD/SDHC/eMMC/moviNAND then USB/UART. Refer to http://www.ti.com/lit/an/sprabl7d/sprabl7d.pdf 


    There are other tricks to speed up boot (reg_config to reconfigure registers before the code is copied to internal memory).

    One other issue is that if you are not power sequencing the USB supplies USB 1.3V before USB 3.3V before VBUS 5V, then the USB device might look to the host like an enumeration attempt. This is before the C55x has finished bootloading, so it cannot respond to the enumeration and the host is likely to timeout before the C55x application starts executing.

    Hope this helps,
    Mark