[PATCH 1/5] lib: utils/timer: Allow separate base addresses for MTIME and MTIMECMP

Anup Patel anup at brainfault.org
Sat Aug 7 05:46:07 PDT 2021


On Thu, Aug 5, 2021 at 11:59 AM Bin Meng <bmeng.cn at gmail.com> wrote:
>
> On Sat, Jul 24, 2021 at 8:26 PM Anup Patel <anup.patel at wdc.com> wrote:
> >
> > We extend the ACLINT library to support separate base addresses
> > for MTIME and MTIMECMP registers.
> >
> > Signed-off-by: Anup Patel <anup.patel at wdc.com>
> > ---
> >  include/sbi_utils/timer/aclint_mtimer.h | 19 ++++--
> >  lib/utils/timer/aclint_mtimer.c         | 77 +++++++++++++++++++------
> >  lib/utils/timer/fdt_timer_mtimer.c      | 16 +++--
> >  platform/fpga/ariane/platform.c         |  8 ++-
> >  platform/fpga/openpiton/platform.c      | 13 ++++-
> >  platform/kendryte/k210/platform.c       |  8 ++-
> >  platform/nuclei/ux600/platform.c        |  8 ++-
> >  platform/template/platform.c            |  8 ++-
> >  8 files changed, 116 insertions(+), 41 deletions(-)
> >
> > diff --git a/include/sbi_utils/timer/aclint_mtimer.h b/include/sbi_utils/timer/aclint_mtimer.h
> > index 62aa086..54eb238 100644
> > --- a/include/sbi_utils/timer/aclint_mtimer.h
> > +++ b/include/sbi_utils/timer/aclint_mtimer.h
> > @@ -12,16 +12,25 @@
> >
> >  #include <sbi/sbi_types.h>
> >
> > -#define ACLINT_MTIMER_ALIGN            0x1000
> > -#define ACLINT_MTIMER_SIZE             0x8000
> > -#define ACLINT_MTIMER_MAX_HARTS        4095
> > +#define ACLINT_MTIME_ALIGN                     0x8
> > +#define ACLINT_MTIMECMP_ALIGN                  0x8
> > +#define ACLINT_MTIMER_MAX_HARTS                4095
> > +
> > +#define ACLINT_DEFAULT_MTIME_OFFSET    0x7ff8
> > +#define ACLINT_DEFAULT_MTIME_SIZE      0x8
> > +#define ACLINT_DEFAULT_MTIMECMP_OFFSET 0x0000
> > +#define ACLINT_DEFAULT_MTIMECMP_SIZE   0x7ff8
> > +#define ACLINT_DEFAULT_MTIMER_SIZE     0x8000
> > +#define ACLINT_DEFAULT_MTIMER_ALIGN    0x1000
>
> It is confusing to have some macros be defined as MTIME while some
> others with MTIMER. Can we keep them consistent?

Okay, let me try to simplify this.

Regards,
Anup

>
> >
> >  #define CLINT_MTIMER_OFFSET            0x4000
> >
> >  struct aclint_mtimer_data {
> >         /* Public details */
> > -       unsigned long addr;
> > -       unsigned long size;
> > +       unsigned long mtime_addr;
> > +       unsigned long mtime_size;
> > +       unsigned long mtimecmp_addr;
> > +       unsigned long mtimecmp_size;
> >         u32 first_hartid;
> >         u32 hart_count;
> >         bool has_64bit_mmio;
>
> [snip]
>
> Regards,
> Bin



More information about the opensbi mailing list