I would like to attach an eMMC memory (compliant to eMMC spec 4.41 or 5.0) to AM437x on a custom board. The eMMC data path should be 8 bits wide.
Timing analysis shows that it is not easy to fulfill data hold timing of the eMMC in HS mode (48MHz):
The eMMC memory requires a hold time of the CMD and DATx signals of at least 3ns, referenced to the rising edge of the CLK signal. This is independent of the version of the eMMC standard (v4, v5). AM437x data sheet (SPRS851E) states an output delay of the CMD and DATx lines of at least 0.8ns in Table 5-129, also referenced to the rising CLK edge.
To get 3ns hold time at the eMMC device with 0.8ns output delay of the AM437x the CMD and DATx routing delay needs to be (3ns-0.8ns)=2.2ns longer than the CLK routing delay. Using FR4 material with a routing delay of ~170ps/in this results in CMD/DATx signal length of ~13 inch more than CLK signal length. However it is not practical to have >13 inch of PCB trace for all 8 DATx lines and the CMD line.
Is there any practical solution to attach a standard eMMC device to AM437x which fulfills timing requirements?
tom