• Gabriel Somlo's avatar
    liblitesdcard/sdcard: adjust card-ready timeout · 6fdb36b8
    Gabriel Somlo authored
    Testing on nexys4ddr and rocket, approximately 12 iterations of the
    timeout loop (using `busy_wait(1)`) are needed to receive a "ready"
    response from the SDcard, assuming a "warm" reset where the card has
    already been previously initialized.
    
    If the SDcard is ejected and re-inserted, or if the board is "cold-reset"
    (e.g., reprogrammed via openocd vs. a simple push of the reset button),
    it takes approximately 450 iterations before the SDCard responds with a
    "ready" message.
    
    In either case, a timeout of 10 is insufficient. This patch increases
    the busy-wait to 10, and the timeout loop counter to 128, which should
    cover most cases.
    
    Additionally, make a few minor cosmetic improvements.
    Signed-off-by: default avatarGabriel Somlo <gsomlo@gmail.com>
    6fdb36b8
sdcard.c 15 KB