mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-30 23:55:18 +00:00
feat(nxp-ddr): add workaround for errata A050958
Set the receiver gain to max value to recover cold temp marginality issue for phy-gen2 Signed-off-by: Pankit Garg <pankit.garg@nxp.com> Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com> Change-Id: If639fa3ed404cf6e1b8abcc2b7137db1fdd0b2c2
This commit is contained in:
parent
85bd092943
commit
291adf521a
3 changed files with 13 additions and 2 deletions
|
@ -1,5 +1,5 @@
|
||||||
#
|
#
|
||||||
# Copyright 2021 NXP
|
# Copyright 2021-2022 NXP
|
||||||
#
|
#
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
|
@ -19,6 +19,10 @@ ifeq (${ERRATA_DDR_A050450}, 1)
|
||||||
$(eval $(call add_define,ERRATA_DDR_A050450))
|
$(eval $(call add_define,ERRATA_DDR_A050450))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq (${ERRATA_DDR_A050958}, 1)
|
||||||
|
$(eval $(call add_define,ERRATA_DDR_A050958))
|
||||||
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(PLAT_DDR_PHY), PHY_GEN1)
|
ifeq ($(PLAT_DDR_PHY), PHY_GEN1)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2021 NXP
|
* Copyright 2021-2022 NXP
|
||||||
* SPDX-License-Identifier: BSD-3-Clause
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -1673,6 +1673,10 @@ static void prog_dq_dqs_rcv_cntrl(uint16_t *phy,
|
||||||
int sel_analog_vref = 1;
|
int sel_analog_vref = 1;
|
||||||
uint32_t addr;
|
uint32_t addr;
|
||||||
|
|
||||||
|
#ifdef ERRATA_DDR_A050958
|
||||||
|
gain_curr_adj_defval = 0x1f;
|
||||||
|
#endif
|
||||||
|
|
||||||
dq_dqs_rcv_cntrl = gain_curr_adj_defval << csr_gain_curr_adj_lsb |
|
dq_dqs_rcv_cntrl = gain_curr_adj_defval << csr_gain_curr_adj_lsb |
|
||||||
major_mode_dbyte << csr_major_mode_dbyte_lsb |
|
major_mode_dbyte << csr_major_mode_dbyte_lsb |
|
||||||
dfe_ctrl_defval << csr_dfe_ctrl_lsb |
|
dfe_ctrl_defval << csr_dfe_ctrl_lsb |
|
||||||
|
|
|
@ -38,4 +38,7 @@ void soc_errata(void)
|
||||||
#if ERRATA_DDR_A050450
|
#if ERRATA_DDR_A050450
|
||||||
INFO("SoC workaround for DDR Errata A050450 was applied\n");
|
INFO("SoC workaround for DDR Errata A050450 was applied\n");
|
||||||
#endif
|
#endif
|
||||||
|
#if ERRATA_DDR_A050958
|
||||||
|
INFO("SoC workaround for DDR Errata A050958 was applied\n");
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue