[PATCH v1] ddr: altera: Add delay before writing to MBRDADDR register
Chee, Tien Fong
tien.fong.chee at altera.com
Tue Apr 14 09:15:16 CEST 2026
> From: Ng, Boon Khai <boon.khai.ng at altera.com>
> Sent: Wednesday, February 25, 2026 4:42 PM
> To: U-boot Openlist <u-boot at lists.denx.de>
> Cc: Yuslaimi, Alif Zakuan <alif.zakuan.yuslaimi at altera.com>; Ng, Boon Khai
> <boon.khai.ng at altera.com>; Marek Vasut <marex at denx.de>; Simon Goldschmidt
> <simon.k.r.goldschmidt at gmail.com>; Chee, Tien Fong
> <tien.fong.chee at altera.com>; Tingting Meng <tingting.meng at altera.com>; Tom
> Rini <trini at konsulko.com>; Maniyam, Dinesh <dinesh.maniyam at altera.com>; Lok,
> Chen Huei <chen.huei.lok at altera.com>; Hea, Kok Kiang
> <kok.kiang.hea at altera.com>
> Subject: [PATCH v1] ddr: altera: Add delay before writing to MBRDADDR register
> From: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi at altera.com>
> Add a delay of 1ms before writing the address of the data for HIP
> interface into the Responder Mailbox Read Address Register.
> The UIBSSM mailbox require some time to settle down while waiting
> for the MBRDADATA_VALID bit to become 1 without this delay,
> specifically the board will timeout while waiting for
> MBRDDATA_VALID bit to 1 after setting to 1.
> This 1ms delay has been tested thoroughly and no intermittent issues
> with UIBSSM mailbox communication is observed.
> Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi at altera.com>
> Signed-off-by: Boon Khai Ng <boon.khai.ng at altera.com>
> ---
> drivers/ddr/altera/uibssm_mailbox.c | 2 ++
> 1 file changed, 2 insertions(+)
> diff --git a/drivers/ddr/altera/uibssm_mailbox.c
> b/drivers/ddr/altera/uibssm_mailbox.c
> index deef61f1178..2316e602d3a 100644
> --- a/drivers/ddr/altera/uibssm_mailbox.c
> +++ b/drivers/ddr/altera/uibssm_mailbox.c
> @@ -243,6 +243,8 @@ static u32 uib_mailbox_read_request(u32 target_read_addr,
> phys_addr_t csr_addr)
> hang();
> }
> + mdelay(1);
> +
> /* Write <target read address> to chms0034 MBRDADDR */
> debug("%s: #2 Write 0x%x to UIB_R_MBRDADDR\n", __func__,
> target_read_addr);
> writel(target_read_addr, csr_addr + UIB_R_MBRDADDR);
> --
> 2.43.7
Acked-by: Tien Fong Chee <tien.fong.chee at altera.com>
Best regards,
Tien Fong
More information about the U-Boot
mailing list