MMCSD driver does not follow the SWITCH command sequence correctly

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: High
    • SITSW-7375
    • 11.00.00
    • Hide
      11.01.01
      11.02.00
      Show
      11.01.01 11.02.00
    • Hide
      am62xx-sk
      am62xx-sk-lp
      am62x-sip-sk
      am62a-sk
      am62p-sk
      am62d-evm
      Show
      am62xx-sk am62xx-sk-lp am62x-sip-sk am62a-sk am62p-sk am62d-evm

      The MMCSD driver sends CMD6 (SWITCH command) at multiple places with the following sequence:

      1. Initialize the transaction.
      2. Derive the INDEX and VALUE field.
      3. Initiate the transaction.
      4. 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

            Assignee:
            TI User
            Reporter:
            TI User
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:

                Connection: Intermediate to External PROD System
                EXTSYNC-5738 - MMCSD driver does not follow the SW...
                SYNCHRONIZED
                • Last Sync Date: