General
Review and verify the following for the
custom schematic design:
- Reviewed above "Common checklist for all
sections" section of the user's guide.
- MMC0 interface is compliant with the
JEDEC eMMC electrical standard v5.1 (JESD84-B51) and implements a dedicated hard macro PHY
for eMMC interface. MMC0 has specific connection requirements. Refer pin connectivity
requirements for connecting the eMMC interface signals when eMMC interface is not used.
- Connection of pulls for data and control
signals.
- Series resistor provision for MMC0_CLK
and placement.
- Processor IO supply for IO group
(VDDS_MMC0) and the attached eMMC device IO supply power source.
- Implementation of attached device reset
logic to support boot mode configuration and when not used for boot.
- Implementation of attached device reset
logic to support boot mode configuration.
- Implementation of attached device reset
logic in case boot from the attached device is not required.
- Reset signal IO level compatibility
between processor and attached device.
- Addition of required capacitors and
value.
- Here is a quick checklist in case eMMC
interface issues are observed:
- Has the custom board been designed to
be compliant to the PCB trace delay requirements defined in the MMC0 timing conditions
table found in the processor-specific data sheet?
- Which data transfer mode are being
used when the issue is seen?
- Has the interface been tested by
reducing the operating speed and does that work?
Schematic Review
Follow the below list for the custom
schematic design:
- Required bulk and decoupling capacitors
are provided for processor and attached device supply rails. The recommendation is to
compare with the SK schematic (SK-AM62P-LP) implementation as a starting point.
- VDDS_MMC0 MMC0 PHY IO supply (1.8V) and
the attached eMMC device IO supply is powered from the same power source and follow the
ROC.
- Required pulls for data, CMD, and clock
(state) are enabled (internally) by the eMMC hard macro PHY and controlled by the
processor software (eMMC device pullups are disabled).
- The recommendation is to provision for
a series resistor (0Ω) on MMC0_CLK and placed close to the processor clock output pin.
The series resistor has been provisioned to control possible signal reflections, which
can cause false clock transitions.
- In case eMMC boot mode configuration is
required, 2-input ANDing logic can be used for implementing eMMC attached device reset.
Processor GPIO is connected as one of the inputs to the AND gate with provision for
pullup (10kΩ or 47kΩ) near to the ANDing logic AND gate input and provision for 0Ω to
isolate the GPIO output for testing or debug. The other input to the AND gate is the
MAIN domain warm reset status output (RESETSTATz).
- Alternatively, warm reset status output
RESETSTATz can be connected directly to reset the attached device. In case RESETSTATz is
used, the recommendation is to match IO level between the processor reset status output
and the attached device reset input. Verify IO level matching implementation (level
shifter or resistor) follow the design recommendations.
- In case eMMC memory is not used for
boot, the attached eMMC device reset input can be controlled by using processor GPIO
only. The recommendation is to pulldown the reset input of the eMMC memory device.
Additional
- ANDing logic additionally performs IO
level translation. The recommendation is to verify the reset input IO level compatibility
while optimizing the reset ANDing logic. IO level mismatch can cause supply leakage and
affect board performance.
- The PHY implemented for the AM64x or
AM243x MMC0 port supports only eMMC interface and implements internal pulls (does not
require external pulls to hold the attached device in a known state until the interface is
initialized). There are no PADCONFIG registers associated with the MMC0 pins. The internal
pulls associated with the MMC0 pins are controlled by the MMC0 host (and PHY).
- The MMC0_CLK pin is driven low after
reset. An external pulldown is not required.
- The MMC0_DAT[7:0] pins have internal
pullups enabled during reset. The MMC0_CMD pin is driven high during reset. So, an
external pullup is not required.
- The MMC0_DS pin has the internal pulldown
enabled during reset.
- In summary, pull resistors for MMC0
(eMMC) signals are enabled internally during and after reset and there is no requirement
to add external pulls.
- The recommendation is to verify eMMC
memory device reset eMMC_RSTn is enabled (eMMC non-volatile configuration space) for the
external reset logic to be functional. The GPIO reset option is used to reset the attached
eMMC device without resetting entire processor if there is a case where the peripheral
becomes unresponsive. Only warm reset status output can be used to reset the attached eMMC
device. Software forces a warm reset when the peripheral becomes unresponsive. However,
using warm reset status output resets the entire processor, rather than trying to recover
the specific peripheral without resetting the entire processor. When RESETSTATz is used to
reset the attached device, the recommendation is to verify the IO level of RESETSTATz
matches the attached device IO levels.
- A level translator is recommended to
match the reset IO level. A resistor divider can be used alternatively for level shifting,
provided optimum value of the resistor divider is selected. If too high the rise/fall time
of the eMMC reset input can be slow and introduce too much delay. If too low it causes the
processor to source too much steady-state current during normal operation.
- Adding a capacitor at the reset input of
eMMC attached device is not recommended when RESETSTATz or processor IO is connected
directly. A stand-alone reset connection using RC to reset the eMMC memory device is not
recommended.