SPRUIL1D May 2019 – December 2024 DRA829J , DRA829J-Q1 , DRA829V , DRA829V-Q1 , TDA4VM , TDA4VM-Q1
The DDR controller includes a feature to control the internal DQS clock tree oscillator in the LPDDR4 memories. This oscillator is used to track the delay variance of the DQS clock tree that will occur over time due to temperature and voltage. This feature allows the oscillator to be initiated and results read. If the result is outside of the programmed allowable variance, the DDR controller informs the PHY. The DDR controller does not perform any training functions as a part of or a result of this oscillator measurement - the PHY is expected to handle all training requirements.
The DQS oscillator is controlled through the following fields:
Once the DDR controller has been initialized, before the controller reaches its terminal power-on state, a request is generated to the oscillator module to set the initial base values. These values are read from the memories and stored in the OSC_BASE_VALUE_x_CSy fields.
Following a frequency change, the base values to be used for comparison must be updated. As part of the operation, the frequency change task generates a subtask request to the DQS oscillator. This request, like the initialization request, will run the oscillator and then load the resulting values into the OSC_BASE_VALUE_x_CSy fields.
Once the base values have been updated, the DDR controller sets to 1h bit [31] in the DDRSS_CTL_293[31-0] INT_STATUS_0 field indicating DQS oscillator base value update interrupt.