[PATCH] drivers: ddr: altera: Correct DDR calibration status check
Chee, Tien Fong
tien.fong.chee at altera.com
Tue Aug 19 06:11:55 CEST 2025
> -----Original Message-----
> From: Ravulapalli, Naresh Kumar <naresh.kumar.ravulapalli at altera.com>
> Sent: Friday, August 8, 2025 5:43 PM
> To: u-boot at lists.denx.de
> Cc: Marek Vasut <marex at denx.de>; Simon Goldschmidt
> <simon.k.r.goldschmidt at gmail.com>; Chee, Tien Fong
> <tien.fong.chee at altera.com>; Tom Rini <trini at konsulko.com>; Ravulapalli,
> Naresh Kumar <naresh.kumar.ravulapalli at altera.com>
> Subject: [PATCH] drivers: ddr: altera: Correct DDR calibration status check
>
> Bit 3 of the seq2core register is no longer set to indicate calibration
> completion. Instead, added polling of the seq2core register until it reads
> 0b00000111, signaling that the Nios processor has started the calibration
> process.
>
> Signed-off-by: Naresh Kumar Ravulapalli
> <nareshkumar.ravulapalli at altera.com>
> ---
> drivers/ddr/altera/sdram_soc64.c | 6 +++---
> drivers/ddr/altera/sdram_soc64.h | 2 +-
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/ddr/altera/sdram_soc64.c
> b/drivers/ddr/altera/sdram_soc64.c
> index 27fbe80ed41..4ce129f5e2b 100644
> --- a/drivers/ddr/altera/sdram_soc64.c
> +++ b/drivers/ddr/altera/sdram_soc64.c
> @@ -82,11 +82,11 @@ int emif_reset(struct altera_sdram_plat *plat)
> debug("DDR: Triggerring emif reset\n");
> hmc_ecc_writel(plat, DDR_HMC_CORE2SEQ_INT_REQ,
> RSTHANDSHAKECTRL);
>
> - /* if seq2core[3] = 0, we are good */
> + /* if seq2core[2:0] = 0b0000_0111, we are good */
> ret = wait_for_bit_le32((const void *)(plat->hmc +
> RSTHANDSHAKESTAT),
> - DDR_HMC_SEQ2CORE_INT_RESP_MASK,
> - false, 1000, false);
> +
> DDR_HMC_SEQ2CORE_INT_REQ_ACK_MASK,
> + true, 1000, false);
> if (ret) {
> printf("DDR: failed to get ack from EMIF\n");
> return ret;
> diff --git a/drivers/ddr/altera/sdram_soc64.h
> b/drivers/ddr/altera/sdram_soc64.h
> index 183b1a33080..2ed31b99b29 100644
> --- a/drivers/ddr/altera/sdram_soc64.h
> +++ b/drivers/ddr/altera/sdram_soc64.h
> @@ -64,7 +64,7 @@ struct altera_sdram_plat {
> #define DDR_HMC_INTMODE_INTMODE_SET_MSK BIT(0)
> #define DDR_HMC_RSTHANDSHAKE_MASK 0x0000000f
> #define DDR_HMC_CORE2SEQ_INT_REQ 0xF
> -#define DDR_HMC_SEQ2CORE_INT_RESP_MASK BIT(3)
> +#define DDR_HMC_SEQ2CORE_INT_REQ_ACK_MASK GENMASK(2,
> 0)
> #define DDR_HMC_HPSINTFCSEL_ENABLE_MASK 0x001f1f1f
>
> #define DDR_HMC_ERRINTEN_INTMASK
> \
> --
> 2.35.3
Reviewed-by: Tien Fong Chee <tien.fong.chee at altera.com>
Best regards,
Tien Fong
More information about the U-Boot
mailing list