1
2
3
4
5
6
7
8
9
10
11
12
13
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    _reserved0: [u8; 256usize],
    #[doc = "0x100 - Unspecified"]
    pub events_region: [EVENTS_REGION; 4],
    _reserved1: [u8; 64usize],
    #[doc = "0x160 - Unspecified"]
    pub events_pregion: [EVENTS_PREGION; 2],
    _reserved2: [u8; 400usize],
    #[doc = "0x300 - Enable or disable interrupt"]
    pub inten: INTEN,
    #[doc = "0x304 - Enable interrupt"]
    pub intenset: INTENSET,
    #[doc = "0x308 - Disable interrupt"]
    pub intenclr: INTENCLR,
    _reserved3: [u8; 20usize],
    #[doc = "0x320 - Enable or disable non-maskable interrupt"]
    pub nmien: NMIEN,
    #[doc = "0x324 - Enable non-maskable interrupt"]
    pub nmienset: NMIENSET,
    #[doc = "0x328 - Disable non-maskable interrupt"]
    pub nmienclr: NMIENCLR,
    _reserved4: [u8; 212usize],
    #[doc = "0x400 - Unspecified"]
    pub perregion: [PERREGION; 2],
    _reserved5: [u8; 256usize],
    #[doc = "0x510 - Enable/disable regions watch"]
    pub regionen: REGIONEN,
    #[doc = "0x514 - Enable regions watch"]
    pub regionenset: REGIONENSET,
    #[doc = "0x518 - Disable regions watch"]
    pub regionenclr: REGIONENCLR,
    _reserved6: [u8; 228usize],
    #[doc = "0x600 - Unspecified"]
    pub region0: REGION,
    _reserved7: [u8; 8usize],
    #[doc = "0x610 - Unspecified"]
    pub region1: REGION,
    _reserved8: [u8; 8usize],
    #[doc = "0x620 - Unspecified"]
    pub region2: REGION,
    _reserved9: [u8; 8usize],
    #[doc = "0x630 - Unspecified"]
    pub region3: REGION,
    _reserved10: [u8; 136usize],
    #[doc = "0x6c0 - Unspecified"]
    pub pregion0: PREGION,
    _reserved11: [u8; 4usize],
    #[doc = "0x6d0 - Unspecified"]
    pub pregion1: PREGION,
}
#[doc = r" Register block"]
#[repr(C)]
pub struct EVENTS_REGION {
    #[doc = "0x00 - Description cluster\\[n\\]: Write access to region n detected"]
    pub wa: self::events_region::WA,
    #[doc = "0x04 - Description cluster\\[n\\]: Read access to region n detected"]
    pub ra: self::events_region::RA,
}
#[doc = r" Register block"]
#[doc = "Unspecified"]
pub mod events_region;
#[doc = r" Register block"]
#[repr(C)]
pub struct EVENTS_PREGION {
    #[doc = "0x00 - Description cluster\\[n\\]: Write access to peripheral region n detected"]
    pub wa: self::events_pregion::WA,
    #[doc = "0x04 - Description cluster\\[n\\]: Read access to peripheral region n detected"]
    pub ra: self::events_pregion::RA,
}
#[doc = r" Register block"]
#[doc = "Unspecified"]
pub mod events_pregion;
#[doc = r" Register block"]
#[repr(C)]
pub struct PERREGION {
    #[doc = "0x00 - Description cluster\\[n\\]: Source of event/interrupt in region n, write access detected while corresponding subregion was enabled for watching"]
    pub substatwa: self::perregion::SUBSTATWA,
    #[doc = "0x04 - Description cluster\\[n\\]: Source of event/interrupt in region n, read access detected while corresponding subregion was enabled for watching"]
    pub substatra: self::perregion::SUBSTATRA,
}
#[doc = r" Register block"]
#[doc = "Unspecified"]
pub mod perregion;
#[doc = r" Register block"]
#[repr(C)]
pub struct REGION {
    #[doc = "0x00 - Description cluster\\[n\\]: Start address for region n"]
    pub start: self::region::START,
    #[doc = "0x04 - Description cluster\\[n\\]: End address of region n"]
    pub end: self::region::END,
}
#[doc = r" Register block"]
#[doc = "Unspecified"]
pub mod region;
#[doc = r" Register block"]
#[repr(C)]
pub struct PREGION {
    #[doc = "0x00 - Description cluster\\[n\\]: Reserved for future use"]
    pub start: self::pregion::START,
    #[doc = "0x04 - Description cluster\\[n\\]: Reserved for future use"]
    pub end: self::pregion::END,
    #[doc = "0x08 - Description cluster\\[n\\]: Subregions of region n"]
    pub subs: self::pregion::SUBS,
}
#[doc = r" Register block"]
#[doc = "Unspecified"]
pub mod pregion;
#[doc = "Enable or disable interrupt"]
pub struct INTEN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Enable or disable interrupt"]
pub mod inten;
#[doc = "Enable interrupt"]
pub struct INTENSET {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Enable interrupt"]
pub mod intenset;
#[doc = "Disable interrupt"]
pub struct INTENCLR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Disable interrupt"]
pub mod intenclr;
#[doc = "Enable or disable non-maskable interrupt"]
pub struct NMIEN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Enable or disable non-maskable interrupt"]
pub mod nmien;
#[doc = "Enable non-maskable interrupt"]
pub struct NMIENSET {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Enable non-maskable interrupt"]
pub mod nmienset;
#[doc = "Disable non-maskable interrupt"]
pub struct NMIENCLR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Disable non-maskable interrupt"]
pub mod nmienclr;
#[doc = "Enable/disable regions watch"]
pub struct REGIONEN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Enable/disable regions watch"]
pub mod regionen;
#[doc = "Enable regions watch"]
pub struct REGIONENSET {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Enable regions watch"]
pub mod regionenset;
#[doc = "Disable regions watch"]
pub struct REGIONENCLR {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Disable regions watch"]
pub mod regionenclr;