[PATCH 4/5] lib: utils/timer: Allow ACLINT MTIMER supporting only 32-bit MMIO

Jessica Clarke jrtc27 at jrtc27.com
Sat Aug 7 07:25:34 PDT 2021


On 24 Jul 2021, at 13:25, Anup Patel <anup.patel at wdc.com> wrote:
> 
> We can have ACLINT MTIMER devices which only support 32-bit MMIO
> accesses on RV64 system so this patch adds a boolean DT property
> "mtimer,no-64bit-mmio" to detect this from MTIMER DT node.

Can the ACLINT not just mandate 64-bit accesses must work? FreeBSD and
Linux aren’t going to want to support such broken implementations, and
I would hope at least the upcoming platform spec will mandate 64-bit
access, if not the ACLINT itself.

Jess

> Signed-off-by: Anup Patel <anup.patel at wdc.com>
> ---
> lib/utils/timer/fdt_timer_mtimer.c | 3 +++
> 1 file changed, 3 insertions(+)
> 
> diff --git a/lib/utils/timer/fdt_timer_mtimer.c b/lib/utils/timer/fdt_timer_mtimer.c
> index b08ed38..15a36ed 100644
> --- a/lib/utils/timer/fdt_timer_mtimer.c
> +++ b/lib/utils/timer/fdt_timer_mtimer.c
> @@ -58,6 +58,9 @@ static int timer_mtimer_cold_init(void *fdt, int nodeoff,
> 		mt->mtime_size = size[0];
> 		mt->mtimecmp_addr = addr[1];
> 		mt->mtimecmp_size = size[1];
> +		/* Parse additional ACLINT MTIMER properties */
> +		if (fdt_getprop(fdt, nodeoff, "mtimer,no-64bit-mmio", &rc))
> +			mt->has_64bit_mmio = false;
> 	}
> 
> 	rc = aclint_mtimer_cold_init(mt, mtmaster);
> -- 
> 2.25.1
> 
> 
> -- 
> opensbi mailing list
> opensbi at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/opensbi




More information about the opensbi mailing list