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.
- The recommendation is to connect VDDA_0P85_DLL_MMC0, VDD_MMC0 and VDDR_CORE to
the same supply source to support future enhancements and maintain compatibility
between silicon revisions. Refer above section: Core and
Peripherals Supply.
- 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
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 AM62Px 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.