1
2
3
8
9
10
11
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* ... */
#ifndef _HARDWARE_STRUCTS_ADC_H
#define _HARDWARE_STRUCTS_ADC_H
/* ... */
#include "hardware/address_mapped.h"
#include "hardware/regs/adc.h"
typedef struct {
_REG_(ADC_CS_OFFSET)
io_rw_32 cs;
_REG_(ADC_RESULT_OFFSET)
io_ro_32 result;
_REG_(ADC_FCS_OFFSET)
io_rw_32 fcs;
_REG_(ADC_FIFO_OFFSET)
io_ro_32 fifo;
_REG_(ADC_DIV_OFFSET)
io_rw_32 div;
_REG_(ADC_INTR_OFFSET)
io_ro_32 intr;
_REG_(ADC_INTE_OFFSET)
io_rw_32 inte;
_REG_(ADC_INTF_OFFSET)
io_rw_32 intf;
_REG_(ADC_INTS_OFFSET)
io_ro_32 ints;
...} adc_hw_t;
#define adc_hw ((adc_hw_t *)ADC_BASE)
static_assert(sizeof (adc_hw_t) == 0x0024, "");
/* ... */
#endif