SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
In case of software leveling, the following registers must be configured:
The bit fields of the EMIF_EXT_PHY_CONTROL_2 to EMIF_EXT_PHY_CONTROL_6 registers must be loaded with same values. The bit fields of the EMIF_EXT_PHY_CONTROL_26 to EMIF_EXT_PHY_CONTROL_30 registers must also be loaded with same values.
The REG_PHY_DQ_OFFSET fields in register EMIF_EXT_PHY_CONTROL_25 must be loaded with 0x40. That value corresponds to quarter cycle shift between the DQS signals and the data to be written to the SDRAM.
To calculate the PHY_REG_FIFO_WE_SLAVE_RATIO value one of the following two formulas can be used:
The Board Delay in the previously described formulas is measured directly from the board. It depends on the trace length. When the calculated value for PHY_REG_FIFO_WE_SLAVE_RATIO is greater than 0x20, then a value of 0x27 must be used. That means, 0x27 must be loaded in registers EMIF_EXT_PHY_CONTROL_2 to EMIF_EXT_PHY_CONTROL_6.
To calculate the REG_PHY_GATELVL_INIT_RATIO value the following formula is used:
REG_PHY_GATELVL_INIT_RATIO = PHY_REG_FIFO_WE_SLAVE_RATIO – 0x20
When the calculated value for REG_PHY_GATELVL_INIT_RATIO is less than 0x0, then a value of 0x0 must be used. When the calculated value is greater than or equal to 0x0, then that value is used for registers EMIF_EXT_PHY_CONTROL_26 to EMIF_EXT_PHY_CONTROL_30.
In addition, when read DQS gate training is not performed the PHY_REG_FIFO_WE_SLAVE_RATIO value is used. When read DQS gate training is performed REG_PHY_GATELVL_INIT_RATIO is used and PHY_REG_FIFO_WE_SLAVE_RATIO is don't care.
Software leveling is not recommended to be used. Hardware leveling must be used instead.