Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 7/19/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

5.4.6.7.1.2. Tuning Sequence for eMMC

The eMMC tuning sequence is shown in the figure below. It consists of 40 data tuning pattern transfer commands (CMD21). For each command, software checks command and data statuses and compares received data block with the Tuning Block Pattern defined in eMMC 5.1 Standard section 6.6.5.1.

The host controller might report a protocol error in any of the iterations. In that case, the software runs basic error recovery which consists of setting Software Reset for CMD (SRS11.SRCMD) and Software Reset for DAT (SRS11.SRDAT) to 1. Then, the software waits until the resets are completed.

After gathering the results of the iterations, software seeks the widest range of iterations that are successfully completed. Software considers the iteration results as wrapping from 39 to 0. For example, if the successful results are in iteration 0-4 and 38-39, then software identified the center in position 1.

The settings for the center of the data window are updated to the DLL settings (phy_dll_slave_ctrl_reg).

If none of the iterations succeeded, software transits the host and device to another lower speed mode.

Figure 149. Tuning Sequence for eMMC