SPRUIU1C July 2020 – February 2024 DRA821U , DRA821U-Q1
The DDR PHY supports Dynamic Frequency Scaling (DFS) as defined by the DFI specification. This feature allows the PHY to be configured for multiple frequency sets, and have the DFI bus dynamically specify which frequency set to use at a given time. Before using a frequency set in normal operation, leveling operation should be performed on that set. Failure to do so may result in invalid operation. Once leveling has been performed with each frequency set, the user can freely switch between frequencies without need to repeat the leveling, unless the leveling environment requires periodic updates for voltage and temeperature compensation.
This DDR PHY contains registers for each frequency set. This feature creates a lookup table that may be accessed through the DDRSS_PHY_1281[17-16] PHY_FREQ_SEL_INDEX and DDRSS_PHY_1281[8] PHY_FREQ_SEL_MULTICAST_EN fields, which gives a flexibility in controlling these frequency set registers with a simple register interface. This fact should be taken into account when reading and writing these registers.
The DDRSS_PHY_1280[1-0] PHY_FREQ_SEL and DDRSS_PHY_1281[17-16] PHY_FREQ_SEL_INDEX fields operate independently, but if the PHY_FREQ_SEL_INDEX field specifies a frequency set different than the one currently being used, accidental write to or read from invalid registers may happen.
Reads from frequency based registers return only the value that correlates to the frequency set identified in the DDRSS_PHY_1281[17-16] PHY_FREQ_SEL_INDEX field. For writes to the frequency based registers, the resulting write depends on the value of the DDRSS_PHY_1281[8] PHY_FREQ_SEL_MULTICAST_EN bit. If it is set to 0x1, all frequency sets are concurrently written. If the PHY_FREQ_SEL_MULTICAST_EN bit is set to 0x0, only the frequency set identified in the PHY_FREQ_SEL_INDEX field is written.
For example, consider a write to DDRSS_PHY_130[9-0] PHY_RDDQS_DM_FALL_SLAVE_DELAY_0 with the following settings: