Thread (17 messages) 17 messages, 5 authors, 2021-08-07
STALE1774d

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

From: Anup Patel <anup@brainfault.org>
Date: 2021-08-07 13:17:33

On Tue, Aug 3, 2021 at 1:19 AM Atish Patra [off-list ref] wrote:
On Sat, Jul 24, 2021 at 5:25 AM Anup Patel [off-list ref] wrote:
quoted
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.
Where is this property documented ? I couldn't find it in your v3
aclint patch [1].
Did I miss something?
I have updated DT bindings in linux v3 series. Please check again.
I also think "mtimer,32bit-mmio" may be a better choice than
"mtimer,no-64bit-mmio"

[1]https://github.com/avpatel/linux/commits/riscv_aclint_v3
Actually, "mtimer,no-64bit-mmio" is more appropriate because
all registers of MTIMER are 64-bits wide so by default RV64
systems should support 64-bit MMIO for MTIMER. In fact, most
existing RV64 systems do support 64-bit MMIO for MTIMER.

Regards,
Anup
quoted
Signed-off-by: Anup Patel <redacted>
---
 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


--
Regards,
Atish
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help