1use kernel::utilities::registers::ReadWrite;
13use kernel::utilities::registers::{register_bitfields, register_structs};
14pub const AST_PARAM_NUM_REGS_B: u32 = 5;
16pub const AST_PARAM_NUM_USB_BEACON_PULSES: u32 = 8;
18pub const AST_PARAM_REG_WIDTH: u32 = 32;
20
21register_structs! {
22 pub AstRegisters {
23 (0x0000 => pub(crate) rega0: ReadWrite<u32, REGA0::Register>),
25 (0x0004 => pub(crate) rega1: ReadWrite<u32, REGA1::Register>),
27 (0x0008 => pub(crate) rega2: ReadWrite<u32, REGA2::Register>),
29 (0x000c => pub(crate) rega3: ReadWrite<u32, REGA3::Register>),
31 (0x0010 => pub(crate) rega4: ReadWrite<u32, REGA4::Register>),
33 (0x0014 => pub(crate) rega5: ReadWrite<u32, REGA5::Register>),
35 (0x0018 => pub(crate) rega6: ReadWrite<u32, REGA6::Register>),
37 (0x001c => pub(crate) rega7: ReadWrite<u32, REGA7::Register>),
39 (0x0020 => pub(crate) rega8: ReadWrite<u32, REGA8::Register>),
41 (0x0024 => pub(crate) rega9: ReadWrite<u32, REGA9::Register>),
43 (0x0028 => pub(crate) rega10: ReadWrite<u32, REGA10::Register>),
45 (0x002c => pub(crate) rega11: ReadWrite<u32, REGA11::Register>),
47 (0x0030 => pub(crate) rega12: ReadWrite<u32, REGA12::Register>),
49 (0x0034 => pub(crate) rega13: ReadWrite<u32, REGA13::Register>),
51 (0x0038 => pub(crate) rega14: ReadWrite<u32, REGA14::Register>),
53 (0x003c => pub(crate) rega15: ReadWrite<u32, REGA15::Register>),
55 (0x0040 => pub(crate) rega16: ReadWrite<u32, REGA16::Register>),
57 (0x0044 => pub(crate) rega17: ReadWrite<u32, REGA17::Register>),
59 (0x0048 => pub(crate) rega18: ReadWrite<u32, REGA18::Register>),
61 (0x004c => pub(crate) rega19: ReadWrite<u32, REGA19::Register>),
63 (0x0050 => pub(crate) rega20: ReadWrite<u32, REGA20::Register>),
65 (0x0054 => pub(crate) rega21: ReadWrite<u32, REGA21::Register>),
67 (0x0058 => pub(crate) rega22: ReadWrite<u32, REGA22::Register>),
69 (0x005c => pub(crate) rega23: ReadWrite<u32, REGA23::Register>),
71 (0x0060 => pub(crate) rega24: ReadWrite<u32, REGA24::Register>),
73 (0x0064 => pub(crate) rega25: ReadWrite<u32, REGA25::Register>),
75 (0x0068 => pub(crate) rega26: ReadWrite<u32, REGA26::Register>),
77 (0x006c => pub(crate) rega27: ReadWrite<u32, REGA27::Register>),
79 (0x0070 => pub(crate) rega28: ReadWrite<u32, REGA28::Register>),
81 (0x0074 => pub(crate) rega29: ReadWrite<u32, REGA29::Register>),
83 (0x0078 => pub(crate) rega30: ReadWrite<u32, REGA30::Register>),
85 (0x007c => pub(crate) rega31: ReadWrite<u32, REGA31::Register>),
87 (0x0080 => pub(crate) rega32: ReadWrite<u32, REGA32::Register>),
89 (0x0084 => pub(crate) rega33: ReadWrite<u32, REGA33::Register>),
91 (0x0088 => pub(crate) rega34: ReadWrite<u32, REGA34::Register>),
93 (0x008c => pub(crate) rega35: ReadWrite<u32, REGA35::Register>),
95 (0x0090 => pub(crate) rega36: ReadWrite<u32, REGA36::Register>),
97 (0x0094 => pub(crate) rega37: ReadWrite<u32, REGA37::Register>),
99 (0x0098 => pub(crate) regal: ReadWrite<u32, REGAL::Register>),
101 (0x009c => _reserved1),
102 (0x0200 => pub(crate) regb: [ReadWrite<u32, REGB::Register>; 5]),
104 (0x0214 => @END),
105 }
106}
107
108register_bitfields![u32,
109 pub(crate) REGA0 [
110 REG32 OFFSET(0) NUMBITS(32) [],
111 ],
112 pub(crate) REGA1 [
113 REG32 OFFSET(0) NUMBITS(32) [],
114 ],
115 pub(crate) REGA2 [
116 REG32 OFFSET(0) NUMBITS(32) [],
117 ],
118 pub(crate) REGA3 [
119 REG32 OFFSET(0) NUMBITS(32) [],
120 ],
121 pub(crate) REGA4 [
122 REG32 OFFSET(0) NUMBITS(32) [],
123 ],
124 pub(crate) REGA5 [
125 REG32 OFFSET(0) NUMBITS(32) [],
126 ],
127 pub(crate) REGA6 [
128 REG32 OFFSET(0) NUMBITS(32) [],
129 ],
130 pub(crate) REGA7 [
131 REG32 OFFSET(0) NUMBITS(32) [],
132 ],
133 pub(crate) REGA8 [
134 REG32 OFFSET(0) NUMBITS(32) [],
135 ],
136 pub(crate) REGA9 [
137 REG32 OFFSET(0) NUMBITS(32) [],
138 ],
139 pub(crate) REGA10 [
140 REG32 OFFSET(0) NUMBITS(32) [],
141 ],
142 pub(crate) REGA11 [
143 REG32 OFFSET(0) NUMBITS(32) [],
144 ],
145 pub(crate) REGA12 [
146 REG32 OFFSET(0) NUMBITS(32) [],
147 ],
148 pub(crate) REGA13 [
149 REG32 OFFSET(0) NUMBITS(32) [],
150 ],
151 pub(crate) REGA14 [
152 REG32 OFFSET(0) NUMBITS(32) [],
153 ],
154 pub(crate) REGA15 [
155 REG32 OFFSET(0) NUMBITS(32) [],
156 ],
157 pub(crate) REGA16 [
158 REG32 OFFSET(0) NUMBITS(32) [],
159 ],
160 pub(crate) REGA17 [
161 REG32 OFFSET(0) NUMBITS(32) [],
162 ],
163 pub(crate) REGA18 [
164 REG32 OFFSET(0) NUMBITS(32) [],
165 ],
166 pub(crate) REGA19 [
167 REG32 OFFSET(0) NUMBITS(32) [],
168 ],
169 pub(crate) REGA20 [
170 REG32 OFFSET(0) NUMBITS(32) [],
171 ],
172 pub(crate) REGA21 [
173 REG32 OFFSET(0) NUMBITS(32) [],
174 ],
175 pub(crate) REGA22 [
176 REG32 OFFSET(0) NUMBITS(32) [],
177 ],
178 pub(crate) REGA23 [
179 REG32 OFFSET(0) NUMBITS(32) [],
180 ],
181 pub(crate) REGA24 [
182 REG32 OFFSET(0) NUMBITS(32) [],
183 ],
184 pub(crate) REGA25 [
185 REG32 OFFSET(0) NUMBITS(32) [],
186 ],
187 pub(crate) REGA26 [
188 REG32 OFFSET(0) NUMBITS(32) [],
189 ],
190 pub(crate) REGA27 [
191 REG32 OFFSET(0) NUMBITS(32) [],
192 ],
193 pub(crate) REGA28 [
194 REG32 OFFSET(0) NUMBITS(32) [],
195 ],
196 pub(crate) REGA29 [
197 REG32 OFFSET(0) NUMBITS(32) [],
198 ],
199 pub(crate) REGA30 [
200 REG32 OFFSET(0) NUMBITS(32) [],
201 ],
202 pub(crate) REGA31 [
203 REG32 OFFSET(0) NUMBITS(32) [],
204 ],
205 pub(crate) REGA32 [
206 REG32 OFFSET(0) NUMBITS(32) [],
207 ],
208 pub(crate) REGA33 [
209 REG32 OFFSET(0) NUMBITS(32) [],
210 ],
211 pub(crate) REGA34 [
212 REG32 OFFSET(0) NUMBITS(32) [],
213 ],
214 pub(crate) REGA35 [
215 REG32 OFFSET(0) NUMBITS(32) [],
216 ],
217 pub(crate) REGA36 [
218 REG32 OFFSET(0) NUMBITS(32) [],
219 ],
220 pub(crate) REGA37 [
221 REG32 OFFSET(0) NUMBITS(32) [],
222 ],
223 pub(crate) REGAL [
224 REG32 OFFSET(0) NUMBITS(32) [],
225 ],
226 pub(crate) REGB [
227 REG32_0 OFFSET(0) NUMBITS(32) [],
228 ],
229];
230
231