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.

AM6548: SD card boot errors

Part Number: AM6548

Using AM65x IDK. TI RTOS created SD card or Diagnostic card works fine. Linux SD card either built from Linux SDK 06_01_00_08 or Windows show same error on boot:

4.371696] mmc1: new high speed SDHC card at address 0007

[ 4.378313] mmcblk1: mmc1:0007 SD32G 29.0 GiB

[ 4.387826] mmcblk1: p1 p2

[ 64.630846] mmc0: cqhci: timeout for tag 10

Getting a I/O timeout error reading SD card.

Created SD card boot images multiple times on multiple SD cards, always the same error.

  • Hi Jeff,

    is your AM654 board a hardware revision E4 board?

    It has just recently come to the attention of the platform software team that the latest AM654 EVMs (revision E4) have a new eMMC device, which requires driver support for the "command queuing engine", and since your error message points to an issue with command queuing on mmc0 (which is the eMMC on system running the standard SDK image) this is probably not a coincidence.

    Are you planning on using the eMMC device ("mmc0" when both eMMC and SD are active)? You could just disable it in the device tree for now to avoid those errors.

    Let me go back and check with the team what the status of the fix is for this issue and report back.

    Regards, Andreas

  • Yep, E4.  I'm not a Linux guru, how do I disable it in dtb? I can live wo/eMMC on the development board.

  • Hi Jeff,

    jeff brehm said:
    Yep, E4. 

    Thanks for confirming.

    jeff brehm said:
    how do I disable it in dtb? I can live wo/eMMC on the development board.

    Find the &sdhci0 extension node in the top-level AM654 device tree file in your source tree like this...

    https://git.ti.com/cgit/processor-sdk/processor-sdk-linux/tree/arch/arm64/boot/dts/ti/k3-am654-base-board.dts?h=processor-sdk-linux-4.19.y#n415

    Then, add a property called status = "disabled"; to it anywhere into that node. Then, re-build your Kernel tree (actually you would only need to re-build the device tree files) and re-populate your SD card. If you need help with that it should all be explained in the Linux Processor SDK documentation.

    Regards, Andreas