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.

AM6412: micro SD card boot issue with SR2.0 devices

Part Number: AM6412

Hi,

My customer built proto-type boards with SR2.0 devices (AM6412BSCGHAALV).
But these boards showed a boot issue from micro SD card.
21 boards out of 60 boards showed the same behavior.

Boot sequence stops with below error.

Please note that the same error happens if no image is written in SD card, but the customer confirmed the image was properly written.

Remaining boards (39 out of 60) also showed the same error, but they can boot-up after ~10 times of power cycles.
After the first SD card boot, the ROM image is loaded on eMMC. Then the system boots up from eMMC after that.
No issue observed with eMMC boot, so the issue is related to SD card boot.
And even among the same SD card part#, some cards passed and some cards failed.
The customer did not observed the issue with SR1.0 samples (XAM6442) and they did not change PCB around the device  for SR2.0.

It is very critical for customer development.
Please provide how to investigate the issue.

Thanks and regards,
Koichiro Tashiro

  • Tashiro-san 

    Will assign this to a combination of hardware and software apps.

    Few questions for you 

    1) What are the SD cards brand used, and did they see any sensitivity to different SD cards type. Can you confirm the same SD cards were used on SR1.0

    2) What was the SR1.0 quantity, how many boards build and working (given 0 failures)

    3) Reconfirm what changes were made going from SR1.0 to SR2.0 - you said did not change PCB around the device - please elaborate further.

    4) Was the schematic reviewed and has the customer done any checks around board manufacturing  issues etc?

    5) Any experiments done with SD card clock speed to see if the failure is lower at slower speed?

    Regards

    Mukul 

  • Mukul-san,

    Thank you for your reply.

    This is Mr. Tashiro's customer.
    Answer about 1) to 5).
    1) We used SanDisk (32GB) and Buffalo (8GB). There was sensitivity. SanDisk (32GB): OK, Buffalo (8GB): NG
        We haven't checked it for SD1.0 yet.

    2) We built two times the proto-type boards with SR1.0. Total of 140 sheets. It is developed in the SD card boot environment, and no failure has occurred.

    3) Regarding the SD card, only the card shell case is changed.

    4) Schematic review not requested.

    5) Although it is limited to SDR50 after starting Linux, it is recognized as a fixed speed at boot time.
        We will try it at slower speed.

    Thanks and regards,
    Naoyuki Hattori

  • Hello Naoyuki-san,
    Thanks for your reply with additional details.

    1) We used SanDisk (32GB) and Buffalo (8GB). There was sensitivity. SanDisk (32GB): OK, Buffalo (8GB): NG
        We haven't checked it for SD1.0 yet.

    What are the SD card type or speed grade of the working card (SanDisk) and non-working card (Buffalo)?
    It will be interesting to check the working card and non-working card on the previous manufactured board with PG1.0 Soc?

    5) Although it is limited to SDR50 after starting Linux, it is recognized as a fixed speed at boot time.
        We will try it at slower speed.

    Please let us posted with the testing result with slow speed

    Best,
    -Hong

  • Hong-san,
    Thank you for your reply.
    >What are the SD card type or speed grade of the working card (SanDisk) and non-working card (Buffalo)?
       (SanDisk) is SDHC UHS-1 class10. (Buffalo) is same also.
    >It will be interesting to check the working card and non-working card on the previous manufactured board with PG1.0 Soc?
       The both cards work on the board with PG1.0 SoC.

     >Please let us posted with the testing result with slow speed.
       We checked at 25MHz of Default speed. It works, but sometimes it doesn't.

    Thanks and Regards,
    Naoyuki Hattori

  • Hello Naoyuki-san,
    Thank you for your reply.
    I'm attaching a reference log file:
    - Linux SDK 8.6 running on TI AM64x EVM (PROC101C with SR2.0 HS-FS SoC)
    - I added additional log on SD/eMMC speed etc...(attaching the patch for additional log)
    - The log file booting from SD card with additional SD/eMMC speed data, plus accessing eMMC @u-boot...

    Can we run similar test on your setup?
    1/. add additional log (similar as I did) to see any correlations of the issue vs SD speed grade
    2/. run test with non-working SD on TI AM64x EVM if available.

    Best,
    -Hong

    am64x_mmc_speed_log.patch

    am64x_mmc_speed_test.log
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    U-Boot SPL 2021.01-00001-g7e12ed6-dirty (Apr 19 2023 - 16:51:07 -0500)
    Resetting on cold boot to workaround ErrataID:i2331
    resetting ...
    U-Boot SPL 2021.01-00001-g7e12ed6-dirty (Apr 19 2023 - 16:51:07 -0500)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC2
    mmc@fa00000: No vmmc supply
    mmc@fa00000: No vqmmc supply
    clock is disabled (0Hz)
    selecting mode MMC legacy (freq : 0 MHz)
    clock is enabled (400000Hz)
    selecting mode MMC legacy (freq : 25 MHz)
    sd card: widths [4, 1, ] modes [MMC legacy, SD High Speed (50MHz), ]
    host: widths [4, 1, ] modes [MMC legacy, SD High Speed (50MHz), MMC High Speed (52MHz), UHS SDR12 (25MHz), UHS SDR25 (50MHz), UHS SDR50 (100MHz), UHS DDR50 (50MHz), UHS SDR104 (208MHz), ]
    trying mode SD High Speed (50MHz) width 4 (at 50 MHz)
    selecting mode SD High Speed (50MHz) (freq : 50 MHz)
    clock is enabled (50000000Hz)
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • The log seems indicating SDK8.4 was used in your testing.
    Can we try run testing with SDK 8.6 on your setup?

  • Hong-san,
    Thank you for your reply.
    I attached the test log file with non-working SD on our setup(SR2.0 SoC+SDK8.4) after apply your patch.
    Please check it.
    ------------------------------------------------------------------------
    U-Boot SPL 2021.01 (Apr 20 2023 - 09:27:23 +0900)
    Resetting on cold boot to workaround ErrataID:i2331
    resetting ...

    U-Boot SPL 2021.01 (Apr 20 2023 - 09:27:23 +0900)
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.4.7--v08.04.07 (Jolly Jellyfi')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC2
    mmc@fa00000: No vmmc supply
    mmc@fa00000: No vqmmc supply
    clock is disabled (0Hz)
    selecting mode MMC legacy (freq : 0 MHz)
    clock is enabled (400000Hz)
    selecting mode MMC legacy (freq : 25 MHz)
    sd card: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz)]
    host: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz), MMC High Speed (52MHz), UHS SDR12 (25MHz), UHS SDR25 (50MHz), UHS SDR50 (100MHz), UHS DDR50 (50MHz)]
    trying mode SD High Speed (50MHz) width 4 (at 50 MHz)
    selecting mode SD High Speed (50MHz) (freq : 50 MHz)
    clock is enabled (50000000Hz)
    mmc_bread: Failed to read blocks
    Error reading cluster
    ** Unable to read file tispl.bin **
    No matching DT out of these options:

    No matching DT out of these options:

    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###
    ------------------------------------------------------------------------
    Then,
    We don't have TI AM64x EVM (PROC101C with SR2.0 HS-FS SoC).
    SDK8.6 has not been ported yet.

    Thanks and Regards,
    Naoyuki Hattori

  • I attached the test log file by our setup(SR2.0 SoC+SDK8.6). It was same result.
    ------------------------------------------------------------------------
    U-Boot SPL 2021.01-dirty (Apr 20 2023 - 15:04:51 +0900)
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed 1
    Resetting on cold boot to workaround ErrataID:i2331
    resetting ...

    U-Boot SPL 2021.01-dirty (Apr 20 2023 - 15:04:51 +0900)
    EEPROM not available at 80, trying to read at 81
    Reading on-board EEPROM at 0x51 failed 1
    SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar')
    SPL initial stack usage: 13424 bytes
    Trying to boot from MMC2
    mmc@fa00000: No vmmc supply
    mmc@fa00000: No vqmmc supply
    clock is disabled (0Hz)
    selecting mode MMC legacy (freq : 0 MHz)
    clock is enabled (400000Hz)
    selecting mode MMC legacy (freq : 25 MHz)
    sd card: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz)]
    host: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz), MMC High Speed (52MHz), UHS SDR12 (25MHz), UHS SDR25 (50MHz), UHS SDR50 (100MHz), UHS DDR50 (50MHz)]
    trying mode SD High Speed (50MHz) width 4 (at 50 MHz)
    selecting mode SD High Speed (50MHz) (freq : 50 MHz)
    clock is enabled (50000000Hz)
    mmc_bread: Failed to read blocks
    Error reading cluster
    ** Unable to read file tispl.bin **
    No matching DT out of these options:

    No matching DT out of these options:

    SPL: failed to boot from all boot devices
    ### ERROR ### Please RESET the board ###
    ------------------------------------------------------------------------
    Thanks and Regards,
    Naoyuki Hattori

  • Hi Hong,

    Could you update the status of your investigation?
    The customer is waiting for your reply.

    Thanks and regards,
    Koichiro Tashiro

  • Hello Naoyuki-san, Koichiro-san,
    Some update:
    - We've not been able to reproduce the reported issue on TI board yet.
    - From the log shared by Naoyuki-san, the non-working sd card is SD High Speed => the issue is most likely not due to i2312.
    >>>> the non-working log
    sd card: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz)]
    host: widths [4, 1] modes [MMC legacy, SD High Speed (50MHz), MMC High Speed (52MHz), UHS SDR12 (25MHz), UHS SDR25 (50MHz), UHS SDR50 (100MHz), UHS DDR50 (50MHz)]
    trying mode SD High Speed (50MHz) width 4 (at 50 MHz)
    selecting mode SD High Speed (50MHz) (freq : 50 MHz)
    clock is enabled (50000000Hz)
    <<<<

    1/. Is the issue observed with any other SD card brand on your setup?
    2/. Is the issue observed with the non-working brand SD card consistently? i.e. the issue reproducible every time?
    3/. Is it possible to try reproducing the issue on TI reference board?

    Best,
    -Hong

  • >1/.
    It also happens with other SD cards. However, there are some SD card brands that are not caused by the board. Some boards have no issues with the same SD card brand.

    >2/.
    Some boards have problems all the time, while others have occasional problems. The problem is reproduced if you try about 10 times even on the occasional board.

    >3/.
    I have never been able to reproduce the problem on a reference board.
    Also, there is only one reference board with AM64 SR2.0, but it was available separately, so I tried it, but the problem was not reproduced.