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.

C5535 On-chip bootloader gets stuck at SD boot

Hello engineers,

I'm trying to boot my C5535 board from UART, but the on-chip bootloader seems stuck at SD boot phase.
When I trace the boot sequence using a debugger (XDS200), the bootloader polls SD Status Register 0 (SDST0) again and again infinitely.
UART peripheral clock is disabled, while MMC/SD0 clock is active.

My C5535 board doesn't have any SD devices.
SD0_CLK pin (which is multiplexed with I2S0_CLK) is supplied with I2S clock externally, and SD0_CMD pin (which is multiplexed with I2S0_FS) is supplied with I2S frame sync clock externally.
Do I need to take any care of these pins? How can I clear the SD boot phase?

Thank you.

  • Hi Yasuhiro,

    This behavior was only recently observed by our team, and we are updating documentation.

    During the boot sequence the SD0_CMD/I2S0_FS/GP[1] pin needs to be high if booting from a source that is checked after SD. The UART boot sequence comes after SD, so the bootloader will try to check the SD card pins for a boot image on the SD card and configures the pin mux to SD. When present, the SD card requires pull-ups on most pins, and without the SD0_CMD/I2S0_FS/GP[1] pin pulled high the bootloader can hang (when the pin is tied low and when from FS on a CODEC).

    Can you control the signal to be high during boot only?

    Hope this helps,
    Mark 

  • Hi Mark,

    Thank you for your prompt answer.
    I added a pull-up resistor on the SD0_CMD/I2S0_FS/GP[1] pin and succeeded in booting C5535 from UART.

    With best regards,
    Yasuhiro Kaizu