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.

AM6442: eMMC pull-ups necessary or not?

Part Number: AM6442

Team,

Are pull-up pins on MMC DAT[0:7] really needed? The datasheet says there are internal pull resistors. Our TMDS64GPEVM is not using pull-ups. But the schematic checklist says they are needed:

What is correct?

With regards to the JEDEC spec, only on CMD (and maybe DAT[0]) a pull might be required. 

Thanks,
  Robert

  • The JEDEC eMMC standard defines internal pulls to be implemented in the eMMC device for data lines DAT1-DAT7. Immediately after entering the 4-bit mode, the device disconnects the internal pull-ups for DAT1-DAT3. Correspondingly, immediately after entering to the 8-bit mode the device disconnects the internal pull-ups for DAT1–DAT7.

    The standard also defines host pull requirements for each signal except CLK, and says the host is expected to provide pull-ups to protect the CMD and DAT signals from floating when all device drivers are in a high-impedance state. Two pull-up types are defined for CMD, where ROD is switched on and off by the host synchronously to open-drain and push-pull mode transitions. The other option is a fixed RCMD pull-up when the host does not allow the switchable ROD implementation.

    The IO cells associated with AM64x MMC0_CMD, MMC0_DAT[7:0], and MMC0_DS pins have internal pulls which can be enabled via software. The MMC0 host controller does not dynamically control the internal pull-up/down for these IO’s. The internal pull-up will be turned on by default for MMC0_CMD and MMC0_DAT[7:0]. The internal pull-down will be turned on by default for MMC0_ DS. The internal pull-up/down functionality can be controlled via SW using the PHY Control 3 register inside the eMMC subsystem. MMC0_CLK does not have an internal pull-up/down since it is always driven. It is held low until SW driver writes to an MMR inside the controller to enable MMC0_CLK toggle.

    The description above describes how the MMC0 pins operate once AM64x has been released from reset. However, we have implemented circuits that force all AM64x IOs into an off state until all power supplies are ramped to valid levels and reset is released. Therefore, the CMD, DAT0, DS, and CLK signals will not be pulled to a valid logic state by AM64x until it is released from reset.

    We agree, external pull resistors should not be required for DAT1-DAT7 signals since the eMMC will have its internal pull-ups turned on until software tell the device to enter 4-bit or 8-bit mode. The eMMC standard does not mention a pull requirement for CLK because it expects the host to always drive this signal. Unfortunately, that will not be the case for AM64x while the system reset controller holds it in reset. Therefore, we recommend external pull-downs on CLK and DS, and external pull-ups on CMD and DAT0 to prevent the eMMC inputs from floating while AM64x is held in reset.

    I will submit a request to update the schematic checklist to clarify external pull expectations for MMC0.

    Regards,
    Paul

  • I received clarification from our design team, where they said the MMC0 IOs operate different than the other IOs while the device is held in reset. These IOs are not turned off during reset since they have a dedicated signal function. Other device IOs are turned off during reset since they support multiple signal function and we need to prevent any potential conflict with an attached device.

    The MMC0_CLK pin will be driven low during reset. So an external pull-down will not be required for this signal.

    The MMC0_DAT[7:0] pins will have their internal pull-ups turned on during reset. So an external pull-up will not be required for these signals.

    The MMC0_CMD pin will be driven high during reset. So an external pull-up will not be required for this signal.

    I did not receive any information about the state of the MMC0_DS pin during reset, so will ask for additional clarification.

    Regards,
    Paul

  • I just received clarification on the MMC0_DS pin. This pin will have an internal pull-down turned on during reset. So an external pull-down will not be required for this signal.

    In summary, external pull resistors are not required on any of the MMC0 signals.

    Regards,
    Paul