This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352: MMC slots

Part Number: AM3352

Tool/software:

MMC1 on AM3352 supports only 4-bit mode

  • The MMC1 interface (typically used for SD cards or external eMMC) supports 1-bit and 4-bit modes only.

  • 8-bit mode is exclusive to MMC0, which is why onboard eMMC on BeagleBone Black uses MMC0. Is this correct?

In am335x-evm.dts  the MMC controllers are indeed named:

  • mmc1 → corresponds to hardware MMC0

  • mmc2 → corresponds to hardware MMC1

  • mmc3 → corresponds to hardware MMC2

This offset happens because the Device Tree uses 1-based naming, while the hardware IP blocks are 0-based. Is this correct? So we need to connect eMMC in mmc2 in am335x-evm.dts? Please answer.

  • Hi Eldhose,

    • The MMC1 interface (typically used for SD cards or external eMMC) supports 1-bit and 4-bit modes only.

    • 8-bit mode is exclusive to MMC0, which is why onboard eMMC on BeagleBone Black uses MMC0. Is this correct?

    I am not sure I understand your comments, but the AM335x datasheet Table 4-36, 4-37, 4-38 show all the 3 MMC interfaces have 8 data lines. 8-bit is not exclusive to MMC0. And I checked Beaglebone Black (rev C3) schematics, sdcard is on MMC0 and eMMC is on MMC1.

    • mmc1 → corresponds to hardware MMC0

    • mmc2 → corresponds to hardware MMC1

    • mmc3 → corresponds to hardware MMC2

    This offset happens because the Device Tree uses 1-based naming, while the hardware IP blocks are 0-based. Is this correct?

    Yes correct. For whatever historical reason, the naming is off by 1, which causes troubles in communication sometimes.