mirror of
https://github.com/smaeul/u-boot.git
synced 2025-11-07 23:40:16 +00:00
stm32mp1: ram: add read valid training support
Add the read data eye training = training for optimal read valid placement (RVTRN) when the built-in calibration is executed for LPDDR2 and LPDDR3. This training is supported on the PUBL integrated in the STM32MP15x DDR subsystem and it is not required for DDR3. Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
This commit is contained in:
parent
77d043cac6
commit
4831ba2903
@ -826,8 +826,12 @@ start:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* 10. configure PUBL PIR register to specify which training step to run */
|
/* 10. configure PUBL PIR register to specify which training step to run */
|
||||||
/* warning : RVTRN is not supported by this PUBL */
|
/* RVTRN is excuted only on LPDDR2/LPDDR3 */
|
||||||
stm32mp1_ddrphy_init(priv->phy, DDRPHYC_PIR_QSTRN);
|
if (config->c_reg.mstr & DDRCTRL_MSTR_DDR3)
|
||||||
|
pir = DDRPHYC_PIR_QSTRN;
|
||||||
|
else
|
||||||
|
pir = DDRPHYC_PIR_QSTRN | DDRPHYC_PIR_RVTRN;
|
||||||
|
stm32mp1_ddrphy_init(priv->phy, pir);
|
||||||
|
|
||||||
/* 11. monitor PUB PGSR.IDONE to poll cpmpletion of training sequence */
|
/* 11. monitor PUB PGSR.IDONE to poll cpmpletion of training sequence */
|
||||||
ddrphy_idone_wait(priv->phy);
|
ddrphy_idone_wait(priv->phy);
|
||||||
|
|||||||
@ -309,6 +309,7 @@ struct stm32mp1_ddrphy {
|
|||||||
#define DDRPHYC_PIR_DRAMRST BIT(5)
|
#define DDRPHYC_PIR_DRAMRST BIT(5)
|
||||||
#define DDRPHYC_PIR_DRAMINIT BIT(6)
|
#define DDRPHYC_PIR_DRAMINIT BIT(6)
|
||||||
#define DDRPHYC_PIR_QSTRN BIT(7)
|
#define DDRPHYC_PIR_QSTRN BIT(7)
|
||||||
|
#define DDRPHYC_PIR_RVTRN BIT(8)
|
||||||
#define DDRPHYC_PIR_ICPC BIT(16)
|
#define DDRPHYC_PIR_ICPC BIT(16)
|
||||||
#define DDRPHYC_PIR_ZCALBYP BIT(30)
|
#define DDRPHYC_PIR_ZCALBYP BIT(30)
|
||||||
#define DDRPHYC_PIR_INITSTEPS_MASK GENMASK(31, 7)
|
#define DDRPHYC_PIR_INITSTEPS_MASK GENMASK(31, 7)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user