hpm_mchtmr_regs.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * Copyright (c) 2021-2023 HPMicro
  3. *
  4. * SPDX-License-Identifier: BSD-3-Clause
  5. *
  6. */
  7. #ifndef HPM_MCHTMR_H
  8. #define HPM_MCHTMR_H
  9. typedef struct {
  10. __RW uint64_t MTIME; /* 0x0: Machine Time */
  11. __RW uint64_t MTIMECMP; /* 0x8: Machine Time Compare */
  12. } MCHTMR_Type;
  13. /* Bitfield definition for register: MTIME */
  14. /*
  15. * MTIME (RW)
  16. *
  17. * Machine time
  18. */
  19. #define MCHTMR_MTIME_MTIME_MASK (0xFFFFFFFFFFFFFFFFULL)
  20. #define MCHTMR_MTIME_MTIME_SHIFT (0U)
  21. #define MCHTMR_MTIME_MTIME_SET(x) (((uint64_t)(x) << MCHTMR_MTIME_MTIME_SHIFT) & MCHTMR_MTIME_MTIME_MASK)
  22. #define MCHTMR_MTIME_MTIME_GET(x) (((uint64_t)(x) & MCHTMR_MTIME_MTIME_MASK) >> MCHTMR_MTIME_MTIME_SHIFT)
  23. /* Bitfield definition for register: MTIMECMP */
  24. /*
  25. * MTIMECMP (RW)
  26. *
  27. * Machine time compare
  28. */
  29. #define MCHTMR_MTIMECMP_MTIMECMP_MASK (0xFFFFFFFFFFFFFFFFULL)
  30. #define MCHTMR_MTIMECMP_MTIMECMP_SHIFT (0U)
  31. #define MCHTMR_MTIMECMP_MTIMECMP_SET(x) (((uint64_t)(x) << MCHTMR_MTIMECMP_MTIMECMP_SHIFT) & MCHTMR_MTIMECMP_MTIMECMP_MASK)
  32. #define MCHTMR_MTIMECMP_MTIMECMP_GET(x) (((uint64_t)(x) & MCHTMR_MTIMECMP_MTIMECMP_MASK) >> MCHTMR_MTIMECMP_MTIMECMP_SHIFT)
  33. #endif /* HPM_MCHTMR_H */