SDHC controller of i.MX6 Ultra Lite requires tuning in SDR50 mode. Tuning gets successful when card is in SDR50 operating at 66 MHz. It doesn't work for me at 100 MHz (I'm working on proprietary driver). Tuning procedure i am using is as follows.
1. Enable Standard Tuning Enable bit (24th bit of Tuning Control Register)
2. Enable Execute Tuning (22nd bit of Auto CMD12 Error Status)
3. Execute CMD19
4. Read Execute Tuning bit. If it is 1, goto step 3 else step 5.
5. Read Sample Clock Select (23rd bit of Auto CMD12 Error Status). If it is 1, tuning is successful, else failed.
I also have consulted linux driver, it selects the card mode according to following priority.
The card I have supports DDR50/SDR50. So, linux selects DDR50 by default. It needs modification before mmc driver can be forced to select SDR50 mode.
Please note that I am using standard SD Slot on daughter board of imx6ul evk which supports SD 3.0
Is SDR50 tuning tested for imx6 eval kit?. If yes, what was the achieved throughput? Am I missing something in tuning?