1
2
3
8
9
10
11
14
15
16
17
18
19
20
21
22
23
24
25
26
29
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
58
59
60
61
62
63
/* ... */
#ifndef _HARDWARE_STRUCTS_TICKS_H
#define _HARDWARE_STRUCTS_TICKS_H
/* ... */
#include "hardware/address_mapped.h"
#include "hardware/regs/ticks.h"
/* ... */
typedef enum tick_gen_num_rp2350 {
TICK_PROC0 = 0,
TICK_PROC1 = 1,
TICK_TIMER0 = 2,
TICK_TIMER1 = 3,
TICK_WATCHDOG = 4,
TICK_RISCV = 5,
TICK_COUNT
...} tick_gen_num_t;
typedef struct {
_REG_(TICKS_PROC0_CTRL_OFFSET)
io_rw_32 ctrl;
_REG_(TICKS_PROC0_CYCLES_OFFSET)
io_rw_32 cycles;
_REG_(TICKS_PROC0_COUNT_OFFSET)
io_ro_32 count;
...} ticks_slice_hw_t;
typedef struct {
ticks_slice_hw_t ticks[6];
...} ticks_hw_t;
#define ticks_hw ((ticks_hw_t *)TICKS_BASE)
static_assert(sizeof (ticks_hw_t) == 0x0048, "");
/* ... */
#endif