| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| // |
| // ------------------- W A R N I N G: A U T O - G E N E R A T E D C O D E !! -------------------// |
| // PLEASE DO NOT HAND-EDIT THIS FILE. IT HAS BEEN AUTO-GENERATED WITH THE FOLLOWING COMMAND: |
| // |
| // util/topgen.py -t hw/top_earlgrey/data/top_earlgrey.hjson \ |
| // -o hw/top_earlgrey/ \ |
| // --rnd_cnst_seed 4881560218908238235 |
| |
| package top_earlgrey_pkg; |
| /** |
| * Peripheral base address for uart0 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_UART0_BASE_ADDR = 32'h40000000; |
| |
| /** |
| * Peripheral size in bytes for uart0 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_UART0_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for uart1 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_UART1_BASE_ADDR = 32'h40010000; |
| |
| /** |
| * Peripheral size in bytes for uart1 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_UART1_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for uart2 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_UART2_BASE_ADDR = 32'h40020000; |
| |
| /** |
| * Peripheral size in bytes for uart2 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_UART2_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for uart3 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_UART3_BASE_ADDR = 32'h40030000; |
| |
| /** |
| * Peripheral size in bytes for uart3 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_UART3_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for gpio in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_GPIO_BASE_ADDR = 32'h40040000; |
| |
| /** |
| * Peripheral size in bytes for gpio in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_GPIO_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for spi_device in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SPI_DEVICE_BASE_ADDR = 32'h40050000; |
| |
| /** |
| * Peripheral size in bytes for spi_device in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SPI_DEVICE_SIZE_BYTES = 32'h2000; |
| |
| /** |
| * Peripheral base address for i2c0 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_I2C0_BASE_ADDR = 32'h40080000; |
| |
| /** |
| * Peripheral size in bytes for i2c0 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_I2C0_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for i2c1 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_I2C1_BASE_ADDR = 32'h40090000; |
| |
| /** |
| * Peripheral size in bytes for i2c1 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_I2C1_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for i2c2 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_I2C2_BASE_ADDR = 32'h400A0000; |
| |
| /** |
| * Peripheral size in bytes for i2c2 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_I2C2_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for pattgen in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_PATTGEN_BASE_ADDR = 32'h400E0000; |
| |
| /** |
| * Peripheral size in bytes for pattgen in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_PATTGEN_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for rv_timer in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RV_TIMER_BASE_ADDR = 32'h40100000; |
| |
| /** |
| * Peripheral size in bytes for rv_timer in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RV_TIMER_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for core device on otp_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_OTP_CTRL_CORE_BASE_ADDR = 32'h40130000; |
| |
| /** |
| * Peripheral size in bytes for core device on otp_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_OTP_CTRL_CORE_SIZE_BYTES = 32'h2000; |
| |
| /** |
| * Peripheral base address for prim device on otp_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_OTP_CTRL_PRIM_BASE_ADDR = 32'h40132000; |
| |
| /** |
| * Peripheral size in bytes for prim device on otp_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_OTP_CTRL_PRIM_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for lc_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_LC_CTRL_BASE_ADDR = 32'h40140000; |
| |
| /** |
| * Peripheral size in bytes for lc_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_LC_CTRL_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for alert_handler in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ALERT_HANDLER_BASE_ADDR = 32'h40150000; |
| |
| /** |
| * Peripheral size in bytes for alert_handler in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ALERT_HANDLER_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for spi_host0 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SPI_HOST0_BASE_ADDR = 32'h40300000; |
| |
| /** |
| * Peripheral size in bytes for spi_host0 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SPI_HOST0_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for spi_host1 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SPI_HOST1_BASE_ADDR = 32'h40310000; |
| |
| /** |
| * Peripheral size in bytes for spi_host1 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SPI_HOST1_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for usbdev in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_USBDEV_BASE_ADDR = 32'h40320000; |
| |
| /** |
| * Peripheral size in bytes for usbdev in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_USBDEV_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for pwrmgr_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_PWRMGR_AON_BASE_ADDR = 32'h40400000; |
| |
| /** |
| * Peripheral size in bytes for pwrmgr_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_PWRMGR_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for rstmgr_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RSTMGR_AON_BASE_ADDR = 32'h40410000; |
| |
| /** |
| * Peripheral size in bytes for rstmgr_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RSTMGR_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for clkmgr_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_CLKMGR_AON_BASE_ADDR = 32'h40420000; |
| |
| /** |
| * Peripheral size in bytes for clkmgr_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_CLKMGR_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for sysrst_ctrl_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SYSRST_CTRL_AON_BASE_ADDR = 32'h40430000; |
| |
| /** |
| * Peripheral size in bytes for sysrst_ctrl_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SYSRST_CTRL_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for adc_ctrl_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ADC_CTRL_AON_BASE_ADDR = 32'h40440000; |
| |
| /** |
| * Peripheral size in bytes for adc_ctrl_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ADC_CTRL_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for pwm_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_PWM_AON_BASE_ADDR = 32'h40450000; |
| |
| /** |
| * Peripheral size in bytes for pwm_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_PWM_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for pinmux_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_PINMUX_AON_BASE_ADDR = 32'h40460000; |
| |
| /** |
| * Peripheral size in bytes for pinmux_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_PINMUX_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for aon_timer_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_AON_TIMER_AON_BASE_ADDR = 32'h40470000; |
| |
| /** |
| * Peripheral size in bytes for aon_timer_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_AON_TIMER_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for ast in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_AST_BASE_ADDR = 32'h40480000; |
| |
| /** |
| * Peripheral size in bytes for ast in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_AST_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for sensor_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SENSOR_CTRL_BASE_ADDR = 32'h40490000; |
| |
| /** |
| * Peripheral size in bytes for sensor_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SENSOR_CTRL_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for regs device on sram_ctrl_ret_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SRAM_CTRL_RET_AON_REGS_BASE_ADDR = 32'h40500000; |
| |
| /** |
| * Peripheral size in bytes for regs device on sram_ctrl_ret_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SRAM_CTRL_RET_AON_REGS_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for ram device on sram_ctrl_ret_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SRAM_CTRL_RET_AON_RAM_BASE_ADDR = 32'h40600000; |
| |
| /** |
| * Peripheral size in bytes for ram device on sram_ctrl_ret_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SRAM_CTRL_RET_AON_RAM_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for core device on flash_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_FLASH_CTRL_CORE_BASE_ADDR = 32'h41000000; |
| |
| /** |
| * Peripheral size in bytes for core device on flash_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_FLASH_CTRL_CORE_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for prim device on flash_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_FLASH_CTRL_PRIM_BASE_ADDR = 32'h41008000; |
| |
| /** |
| * Peripheral size in bytes for prim device on flash_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_FLASH_CTRL_PRIM_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for mem device on flash_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_FLASH_CTRL_MEM_BASE_ADDR = 32'h20000000; |
| |
| /** |
| * Peripheral size in bytes for mem device on flash_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_FLASH_CTRL_MEM_SIZE_BYTES = 32'h100000; |
| |
| /** |
| * Peripheral base address for regs device on rv_dm in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RV_DM_REGS_BASE_ADDR = 32'h41200000; |
| |
| /** |
| * Peripheral size in bytes for regs device on rv_dm in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RV_DM_REGS_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for rom device on rv_dm in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RV_DM_ROM_BASE_ADDR = 32'h10000; |
| |
| /** |
| * Peripheral size in bytes for rom device on rv_dm in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RV_DM_ROM_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for rv_plic in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RV_PLIC_BASE_ADDR = 32'h48000000; |
| |
| /** |
| * Peripheral size in bytes for rv_plic in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RV_PLIC_SIZE_BYTES = 32'h8000000; |
| |
| /** |
| * Peripheral base address for aes in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_AES_BASE_ADDR = 32'h41100000; |
| |
| /** |
| * Peripheral size in bytes for aes in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_AES_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for hmac in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_HMAC_BASE_ADDR = 32'h41110000; |
| |
| /** |
| * Peripheral size in bytes for hmac in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_HMAC_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for kmac in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_KMAC_BASE_ADDR = 32'h41120000; |
| |
| /** |
| * Peripheral size in bytes for kmac in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_KMAC_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for otbn in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_OTBN_BASE_ADDR = 32'h41130000; |
| |
| /** |
| * Peripheral size in bytes for otbn in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_OTBN_SIZE_BYTES = 32'h10000; |
| |
| /** |
| * Peripheral base address for keymgr in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_KEYMGR_BASE_ADDR = 32'h41140000; |
| |
| /** |
| * Peripheral size in bytes for keymgr in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_KEYMGR_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for csrng in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_CSRNG_BASE_ADDR = 32'h41150000; |
| |
| /** |
| * Peripheral size in bytes for csrng in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_CSRNG_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for entropy_src in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ENTROPY_SRC_BASE_ADDR = 32'h41160000; |
| |
| /** |
| * Peripheral size in bytes for entropy_src in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ENTROPY_SRC_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for edn0 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_EDN0_BASE_ADDR = 32'h41170000; |
| |
| /** |
| * Peripheral size in bytes for edn0 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_EDN0_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for edn1 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_EDN1_BASE_ADDR = 32'h41180000; |
| |
| /** |
| * Peripheral size in bytes for edn1 in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_EDN1_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for regs device on sram_ctrl_main in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SRAM_CTRL_MAIN_REGS_BASE_ADDR = 32'h411C0000; |
| |
| /** |
| * Peripheral size in bytes for regs device on sram_ctrl_main in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SRAM_CTRL_MAIN_REGS_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for ram device on sram_ctrl_main in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SRAM_CTRL_MAIN_RAM_BASE_ADDR = 32'h10000000; |
| |
| /** |
| * Peripheral size in bytes for ram device on sram_ctrl_main in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_SRAM_CTRL_MAIN_RAM_SIZE_BYTES = 32'h20000; |
| |
| /** |
| * Peripheral base address for regs device on rom_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ROM_CTRL_REGS_BASE_ADDR = 32'h411E0000; |
| |
| /** |
| * Peripheral size in bytes for regs device on rom_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ROM_CTRL_REGS_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for rom device on rom_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ROM_CTRL_ROM_BASE_ADDR = 32'h8000; |
| |
| /** |
| * Peripheral size in bytes for rom device on rom_ctrl in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ROM_CTRL_ROM_SIZE_BYTES = 32'h8000; |
| |
| /** |
| * Peripheral base address for cfg device on rv_core_ibex in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RV_CORE_IBEX_CFG_BASE_ADDR = 32'h411F0000; |
| |
| /** |
| * Peripheral size in bytes for cfg device on rv_core_ibex in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RV_CORE_IBEX_CFG_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Memory base address for ram_ret_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RAM_RET_AON_BASE_ADDR = 32'h40600000; |
| |
| /** |
| * Memory size for ram_ret_aon in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RAM_RET_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Memory base address for eflash in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_EFLASH_BASE_ADDR = 32'h20000000; |
| |
| /** |
| * Memory size for eflash in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_EFLASH_SIZE_BYTES = 32'h100000; |
| |
| /** |
| * Memory base address for ram_main in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RAM_MAIN_BASE_ADDR = 32'h10000000; |
| |
| /** |
| * Memory size for ram_main in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_RAM_MAIN_SIZE_BYTES = 32'h20000; |
| |
| /** |
| * Memory base address for rom in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ROM_BASE_ADDR = 32'h8000; |
| |
| /** |
| * Memory size for rom in top earlgrey. |
| */ |
| parameter int unsigned TOP_EARLGREY_ROM_SIZE_BYTES = 32'h8000; |
| |
| |
| // Enumeration of alert modules |
| typedef enum int unsigned { |
| TopEarlgreyAlertPeripheralUart0 = 0, |
| TopEarlgreyAlertPeripheralUart1 = 1, |
| TopEarlgreyAlertPeripheralUart2 = 2, |
| TopEarlgreyAlertPeripheralUart3 = 3, |
| TopEarlgreyAlertPeripheralGpio = 4, |
| TopEarlgreyAlertPeripheralSpiDevice = 5, |
| TopEarlgreyAlertPeripheralI2c0 = 6, |
| TopEarlgreyAlertPeripheralI2c1 = 7, |
| TopEarlgreyAlertPeripheralI2c2 = 8, |
| TopEarlgreyAlertPeripheralPattgen = 9, |
| TopEarlgreyAlertPeripheralRvTimer = 10, |
| TopEarlgreyAlertPeripheralOtpCtrl = 11, |
| TopEarlgreyAlertPeripheralLcCtrl = 12, |
| TopEarlgreyAlertPeripheralSpiHost0 = 13, |
| TopEarlgreyAlertPeripheralSpiHost1 = 14, |
| TopEarlgreyAlertPeripheralUsbdev = 15, |
| TopEarlgreyAlertPeripheralPwrmgrAon = 16, |
| TopEarlgreyAlertPeripheralRstmgrAon = 17, |
| TopEarlgreyAlertPeripheralClkmgrAon = 18, |
| TopEarlgreyAlertPeripheralSysrstCtrlAon = 19, |
| TopEarlgreyAlertPeripheralAdcCtrlAon = 20, |
| TopEarlgreyAlertPeripheralPwmAon = 21, |
| TopEarlgreyAlertPeripheralPinmuxAon = 22, |
| TopEarlgreyAlertPeripheralAonTimerAon = 23, |
| TopEarlgreyAlertPeripheralSensorCtrl = 24, |
| TopEarlgreyAlertPeripheralSramCtrlRetAon = 25, |
| TopEarlgreyAlertPeripheralFlashCtrl = 26, |
| TopEarlgreyAlertPeripheralRvDm = 27, |
| TopEarlgreyAlertPeripheralRvPlic = 28, |
| TopEarlgreyAlertPeripheralAes = 29, |
| TopEarlgreyAlertPeripheralHmac = 30, |
| TopEarlgreyAlertPeripheralKmac = 31, |
| TopEarlgreyAlertPeripheralOtbn = 32, |
| TopEarlgreyAlertPeripheralKeymgr = 33, |
| TopEarlgreyAlertPeripheralCsrng = 34, |
| TopEarlgreyAlertPeripheralEntropySrc = 35, |
| TopEarlgreyAlertPeripheralEdn0 = 36, |
| TopEarlgreyAlertPeripheralEdn1 = 37, |
| TopEarlgreyAlertPeripheralSramCtrlMain = 38, |
| TopEarlgreyAlertPeripheralRomCtrl = 39, |
| TopEarlgreyAlertPeripheralRvCoreIbex = 40, |
| TopEarlgreyAlertPeripheralCount |
| } alert_peripheral_e; |
| |
| // Enumeration of alerts |
| typedef enum int unsigned { |
| TopEarlgreyAlertIdUart0FatalFault = 0, |
| TopEarlgreyAlertIdUart1FatalFault = 1, |
| TopEarlgreyAlertIdUart2FatalFault = 2, |
| TopEarlgreyAlertIdUart3FatalFault = 3, |
| TopEarlgreyAlertIdGpioFatalFault = 4, |
| TopEarlgreyAlertIdSpiDeviceFatalFault = 5, |
| TopEarlgreyAlertIdI2c0FatalFault = 6, |
| TopEarlgreyAlertIdI2c1FatalFault = 7, |
| TopEarlgreyAlertIdI2c2FatalFault = 8, |
| TopEarlgreyAlertIdPattgenFatalFault = 9, |
| TopEarlgreyAlertIdRvTimerFatalFault = 10, |
| TopEarlgreyAlertIdOtpCtrlFatalMacroError = 11, |
| TopEarlgreyAlertIdOtpCtrlFatalCheckError = 12, |
| TopEarlgreyAlertIdOtpCtrlFatalBusIntegError = 13, |
| TopEarlgreyAlertIdOtpCtrlFatalPrimOtpAlert = 14, |
| TopEarlgreyAlertIdOtpCtrlRecovPrimOtpAlert = 15, |
| TopEarlgreyAlertIdLcCtrlFatalProgError = 16, |
| TopEarlgreyAlertIdLcCtrlFatalStateError = 17, |
| TopEarlgreyAlertIdLcCtrlFatalBusIntegError = 18, |
| TopEarlgreyAlertIdSpiHost0FatalFault = 19, |
| TopEarlgreyAlertIdSpiHost1FatalFault = 20, |
| TopEarlgreyAlertIdUsbdevFatalFault = 21, |
| TopEarlgreyAlertIdPwrmgrAonFatalFault = 22, |
| TopEarlgreyAlertIdRstmgrAonFatalFault = 23, |
| TopEarlgreyAlertIdRstmgrAonFatalCnstyFault = 24, |
| TopEarlgreyAlertIdClkmgrAonRecovFault = 25, |
| TopEarlgreyAlertIdClkmgrAonFatalFault = 26, |
| TopEarlgreyAlertIdSysrstCtrlAonFatalFault = 27, |
| TopEarlgreyAlertIdAdcCtrlAonFatalFault = 28, |
| TopEarlgreyAlertIdPwmAonFatalFault = 29, |
| TopEarlgreyAlertIdPinmuxAonFatalFault = 30, |
| TopEarlgreyAlertIdAonTimerAonFatalFault = 31, |
| TopEarlgreyAlertIdSensorCtrlRecovAlert = 32, |
| TopEarlgreyAlertIdSensorCtrlFatalAlert = 33, |
| TopEarlgreyAlertIdSramCtrlRetAonFatalError = 34, |
| TopEarlgreyAlertIdFlashCtrlRecovErr = 35, |
| TopEarlgreyAlertIdFlashCtrlFatalStdErr = 36, |
| TopEarlgreyAlertIdFlashCtrlFatalErr = 37, |
| TopEarlgreyAlertIdFlashCtrlFatalPrimFlashAlert = 38, |
| TopEarlgreyAlertIdFlashCtrlRecovPrimFlashAlert = 39, |
| TopEarlgreyAlertIdRvDmFatalFault = 40, |
| TopEarlgreyAlertIdRvPlicFatalFault = 41, |
| TopEarlgreyAlertIdAesRecovCtrlUpdateErr = 42, |
| TopEarlgreyAlertIdAesFatalFault = 43, |
| TopEarlgreyAlertIdHmacFatalFault = 44, |
| TopEarlgreyAlertIdKmacRecovOperationErr = 45, |
| TopEarlgreyAlertIdKmacFatalFaultErr = 46, |
| TopEarlgreyAlertIdOtbnFatal = 47, |
| TopEarlgreyAlertIdOtbnRecov = 48, |
| TopEarlgreyAlertIdKeymgrRecovOperationErr = 49, |
| TopEarlgreyAlertIdKeymgrFatalFaultErr = 50, |
| TopEarlgreyAlertIdCsrngRecovAlert = 51, |
| TopEarlgreyAlertIdCsrngFatalAlert = 52, |
| TopEarlgreyAlertIdEntropySrcRecovAlert = 53, |
| TopEarlgreyAlertIdEntropySrcFatalAlert = 54, |
| TopEarlgreyAlertIdEdn0RecovAlert = 55, |
| TopEarlgreyAlertIdEdn0FatalAlert = 56, |
| TopEarlgreyAlertIdEdn1RecovAlert = 57, |
| TopEarlgreyAlertIdEdn1FatalAlert = 58, |
| TopEarlgreyAlertIdSramCtrlMainFatalError = 59, |
| TopEarlgreyAlertIdRomCtrlFatal = 60, |
| TopEarlgreyAlertIdRvCoreIbexFatalSwErr = 61, |
| TopEarlgreyAlertIdRvCoreIbexRecovSwErr = 62, |
| TopEarlgreyAlertIdRvCoreIbexFatalHwErr = 63, |
| TopEarlgreyAlertIdRvCoreIbexRecovHwErr = 64, |
| TopEarlgreyAlertIdCount |
| } alert_id_e; |
| |
| // Enumeration of IO power domains. |
| // Only used in ASIC target. |
| typedef enum logic [2:0] { |
| IoBankVcc = 0, |
| IoBankAvcc = 1, |
| IoBankVioa = 2, |
| IoBankViob = 3, |
| IoBankCount = 4 |
| } pwr_dom_e; |
| |
| // Enumeration for MIO signals on the top-level. |
| typedef enum int unsigned { |
| MioInGpioGpio0 = 0, |
| MioInGpioGpio1 = 1, |
| MioInGpioGpio2 = 2, |
| MioInGpioGpio3 = 3, |
| MioInGpioGpio4 = 4, |
| MioInGpioGpio5 = 5, |
| MioInGpioGpio6 = 6, |
| MioInGpioGpio7 = 7, |
| MioInGpioGpio8 = 8, |
| MioInGpioGpio9 = 9, |
| MioInGpioGpio10 = 10, |
| MioInGpioGpio11 = 11, |
| MioInGpioGpio12 = 12, |
| MioInGpioGpio13 = 13, |
| MioInGpioGpio14 = 14, |
| MioInGpioGpio15 = 15, |
| MioInGpioGpio16 = 16, |
| MioInGpioGpio17 = 17, |
| MioInGpioGpio18 = 18, |
| MioInGpioGpio19 = 19, |
| MioInGpioGpio20 = 20, |
| MioInGpioGpio21 = 21, |
| MioInGpioGpio22 = 22, |
| MioInGpioGpio23 = 23, |
| MioInGpioGpio24 = 24, |
| MioInGpioGpio25 = 25, |
| MioInGpioGpio26 = 26, |
| MioInGpioGpio27 = 27, |
| MioInGpioGpio28 = 28, |
| MioInGpioGpio29 = 29, |
| MioInGpioGpio30 = 30, |
| MioInGpioGpio31 = 31, |
| MioInI2c0Sda = 32, |
| MioInI2c0Scl = 33, |
| MioInI2c1Sda = 34, |
| MioInI2c1Scl = 35, |
| MioInI2c2Sda = 36, |
| MioInI2c2Scl = 37, |
| MioInSpiHost1Sd0 = 38, |
| MioInSpiHost1Sd1 = 39, |
| MioInSpiHost1Sd2 = 40, |
| MioInSpiHost1Sd3 = 41, |
| MioInUart0Rx = 42, |
| MioInUart1Rx = 43, |
| MioInUart2Rx = 44, |
| MioInUart3Rx = 45, |
| MioInSpiDeviceTpmCsb = 46, |
| MioInFlashCtrlTck = 47, |
| MioInFlashCtrlTms = 48, |
| MioInFlashCtrlTdi = 49, |
| MioInSysrstCtrlAonAcPresent = 50, |
| MioInSysrstCtrlAonKey0In = 51, |
| MioInSysrstCtrlAonKey1In = 52, |
| MioInSysrstCtrlAonKey2In = 53, |
| MioInSysrstCtrlAonPwrbIn = 54, |
| MioInSysrstCtrlAonLidOpen = 55, |
| MioInUsbdevSense = 56, |
| MioInCount = 57 |
| } mio_in_e; |
| |
| typedef enum { |
| MioOutGpioGpio0 = 0, |
| MioOutGpioGpio1 = 1, |
| MioOutGpioGpio2 = 2, |
| MioOutGpioGpio3 = 3, |
| MioOutGpioGpio4 = 4, |
| MioOutGpioGpio5 = 5, |
| MioOutGpioGpio6 = 6, |
| MioOutGpioGpio7 = 7, |
| MioOutGpioGpio8 = 8, |
| MioOutGpioGpio9 = 9, |
| MioOutGpioGpio10 = 10, |
| MioOutGpioGpio11 = 11, |
| MioOutGpioGpio12 = 12, |
| MioOutGpioGpio13 = 13, |
| MioOutGpioGpio14 = 14, |
| MioOutGpioGpio15 = 15, |
| MioOutGpioGpio16 = 16, |
| MioOutGpioGpio17 = 17, |
| MioOutGpioGpio18 = 18, |
| MioOutGpioGpio19 = 19, |
| MioOutGpioGpio20 = 20, |
| MioOutGpioGpio21 = 21, |
| MioOutGpioGpio22 = 22, |
| MioOutGpioGpio23 = 23, |
| MioOutGpioGpio24 = 24, |
| MioOutGpioGpio25 = 25, |
| MioOutGpioGpio26 = 26, |
| MioOutGpioGpio27 = 27, |
| MioOutGpioGpio28 = 28, |
| MioOutGpioGpio29 = 29, |
| MioOutGpioGpio30 = 30, |
| MioOutGpioGpio31 = 31, |
| MioOutI2c0Sda = 32, |
| MioOutI2c0Scl = 33, |
| MioOutI2c1Sda = 34, |
| MioOutI2c1Scl = 35, |
| MioOutI2c2Sda = 36, |
| MioOutI2c2Scl = 37, |
| MioOutSpiHost1Sd0 = 38, |
| MioOutSpiHost1Sd1 = 39, |
| MioOutSpiHost1Sd2 = 40, |
| MioOutSpiHost1Sd3 = 41, |
| MioOutUart0Tx = 42, |
| MioOutUart1Tx = 43, |
| MioOutUart2Tx = 44, |
| MioOutUart3Tx = 45, |
| MioOutPattgenPda0Tx = 46, |
| MioOutPattgenPcl0Tx = 47, |
| MioOutPattgenPda1Tx = 48, |
| MioOutPattgenPcl1Tx = 49, |
| MioOutSpiHost1Sck = 50, |
| MioOutSpiHost1Csb = 51, |
| MioOutFlashCtrlTdo = 52, |
| MioOutSensorCtrlAstDebugOut0 = 53, |
| MioOutSensorCtrlAstDebugOut1 = 54, |
| MioOutSensorCtrlAstDebugOut2 = 55, |
| MioOutSensorCtrlAstDebugOut3 = 56, |
| MioOutSensorCtrlAstDebugOut4 = 57, |
| MioOutSensorCtrlAstDebugOut5 = 58, |
| MioOutSensorCtrlAstDebugOut6 = 59, |
| MioOutSensorCtrlAstDebugOut7 = 60, |
| MioOutSensorCtrlAstDebugOut8 = 61, |
| MioOutPwmAonPwm0 = 62, |
| MioOutPwmAonPwm1 = 63, |
| MioOutPwmAonPwm2 = 64, |
| MioOutPwmAonPwm3 = 65, |
| MioOutPwmAonPwm4 = 66, |
| MioOutPwmAonPwm5 = 67, |
| MioOutOtpCtrlTest0 = 68, |
| MioOutSysrstCtrlAonBatDisable = 69, |
| MioOutSysrstCtrlAonKey0Out = 70, |
| MioOutSysrstCtrlAonKey1Out = 71, |
| MioOutSysrstCtrlAonKey2Out = 72, |
| MioOutSysrstCtrlAonPwrbOut = 73, |
| MioOutSysrstCtrlAonZ3Wakeup = 74, |
| MioOutCount = 75 |
| } mio_out_e; |
| |
| // Enumeration for DIO signals, used on both the top and chip-levels. |
| typedef enum int unsigned { |
| DioUsbdevUsbDp = 0, |
| DioUsbdevUsbDn = 1, |
| DioSpiHost0Sd0 = 2, |
| DioSpiHost0Sd1 = 3, |
| DioSpiHost0Sd2 = 4, |
| DioSpiHost0Sd3 = 5, |
| DioSpiDeviceSd0 = 6, |
| DioSpiDeviceSd1 = 7, |
| DioSpiDeviceSd2 = 8, |
| DioSpiDeviceSd3 = 9, |
| DioSysrstCtrlAonEcRstL = 10, |
| DioSysrstCtrlAonFlashWpL = 11, |
| DioSpiDeviceSck = 12, |
| DioSpiDeviceCsb = 13, |
| DioSpiHost0Sck = 14, |
| DioSpiHost0Csb = 15, |
| DioCount = 16 |
| } dio_e; |
| |
| // Raw MIO/DIO input array indices on chip-level. |
| // TODO: Does not account for target specific stubbed/added pads. |
| // Need to make a target-specific package for those. |
| typedef enum int unsigned { |
| MioPadIoa0 = 0, |
| MioPadIoa1 = 1, |
| MioPadIoa2 = 2, |
| MioPadIoa3 = 3, |
| MioPadIoa4 = 4, |
| MioPadIoa5 = 5, |
| MioPadIoa6 = 6, |
| MioPadIoa7 = 7, |
| MioPadIoa8 = 8, |
| MioPadIob0 = 9, |
| MioPadIob1 = 10, |
| MioPadIob2 = 11, |
| MioPadIob3 = 12, |
| MioPadIob4 = 13, |
| MioPadIob5 = 14, |
| MioPadIob6 = 15, |
| MioPadIob7 = 16, |
| MioPadIob8 = 17, |
| MioPadIob9 = 18, |
| MioPadIob10 = 19, |
| MioPadIob11 = 20, |
| MioPadIob12 = 21, |
| MioPadIoc0 = 22, |
| MioPadIoc1 = 23, |
| MioPadIoc2 = 24, |
| MioPadIoc3 = 25, |
| MioPadIoc4 = 26, |
| MioPadIoc5 = 27, |
| MioPadIoc6 = 28, |
| MioPadIoc7 = 29, |
| MioPadIoc8 = 30, |
| MioPadIoc9 = 31, |
| MioPadIoc10 = 32, |
| MioPadIoc11 = 33, |
| MioPadIoc12 = 34, |
| MioPadIor0 = 35, |
| MioPadIor1 = 36, |
| MioPadIor2 = 37, |
| MioPadIor3 = 38, |
| MioPadIor4 = 39, |
| MioPadIor5 = 40, |
| MioPadIor6 = 41, |
| MioPadIor7 = 42, |
| MioPadIor10 = 43, |
| MioPadIor11 = 44, |
| MioPadIor12 = 45, |
| MioPadIor13 = 46, |
| MioPadCount |
| } mio_pad_e; |
| |
| typedef enum int unsigned { |
| DioPadPorN = 0, |
| DioPadUsbP = 1, |
| DioPadUsbN = 2, |
| DioPadCc1 = 3, |
| DioPadCc2 = 4, |
| DioPadFlashTestVolt = 5, |
| DioPadFlashTestMode0 = 6, |
| DioPadFlashTestMode1 = 7, |
| DioPadOtpExtVolt = 8, |
| DioPadSpiHostD0 = 9, |
| DioPadSpiHostD1 = 10, |
| DioPadSpiHostD2 = 11, |
| DioPadSpiHostD3 = 12, |
| DioPadSpiHostClk = 13, |
| DioPadSpiHostCsL = 14, |
| DioPadSpiDevD0 = 15, |
| DioPadSpiDevD1 = 16, |
| DioPadSpiDevD2 = 17, |
| DioPadSpiDevD3 = 18, |
| DioPadSpiDevClk = 19, |
| DioPadSpiDevCsL = 20, |
| DioPadIor8 = 21, |
| DioPadIor9 = 22, |
| DioPadCount |
| } dio_pad_e; |
| |
| // TODO: Enumeration for PLIC Interrupt source peripheral. |
| // TODO: Enumeration for PLIC Interrupt Ids. |
| |
| endpackage |