| // 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_matcha.py -t hw/top_matcha/data/top_matcha.hjson \ |
| // -o hw/top_matcha/ \ |
| // --rnd_cnst_seed 4881560218908238235 |
| |
| package top_matcha_pkg; |
| /** |
| * Peripheral base address for uart0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_UART0_BASE_ADDR = 32'h40000000; |
| |
| /** |
| * Peripheral size in bytes for uart0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_UART0_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for uart1 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_UART1_BASE_ADDR = 32'h40010000; |
| |
| /** |
| * Peripheral size in bytes for uart1 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_UART1_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for uart2 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_UART2_BASE_ADDR = 32'h40020000; |
| |
| /** |
| * Peripheral size in bytes for uart2 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_UART2_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for uart3 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_UART3_BASE_ADDR = 32'h40030000; |
| |
| /** |
| * Peripheral size in bytes for uart3 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_UART3_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for gpio in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_GPIO_BASE_ADDR = 32'h40040000; |
| |
| /** |
| * Peripheral size in bytes for gpio in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_GPIO_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for spi_device in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SPI_DEVICE_BASE_ADDR = 32'h40050000; |
| |
| /** |
| * Peripheral size in bytes for spi_device in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SPI_DEVICE_SIZE_BYTES = 32'h2000; |
| |
| /** |
| * Peripheral base address for i2c0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_I2C0_BASE_ADDR = 32'h40080000; |
| |
| /** |
| * Peripheral size in bytes for i2c0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_I2C0_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for i2c1 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_I2C1_BASE_ADDR = 32'h40090000; |
| |
| /** |
| * Peripheral size in bytes for i2c1 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_I2C1_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for i2c2 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_I2C2_BASE_ADDR = 32'h400A0000; |
| |
| /** |
| * Peripheral size in bytes for i2c2 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_I2C2_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for pattgen in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_PATTGEN_BASE_ADDR = 32'h400E0000; |
| |
| /** |
| * Peripheral size in bytes for pattgen in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_PATTGEN_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for rv_timer in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_TIMER_BASE_ADDR = 32'h40100000; |
| |
| /** |
| * Peripheral size in bytes for rv_timer in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_TIMER_SIZE_BYTES = 32'h200; |
| |
| /** |
| * Peripheral base address for core device on otp_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_OTP_CTRL_CORE_BASE_ADDR = 32'h40130000; |
| |
| /** |
| * Peripheral size in bytes for core device on otp_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_OTP_CTRL_CORE_SIZE_BYTES = 32'h2000; |
| |
| /** |
| * Peripheral base address for prim device on otp_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_OTP_CTRL_PRIM_BASE_ADDR = 32'h40132000; |
| |
| /** |
| * Peripheral size in bytes for prim device on otp_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_OTP_CTRL_PRIM_SIZE_BYTES = 32'h20; |
| |
| /** |
| * Peripheral base address for lc_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_LC_CTRL_BASE_ADDR = 32'h40140000; |
| |
| /** |
| * Peripheral size in bytes for lc_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_LC_CTRL_SIZE_BYTES = 32'h100; |
| |
| /** |
| * Peripheral base address for alert_handler in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ALERT_HANDLER_BASE_ADDR = 32'h40150000; |
| |
| /** |
| * Peripheral size in bytes for alert_handler in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ALERT_HANDLER_SIZE_BYTES = 32'h800; |
| |
| /** |
| * Peripheral base address for spi_host0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SPI_HOST0_BASE_ADDR = 32'h40300000; |
| |
| /** |
| * Peripheral size in bytes for spi_host0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SPI_HOST0_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for spi_host1 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SPI_HOST1_BASE_ADDR = 32'h40310000; |
| |
| /** |
| * Peripheral size in bytes for spi_host1 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SPI_HOST1_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for usbdev in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_USBDEV_BASE_ADDR = 32'h40320000; |
| |
| /** |
| * Peripheral size in bytes for usbdev in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_USBDEV_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for pwrmgr_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_PWRMGR_AON_BASE_ADDR = 32'h40400000; |
| |
| /** |
| * Peripheral size in bytes for pwrmgr_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_PWRMGR_AON_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for rstmgr_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RSTMGR_AON_BASE_ADDR = 32'h40410000; |
| |
| /** |
| * Peripheral size in bytes for rstmgr_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RSTMGR_AON_SIZE_BYTES = 32'h100; |
| |
| /** |
| * Peripheral base address for clkmgr_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_CLKMGR_AON_BASE_ADDR = 32'h40420000; |
| |
| /** |
| * Peripheral size in bytes for clkmgr_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_CLKMGR_AON_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for sysrst_ctrl_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SYSRST_CTRL_AON_BASE_ADDR = 32'h40430000; |
| |
| /** |
| * Peripheral size in bytes for sysrst_ctrl_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SYSRST_CTRL_AON_SIZE_BYTES = 32'h100; |
| |
| /** |
| * Peripheral base address for adc_ctrl_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ADC_CTRL_AON_BASE_ADDR = 32'h40440000; |
| |
| /** |
| * Peripheral size in bytes for adc_ctrl_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ADC_CTRL_AON_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for pwm_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_PWM_AON_BASE_ADDR = 32'h40450000; |
| |
| /** |
| * Peripheral size in bytes for pwm_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_PWM_AON_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for pinmux_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_PINMUX_AON_BASE_ADDR = 32'h40460000; |
| |
| /** |
| * Peripheral size in bytes for pinmux_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_PINMUX_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for aon_timer_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_AON_TIMER_AON_BASE_ADDR = 32'h40470000; |
| |
| /** |
| * Peripheral size in bytes for aon_timer_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_AON_TIMER_AON_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for ast in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_AST_BASE_ADDR = 32'h40480000; |
| |
| /** |
| * Peripheral size in bytes for ast in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_AST_SIZE_BYTES = 32'h400; |
| |
| /** |
| * Peripheral base address for sensor_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SENSOR_CTRL_BASE_ADDR = 32'h40490000; |
| |
| /** |
| * Peripheral size in bytes for sensor_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SENSOR_CTRL_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for regs device on sram_ctrl_ret_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SRAM_CTRL_RET_AON_REGS_BASE_ADDR = 32'h40500000; |
| |
| /** |
| * Peripheral size in bytes for regs device on sram_ctrl_ret_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SRAM_CTRL_RET_AON_REGS_SIZE_BYTES = 32'h20; |
| |
| /** |
| * Peripheral base address for ram device on sram_ctrl_ret_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SRAM_CTRL_RET_AON_RAM_BASE_ADDR = 32'h40600000; |
| |
| /** |
| * Peripheral size in bytes for ram device on sram_ctrl_ret_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SRAM_CTRL_RET_AON_RAM_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for core device on flash_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_FLASH_CTRL_CORE_BASE_ADDR = 32'h41000000; |
| |
| /** |
| * Peripheral size in bytes for core device on flash_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_FLASH_CTRL_CORE_SIZE_BYTES = 32'h200; |
| |
| /** |
| * Peripheral base address for prim device on flash_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_FLASH_CTRL_PRIM_BASE_ADDR = 32'h41008000; |
| |
| /** |
| * Peripheral size in bytes for prim device on flash_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_FLASH_CTRL_PRIM_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for mem device on flash_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_FLASH_CTRL_MEM_BASE_ADDR = 32'h20000000; |
| |
| /** |
| * Peripheral size in bytes for mem device on flash_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_FLASH_CTRL_MEM_SIZE_BYTES = 32'h100000; |
| |
| /** |
| * Peripheral base address for regs device on rv_dm in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_DM_REGS_BASE_ADDR = 32'h6000; |
| |
| /** |
| * Peripheral size in bytes for regs device on rv_dm in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_DM_REGS_SIZE_BYTES = 32'h4; |
| |
| /** |
| * Peripheral base address for mem device on rv_dm in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_DM_MEM_BASE_ADDR = 32'h4000; |
| |
| /** |
| * Peripheral size in bytes for mem device on rv_dm in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_DM_MEM_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for rv_plic in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_PLIC_BASE_ADDR = 32'h48000000; |
| |
| /** |
| * Peripheral size in bytes for rv_plic in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_PLIC_SIZE_BYTES = 32'h8000000; |
| |
| /** |
| * Peripheral base address for aes in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_AES_BASE_ADDR = 32'h41100000; |
| |
| /** |
| * Peripheral size in bytes for aes in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_AES_SIZE_BYTES = 32'h100; |
| |
| /** |
| * Peripheral base address for hmac in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_HMAC_BASE_ADDR = 32'h41110000; |
| |
| /** |
| * Peripheral size in bytes for hmac in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_HMAC_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for kmac in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_KMAC_BASE_ADDR = 32'h41120000; |
| |
| /** |
| * Peripheral size in bytes for kmac in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_KMAC_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for otbn in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_OTBN_BASE_ADDR = 32'h41130000; |
| |
| /** |
| * Peripheral size in bytes for otbn in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_OTBN_SIZE_BYTES = 32'h10000; |
| |
| /** |
| * Peripheral base address for keymgr in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_KEYMGR_BASE_ADDR = 32'h41140000; |
| |
| /** |
| * Peripheral size in bytes for keymgr in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_KEYMGR_SIZE_BYTES = 32'h100; |
| |
| /** |
| * Peripheral base address for csrng in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_CSRNG_BASE_ADDR = 32'h41150000; |
| |
| /** |
| * Peripheral size in bytes for csrng in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_CSRNG_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for entropy_src in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ENTROPY_SRC_BASE_ADDR = 32'h41160000; |
| |
| /** |
| * Peripheral size in bytes for entropy_src in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ENTROPY_SRC_SIZE_BYTES = 32'h100; |
| |
| /** |
| * Peripheral base address for edn0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_EDN0_BASE_ADDR = 32'h41170000; |
| |
| /** |
| * Peripheral size in bytes for edn0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_EDN0_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for edn1 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_EDN1_BASE_ADDR = 32'h41180000; |
| |
| /** |
| * Peripheral size in bytes for edn1 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_EDN1_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for regs device on sram_ctrl_main in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SRAM_CTRL_MAIN_REGS_BASE_ADDR = 32'h411C0000; |
| |
| /** |
| * Peripheral size in bytes for regs device on sram_ctrl_main in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SRAM_CTRL_MAIN_REGS_SIZE_BYTES = 32'h20; |
| |
| /** |
| * Peripheral base address for ram device on sram_ctrl_main in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SRAM_CTRL_MAIN_RAM_BASE_ADDR = 32'h10000000; |
| |
| /** |
| * Peripheral size in bytes for ram device on sram_ctrl_main in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SRAM_CTRL_MAIN_RAM_SIZE_BYTES = 32'h20000; |
| |
| /** |
| * Peripheral base address for regs device on rom_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ROM_CTRL_REGS_BASE_ADDR = 32'h411E0000; |
| |
| /** |
| * Peripheral size in bytes for regs device on rom_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ROM_CTRL_REGS_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for rom device on rom_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ROM_CTRL_ROM_BASE_ADDR = 32'h8000; |
| |
| /** |
| * Peripheral size in bytes for rom device on rom_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ROM_CTRL_ROM_SIZE_BYTES = 32'h8000; |
| |
| /** |
| * Peripheral base address for cfg device on rv_core_ibex_sec in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_CORE_IBEX_SEC_CFG_BASE_ADDR = 32'h411F0000; |
| |
| /** |
| * Peripheral size in bytes for cfg device on rv_core_ibex_sec in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_CORE_IBEX_SEC_CFG_SIZE_BYTES = 32'h100; |
| |
| /** |
| * Peripheral base address for dma0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_DMA0_BASE_ADDR = 32'h40200000; |
| |
| /** |
| * Peripheral size in bytes for dma0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_DMA0_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for smc_uart in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SMC_UART_BASE_ADDR = 32'h54000000; |
| |
| /** |
| * Peripheral size in bytes for smc_uart in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SMC_UART_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for rv_timer_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_TIMER_SMC_BASE_ADDR = 32'h54010000; |
| |
| /** |
| * Peripheral size in bytes for rv_timer_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_TIMER_SMC_SIZE_BYTES = 32'h200; |
| |
| /** |
| * Peripheral base address for smc_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SMC_CTRL_BASE_ADDR = 32'h54020000; |
| |
| /** |
| * Peripheral size in bytes for smc_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SMC_CTRL_SIZE_BYTES = 32'h8; |
| |
| /** |
| * Peripheral base address for cam_i2c in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_CAM_I2C_BASE_ADDR = 32'h54040000; |
| |
| /** |
| * Peripheral size in bytes for cam_i2c in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_CAM_I2C_SIZE_BYTES = 32'h80; |
| |
| /** |
| * Peripheral base address for cam_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_CAM_CTRL_BASE_ADDR = 32'h54050000; |
| |
| /** |
| * Peripheral size in bytes for cam_ctrl in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_CAM_CTRL_SIZE_BYTES = 32'h10; |
| |
| /** |
| * Peripheral base address for isp_wrapper in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ISP_WRAPPER_BASE_ADDR = 32'h54060000; |
| |
| /** |
| * Peripheral size in bytes for isp_wrapper in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ISP_WRAPPER_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Peripheral base address for dma_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_DMA_SMC_BASE_ADDR = 32'h54070000; |
| |
| /** |
| * Peripheral size in bytes for dma_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_DMA_SMC_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for rv_plic_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_PLIC_SMC_BASE_ADDR = 32'h60000000; |
| |
| /** |
| * Peripheral size in bytes for rv_plic_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_PLIC_SMC_SIZE_BYTES = 32'h8000000; |
| |
| /** |
| * Peripheral base address for tlul_mailbox_sec in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_TLUL_MAILBOX_SEC_BASE_ADDR = 32'h40800000; |
| |
| /** |
| * Peripheral size in bytes for tlul_mailbox_sec in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_TLUL_MAILBOX_SEC_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for tlul_mailbox_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_TLUL_MAILBOX_SMC_BASE_ADDR = 32'h540F1000; |
| |
| /** |
| * Peripheral size in bytes for tlul_mailbox_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_TLUL_MAILBOX_SMC_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for core device on ml_top in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ML_TOP_CORE_BASE_ADDR = 32'h5C000000; |
| |
| /** |
| * Peripheral size in bytes for core device on ml_top in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ML_TOP_CORE_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for dmem device on ml_top in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ML_TOP_DMEM_BASE_ADDR = 32'h5A000000; |
| |
| /** |
| * Peripheral size in bytes for dmem device on ml_top in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ML_TOP_DMEM_SIZE_BYTES = 32'h400000; |
| |
| /** |
| * Peripheral base address for spi_host2 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SPI_HOST2_BASE_ADDR = 32'h54090000; |
| |
| /** |
| * Peripheral size in bytes for spi_host2 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_SPI_HOST2_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for rv_timer_smc2 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_TIMER_SMC2_BASE_ADDR = 32'h54011000; |
| |
| /** |
| * Peripheral size in bytes for rv_timer_smc2 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_TIMER_SMC2_SIZE_BYTES = 32'h200; |
| |
| /** |
| * Peripheral base address for i2s0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_I2S0_BASE_ADDR = 32'h54100000; |
| |
| /** |
| * Peripheral size in bytes for i2s0 in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_I2S0_SIZE_BYTES = 32'h40; |
| |
| /** |
| * Peripheral base address for cfg device on rv_core_ibex_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_CORE_IBEX_SMC_CFG_BASE_ADDR = 32'h54030000; |
| |
| /** |
| * Peripheral size in bytes for cfg device on rv_core_ibex_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RV_CORE_IBEX_SMC_CFG_SIZE_BYTES = 32'h100; |
| |
| /** |
| * Memory base address for ram_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RAM_SMC_BASE_ADDR = 32'h50000000; |
| |
| /** |
| * Memory size for ram_smc in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RAM_SMC_SIZE_BYTES = 32'h400000; |
| |
| /** |
| * Memory base address for ram_ret_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RAM_RET_AON_BASE_ADDR = 32'h40600000; |
| |
| /** |
| * Memory size for ram_ret_aon in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RAM_RET_AON_SIZE_BYTES = 32'h1000; |
| |
| /** |
| * Memory base address for eflash in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_EFLASH_BASE_ADDR = 32'h20000000; |
| |
| /** |
| * Memory size for eflash in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_EFLASH_SIZE_BYTES = 32'h100000; |
| |
| /** |
| * Memory base address for ram_main in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RAM_MAIN_BASE_ADDR = 32'h10000000; |
| |
| /** |
| * Memory size for ram_main in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RAM_MAIN_SIZE_BYTES = 32'h20000; |
| |
| /** |
| * Memory base address for rom in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ROM_BASE_ADDR = 32'h8000; |
| |
| /** |
| * Memory size for rom in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_ROM_SIZE_BYTES = 32'h8000; |
| |
| /** |
| * Memory base address for ram_ml_dmem in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RAM_ML_DMEM_BASE_ADDR = 32'h5a000000; |
| |
| /** |
| * Memory size for ram_ml_dmem in top matcha. |
| */ |
| parameter int unsigned TOP_MATCHA_RAM_ML_DMEM_SIZE_BYTES = 32'h400000; |
| |
| |
| // Enumeration of alert modules |
| typedef enum int unsigned { |
| TopMatchaAlertPeripheralUart0 = 0, |
| TopMatchaAlertPeripheralUart1 = 1, |
| TopMatchaAlertPeripheralUart2 = 2, |
| TopMatchaAlertPeripheralUart3 = 3, |
| TopMatchaAlertPeripheralGpio = 4, |
| TopMatchaAlertPeripheralSpiDevice = 5, |
| TopMatchaAlertPeripheralI2c0 = 6, |
| TopMatchaAlertPeripheralI2c1 = 7, |
| TopMatchaAlertPeripheralI2c2 = 8, |
| TopMatchaAlertPeripheralPattgen = 9, |
| TopMatchaAlertPeripheralRvTimer = 10, |
| TopMatchaAlertPeripheralOtpCtrl = 11, |
| TopMatchaAlertPeripheralLcCtrl = 12, |
| TopMatchaAlertPeripheralSpiHost0 = 13, |
| TopMatchaAlertPeripheralSpiHost1 = 14, |
| TopMatchaAlertPeripheralUsbdev = 15, |
| TopMatchaAlertPeripheralPwrmgrAon = 16, |
| TopMatchaAlertPeripheralRstmgrAon = 17, |
| TopMatchaAlertPeripheralClkmgrAon = 18, |
| TopMatchaAlertPeripheralSysrstCtrlAon = 19, |
| TopMatchaAlertPeripheralAdcCtrlAon = 20, |
| TopMatchaAlertPeripheralPwmAon = 21, |
| TopMatchaAlertPeripheralPinmuxAon = 22, |
| TopMatchaAlertPeripheralAonTimerAon = 23, |
| TopMatchaAlertPeripheralSensorCtrl = 24, |
| TopMatchaAlertPeripheralSramCtrlRetAon = 25, |
| TopMatchaAlertPeripheralFlashCtrl = 26, |
| TopMatchaAlertPeripheralRvDm = 27, |
| TopMatchaAlertPeripheralRvPlic = 28, |
| TopMatchaAlertPeripheralAes = 29, |
| TopMatchaAlertPeripheralHmac = 30, |
| TopMatchaAlertPeripheralKmac = 31, |
| TopMatchaAlertPeripheralOtbn = 32, |
| TopMatchaAlertPeripheralKeymgr = 33, |
| TopMatchaAlertPeripheralCsrng = 34, |
| TopMatchaAlertPeripheralEntropySrc = 35, |
| TopMatchaAlertPeripheralEdn0 = 36, |
| TopMatchaAlertPeripheralEdn1 = 37, |
| TopMatchaAlertPeripheralSramCtrlMain = 38, |
| TopMatchaAlertPeripheralRomCtrl = 39, |
| TopMatchaAlertPeripheralRvCoreIbexSec = 40, |
| TopMatchaAlertPeripheralSmcUart = 41, |
| TopMatchaAlertPeripheralRvTimerSmc = 42, |
| TopMatchaAlertPeripheralCamI2c = 43, |
| TopMatchaAlertPeripheralRvPlicSmc = 44, |
| TopMatchaAlertPeripheralSpiHost2 = 45, |
| TopMatchaAlertPeripheralRvTimerSmc2 = 46, |
| TopMatchaAlertPeripheralRvCoreIbexSmc = 47, |
| TopEarlgreyAlertPeripheralCount |
| } alert_peripheral_e; |
| |
| // Enumeration of alerts |
| typedef enum int unsigned { |
| TopMatchaAlertIdUart0FatalFault = 0, |
| TopMatchaAlertIdUart1FatalFault = 1, |
| TopMatchaAlertIdUart2FatalFault = 2, |
| TopMatchaAlertIdUart3FatalFault = 3, |
| TopMatchaAlertIdGpioFatalFault = 4, |
| TopMatchaAlertIdSpiDeviceFatalFault = 5, |
| TopMatchaAlertIdI2c0FatalFault = 6, |
| TopMatchaAlertIdI2c1FatalFault = 7, |
| TopMatchaAlertIdI2c2FatalFault = 8, |
| TopMatchaAlertIdPattgenFatalFault = 9, |
| TopMatchaAlertIdRvTimerFatalFault = 10, |
| TopMatchaAlertIdOtpCtrlFatalMacroError = 11, |
| TopMatchaAlertIdOtpCtrlFatalCheckError = 12, |
| TopMatchaAlertIdOtpCtrlFatalBusIntegError = 13, |
| TopMatchaAlertIdOtpCtrlFatalPrimOtpAlert = 14, |
| TopMatchaAlertIdOtpCtrlRecovPrimOtpAlert = 15, |
| TopMatchaAlertIdLcCtrlFatalProgError = 16, |
| TopMatchaAlertIdLcCtrlFatalStateError = 17, |
| TopMatchaAlertIdLcCtrlFatalBusIntegError = 18, |
| TopMatchaAlertIdSpiHost0FatalFault = 19, |
| TopMatchaAlertIdSpiHost1FatalFault = 20, |
| TopMatchaAlertIdUsbdevFatalFault = 21, |
| TopMatchaAlertIdPwrmgrAonFatalFault = 22, |
| TopMatchaAlertIdRstmgrAonFatalFault = 23, |
| TopMatchaAlertIdRstmgrAonFatalCnstyFault = 24, |
| TopMatchaAlertIdClkmgrAonRecovFault = 25, |
| TopMatchaAlertIdClkmgrAonFatalFault = 26, |
| TopMatchaAlertIdSysrstCtrlAonFatalFault = 27, |
| TopMatchaAlertIdAdcCtrlAonFatalFault = 28, |
| TopMatchaAlertIdPwmAonFatalFault = 29, |
| TopMatchaAlertIdPinmuxAonFatalFault = 30, |
| TopMatchaAlertIdAonTimerAonFatalFault = 31, |
| TopMatchaAlertIdSensorCtrlRecovAlert = 32, |
| TopMatchaAlertIdSensorCtrlFatalAlert = 33, |
| TopMatchaAlertIdSramCtrlRetAonFatalError = 34, |
| TopMatchaAlertIdFlashCtrlRecovErr = 35, |
| TopMatchaAlertIdFlashCtrlFatalStdErr = 36, |
| TopMatchaAlertIdFlashCtrlFatalErr = 37, |
| TopMatchaAlertIdFlashCtrlFatalPrimFlashAlert = 38, |
| TopMatchaAlertIdFlashCtrlRecovPrimFlashAlert = 39, |
| TopMatchaAlertIdRvDmFatalFault = 40, |
| TopMatchaAlertIdRvPlicFatalFault = 41, |
| TopMatchaAlertIdAesRecovCtrlUpdateErr = 42, |
| TopMatchaAlertIdAesFatalFault = 43, |
| TopMatchaAlertIdHmacFatalFault = 44, |
| TopMatchaAlertIdKmacRecovOperationErr = 45, |
| TopMatchaAlertIdKmacFatalFaultErr = 46, |
| TopMatchaAlertIdOtbnFatal = 47, |
| TopMatchaAlertIdOtbnRecov = 48, |
| TopMatchaAlertIdKeymgrRecovOperationErr = 49, |
| TopMatchaAlertIdKeymgrFatalFaultErr = 50, |
| TopMatchaAlertIdCsrngRecovAlert = 51, |
| TopMatchaAlertIdCsrngFatalAlert = 52, |
| TopMatchaAlertIdEntropySrcRecovAlert = 53, |
| TopMatchaAlertIdEntropySrcFatalAlert = 54, |
| TopMatchaAlertIdEdn0RecovAlert = 55, |
| TopMatchaAlertIdEdn0FatalAlert = 56, |
| TopMatchaAlertIdEdn1RecovAlert = 57, |
| TopMatchaAlertIdEdn1FatalAlert = 58, |
| TopMatchaAlertIdSramCtrlMainFatalError = 59, |
| TopMatchaAlertIdRomCtrlFatal = 60, |
| TopMatchaAlertIdRvCoreIbexSecFatalSwErr = 61, |
| TopMatchaAlertIdRvCoreIbexSecRecovSwErr = 62, |
| TopMatchaAlertIdRvCoreIbexSecFatalHwErr = 63, |
| TopMatchaAlertIdRvCoreIbexSecRecovHwErr = 64, |
| TopMatchaAlertIdSmcUartFatalFault = 65, |
| TopMatchaAlertIdRvTimerSmcFatalFault = 66, |
| TopMatchaAlertIdCamI2cFatalFault = 67, |
| TopMatchaAlertIdRvPlicSmcFatalFault = 68, |
| TopMatchaAlertIdSpiHost2FatalFault = 69, |
| TopMatchaAlertIdRvTimerSmc2FatalFault = 70, |
| TopMatchaAlertIdRvCoreIbexSmcFatalSwErr = 71, |
| TopMatchaAlertIdRvCoreIbexSmcRecovSwErr = 72, |
| TopMatchaAlertIdRvCoreIbexSmcFatalHwErr = 73, |
| TopMatchaAlertIdRvCoreIbexSmcRecovHwErr = 74, |
| 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, |
| MioInCamI2cSda = 38, |
| MioInCamI2cScl = 39, |
| MioInSpiHost1Sd0 = 40, |
| MioInSpiHost1Sd1 = 41, |
| MioInSpiHost1Sd2 = 42, |
| MioInSpiHost1Sd3 = 43, |
| MioInSpiHost2Sd0 = 44, |
| MioInSpiHost2Sd1 = 45, |
| MioInSpiHost2Sd2 = 46, |
| MioInSpiHost2Sd3 = 47, |
| MioInUart0Rx = 48, |
| MioInUart1Rx = 49, |
| MioInUart2Rx = 50, |
| MioInSmcUartRx = 51, |
| MioInCamCtrlCamInt = 52, |
| MioInIspWrapperSPclk = 53, |
| MioInIspWrapperSData0 = 54, |
| MioInIspWrapperSData1 = 55, |
| MioInIspWrapperSData2 = 56, |
| MioInIspWrapperSData3 = 57, |
| MioInIspWrapperSData4 = 58, |
| MioInIspWrapperSData5 = 59, |
| MioInIspWrapperSData6 = 60, |
| MioInIspWrapperSData7 = 61, |
| MioInIspWrapperSHsync = 62, |
| MioInIspWrapperSVsync = 63, |
| MioInI2s0RxSd = 64, |
| MioInSpiDeviceTpmCsb = 65, |
| MioInFlashCtrlTck = 66, |
| MioInFlashCtrlTms = 67, |
| MioInFlashCtrlTdi = 68, |
| MioInSysrstCtrlAonAcPresent = 69, |
| MioInSysrstCtrlAonKey0In = 70, |
| MioInSysrstCtrlAonKey1In = 71, |
| MioInSysrstCtrlAonKey2In = 72, |
| MioInSysrstCtrlAonPwrbIn = 73, |
| MioInSysrstCtrlAonLidOpen = 74, |
| MioInUsbdevSense = 75, |
| MioInCount = 76 |
| } 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, |
| MioOutCamI2cSda = 38, |
| MioOutCamI2cScl = 39, |
| MioOutSpiHost1Sd0 = 40, |
| MioOutSpiHost1Sd1 = 41, |
| MioOutSpiHost1Sd2 = 42, |
| MioOutSpiHost1Sd3 = 43, |
| MioOutSpiHost2Sd0 = 44, |
| MioOutSpiHost2Sd1 = 45, |
| MioOutSpiHost2Sd2 = 46, |
| MioOutSpiHost2Sd3 = 47, |
| MioOutUart0Tx = 48, |
| MioOutUart1Tx = 49, |
| MioOutUart2Tx = 50, |
| MioOutSmcUartTx = 51, |
| MioOutCamCtrlCamTrig = 52, |
| MioOutI2s0RxSclk = 53, |
| MioOutI2s0RxWs = 54, |
| MioOutI2s0TxSclk = 55, |
| MioOutI2s0TxWs = 56, |
| MioOutI2s0TxSd = 57, |
| MioOutPattgenPda0Tx = 58, |
| MioOutPattgenPcl0Tx = 59, |
| MioOutPattgenPda1Tx = 60, |
| MioOutPattgenPcl1Tx = 61, |
| MioOutSpiHost1Sck = 62, |
| MioOutSpiHost1Csb = 63, |
| MioOutSpiHost2Sck = 64, |
| MioOutSpiHost2Csb = 65, |
| MioOutFlashCtrlTdo = 66, |
| MioOutSensorCtrlAstDebugOut0 = 67, |
| MioOutSensorCtrlAstDebugOut1 = 68, |
| MioOutSensorCtrlAstDebugOut2 = 69, |
| MioOutSensorCtrlAstDebugOut3 = 70, |
| MioOutSensorCtrlAstDebugOut4 = 71, |
| MioOutSensorCtrlAstDebugOut5 = 72, |
| MioOutSensorCtrlAstDebugOut6 = 73, |
| MioOutSensorCtrlAstDebugOut7 = 74, |
| MioOutSensorCtrlAstDebugOut8 = 75, |
| MioOutPwmAonPwm0 = 76, |
| MioOutPwmAonPwm1 = 77, |
| MioOutPwmAonPwm2 = 78, |
| MioOutPwmAonPwm3 = 79, |
| MioOutPwmAonPwm4 = 80, |
| MioOutPwmAonPwm5 = 81, |
| MioOutOtpCtrlTest0 = 82, |
| MioOutSysrstCtrlAonBatDisable = 83, |
| MioOutSysrstCtrlAonKey0Out = 84, |
| MioOutSysrstCtrlAonKey1Out = 85, |
| MioOutSysrstCtrlAonKey2Out = 86, |
| MioOutSysrstCtrlAonPwrbOut = 87, |
| MioOutSysrstCtrlAonZ3Wakeup = 88, |
| MioOutCount = 89 |
| } 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; |
| |
| // Enumeration for the types of pads. |
| typedef enum { |
| MioPad, |
| DioPad |
| } pad_type_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, |
| MioPadIod0 = 47, |
| MioPadIod1 = 48, |
| MioPadIod2 = 49, |
| MioPadIod3 = 50, |
| MioPadIod4 = 51, |
| MioPadIod5 = 52, |
| 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; |
| |
| // List of peripheral instantiated in this chip. |
| typedef enum { |
| PeripheralAdcCtrlAon, |
| PeripheralAes, |
| PeripheralAlertHandler, |
| PeripheralAonTimerAon, |
| PeripheralAst, |
| PeripheralCamCtrl, |
| PeripheralCamI2c, |
| PeripheralClkmgrAon, |
| PeripheralCsrng, |
| PeripheralDma0, |
| PeripheralDmaSmc, |
| PeripheralEdn0, |
| PeripheralEdn1, |
| PeripheralEntropySrc, |
| PeripheralFlashCtrl, |
| PeripheralGpio, |
| PeripheralHmac, |
| PeripheralI2c0, |
| PeripheralI2c1, |
| PeripheralI2c2, |
| PeripheralI2s0, |
| PeripheralIspWrapper, |
| PeripheralKeymgr, |
| PeripheralKmac, |
| PeripheralLcCtrl, |
| PeripheralMlTop, |
| PeripheralOtbn, |
| PeripheralOtpCtrl, |
| PeripheralPattgen, |
| PeripheralPinmuxAon, |
| PeripheralPwmAon, |
| PeripheralPwrmgrAon, |
| PeripheralRomCtrl, |
| PeripheralRstmgrAon, |
| PeripheralRvCoreIbexSec, |
| PeripheralRvCoreIbexSmc, |
| PeripheralRvDm, |
| PeripheralRvPlic, |
| PeripheralRvPlicSmc, |
| PeripheralRvTimer, |
| PeripheralRvTimerSmc, |
| PeripheralRvTimerSmc2, |
| PeripheralSensorCtrl, |
| PeripheralSmcCtrl, |
| PeripheralSmcUart, |
| PeripheralSpiDevice, |
| PeripheralSpiHost0, |
| PeripheralSpiHost1, |
| PeripheralSpiHost2, |
| PeripheralSramCtrlMain, |
| PeripheralSramCtrlRetAon, |
| PeripheralSysrstCtrlAon, |
| PeripheralTlulMailboxSec, |
| PeripheralTlulMailboxSmc, |
| PeripheralUart0, |
| PeripheralUart1, |
| PeripheralUart2, |
| PeripheralUart3, |
| PeripheralUsbdev, |
| PeripheralCount |
| } peripheral_e; |
| |
| // TODO: Enumeration for PLIC Interrupt source peripheral. |
| // TODO: Enumeration for PLIC Interrupt Ids. |
| |
| // MACROs for AST analog simulation support |
| `ifdef ANALOGSIM |
| `define INOUT_AI input ast_pkg::awire_t |
| `define INOUT_AO output ast_pkg::awire_t |
| `else |
| `define INOUT_AI inout |
| `define INOUT_AO inout |
| `endif |
| |
| endpackage |