blob: 4746c3642da1b19de233766fb6a7105ea1a0dc3f [file] [log] [blame]
Srikrishna Iyer5b4dde92020-05-14 00:02:15 -07001// Copyright lowRISC contributors.
2// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3// SPDX-License-Identifier: Apache-2.0
Michael Schaffner40b6bd22020-10-27 19:52:23 -07004//
5// ------------------- W A R N I N G: A U T O - G E N E R A T E D C O D E !! -------------------//
6// PLEASE DO NOT HAND-EDIT THIS FILE. IT HAS BEEN AUTO-GENERATED WITH THE FOLLOWING COMMAND:
7//
8// util/topgen.py -t hw/top_earlgrey/data/top_earlgrey.hjson \
Michael Schaffner40b6bd22020-10-27 19:52:23 -07009// -o hw/top_earlgrey/ \
10// --rnd_cnst_seed 4881560218908238235
Srikrishna Iyer5b4dde92020-05-14 00:02:15 -070011
12package top_earlgrey_pkg;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -070013 /**
Timothy Chen2971a1e2021-01-21 16:00:01 -080014 * Peripheral base address for uart0 in top earlgrey.
Srikrishna Iyerd7bed872020-10-14 11:51:10 -070015 */
Timothy Chen2971a1e2021-01-21 16:00:01 -080016 parameter int unsigned TOP_EARLGREY_UART0_BASE_ADDR = 32'h40000000;
Srikrishna Iyer5b4dde92020-05-14 00:02:15 -070017
Srikrishna Iyerd7bed872020-10-14 11:51:10 -070018 /**
Timothy Chen2971a1e2021-01-21 16:00:01 -080019 * Peripheral size in bytes for uart0 in top earlgrey.
Srikrishna Iyerd7bed872020-10-14 11:51:10 -070020 */
Timothy Chen2971a1e2021-01-21 16:00:01 -080021 parameter int unsigned TOP_EARLGREY_UART0_SIZE_BYTES = 32'h1000;
22
23 /**
24 * Peripheral base address for uart1 in top earlgrey.
25 */
26 parameter int unsigned TOP_EARLGREY_UART1_BASE_ADDR = 32'h40010000;
27
28 /**
29 * Peripheral size in bytes for uart1 in top earlgrey.
30 */
31 parameter int unsigned TOP_EARLGREY_UART1_SIZE_BYTES = 32'h1000;
32
33 /**
34 * Peripheral base address for uart2 in top earlgrey.
35 */
36 parameter int unsigned TOP_EARLGREY_UART2_BASE_ADDR = 32'h40020000;
37
38 /**
39 * Peripheral size in bytes for uart2 in top earlgrey.
40 */
41 parameter int unsigned TOP_EARLGREY_UART2_SIZE_BYTES = 32'h1000;
42
43 /**
44 * Peripheral base address for uart3 in top earlgrey.
45 */
46 parameter int unsigned TOP_EARLGREY_UART3_BASE_ADDR = 32'h40030000;
47
48 /**
49 * Peripheral size in bytes for uart3 in top earlgrey.
50 */
51 parameter int unsigned TOP_EARLGREY_UART3_SIZE_BYTES = 32'h1000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -070052
53 /**
54 * Peripheral base address for gpio in top earlgrey.
55 */
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -080056 parameter int unsigned TOP_EARLGREY_GPIO_BASE_ADDR = 32'h40040000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -070057
58 /**
59 * Peripheral size in bytes for gpio in top earlgrey.
60 */
61 parameter int unsigned TOP_EARLGREY_GPIO_SIZE_BYTES = 32'h1000;
62
63 /**
64 * Peripheral base address for spi_device in top earlgrey.
65 */
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -080066 parameter int unsigned TOP_EARLGREY_SPI_DEVICE_BASE_ADDR = 32'h40050000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -070067
68 /**
69 * Peripheral size in bytes for spi_device in top earlgrey.
70 */
Eunchan Kimc8b06fb2021-02-02 10:21:19 -080071 parameter int unsigned TOP_EARLGREY_SPI_DEVICE_SIZE_BYTES = 32'h2000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -070072
73 /**
Michael Schaffnerdbd087e2021-02-12 17:58:30 -080074 * Peripheral base address for spi_host0 in top earlgrey.
75 */
76 parameter int unsigned TOP_EARLGREY_SPI_HOST0_BASE_ADDR = 32'h40060000;
77
78 /**
79 * Peripheral size in bytes for spi_host0 in top earlgrey.
80 */
81 parameter int unsigned TOP_EARLGREY_SPI_HOST0_SIZE_BYTES = 32'h1000;
82
83 /**
84 * Peripheral base address for spi_host1 in top earlgrey.
85 */
86 parameter int unsigned TOP_EARLGREY_SPI_HOST1_BASE_ADDR = 32'h40070000;
87
88 /**
89 * Peripheral size in bytes for spi_host1 in top earlgrey.
90 */
91 parameter int unsigned TOP_EARLGREY_SPI_HOST1_SIZE_BYTES = 32'h1000;
92
93 /**
Timothy Chen469a3032021-02-01 15:44:09 -080094 * Peripheral base address for i2c0 in top earlgrey.
95 */
96 parameter int unsigned TOP_EARLGREY_I2C0_BASE_ADDR = 32'h40080000;
97
98 /**
99 * Peripheral size in bytes for i2c0 in top earlgrey.
100 */
101 parameter int unsigned TOP_EARLGREY_I2C0_SIZE_BYTES = 32'h1000;
102
103 /**
104 * Peripheral base address for i2c1 in top earlgrey.
105 */
106 parameter int unsigned TOP_EARLGREY_I2C1_BASE_ADDR = 32'h40090000;
107
108 /**
109 * Peripheral size in bytes for i2c1 in top earlgrey.
110 */
111 parameter int unsigned TOP_EARLGREY_I2C1_SIZE_BYTES = 32'h1000;
112
113 /**
114 * Peripheral base address for i2c2 in top earlgrey.
115 */
116 parameter int unsigned TOP_EARLGREY_I2C2_BASE_ADDR = 32'h400A0000;
117
118 /**
119 * Peripheral size in bytes for i2c2 in top earlgrey.
120 */
121 parameter int unsigned TOP_EARLGREY_I2C2_SIZE_BYTES = 32'h1000;
122
123 /**
124 * Peripheral base address for pattgen in top earlgrey.
125 */
126 parameter int unsigned TOP_EARLGREY_PATTGEN_BASE_ADDR = 32'h400E0000;
127
128 /**
129 * Peripheral size in bytes for pattgen in top earlgrey.
130 */
131 parameter int unsigned TOP_EARLGREY_PATTGEN_SIZE_BYTES = 32'h1000;
132
133 /**
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700134 * Peripheral base address for rv_timer in top earlgrey.
135 */
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800136 parameter int unsigned TOP_EARLGREY_RV_TIMER_BASE_ADDR = 32'h40100000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700137
138 /**
139 * Peripheral size in bytes for rv_timer in top earlgrey.
140 */
141 parameter int unsigned TOP_EARLGREY_RV_TIMER_SIZE_BYTES = 32'h1000;
142
143 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800144 * Peripheral base address for usbdev in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800145 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800146 parameter int unsigned TOP_EARLGREY_USBDEV_BASE_ADDR = 32'h40110000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800147
148 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800149 * Peripheral size in bytes for usbdev in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800150 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800151 parameter int unsigned TOP_EARLGREY_USBDEV_SIZE_BYTES = 32'h1000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800152
153 /**
154 * Peripheral base address for otp_ctrl in top earlgrey.
155 */
156 parameter int unsigned TOP_EARLGREY_OTP_CTRL_BASE_ADDR = 32'h40130000;
157
158 /**
159 * Peripheral size in bytes for otp_ctrl in top earlgrey.
160 */
161 parameter int unsigned TOP_EARLGREY_OTP_CTRL_SIZE_BYTES = 32'h4000;
162
163 /**
Michael Schaffner6d3d6a02020-12-11 13:52:51 -0800164 * Peripheral base address for lc_ctrl in top earlgrey.
165 */
166 parameter int unsigned TOP_EARLGREY_LC_CTRL_BASE_ADDR = 32'h40140000;
167
168 /**
169 * Peripheral size in bytes for lc_ctrl in top earlgrey.
170 */
171 parameter int unsigned TOP_EARLGREY_LC_CTRL_SIZE_BYTES = 32'h1000;
172
173 /**
Michael Schaffnerd1fc7d12020-12-21 12:52:23 -0800174 * Peripheral base address for alert_handler in top earlgrey.
175 */
176 parameter int unsigned TOP_EARLGREY_ALERT_HANDLER_BASE_ADDR = 32'h40150000;
177
178 /**
179 * Peripheral size in bytes for alert_handler in top earlgrey.
180 */
181 parameter int unsigned TOP_EARLGREY_ALERT_HANDLER_SIZE_BYTES = 32'h1000;
182
183 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800184 * Peripheral base address for pwrmgr_aon in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800185 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800186 parameter int unsigned TOP_EARLGREY_PWRMGR_AON_BASE_ADDR = 32'h40400000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800187
188 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800189 * Peripheral size in bytes for pwrmgr_aon in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800190 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800191 parameter int unsigned TOP_EARLGREY_PWRMGR_AON_SIZE_BYTES = 32'h1000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800192
193 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800194 * Peripheral base address for rstmgr_aon in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800195 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800196 parameter int unsigned TOP_EARLGREY_RSTMGR_AON_BASE_ADDR = 32'h40410000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800197
198 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800199 * Peripheral size in bytes for rstmgr_aon in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800200 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800201 parameter int unsigned TOP_EARLGREY_RSTMGR_AON_SIZE_BYTES = 32'h1000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800202
203 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800204 * Peripheral base address for clkmgr_aon in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800205 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800206 parameter int unsigned TOP_EARLGREY_CLKMGR_AON_BASE_ADDR = 32'h40420000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800207
208 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800209 * Peripheral size in bytes for clkmgr_aon in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800210 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800211 parameter int unsigned TOP_EARLGREY_CLKMGR_AON_SIZE_BYTES = 32'h1000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800212
213 /**
Michael Schaffnere029a682021-04-06 16:21:30 -0700214 * Peripheral base address for sysrst_ctrl_aon in top earlgrey.
215 */
216 parameter int unsigned TOP_EARLGREY_SYSRST_CTRL_AON_BASE_ADDR = 32'h40430000;
217
218 /**
219 * Peripheral size in bytes for sysrst_ctrl_aon in top earlgrey.
220 */
221 parameter int unsigned TOP_EARLGREY_SYSRST_CTRL_AON_SIZE_BYTES = 32'h1000;
222
223 /**
Timothy Chen6f98f352021-03-10 16:27:29 -0800224 * Peripheral base address for adc_ctrl_aon in top earlgrey.
225 */
226 parameter int unsigned TOP_EARLGREY_ADC_CTRL_AON_BASE_ADDR = 32'h40440000;
227
228 /**
229 * Peripheral size in bytes for adc_ctrl_aon in top earlgrey.
230 */
231 parameter int unsigned TOP_EARLGREY_ADC_CTRL_AON_SIZE_BYTES = 32'h1000;
232
233 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800234 * Peripheral base address for pinmux_aon in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800235 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800236 parameter int unsigned TOP_EARLGREY_PINMUX_AON_BASE_ADDR = 32'h40460000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800237
238 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800239 * Peripheral size in bytes for pinmux_aon in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800240 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800241 parameter int unsigned TOP_EARLGREY_PINMUX_AON_SIZE_BYTES = 32'h1000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800242
243 /**
Timothy Chen2b8ef762021-02-16 14:44:55 -0800244 * Peripheral base address for aon_timer_aon in top earlgrey.
245 */
246 parameter int unsigned TOP_EARLGREY_AON_TIMER_AON_BASE_ADDR = 32'h40470000;
247
248 /**
249 * Peripheral size in bytes for aon_timer_aon in top earlgrey.
250 */
251 parameter int unsigned TOP_EARLGREY_AON_TIMER_AON_SIZE_BYTES = 32'h1000;
252
253 /**
Timothy Chenb1966872021-03-01 22:39:01 -0800254 * Peripheral base address for ast in top earlgrey.
255 */
256 parameter int unsigned TOP_EARLGREY_AST_BASE_ADDR = 32'h40480000;
257
258 /**
259 * Peripheral size in bytes for ast in top earlgrey.
260 */
261 parameter int unsigned TOP_EARLGREY_AST_SIZE_BYTES = 32'h1000;
262
263 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800264 * Peripheral base address for sensor_ctrl_aon in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800265 */
Timothy Chen2b8ef762021-02-16 14:44:55 -0800266 parameter int unsigned TOP_EARLGREY_SENSOR_CTRL_AON_BASE_ADDR = 32'h40490000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800267
268 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800269 * Peripheral size in bytes for sensor_ctrl_aon in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800270 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800271 parameter int unsigned TOP_EARLGREY_SENSOR_CTRL_AON_SIZE_BYTES = 32'h1000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800272
273 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800274 * Peripheral base address for sram_ctrl_ret_aon in top earlgrey.
Michael Schaffner9da4db82020-12-21 15:35:24 -0800275 */
Timothy Chen2b8ef762021-02-16 14:44:55 -0800276 parameter int unsigned TOP_EARLGREY_SRAM_CTRL_RET_AON_BASE_ADDR = 32'h40500000;
Michael Schaffner9da4db82020-12-21 15:35:24 -0800277
278 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800279 * Peripheral size in bytes for sram_ctrl_ret_aon in top earlgrey.
Michael Schaffner9da4db82020-12-21 15:35:24 -0800280 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800281 parameter int unsigned TOP_EARLGREY_SRAM_CTRL_RET_AON_SIZE_BYTES = 32'h1000;
Michael Schaffner9da4db82020-12-21 15:35:24 -0800282
283 /**
Timothy Chen76eb8832021-03-25 16:49:58 -0700284 * Peripheral base address for core device on flash_ctrl in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800285 */
Timothy Chen76eb8832021-03-25 16:49:58 -0700286 parameter int unsigned TOP_EARLGREY_FLASH_CTRL_CORE_BASE_ADDR = 32'h41000000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800287
288 /**
Timothy Chen76eb8832021-03-25 16:49:58 -0700289 * Peripheral size in bytes for core device on flash_ctrl in top earlgrey.
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800290 */
Timothy Chen76eb8832021-03-25 16:49:58 -0700291 parameter int unsigned TOP_EARLGREY_FLASH_CTRL_CORE_SIZE_BYTES = 32'h1000;
292
293 /**
294 * Peripheral base address for prim device on flash_ctrl in top earlgrey.
295 */
296 parameter int unsigned TOP_EARLGREY_FLASH_CTRL_PRIM_BASE_ADDR = 32'h41008000;
297
298 /**
299 * Peripheral size in bytes for prim device on flash_ctrl in top earlgrey.
300 */
301 parameter int unsigned TOP_EARLGREY_FLASH_CTRL_PRIM_SIZE_BYTES = 32'h1000;
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800302
303 /**
304 * Peripheral base address for rv_plic in top earlgrey.
305 */
306 parameter int unsigned TOP_EARLGREY_RV_PLIC_BASE_ADDR = 32'h41010000;
307
308 /**
309 * Peripheral size in bytes for rv_plic in top earlgrey.
310 */
311 parameter int unsigned TOP_EARLGREY_RV_PLIC_SIZE_BYTES = 32'h1000;
312
313 /**
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700314 * Peripheral base address for aes in top earlgrey.
315 */
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800316 parameter int unsigned TOP_EARLGREY_AES_BASE_ADDR = 32'h41100000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700317
318 /**
319 * Peripheral size in bytes for aes in top earlgrey.
320 */
321 parameter int unsigned TOP_EARLGREY_AES_SIZE_BYTES = 32'h1000;
322
323 /**
324 * Peripheral base address for hmac in top earlgrey.
325 */
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800326 parameter int unsigned TOP_EARLGREY_HMAC_BASE_ADDR = 32'h41110000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700327
328 /**
329 * Peripheral size in bytes for hmac in top earlgrey.
330 */
331 parameter int unsigned TOP_EARLGREY_HMAC_SIZE_BYTES = 32'h1000;
332
333 /**
Eunchan Kime5d33b72020-11-03 14:34:16 -0800334 * Peripheral base address for kmac in top earlgrey.
335 */
336 parameter int unsigned TOP_EARLGREY_KMAC_BASE_ADDR = 32'h41120000;
337
338 /**
339 * Peripheral size in bytes for kmac in top earlgrey.
340 */
341 parameter int unsigned TOP_EARLGREY_KMAC_SIZE_BYTES = 32'h1000;
342
343 /**
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700344 * Peripheral base address for keymgr in top earlgrey.
345 */
Martin Lueker-Bodend5a1e4b2020-11-11 19:46:33 -0800346 parameter int unsigned TOP_EARLGREY_KEYMGR_BASE_ADDR = 32'h41130000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700347
348 /**
349 * Peripheral size in bytes for keymgr in top earlgrey.
350 */
351 parameter int unsigned TOP_EARLGREY_KEYMGR_SIZE_BYTES = 32'h1000;
352
353 /**
Mark Branstadff807362020-11-16 07:56:15 -0800354 * Peripheral base address for csrng in top earlgrey.
355 */
356 parameter int unsigned TOP_EARLGREY_CSRNG_BASE_ADDR = 32'h41150000;
357
358 /**
359 * Peripheral size in bytes for csrng in top earlgrey.
360 */
361 parameter int unsigned TOP_EARLGREY_CSRNG_SIZE_BYTES = 32'h1000;
362
363 /**
364 * Peripheral base address for entropy_src in top earlgrey.
365 */
366 parameter int unsigned TOP_EARLGREY_ENTROPY_SRC_BASE_ADDR = 32'h41160000;
367
368 /**
369 * Peripheral size in bytes for entropy_src in top earlgrey.
370 */
371 parameter int unsigned TOP_EARLGREY_ENTROPY_SRC_SIZE_BYTES = 32'h1000;
372
373 /**
374 * Peripheral base address for edn0 in top earlgrey.
375 */
376 parameter int unsigned TOP_EARLGREY_EDN0_BASE_ADDR = 32'h41170000;
377
378 /**
379 * Peripheral size in bytes for edn0 in top earlgrey.
380 */
381 parameter int unsigned TOP_EARLGREY_EDN0_SIZE_BYTES = 32'h1000;
382
383 /**
384 * Peripheral base address for edn1 in top earlgrey.
385 */
386 parameter int unsigned TOP_EARLGREY_EDN1_BASE_ADDR = 32'h41180000;
387
388 /**
389 * Peripheral size in bytes for edn1 in top earlgrey.
390 */
391 parameter int unsigned TOP_EARLGREY_EDN1_SIZE_BYTES = 32'h1000;
392
393 /**
Michael Schaffner9da4db82020-12-21 15:35:24 -0800394 * Peripheral base address for sram_ctrl_main in top earlgrey.
395 */
396 parameter int unsigned TOP_EARLGREY_SRAM_CTRL_MAIN_BASE_ADDR = 32'h411C0000;
397
398 /**
399 * Peripheral size in bytes for sram_ctrl_main in top earlgrey.
400 */
401 parameter int unsigned TOP_EARLGREY_SRAM_CTRL_MAIN_SIZE_BYTES = 32'h1000;
402
403 /**
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700404 * Peripheral base address for otbn in top earlgrey.
405 */
Michael Schaffner9da4db82020-12-21 15:35:24 -0800406 parameter int unsigned TOP_EARLGREY_OTBN_BASE_ADDR = 32'h411D0000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700407
408 /**
409 * Peripheral size in bytes for otbn in top earlgrey.
410 */
Rupert Swarbrickcc3772d2020-11-23 11:30:07 +0000411 parameter int unsigned TOP_EARLGREY_OTBN_SIZE_BYTES = 32'h10000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700412
413 /**
Rupert Swarbrick9855d4b2020-12-02 08:41:35 +0000414 * Peripheral base address for regs device on rom_ctrl in top earlgrey.
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700415 */
Rupert Swarbrick9855d4b2020-12-02 08:41:35 +0000416 parameter int unsigned TOP_EARLGREY_ROM_CTRL_REGS_BASE_ADDR = 32'h411E0000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700417
418 /**
Rupert Swarbrick9855d4b2020-12-02 08:41:35 +0000419 * Peripheral size in bytes for regs device on rom_ctrl in top earlgrey.
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700420 */
Rupert Swarbrick9855d4b2020-12-02 08:41:35 +0000421 parameter int unsigned TOP_EARLGREY_ROM_CTRL_REGS_SIZE_BYTES = 32'h1000;
422
423 /**
424 * Peripheral base address for rom device on rom_ctrl in top earlgrey.
425 */
426 parameter int unsigned TOP_EARLGREY_ROM_CTRL_ROM_BASE_ADDR = 32'h8000;
427
428 /**
429 * Peripheral size in bytes for rom device on rom_ctrl in top earlgrey.
430 */
431 parameter int unsigned TOP_EARLGREY_ROM_CTRL_ROM_SIZE_BYTES = 32'h4000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700432
433 /**
434 * Memory base address for ram_main in top earlgrey.
435 */
436 parameter int unsigned TOP_EARLGREY_RAM_MAIN_BASE_ADDR = 32'h10000000;
437
438 /**
439 * Memory size for ram_main in top earlgrey.
440 */
Timothy Chen4367c482021-01-22 00:18:45 -0800441 parameter int unsigned TOP_EARLGREY_RAM_MAIN_SIZE_BYTES = 32'h20000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700442
443 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800444 * Memory base address for ram_ret_aon in top earlgrey.
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700445 */
Silvestrs Timofejevsaf2b5c22021-02-05 10:33:18 +0000446 parameter int unsigned TOP_EARLGREY_RAM_RET_AON_BASE_ADDR = 32'h40600000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700447
448 /**
Timothy Chen8aeeb492021-02-01 21:25:17 -0800449 * Memory size for ram_ret_aon in top earlgrey.
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700450 */
Timothy Chen8aeeb492021-02-01 21:25:17 -0800451 parameter int unsigned TOP_EARLGREY_RAM_RET_AON_SIZE_BYTES = 32'h1000;
Srikrishna Iyerd7bed872020-10-14 11:51:10 -0700452
453 /**
454 * Memory base address for eflash in top earlgrey.
455 */
456 parameter int unsigned TOP_EARLGREY_EFLASH_BASE_ADDR = 32'h20000000;
457
458 /**
459 * Memory size for eflash in top earlgrey.
460 */
Timothy Chen4367c482021-01-22 00:18:45 -0800461 parameter int unsigned TOP_EARLGREY_EFLASH_SIZE_BYTES = 32'h100000;
Srikrishna Iyer5b4dde92020-05-14 00:02:15 -0700462
Michael Schaffner74c4ff22021-03-30 15:43:46 -0700463
464 // Enumeration of IO power domains.
465 // Only used in ASIC target.
Timothy Chenb3d45f62021-04-10 00:29:49 -0700466 typedef enum logic [2:0] {
Michael Schaffner74c4ff22021-03-30 15:43:46 -0700467 IoBankVcc = 0,
468 IoBankAvcc = 1,
469 IoBankVioa = 2,
470 IoBankViob = 3,
471 IoBankCount = 4
472 } pwr_dom_e;
473
474 // Enumeration for MIO signals on the top-level.
475 typedef enum {
476 MioInGpioGpio0 = 0,
477 MioInGpioGpio1 = 1,
478 MioInGpioGpio2 = 2,
479 MioInGpioGpio3 = 3,
480 MioInGpioGpio4 = 4,
481 MioInGpioGpio5 = 5,
482 MioInGpioGpio6 = 6,
483 MioInGpioGpio7 = 7,
484 MioInGpioGpio8 = 8,
485 MioInGpioGpio9 = 9,
486 MioInGpioGpio10 = 10,
487 MioInGpioGpio11 = 11,
488 MioInGpioGpio12 = 12,
489 MioInGpioGpio13 = 13,
490 MioInGpioGpio14 = 14,
491 MioInGpioGpio15 = 15,
492 MioInGpioGpio16 = 16,
493 MioInGpioGpio17 = 17,
494 MioInGpioGpio18 = 18,
495 MioInGpioGpio19 = 19,
496 MioInGpioGpio20 = 20,
497 MioInGpioGpio21 = 21,
498 MioInGpioGpio22 = 22,
499 MioInGpioGpio23 = 23,
500 MioInGpioGpio24 = 24,
501 MioInGpioGpio25 = 25,
502 MioInGpioGpio26 = 26,
503 MioInGpioGpio27 = 27,
504 MioInGpioGpio28 = 28,
505 MioInGpioGpio29 = 29,
506 MioInGpioGpio30 = 30,
507 MioInGpioGpio31 = 31,
508 MioInI2c0Sda = 32,
509 MioInI2c0Scl = 33,
510 MioInI2c1Sda = 34,
511 MioInI2c1Scl = 35,
512 MioInI2c2Sda = 36,
513 MioInI2c2Scl = 37,
514 MioInSpiHost1Sd0 = 38,
515 MioInSpiHost1Sd1 = 39,
516 MioInSpiHost1Sd2 = 40,
517 MioInSpiHost1Sd3 = 41,
518 MioInUart0Rx = 42,
519 MioInUart1Rx = 43,
520 MioInUart2Rx = 44,
521 MioInUart3Rx = 45,
522 MioInFlashCtrlTck = 46,
523 MioInFlashCtrlTms = 47,
524 MioInFlashCtrlTdi = 48,
Timothy Chen6925c6f2021-04-09 17:19:27 -0700525 MioInSysrstCtrlAonAcPresent = 49,
526 MioInSysrstCtrlAonEcRstInL = 50,
527 MioInSysrstCtrlAonKey0In = 51,
528 MioInSysrstCtrlAonKey1In = 52,
529 MioInSysrstCtrlAonKey2In = 53,
530 MioInSysrstCtrlAonPwrbIn = 54,
531 MioInCount = 55
Michael Schaffner74c4ff22021-03-30 15:43:46 -0700532 } mio_in_e;
533
534 typedef enum {
535 MioOutGpioGpio0 = 0,
536 MioOutGpioGpio1 = 1,
537 MioOutGpioGpio2 = 2,
538 MioOutGpioGpio3 = 3,
539 MioOutGpioGpio4 = 4,
540 MioOutGpioGpio5 = 5,
541 MioOutGpioGpio6 = 6,
542 MioOutGpioGpio7 = 7,
543 MioOutGpioGpio8 = 8,
544 MioOutGpioGpio9 = 9,
545 MioOutGpioGpio10 = 10,
546 MioOutGpioGpio11 = 11,
547 MioOutGpioGpio12 = 12,
548 MioOutGpioGpio13 = 13,
549 MioOutGpioGpio14 = 14,
550 MioOutGpioGpio15 = 15,
551 MioOutGpioGpio16 = 16,
552 MioOutGpioGpio17 = 17,
553 MioOutGpioGpio18 = 18,
554 MioOutGpioGpio19 = 19,
555 MioOutGpioGpio20 = 20,
556 MioOutGpioGpio21 = 21,
557 MioOutGpioGpio22 = 22,
558 MioOutGpioGpio23 = 23,
559 MioOutGpioGpio24 = 24,
560 MioOutGpioGpio25 = 25,
561 MioOutGpioGpio26 = 26,
562 MioOutGpioGpio27 = 27,
563 MioOutGpioGpio28 = 28,
564 MioOutGpioGpio29 = 29,
565 MioOutGpioGpio30 = 30,
566 MioOutGpioGpio31 = 31,
567 MioOutI2c0Sda = 32,
568 MioOutI2c0Scl = 33,
569 MioOutI2c1Sda = 34,
570 MioOutI2c1Scl = 35,
571 MioOutI2c2Sda = 36,
572 MioOutI2c2Scl = 37,
573 MioOutSpiHost1Sd0 = 38,
574 MioOutSpiHost1Sd1 = 39,
575 MioOutSpiHost1Sd2 = 40,
576 MioOutSpiHost1Sd3 = 41,
577 MioOutUart0Tx = 42,
578 MioOutUart1Tx = 43,
579 MioOutUart2Tx = 44,
580 MioOutUart3Tx = 45,
581 MioOutPattgenPda0Tx = 46,
582 MioOutPattgenPcl0Tx = 47,
583 MioOutPattgenPda1Tx = 48,
584 MioOutPattgenPcl1Tx = 49,
585 MioOutSpiHost1Sck = 50,
586 MioOutSpiHost1Csb = 51,
587 MioOutFlashCtrlTdo = 52,
588 MioOutSensorCtrlAonAstDebugOut0 = 53,
589 MioOutSensorCtrlAonAstDebugOut1 = 54,
590 MioOutSensorCtrlAonAstDebugOut2 = 55,
591 MioOutSensorCtrlAonAstDebugOut3 = 56,
592 MioOutSensorCtrlAonAstDebugOut4 = 57,
593 MioOutSensorCtrlAonAstDebugOut5 = 58,
594 MioOutSensorCtrlAonAstDebugOut6 = 59,
595 MioOutSensorCtrlAonAstDebugOut7 = 60,
596 MioOutSensorCtrlAonAstDebugOut8 = 61,
597 MioOutSensorCtrlAonAstDebugOut9 = 62,
Michael Schaffnere029a682021-04-06 16:21:30 -0700598 MioOutSysrstCtrlAonBatDisable = 63,
599 MioOutSysrstCtrlAonKey0Out = 64,
600 MioOutSysrstCtrlAonKey1Out = 65,
601 MioOutSysrstCtrlAonKey2Out = 66,
Michael Schaffner3b1c0302021-04-02 18:01:15 -0700602 MioOutCount = 67
Michael Schaffner74c4ff22021-03-30 15:43:46 -0700603 } mio_out_e;
604
605 // Enumeration for DIO signals, used on both the top and chip-levels.
606 typedef enum {
607 DioSpiHost0Sd0 = 0,
608 DioSpiHost0Sd1 = 1,
609 DioSpiHost0Sd2 = 2,
610 DioSpiHost0Sd3 = 3,
611 DioSpiDeviceSd0 = 4,
612 DioSpiDeviceSd1 = 5,
613 DioSpiDeviceSd2 = 6,
614 DioSpiDeviceSd3 = 7,
615 DioUsbdevD = 8,
616 DioUsbdevDp = 9,
617 DioUsbdevDn = 10,
618 DioSpiDeviceSck = 11,
619 DioSpiDeviceCsb = 12,
620 DioUsbdevSense = 13,
621 DioSpiHost0Sck = 14,
622 DioSpiHost0Csb = 15,
623 DioUsbdevSe0 = 16,
624 DioUsbdevDpPullup = 17,
625 DioUsbdevDnPullup = 18,
626 DioUsbdevTxModeSe = 19,
627 DioUsbdevSuspend = 20,
Michael Schaffnere029a682021-04-06 16:21:30 -0700628 DioSysrstCtrlAonEcRstOutL = 21,
Michael Schaffner3b1c0302021-04-02 18:01:15 -0700629 DioSysrstCtrlAonPwrbOut = 22,
630 DioCount = 23
Michael Schaffner74c4ff22021-03-30 15:43:46 -0700631 } dio_e;
632
633 // Raw MIO/DIO input array indices on chip-level.
634 // TODO: Does not account for target specific stubbed/added pads.
635 // Need to make a target-specific package for those.
636 typedef enum {
637 MioPadIoa0 = 0,
638 MioPadIoa1 = 1,
639 MioPadIoa2 = 2,
640 MioPadIoa3 = 3,
641 MioPadIoa4 = 4,
642 MioPadIoa5 = 5,
Michael Schaffner3b1c0302021-04-02 18:01:15 -0700643 MioPadIoa6 = 6,
644 MioPadIoa7 = 7,
645 MioPadIoa8 = 8,
646 MioPadIob0 = 9,
647 MioPadIob1 = 10,
648 MioPadIob2 = 11,
649 MioPadIob3 = 12,
650 MioPadIob4 = 13,
651 MioPadIob5 = 14,
652 MioPadIob6 = 15,
653 MioPadIob7 = 16,
654 MioPadIob8 = 17,
655 MioPadIob9 = 18,
656 MioPadIob10 = 19,
657 MioPadIob11 = 20,
658 MioPadIob12 = 21,
659 MioPadIoc0 = 22,
660 MioPadIoc1 = 23,
661 MioPadIoc2 = 24,
662 MioPadIoc3 = 25,
663 MioPadIoc4 = 26,
664 MioPadIoc5 = 27,
665 MioPadIoc6 = 28,
666 MioPadIoc7 = 29,
667 MioPadIoc8 = 30,
668 MioPadIoc9 = 31,
669 MioPadIoc10 = 32,
670 MioPadIoc11 = 33,
671 MioPadIoc12 = 34,
672 MioPadIor0 = 35,
673 MioPadIor1 = 36,
674 MioPadIor2 = 37,
675 MioPadIor3 = 38,
676 MioPadIor4 = 39,
677 MioPadIor5 = 40,
678 MioPadIor6 = 41,
679 MioPadIor7 = 42,
680 MioPadIor10 = 43,
681 MioPadIor11 = 44,
682 MioPadIor12 = 45,
683 MioPadIor13 = 46,
Michael Schaffner74c4ff22021-03-30 15:43:46 -0700684 MioPadCount
685 } mio_pad_e;
686
687 typedef enum {
688 DioPadPorN = 0,
Michael Schaffner6c5f7a72021-04-09 11:51:10 -0700689 DioPadUsbP = 1,
690 DioPadUsbN = 2,
691 DioPadCc1 = 3,
692 DioPadCc2 = 4,
693 DioPadFlashTestVolt = 5,
694 DioPadFlashTestMode0 = 6,
695 DioPadFlashTestMode1 = 7,
696 DioPadSpiHostD0 = 8,
697 DioPadSpiHostD1 = 9,
698 DioPadSpiHostD2 = 10,
699 DioPadSpiHostD3 = 11,
700 DioPadSpiHostClk = 12,
701 DioPadSpiHostCsL = 13,
702 DioPadSpiDevD0 = 14,
703 DioPadSpiDevD1 = 15,
704 DioPadSpiDevD2 = 16,
705 DioPadSpiDevD3 = 17,
706 DioPadSpiDevClk = 18,
707 DioPadSpiDevCsL = 19,
708 DioPadIor8 = 20,
709 DioPadIor9 = 21,
Michael Schaffner74c4ff22021-03-30 15:43:46 -0700710 DioPadCount
711 } dio_pad_e;
Srikrishna Iyer5b4dde92020-05-14 00:02:15 -0700712
713 // TODO: Enumeration for PLIC Interrupt source peripheral.
714 // TODO: Enumeration for PLIC Interrupt Ids.
715
716endpackage