Skip to content
Snippets Groups Projects
  • Bin Meng's avatar
    60262cd0
    timer: Add generic driver for RISC-V privileged architecture defined timer · 60262cd0
    Bin Meng authored
    
    RISC-V privileged architecture v1.10 defines a real-time counter,
    exposed as a memory-mapped machine-mode register - mtime. mtime must
    run at constant frequency, and the platform must provide a mechanism
    for determining the timebase of mtime. The mtime register has a
    64-bit precision on all RV32, RV64, and RV128 systems.
    
    Different platform may have different implementation of the mtime
    block hence an API riscv_get_time() is required by this driver for
    platform codes to hide such implementation details. For example,
    on some platforms mtime is provided by the CLINT module, while on
    some other platforms a simple 'rdtime' can be used to get the timer
    counter.
    
    With this timer driver the U-Boot timer functionalities like delay
    works correctly now.
    
    Signed-off-by: default avatarBin Meng <bmeng.cn@gmail.com>
    Reviewed-by: default avatarLukas Auer <lukas.auer@aisec.fraunhofer.de>
    Reviewed-by: default avatarAnup Patel <anup@brainfault.org>
    60262cd0
    History
    timer: Add generic driver for RISC-V privileged architecture defined timer
    Bin Meng authored
    
    RISC-V privileged architecture v1.10 defines a real-time counter,
    exposed as a memory-mapped machine-mode register - mtime. mtime must
    run at constant frequency, and the platform must provide a mechanism
    for determining the timebase of mtime. The mtime register has a
    64-bit precision on all RV32, RV64, and RV128 systems.
    
    Different platform may have different implementation of the mtime
    block hence an API riscv_get_time() is required by this driver for
    platform codes to hide such implementation details. For example,
    on some platforms mtime is provided by the CLINT module, while on
    some other platforms a simple 'rdtime' can be used to get the timer
    counter.
    
    With this timer driver the U-Boot timer functionalities like delay
    works correctly now.
    
    Signed-off-by: default avatarBin Meng <bmeng.cn@gmail.com>
    Reviewed-by: default avatarLukas Auer <lukas.auer@aisec.fraunhofer.de>
    Reviewed-by: default avatarAnup Patel <anup@brainfault.org>