-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
High
-
SITSW-7375
-
11.00.00
-
-
The MMCSD driver sends CMD6 (SWITCH command) at multiple places with the following sequence:
- Initialize the transaction.
- Derive the INDEX and VALUE field.
- Initiate the transaction.
- Check the eMMC state ---- This step is missing at certain places.
This sequence misses one step for checking the DAT0 line according to the JEDEC spec:
![]()
Also, this design is error prone as there are high chances of someone missing certain step required for the overall SWITCH command to be considered successful.
The driver needs to have an API for the SWITCH command to overcome the issues arising from the current design. The new design will also reduce the lines of code in the driver.
This API can follow the implementation from the U-Boot:
https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/drivers/mmc/mmc.c#n844