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:
Pankit Garg 2021-07-13 13:40:06 +05:30 committed by Jiafei Pan
parent 85bd092943
commit 291adf521a
3 changed files with 13 additions and 2 deletions

View File

@ -1,5 +1,5 @@
#
# Copyright 2021 NXP
# Copyright 2021-2022 NXP
#
# SPDX-License-Identifier: BSD-3-Clause
#
@ -19,6 +19,10 @@ ifeq (${ERRATA_DDR_A050450}, 1)
$(eval $(call add_define,ERRATA_DDR_A050450))
endif
ifeq (${ERRATA_DDR_A050958}, 1)
$(eval $(call add_define,ERRATA_DDR_A050958))
endif
endif
ifeq ($(PLAT_DDR_PHY), PHY_GEN1)

View File

@ -1,5 +1,5 @@
/*
* Copyright 2021 NXP
* Copyright 2021-2022 NXP
* 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;
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 |
major_mode_dbyte << csr_major_mode_dbyte_lsb |
dfe_ctrl_defval << csr_dfe_ctrl_lsb |

View File

@ -38,4 +38,7 @@ void soc_errata(void)
#if ERRATA_DDR_A050450
INFO("SoC workaround for DDR Errata A050450 was applied\n");
#endif
#if ERRATA_DDR_A050958
INFO("SoC workaround for DDR Errata A050958 was applied\n");
#endif
}