[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