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.

TMS320C5515 USB Boot Errata and Supply Sequencing Requirements

Hi,

In the Power-Supply Sequencing section of the C5515's datasheet, there is a note indicating the following:

If the device is powered up with the USB cable connected to an active USB host and the USB PHY (USB_VDDA3P3) is powered up before the USB Core (USB_VDD1P3,USB_VDDA1P3), the USB Core must be powered within 100 msec after the USB host detects the device has been attached.

Additionally, Advisory 2.0.9 in the errata indicates:

The on-chip USB_LDO is intended to power the USB_ VDD1P3 and USB_VDDA1P3 pins. At reset, the USB_LDO is turned off and can be turned on via the USBLDOEN bit (bit 0) in the LDOCNTL register (0x7004). However, the C5515/14 on-chip Bootloader does not enable the USB_LDO before attempting USB boot, so USB boot will not work if the USB_LDO supplies power to the USB_ VDD1P3 or USB_VDDA1P3 pins.

If my device is always connected and powered from a USB host, and 3.3V would always be present on USB_VDDA3P3, and the internal USB LDO is used, does this imply the device must boot and enable the USBLDOEN bit within 100 ms of power being applied to the system?

What is the failure mechanism if the core does not start-up within 100 ms of the host detecting the device (destructive, functional)? Can the failure mechanism be addressed via software after the fact?

Finally, would it be possible to work-around the USB errata advisory by first enabling the USBLDOEN using bootloader code stored on a serial EEPROM, then making a call to the USB boot loader in the C5515's ROM?

Thanks - AM

  • Hi,

    1) Boot from USB:

    With C5515/14/05/04, Bootloader does not turn on USB_LDO during boot time. So, you won't be able to boot from USB using USB_LDO for the USB 1.3V. The USB 1.3V core must be externaly powered to be able to boot from USB.

    2) Connect to USB Host as a slave after boot up (I assume you boot from another peripheral)

    When USB 3.3V is powered but USB 1.3V is not, the DP pin and the DN pin will be in an unknown state (X). So there is a possiblity that the status of the two pin happen to be a state that a USB Host can recognizes (DP: H, DN: L). Due to its uncertainty, we cannot specify a time to turn on the USB 1.3V. However, if you turn on USB_LDO during boot-up, you will have much better chance to avoid the undesired condition.

    FYI, you can modify any register values before during boot-up by using the register configuration feature. Please refer to the bootloader app note: http://www.ti.com/lit/an/sprabd7a/sprabd7a.pdf

    Regards,

    Peter Chung