You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to run Panasonic mmc card (8Gb) with ATSAMA5D28C. Initially everything looks okay but on recent tests when rebooting the board multiple times, the card initialization freezes; I looked into it and it seems that the card is freezing when trying to set the clock speed (HS200) above 95Mhz. The failure is related to the sample_tune_procedure which has to be done in HS200 when running high speed.
The issue isn't consistent as the initialisation will work sometimes. I looked in the Errata and this issue is acknowledged however couldn't seem to see any implementation in the latest driver.
I tried adding the condition hc2r & SDMMC_HC2R_EXTUN to the while loop in the sdmmc_tune_sampling but that didn't get me anywhere and in fact the failure rate is worse now.
when forcing the driver to work with lower speed modes (DDR or SDR) there are no problems observed.
The text was updated successfully, but these errors were encountered:
A software workaround to the Erratum hasn't been released yet.
Basically, the workaround consists in modifying the while() loop so it stops if the Controller clears the Check Execute Tuning flag: while (hc2r & SDMMC_HC2R_EXTUN && !(regs->SDMMC_NISTR & SDMMC_NISTR_BRDRDY)) ;
However some additional code may be required to ensure that (1) the last SEND_TUNING_BLOCK command isn't in progress anymore, and (2) the Buffer Read Ready event, when it occurs, is consumed.
In the Errata, the workaround is for this condition to be ORed with BRDRDY. I have tried the oring and still the problem might occur.
Another problem is that the driver doesn't do periodic re-tuning to avoid potential drift caused by temperature variation.
Also when a tuning problem occurs the driver just consumes the error as ERR_IO without performing the tune.
These all make working with HS200 currently unstable even with the latest driver, so would be better to stay on DDR or SDR mode until these issues have been resolved.
Hi
I'm trying to run Panasonic mmc card (8Gb) with ATSAMA5D28C. Initially everything looks okay but on recent tests when rebooting the board multiple times, the card initialization freezes; I looked into it and it seems that the card is freezing when trying to set the clock speed (HS200) above 95Mhz. The failure is related to the sample_tune_procedure which has to be done in HS200 when running high speed.
The issue isn't consistent as the initialisation will work sometimes. I looked in the Errata and this issue is acknowledged however couldn't seem to see any implementation in the latest driver.
I tried adding the condition hc2r & SDMMC_HC2R_EXTUN to the while loop in the sdmmc_tune_sampling but that didn't get me anywhere and in fact the failure rate is worse now.
when forcing the driver to work with lower speed modes (DDR or SDR) there are no problems observed.
The text was updated successfully, but these errors were encountered: