| // Copyright Google Inc. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| |
| #ifndef MATCHA_HW_TOP_MATCHA_SW_AUTOGEN_TOP_MATCHA_H_ |
| #define MATCHA_HW_TOP_MATCHA_SW_AUTOGEN_TOP_MATCHA_H_ |
| |
| /** |
| * @file |
| * @brief Top-specific Definitions |
| * |
| * This file contains preprocessor and type definitions for use within the |
| * device C/C++ codebase. |
| * |
| * These definitions are for information that depends on the top-specific chip |
| * configuration, which includes: |
| * - Device Memory Information (for Peripherals and Memory) |
| * - PLIC Interrupt ID Names and Source Mappings |
| * - Alert ID Names and Source Mappings |
| * - Pinmux Pin/Select Names |
| * - Power Manager Wakeups |
| */ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * Peripheral base address for uart0 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_UART0_BASE_ADDR 0x40000000u |
| |
| /** |
| * Peripheral size for uart0 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_UART0_BASE_ADDR and |
| * `TOP_MATCHA_UART0_BASE_ADDR + TOP_MATCHA_UART0_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_UART0_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for uart1 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_UART1_BASE_ADDR 0x40010000u |
| |
| /** |
| * Peripheral size for uart1 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_UART1_BASE_ADDR and |
| * `TOP_MATCHA_UART1_BASE_ADDR + TOP_MATCHA_UART1_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_UART1_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for uart2 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_UART2_BASE_ADDR 0x40020000u |
| |
| /** |
| * Peripheral size for uart2 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_UART2_BASE_ADDR and |
| * `TOP_MATCHA_UART2_BASE_ADDR + TOP_MATCHA_UART2_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_UART2_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for uart3 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_UART3_BASE_ADDR 0x40030000u |
| |
| /** |
| * Peripheral size for uart3 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_UART3_BASE_ADDR and |
| * `TOP_MATCHA_UART3_BASE_ADDR + TOP_MATCHA_UART3_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_UART3_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for gpio in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_GPIO_BASE_ADDR 0x40040000u |
| |
| /** |
| * Peripheral size for gpio in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_GPIO_BASE_ADDR and |
| * `TOP_MATCHA_GPIO_BASE_ADDR + TOP_MATCHA_GPIO_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_GPIO_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for spi_device in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SPI_DEVICE_BASE_ADDR 0x40050000u |
| |
| /** |
| * Peripheral size for spi_device in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SPI_DEVICE_BASE_ADDR and |
| * `TOP_MATCHA_SPI_DEVICE_BASE_ADDR + TOP_MATCHA_SPI_DEVICE_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SPI_DEVICE_SIZE_BYTES 0x2000u |
| |
| /** |
| * Peripheral base address for i2c0 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_I2C0_BASE_ADDR 0x40080000u |
| |
| /** |
| * Peripheral size for i2c0 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_I2C0_BASE_ADDR and |
| * `TOP_MATCHA_I2C0_BASE_ADDR + TOP_MATCHA_I2C0_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_I2C0_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for i2c1 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_I2C1_BASE_ADDR 0x40090000u |
| |
| /** |
| * Peripheral size for i2c1 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_I2C1_BASE_ADDR and |
| * `TOP_MATCHA_I2C1_BASE_ADDR + TOP_MATCHA_I2C1_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_I2C1_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for i2c2 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_I2C2_BASE_ADDR 0x400A0000u |
| |
| /** |
| * Peripheral size for i2c2 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_I2C2_BASE_ADDR and |
| * `TOP_MATCHA_I2C2_BASE_ADDR + TOP_MATCHA_I2C2_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_I2C2_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for pattgen in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_PATTGEN_BASE_ADDR 0x400E0000u |
| |
| /** |
| * Peripheral size for pattgen in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_PATTGEN_BASE_ADDR and |
| * `TOP_MATCHA_PATTGEN_BASE_ADDR + TOP_MATCHA_PATTGEN_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_PATTGEN_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for rv_timer in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_RV_TIMER_BASE_ADDR 0x40100000u |
| |
| /** |
| * Peripheral size for rv_timer in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_RV_TIMER_BASE_ADDR and |
| * `TOP_MATCHA_RV_TIMER_BASE_ADDR + TOP_MATCHA_RV_TIMER_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_RV_TIMER_SIZE_BYTES 0x200u |
| |
| /** |
| * Peripheral base address for core device on otp_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_OTP_CTRL_CORE_BASE_ADDR 0x40130000u |
| |
| /** |
| * Peripheral size for core device on otp_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_OTP_CTRL_CORE_BASE_ADDR and |
| * `TOP_MATCHA_OTP_CTRL_CORE_BASE_ADDR + TOP_MATCHA_OTP_CTRL_CORE_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_OTP_CTRL_CORE_SIZE_BYTES 0x2000u |
| |
| /** |
| * Peripheral base address for prim device on otp_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_OTP_CTRL_PRIM_BASE_ADDR 0x40132000u |
| |
| /** |
| * Peripheral size for prim device on otp_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_OTP_CTRL_PRIM_BASE_ADDR and |
| * `TOP_MATCHA_OTP_CTRL_PRIM_BASE_ADDR + TOP_MATCHA_OTP_CTRL_PRIM_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_OTP_CTRL_PRIM_SIZE_BYTES 0x20u |
| |
| /** |
| * Peripheral base address for lc_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_LC_CTRL_BASE_ADDR 0x40140000u |
| |
| /** |
| * Peripheral size for lc_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_LC_CTRL_BASE_ADDR and |
| * `TOP_MATCHA_LC_CTRL_BASE_ADDR + TOP_MATCHA_LC_CTRL_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_LC_CTRL_SIZE_BYTES 0x100u |
| |
| /** |
| * Peripheral base address for alert_handler in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_ALERT_HANDLER_BASE_ADDR 0x40150000u |
| |
| /** |
| * Peripheral size for alert_handler in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_ALERT_HANDLER_BASE_ADDR and |
| * `TOP_MATCHA_ALERT_HANDLER_BASE_ADDR + TOP_MATCHA_ALERT_HANDLER_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_ALERT_HANDLER_SIZE_BYTES 0x800u |
| |
| /** |
| * Peripheral base address for spi_host0 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SPI_HOST0_BASE_ADDR 0x40300000u |
| |
| /** |
| * Peripheral size for spi_host0 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SPI_HOST0_BASE_ADDR and |
| * `TOP_MATCHA_SPI_HOST0_BASE_ADDR + TOP_MATCHA_SPI_HOST0_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SPI_HOST0_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for spi_host1 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SPI_HOST1_BASE_ADDR 0x40310000u |
| |
| /** |
| * Peripheral size for spi_host1 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SPI_HOST1_BASE_ADDR and |
| * `TOP_MATCHA_SPI_HOST1_BASE_ADDR + TOP_MATCHA_SPI_HOST1_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SPI_HOST1_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for usbdev in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_USBDEV_BASE_ADDR 0x40320000u |
| |
| /** |
| * Peripheral size for usbdev in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_USBDEV_BASE_ADDR and |
| * `TOP_MATCHA_USBDEV_BASE_ADDR + TOP_MATCHA_USBDEV_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_USBDEV_SIZE_BYTES 0x1000u |
| |
| /** |
| * Peripheral base address for pwrmgr_aon in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_PWRMGR_AON_BASE_ADDR 0x40400000u |
| |
| /** |
| * Peripheral size for pwrmgr_aon in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_PWRMGR_AON_BASE_ADDR and |
| * `TOP_MATCHA_PWRMGR_AON_BASE_ADDR + TOP_MATCHA_PWRMGR_AON_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_PWRMGR_AON_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for rstmgr_aon in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_RSTMGR_AON_BASE_ADDR 0x40410000u |
| |
| /** |
| * Peripheral size for rstmgr_aon in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_RSTMGR_AON_BASE_ADDR and |
| * `TOP_MATCHA_RSTMGR_AON_BASE_ADDR + TOP_MATCHA_RSTMGR_AON_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_RSTMGR_AON_SIZE_BYTES 0x100u |
| |
| /** |
| * Peripheral base address for clkmgr_aon in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_CLKMGR_AON_BASE_ADDR 0x40420000u |
| |
| /** |
| * Peripheral size for clkmgr_aon in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_CLKMGR_AON_BASE_ADDR and |
| * `TOP_MATCHA_CLKMGR_AON_BASE_ADDR + TOP_MATCHA_CLKMGR_AON_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_CLKMGR_AON_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for sysrst_ctrl_aon in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SYSRST_CTRL_AON_BASE_ADDR 0x40430000u |
| |
| /** |
| * Peripheral size for sysrst_ctrl_aon in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SYSRST_CTRL_AON_BASE_ADDR and |
| * `TOP_MATCHA_SYSRST_CTRL_AON_BASE_ADDR + TOP_MATCHA_SYSRST_CTRL_AON_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SYSRST_CTRL_AON_SIZE_BYTES 0x100u |
| |
| /** |
| * Peripheral base address for adc_ctrl_aon in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_ADC_CTRL_AON_BASE_ADDR 0x40440000u |
| |
| /** |
| * Peripheral size for adc_ctrl_aon in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_ADC_CTRL_AON_BASE_ADDR and |
| * `TOP_MATCHA_ADC_CTRL_AON_BASE_ADDR + TOP_MATCHA_ADC_CTRL_AON_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_ADC_CTRL_AON_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for pwm_aon in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_PWM_AON_BASE_ADDR 0x40450000u |
| |
| /** |
| * Peripheral size for pwm_aon in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_PWM_AON_BASE_ADDR and |
| * `TOP_MATCHA_PWM_AON_BASE_ADDR + TOP_MATCHA_PWM_AON_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_PWM_AON_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for pinmux_aon in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_PINMUX_AON_BASE_ADDR 0x40460000u |
| |
| /** |
| * Peripheral size for pinmux_aon in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_PINMUX_AON_BASE_ADDR and |
| * `TOP_MATCHA_PINMUX_AON_BASE_ADDR + TOP_MATCHA_PINMUX_AON_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_PINMUX_AON_SIZE_BYTES 0x1000u |
| |
| /** |
| * Peripheral base address for aon_timer_aon in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_AON_TIMER_AON_BASE_ADDR 0x40470000u |
| |
| /** |
| * Peripheral size for aon_timer_aon in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_AON_TIMER_AON_BASE_ADDR and |
| * `TOP_MATCHA_AON_TIMER_AON_BASE_ADDR + TOP_MATCHA_AON_TIMER_AON_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_AON_TIMER_AON_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for ast in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_AST_BASE_ADDR 0x40480000u |
| |
| /** |
| * Peripheral size for ast in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_AST_BASE_ADDR and |
| * `TOP_MATCHA_AST_BASE_ADDR + TOP_MATCHA_AST_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_AST_SIZE_BYTES 0x400u |
| |
| /** |
| * Peripheral base address for sensor_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SENSOR_CTRL_BASE_ADDR 0x40490000u |
| |
| /** |
| * Peripheral size for sensor_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SENSOR_CTRL_BASE_ADDR and |
| * `TOP_MATCHA_SENSOR_CTRL_BASE_ADDR + TOP_MATCHA_SENSOR_CTRL_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SENSOR_CTRL_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for regs device on sram_ctrl_ret_aon in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SRAM_CTRL_RET_AON_REGS_BASE_ADDR 0x40500000u |
| |
| /** |
| * Peripheral size for regs device on sram_ctrl_ret_aon in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SRAM_CTRL_RET_AON_REGS_BASE_ADDR and |
| * `TOP_MATCHA_SRAM_CTRL_RET_AON_REGS_BASE_ADDR + TOP_MATCHA_SRAM_CTRL_RET_AON_REGS_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SRAM_CTRL_RET_AON_REGS_SIZE_BYTES 0x20u |
| |
| /** |
| * Peripheral base address for ram device on sram_ctrl_ret_aon in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SRAM_CTRL_RET_AON_RAM_BASE_ADDR 0x40600000u |
| |
| /** |
| * Peripheral size for ram device on sram_ctrl_ret_aon in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SRAM_CTRL_RET_AON_RAM_BASE_ADDR and |
| * `TOP_MATCHA_SRAM_CTRL_RET_AON_RAM_BASE_ADDR + TOP_MATCHA_SRAM_CTRL_RET_AON_RAM_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SRAM_CTRL_RET_AON_RAM_SIZE_BYTES 0x1000u |
| |
| /** |
| * Peripheral base address for core device on flash_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_FLASH_CTRL_CORE_BASE_ADDR 0x41000000u |
| |
| /** |
| * Peripheral size for core device on flash_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_FLASH_CTRL_CORE_BASE_ADDR and |
| * `TOP_MATCHA_FLASH_CTRL_CORE_BASE_ADDR + TOP_MATCHA_FLASH_CTRL_CORE_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_FLASH_CTRL_CORE_SIZE_BYTES 0x200u |
| |
| /** |
| * Peripheral base address for prim device on flash_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_FLASH_CTRL_PRIM_BASE_ADDR 0x41008000u |
| |
| /** |
| * Peripheral size for prim device on flash_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_FLASH_CTRL_PRIM_BASE_ADDR and |
| * `TOP_MATCHA_FLASH_CTRL_PRIM_BASE_ADDR + TOP_MATCHA_FLASH_CTRL_PRIM_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_FLASH_CTRL_PRIM_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for mem device on flash_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_FLASH_CTRL_MEM_BASE_ADDR 0x20000000u |
| |
| /** |
| * Peripheral size for mem device on flash_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_FLASH_CTRL_MEM_BASE_ADDR and |
| * `TOP_MATCHA_FLASH_CTRL_MEM_BASE_ADDR + TOP_MATCHA_FLASH_CTRL_MEM_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_FLASH_CTRL_MEM_SIZE_BYTES 0x100000u |
| |
| /** |
| * Peripheral base address for regs device on rv_dm in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_RV_DM_REGS_BASE_ADDR 0x6000u |
| |
| /** |
| * Peripheral size for regs device on rv_dm in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_RV_DM_REGS_BASE_ADDR and |
| * `TOP_MATCHA_RV_DM_REGS_BASE_ADDR + TOP_MATCHA_RV_DM_REGS_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_RV_DM_REGS_SIZE_BYTES 0x4u |
| |
| /** |
| * Peripheral base address for mem device on rv_dm in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_RV_DM_MEM_BASE_ADDR 0x4000u |
| |
| /** |
| * Peripheral size for mem device on rv_dm in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_RV_DM_MEM_BASE_ADDR and |
| * `TOP_MATCHA_RV_DM_MEM_BASE_ADDR + TOP_MATCHA_RV_DM_MEM_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_RV_DM_MEM_SIZE_BYTES 0x1000u |
| |
| /** |
| * Peripheral base address for rv_plic in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_RV_PLIC_BASE_ADDR 0x48000000u |
| |
| /** |
| * Peripheral size for rv_plic in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_RV_PLIC_BASE_ADDR and |
| * `TOP_MATCHA_RV_PLIC_BASE_ADDR + TOP_MATCHA_RV_PLIC_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_RV_PLIC_SIZE_BYTES 0x8000000u |
| |
| /** |
| * Peripheral base address for aes in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_AES_BASE_ADDR 0x41100000u |
| |
| /** |
| * Peripheral size for aes in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_AES_BASE_ADDR and |
| * `TOP_MATCHA_AES_BASE_ADDR + TOP_MATCHA_AES_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_AES_SIZE_BYTES 0x100u |
| |
| /** |
| * Peripheral base address for hmac in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_HMAC_BASE_ADDR 0x41110000u |
| |
| /** |
| * Peripheral size for hmac in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_HMAC_BASE_ADDR and |
| * `TOP_MATCHA_HMAC_BASE_ADDR + TOP_MATCHA_HMAC_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_HMAC_SIZE_BYTES 0x1000u |
| |
| /** |
| * Peripheral base address for kmac in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_KMAC_BASE_ADDR 0x41120000u |
| |
| /** |
| * Peripheral size for kmac in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_KMAC_BASE_ADDR and |
| * `TOP_MATCHA_KMAC_BASE_ADDR + TOP_MATCHA_KMAC_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_KMAC_SIZE_BYTES 0x1000u |
| |
| /** |
| * Peripheral base address for otbn in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_OTBN_BASE_ADDR 0x41130000u |
| |
| /** |
| * Peripheral size for otbn in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_OTBN_BASE_ADDR and |
| * `TOP_MATCHA_OTBN_BASE_ADDR + TOP_MATCHA_OTBN_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_OTBN_SIZE_BYTES 0x10000u |
| |
| /** |
| * Peripheral base address for keymgr in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_KEYMGR_BASE_ADDR 0x41140000u |
| |
| /** |
| * Peripheral size for keymgr in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_KEYMGR_BASE_ADDR and |
| * `TOP_MATCHA_KEYMGR_BASE_ADDR + TOP_MATCHA_KEYMGR_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_KEYMGR_SIZE_BYTES 0x100u |
| |
| /** |
| * Peripheral base address for csrng in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_CSRNG_BASE_ADDR 0x41150000u |
| |
| /** |
| * Peripheral size for csrng in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_CSRNG_BASE_ADDR and |
| * `TOP_MATCHA_CSRNG_BASE_ADDR + TOP_MATCHA_CSRNG_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_CSRNG_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for entropy_src in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_ENTROPY_SRC_BASE_ADDR 0x41160000u |
| |
| /** |
| * Peripheral size for entropy_src in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_ENTROPY_SRC_BASE_ADDR and |
| * `TOP_MATCHA_ENTROPY_SRC_BASE_ADDR + TOP_MATCHA_ENTROPY_SRC_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_ENTROPY_SRC_SIZE_BYTES 0x100u |
| |
| /** |
| * Peripheral base address for edn0 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_EDN0_BASE_ADDR 0x41170000u |
| |
| /** |
| * Peripheral size for edn0 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_EDN0_BASE_ADDR and |
| * `TOP_MATCHA_EDN0_BASE_ADDR + TOP_MATCHA_EDN0_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_EDN0_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for edn1 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_EDN1_BASE_ADDR 0x41180000u |
| |
| /** |
| * Peripheral size for edn1 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_EDN1_BASE_ADDR and |
| * `TOP_MATCHA_EDN1_BASE_ADDR + TOP_MATCHA_EDN1_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_EDN1_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for regs device on sram_ctrl_main in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SRAM_CTRL_MAIN_REGS_BASE_ADDR 0x411C0000u |
| |
| /** |
| * Peripheral size for regs device on sram_ctrl_main in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SRAM_CTRL_MAIN_REGS_BASE_ADDR and |
| * `TOP_MATCHA_SRAM_CTRL_MAIN_REGS_BASE_ADDR + TOP_MATCHA_SRAM_CTRL_MAIN_REGS_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SRAM_CTRL_MAIN_REGS_SIZE_BYTES 0x20u |
| |
| /** |
| * Peripheral base address for ram device on sram_ctrl_main in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SRAM_CTRL_MAIN_RAM_BASE_ADDR 0x10000000u |
| |
| /** |
| * Peripheral size for ram device on sram_ctrl_main in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SRAM_CTRL_MAIN_RAM_BASE_ADDR and |
| * `TOP_MATCHA_SRAM_CTRL_MAIN_RAM_BASE_ADDR + TOP_MATCHA_SRAM_CTRL_MAIN_RAM_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SRAM_CTRL_MAIN_RAM_SIZE_BYTES 0x20000u |
| |
| /** |
| * Peripheral base address for regs device on rom_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_ROM_CTRL_REGS_BASE_ADDR 0x411E0000u |
| |
| /** |
| * Peripheral size for regs device on rom_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_ROM_CTRL_REGS_BASE_ADDR and |
| * `TOP_MATCHA_ROM_CTRL_REGS_BASE_ADDR + TOP_MATCHA_ROM_CTRL_REGS_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_ROM_CTRL_REGS_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for rom device on rom_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_ROM_CTRL_ROM_BASE_ADDR 0x8000u |
| |
| /** |
| * Peripheral size for rom device on rom_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_ROM_CTRL_ROM_BASE_ADDR and |
| * `TOP_MATCHA_ROM_CTRL_ROM_BASE_ADDR + TOP_MATCHA_ROM_CTRL_ROM_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_ROM_CTRL_ROM_SIZE_BYTES 0x8000u |
| |
| /** |
| * Peripheral base address for cfg device on rv_core_ibex_sec in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_RV_CORE_IBEX_SEC_CFG_BASE_ADDR 0x411F0000u |
| |
| /** |
| * Peripheral size for cfg device on rv_core_ibex_sec in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_RV_CORE_IBEX_SEC_CFG_BASE_ADDR and |
| * `TOP_MATCHA_RV_CORE_IBEX_SEC_CFG_BASE_ADDR + TOP_MATCHA_RV_CORE_IBEX_SEC_CFG_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_RV_CORE_IBEX_SEC_CFG_SIZE_BYTES 0x100u |
| |
| /** |
| * Peripheral base address for dma0 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_DMA0_BASE_ADDR 0x40200000u |
| |
| /** |
| * Peripheral size for dma0 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_DMA0_BASE_ADDR and |
| * `TOP_MATCHA_DMA0_BASE_ADDR + TOP_MATCHA_DMA0_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_DMA0_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for smc_uart in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SMC_UART_BASE_ADDR 0x54000000u |
| |
| /** |
| * Peripheral size for smc_uart in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SMC_UART_BASE_ADDR and |
| * `TOP_MATCHA_SMC_UART_BASE_ADDR + TOP_MATCHA_SMC_UART_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SMC_UART_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for rv_timer_smc in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_RV_TIMER_SMC_BASE_ADDR 0x54010000u |
| |
| /** |
| * Peripheral size for rv_timer_smc in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_RV_TIMER_SMC_BASE_ADDR and |
| * `TOP_MATCHA_RV_TIMER_SMC_BASE_ADDR + TOP_MATCHA_RV_TIMER_SMC_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_RV_TIMER_SMC_SIZE_BYTES 0x200u |
| |
| /** |
| * Peripheral base address for smc_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SMC_CTRL_BASE_ADDR 0x54020000u |
| |
| /** |
| * Peripheral size for smc_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SMC_CTRL_BASE_ADDR and |
| * `TOP_MATCHA_SMC_CTRL_BASE_ADDR + TOP_MATCHA_SMC_CTRL_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SMC_CTRL_SIZE_BYTES 0x8u |
| |
| /** |
| * Peripheral base address for cam_i2c in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_CAM_I2C_BASE_ADDR 0x54040000u |
| |
| /** |
| * Peripheral size for cam_i2c in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_CAM_I2C_BASE_ADDR and |
| * `TOP_MATCHA_CAM_I2C_BASE_ADDR + TOP_MATCHA_CAM_I2C_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_CAM_I2C_SIZE_BYTES 0x80u |
| |
| /** |
| * Peripheral base address for cam_ctrl in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_CAM_CTRL_BASE_ADDR 0x54050000u |
| |
| /** |
| * Peripheral size for cam_ctrl in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_CAM_CTRL_BASE_ADDR and |
| * `TOP_MATCHA_CAM_CTRL_BASE_ADDR + TOP_MATCHA_CAM_CTRL_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_CAM_CTRL_SIZE_BYTES 0x10u |
| |
| /** |
| * Peripheral base address for isp_wrapper in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_ISP_WRAPPER_BASE_ADDR 0x54060000u |
| |
| /** |
| * Peripheral size for isp_wrapper in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_ISP_WRAPPER_BASE_ADDR and |
| * `TOP_MATCHA_ISP_WRAPPER_BASE_ADDR + TOP_MATCHA_ISP_WRAPPER_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_ISP_WRAPPER_SIZE_BYTES 0x1000u |
| |
| /** |
| * Peripheral base address for dma_smc in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_DMA_SMC_BASE_ADDR 0x54070000u |
| |
| /** |
| * Peripheral size for dma_smc in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_DMA_SMC_BASE_ADDR and |
| * `TOP_MATCHA_DMA_SMC_BASE_ADDR + TOP_MATCHA_DMA_SMC_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_DMA_SMC_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for rv_plic_smc in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_RV_PLIC_SMC_BASE_ADDR 0x60000000u |
| |
| /** |
| * Peripheral size for rv_plic_smc in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_RV_PLIC_SMC_BASE_ADDR and |
| * `TOP_MATCHA_RV_PLIC_SMC_BASE_ADDR + TOP_MATCHA_RV_PLIC_SMC_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_RV_PLIC_SMC_SIZE_BYTES 0x8000000u |
| |
| /** |
| * Peripheral base address for tlul_mailbox_sec in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_TLUL_MAILBOX_SEC_BASE_ADDR 0x40800000u |
| |
| /** |
| * Peripheral size for tlul_mailbox_sec in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_TLUL_MAILBOX_SEC_BASE_ADDR and |
| * `TOP_MATCHA_TLUL_MAILBOX_SEC_BASE_ADDR + TOP_MATCHA_TLUL_MAILBOX_SEC_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_TLUL_MAILBOX_SEC_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for tlul_mailbox_smc in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_TLUL_MAILBOX_SMC_BASE_ADDR 0x540F1000u |
| |
| /** |
| * Peripheral size for tlul_mailbox_smc in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_TLUL_MAILBOX_SMC_BASE_ADDR and |
| * `TOP_MATCHA_TLUL_MAILBOX_SMC_BASE_ADDR + TOP_MATCHA_TLUL_MAILBOX_SMC_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_TLUL_MAILBOX_SMC_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for core device on ml_top in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_ML_TOP_CORE_BASE_ADDR 0x5C000000u |
| |
| /** |
| * Peripheral size for core device on ml_top in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_ML_TOP_CORE_BASE_ADDR and |
| * `TOP_MATCHA_ML_TOP_CORE_BASE_ADDR + TOP_MATCHA_ML_TOP_CORE_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_ML_TOP_CORE_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for dmem device on ml_top in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_ML_TOP_DMEM_BASE_ADDR 0x5A000000u |
| |
| /** |
| * Peripheral size for dmem device on ml_top in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_ML_TOP_DMEM_BASE_ADDR and |
| * `TOP_MATCHA_ML_TOP_DMEM_BASE_ADDR + TOP_MATCHA_ML_TOP_DMEM_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_ML_TOP_DMEM_SIZE_BYTES 0x400000u |
| |
| /** |
| * Peripheral base address for spi_host2 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_SPI_HOST2_BASE_ADDR 0x54090000u |
| |
| /** |
| * Peripheral size for spi_host2 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_SPI_HOST2_BASE_ADDR and |
| * `TOP_MATCHA_SPI_HOST2_BASE_ADDR + TOP_MATCHA_SPI_HOST2_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_SPI_HOST2_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for rv_timer_smc2 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_RV_TIMER_SMC2_BASE_ADDR 0x54011000u |
| |
| /** |
| * Peripheral size for rv_timer_smc2 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_RV_TIMER_SMC2_BASE_ADDR and |
| * `TOP_MATCHA_RV_TIMER_SMC2_BASE_ADDR + TOP_MATCHA_RV_TIMER_SMC2_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_RV_TIMER_SMC2_SIZE_BYTES 0x200u |
| |
| /** |
| * Peripheral base address for i2s0 in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_I2S0_BASE_ADDR 0x54100000u |
| |
| /** |
| * Peripheral size for i2s0 in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_I2S0_BASE_ADDR and |
| * `TOP_MATCHA_I2S0_BASE_ADDR + TOP_MATCHA_I2S0_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_I2S0_SIZE_BYTES 0x40u |
| |
| /** |
| * Peripheral base address for cfg device on rv_core_ibex_smc in top matcha. |
| * |
| * This should be used with #mmio_region_from_addr to access the memory-mapped |
| * registers associated with the peripheral (usually via a DIF). |
| */ |
| #define TOP_MATCHA_RV_CORE_IBEX_SMC_CFG_BASE_ADDR 0x54030000u |
| |
| /** |
| * Peripheral size for cfg device on rv_core_ibex_smc in top matcha. |
| * |
| * This is the size (in bytes) of the peripheral's reserved memory area. All |
| * memory-mapped registers associated with this peripheral should have an |
| * address between #TOP_MATCHA_RV_CORE_IBEX_SMC_CFG_BASE_ADDR and |
| * `TOP_MATCHA_RV_CORE_IBEX_SMC_CFG_BASE_ADDR + TOP_MATCHA_RV_CORE_IBEX_SMC_CFG_SIZE_BYTES`. |
| */ |
| #define TOP_MATCHA_RV_CORE_IBEX_SMC_CFG_SIZE_BYTES 0x100u |
| |
| |
| /** |
| * Memory base address for ram_smc in top matcha. |
| */ |
| #define TOP_MATCHA_RAM_SMC_BASE_ADDR 0x50000000u |
| |
| /** |
| * Memory size for ram_smc in top matcha. |
| */ |
| #define TOP_MATCHA_RAM_SMC_SIZE_BYTES 0x400000u |
| |
| /** |
| * Memory base address for ram_ret_aon in top matcha. |
| */ |
| #define TOP_MATCHA_RAM_RET_AON_BASE_ADDR 0x40600000u |
| |
| /** |
| * Memory size for ram_ret_aon in top matcha. |
| */ |
| #define TOP_MATCHA_RAM_RET_AON_SIZE_BYTES 0x1000u |
| |
| /** |
| * Memory base address for eflash in top matcha. |
| */ |
| #define TOP_MATCHA_EFLASH_BASE_ADDR 0x20000000u |
| |
| /** |
| * Memory size for eflash in top matcha. |
| */ |
| #define TOP_MATCHA_EFLASH_SIZE_BYTES 0x100000u |
| |
| /** |
| * Memory base address for ram_main in top matcha. |
| */ |
| #define TOP_MATCHA_RAM_MAIN_BASE_ADDR 0x10000000u |
| |
| /** |
| * Memory size for ram_main in top matcha. |
| */ |
| #define TOP_MATCHA_RAM_MAIN_SIZE_BYTES 0x20000u |
| |
| /** |
| * Memory base address for rom in top matcha. |
| */ |
| #define TOP_MATCHA_ROM_BASE_ADDR 0x8000u |
| |
| /** |
| * Memory size for rom in top matcha. |
| */ |
| #define TOP_MATCHA_ROM_SIZE_BYTES 0x8000u |
| |
| /** |
| * Memory base address for ram_ml_dmem in top matcha. |
| */ |
| #define TOP_MATCHA_RAM_ML_DMEM_BASE_ADDR 0x5A000000u |
| |
| /** |
| * Memory size for ram_ml_dmem in top matcha. |
| */ |
| #define TOP_MATCHA_RAM_ML_DMEM_SIZE_BYTES 0x400000u |
| |
| |
| /** |
| * PLIC Interrupt Source Peripheral. |
| * |
| * Enumeration used to determine which peripheral asserted the corresponding |
| * interrupt. |
| */ |
| typedef enum top_matcha_plic_peripheral { |
| kTopMatchaPlicPeripheralUnknown = 0, /**< Unknown Peripheral */ |
| kTopMatchaPlicPeripheralUart0 = 1, /**< uart0 */ |
| kTopMatchaPlicPeripheralUart1 = 2, /**< uart1 */ |
| kTopMatchaPlicPeripheralUart2 = 3, /**< uart2 */ |
| kTopMatchaPlicPeripheralUart3 = 4, /**< uart3 */ |
| kTopMatchaPlicPeripheralGpio = 5, /**< gpio */ |
| kTopMatchaPlicPeripheralSpiDevice = 6, /**< spi_device */ |
| kTopMatchaPlicPeripheralI2c0 = 7, /**< i2c0 */ |
| kTopMatchaPlicPeripheralI2c1 = 8, /**< i2c1 */ |
| kTopMatchaPlicPeripheralI2c2 = 9, /**< i2c2 */ |
| kTopMatchaPlicPeripheralPattgen = 10, /**< pattgen */ |
| kTopMatchaPlicPeripheralRvTimer = 11, /**< rv_timer */ |
| kTopMatchaPlicPeripheralOtpCtrl = 12, /**< otp_ctrl */ |
| kTopMatchaPlicPeripheralAlertHandler = 13, /**< alert_handler */ |
| kTopMatchaPlicPeripheralSpiHost0 = 14, /**< spi_host0 */ |
| kTopMatchaPlicPeripheralSpiHost1 = 15, /**< spi_host1 */ |
| kTopMatchaPlicPeripheralUsbdev = 16, /**< usbdev */ |
| kTopMatchaPlicPeripheralPwrmgrAon = 17, /**< pwrmgr_aon */ |
| kTopMatchaPlicPeripheralSysrstCtrlAon = 18, /**< sysrst_ctrl_aon */ |
| kTopMatchaPlicPeripheralAdcCtrlAon = 19, /**< adc_ctrl_aon */ |
| kTopMatchaPlicPeripheralAonTimerAon = 20, /**< aon_timer_aon */ |
| kTopMatchaPlicPeripheralSensorCtrl = 21, /**< sensor_ctrl */ |
| kTopMatchaPlicPeripheralFlashCtrl = 22, /**< flash_ctrl */ |
| kTopMatchaPlicPeripheralHmac = 23, /**< hmac */ |
| kTopMatchaPlicPeripheralKmac = 24, /**< kmac */ |
| kTopMatchaPlicPeripheralOtbn = 25, /**< otbn */ |
| kTopMatchaPlicPeripheralKeymgr = 26, /**< keymgr */ |
| kTopMatchaPlicPeripheralCsrng = 27, /**< csrng */ |
| kTopMatchaPlicPeripheralEntropySrc = 28, /**< entropy_src */ |
| kTopMatchaPlicPeripheralEdn0 = 29, /**< edn0 */ |
| kTopMatchaPlicPeripheralEdn1 = 30, /**< edn1 */ |
| kTopMatchaPlicPeripheralDma0 = 31, /**< dma0 */ |
| kTopMatchaPlicPeripheralTlulMailboxSec = 32, /**< tlul_mailbox_sec */ |
| kTopMatchaPlicPeripheralLast = 32, /**< \internal Final PLIC peripheral */ |
| } top_matcha_plic_peripheral_t; |
| |
| typedef enum top_matcha_plic_peripheral_smc { |
| kTopMatchaPlicPeripheralUnknownSmc = 0, /**< Unknown Peripheral */ |
| kTopMatchaPlicPeripheralSmcUart = 1, /**< smc_uart */ |
| kTopMatchaPlicPeripheralRvTimerSmc = 2, /**< rv_timer_smc */ |
| kTopMatchaPlicPeripheralCamI2c = 3, /**< cam_i2c */ |
| kTopMatchaPlicPeripheralCamCtrl = 4, /**< cam_ctrl */ |
| kTopMatchaPlicPeripheralIspWrapper = 5, /**< isp_wrapper */ |
| kTopMatchaPlicPeripheralDmaSmc = 6, /**< dma_smc */ |
| kTopMatchaPlicPeripheralTlulMailboxSmc = 7, /**< tlul_mailbox_smc */ |
| kTopMatchaPlicPeripheralMlTop = 8, /**< ml_top */ |
| kTopMatchaPlicPeripheralSpiHost2 = 9, /**< spi_host2 */ |
| kTopMatchaPlicPeripheralRvTimerSmc2 = 10, /**< rv_timer_smc2 */ |
| kTopMatchaPlicPeripheralI2s0 = 11, /**< i2s0 */ |
| kTopMatchaPlicPeripheralLastSmc = 11, /**< \internal Final PLIC peripheral */ |
| } top_matcha_plic_peripheral_smc_t; |
| |
| /** |
| * PLIC Interrupt Source. |
| * |
| * Enumeration of all PLIC interrupt sources. The interrupt sources belonging to |
| * the same peripheral are guaranteed to be consecutive. |
| */ |
| typedef enum top_matcha_plic_irq_id { |
| kTopMatchaPlicIrqIdNone = 0, /**< No Interrupt */ |
| kTopMatchaPlicIrqIdUart0TxWatermark = 1, /**< uart0_tx_watermark */ |
| kTopMatchaPlicIrqIdUart0RxWatermark = 2, /**< uart0_rx_watermark */ |
| kTopMatchaPlicIrqIdUart0TxEmpty = 3, /**< uart0_tx_empty */ |
| kTopMatchaPlicIrqIdUart0RxOverflow = 4, /**< uart0_rx_overflow */ |
| kTopMatchaPlicIrqIdUart0RxFrameErr = 5, /**< uart0_rx_frame_err */ |
| kTopMatchaPlicIrqIdUart0RxBreakErr = 6, /**< uart0_rx_break_err */ |
| kTopMatchaPlicIrqIdUart0RxTimeout = 7, /**< uart0_rx_timeout */ |
| kTopMatchaPlicIrqIdUart0RxParityErr = 8, /**< uart0_rx_parity_err */ |
| kTopMatchaPlicIrqIdUart1TxWatermark = 9, /**< uart1_tx_watermark */ |
| kTopMatchaPlicIrqIdUart1RxWatermark = 10, /**< uart1_rx_watermark */ |
| kTopMatchaPlicIrqIdUart1TxEmpty = 11, /**< uart1_tx_empty */ |
| kTopMatchaPlicIrqIdUart1RxOverflow = 12, /**< uart1_rx_overflow */ |
| kTopMatchaPlicIrqIdUart1RxFrameErr = 13, /**< uart1_rx_frame_err */ |
| kTopMatchaPlicIrqIdUart1RxBreakErr = 14, /**< uart1_rx_break_err */ |
| kTopMatchaPlicIrqIdUart1RxTimeout = 15, /**< uart1_rx_timeout */ |
| kTopMatchaPlicIrqIdUart1RxParityErr = 16, /**< uart1_rx_parity_err */ |
| kTopMatchaPlicIrqIdUart2TxWatermark = 17, /**< uart2_tx_watermark */ |
| kTopMatchaPlicIrqIdUart2RxWatermark = 18, /**< uart2_rx_watermark */ |
| kTopMatchaPlicIrqIdUart2TxEmpty = 19, /**< uart2_tx_empty */ |
| kTopMatchaPlicIrqIdUart2RxOverflow = 20, /**< uart2_rx_overflow */ |
| kTopMatchaPlicIrqIdUart2RxFrameErr = 21, /**< uart2_rx_frame_err */ |
| kTopMatchaPlicIrqIdUart2RxBreakErr = 22, /**< uart2_rx_break_err */ |
| kTopMatchaPlicIrqIdUart2RxTimeout = 23, /**< uart2_rx_timeout */ |
| kTopMatchaPlicIrqIdUart2RxParityErr = 24, /**< uart2_rx_parity_err */ |
| kTopMatchaPlicIrqIdUart3TxWatermark = 25, /**< uart3_tx_watermark */ |
| kTopMatchaPlicIrqIdUart3RxWatermark = 26, /**< uart3_rx_watermark */ |
| kTopMatchaPlicIrqIdUart3TxEmpty = 27, /**< uart3_tx_empty */ |
| kTopMatchaPlicIrqIdUart3RxOverflow = 28, /**< uart3_rx_overflow */ |
| kTopMatchaPlicIrqIdUart3RxFrameErr = 29, /**< uart3_rx_frame_err */ |
| kTopMatchaPlicIrqIdUart3RxBreakErr = 30, /**< uart3_rx_break_err */ |
| kTopMatchaPlicIrqIdUart3RxTimeout = 31, /**< uart3_rx_timeout */ |
| kTopMatchaPlicIrqIdUart3RxParityErr = 32, /**< uart3_rx_parity_err */ |
| kTopMatchaPlicIrqIdGpioGpio0 = 33, /**< gpio_gpio 0 */ |
| kTopMatchaPlicIrqIdGpioGpio1 = 34, /**< gpio_gpio 1 */ |
| kTopMatchaPlicIrqIdGpioGpio2 = 35, /**< gpio_gpio 2 */ |
| kTopMatchaPlicIrqIdGpioGpio3 = 36, /**< gpio_gpio 3 */ |
| kTopMatchaPlicIrqIdGpioGpio4 = 37, /**< gpio_gpio 4 */ |
| kTopMatchaPlicIrqIdGpioGpio5 = 38, /**< gpio_gpio 5 */ |
| kTopMatchaPlicIrqIdGpioGpio6 = 39, /**< gpio_gpio 6 */ |
| kTopMatchaPlicIrqIdGpioGpio7 = 40, /**< gpio_gpio 7 */ |
| kTopMatchaPlicIrqIdGpioGpio8 = 41, /**< gpio_gpio 8 */ |
| kTopMatchaPlicIrqIdGpioGpio9 = 42, /**< gpio_gpio 9 */ |
| kTopMatchaPlicIrqIdGpioGpio10 = 43, /**< gpio_gpio 10 */ |
| kTopMatchaPlicIrqIdGpioGpio11 = 44, /**< gpio_gpio 11 */ |
| kTopMatchaPlicIrqIdGpioGpio12 = 45, /**< gpio_gpio 12 */ |
| kTopMatchaPlicIrqIdGpioGpio13 = 46, /**< gpio_gpio 13 */ |
| kTopMatchaPlicIrqIdGpioGpio14 = 47, /**< gpio_gpio 14 */ |
| kTopMatchaPlicIrqIdGpioGpio15 = 48, /**< gpio_gpio 15 */ |
| kTopMatchaPlicIrqIdGpioGpio16 = 49, /**< gpio_gpio 16 */ |
| kTopMatchaPlicIrqIdGpioGpio17 = 50, /**< gpio_gpio 17 */ |
| kTopMatchaPlicIrqIdGpioGpio18 = 51, /**< gpio_gpio 18 */ |
| kTopMatchaPlicIrqIdGpioGpio19 = 52, /**< gpio_gpio 19 */ |
| kTopMatchaPlicIrqIdGpioGpio20 = 53, /**< gpio_gpio 20 */ |
| kTopMatchaPlicIrqIdGpioGpio21 = 54, /**< gpio_gpio 21 */ |
| kTopMatchaPlicIrqIdGpioGpio22 = 55, /**< gpio_gpio 22 */ |
| kTopMatchaPlicIrqIdGpioGpio23 = 56, /**< gpio_gpio 23 */ |
| kTopMatchaPlicIrqIdGpioGpio24 = 57, /**< gpio_gpio 24 */ |
| kTopMatchaPlicIrqIdGpioGpio25 = 58, /**< gpio_gpio 25 */ |
| kTopMatchaPlicIrqIdGpioGpio26 = 59, /**< gpio_gpio 26 */ |
| kTopMatchaPlicIrqIdGpioGpio27 = 60, /**< gpio_gpio 27 */ |
| kTopMatchaPlicIrqIdGpioGpio28 = 61, /**< gpio_gpio 28 */ |
| kTopMatchaPlicIrqIdGpioGpio29 = 62, /**< gpio_gpio 29 */ |
| kTopMatchaPlicIrqIdGpioGpio30 = 63, /**< gpio_gpio 30 */ |
| kTopMatchaPlicIrqIdGpioGpio31 = 64, /**< gpio_gpio 31 */ |
| kTopMatchaPlicIrqIdSpiDeviceGenericRxFull = 65, /**< spi_device_generic_rx_full */ |
| kTopMatchaPlicIrqIdSpiDeviceGenericRxWatermark = 66, /**< spi_device_generic_rx_watermark */ |
| kTopMatchaPlicIrqIdSpiDeviceGenericTxWatermark = 67, /**< spi_device_generic_tx_watermark */ |
| kTopMatchaPlicIrqIdSpiDeviceGenericRxError = 68, /**< spi_device_generic_rx_error */ |
| kTopMatchaPlicIrqIdSpiDeviceGenericRxOverflow = 69, /**< spi_device_generic_rx_overflow */ |
| kTopMatchaPlicIrqIdSpiDeviceGenericTxUnderflow = 70, /**< spi_device_generic_tx_underflow */ |
| kTopMatchaPlicIrqIdSpiDeviceUploadCmdfifoNotEmpty = 71, /**< spi_device_upload_cmdfifo_not_empty */ |
| kTopMatchaPlicIrqIdSpiDeviceUploadPayloadNotEmpty = 72, /**< spi_device_upload_payload_not_empty */ |
| kTopMatchaPlicIrqIdSpiDeviceUploadPayloadOverflow = 73, /**< spi_device_upload_payload_overflow */ |
| kTopMatchaPlicIrqIdSpiDeviceReadbufWatermark = 74, /**< spi_device_readbuf_watermark */ |
| kTopMatchaPlicIrqIdSpiDeviceReadbufFlip = 75, /**< spi_device_readbuf_flip */ |
| kTopMatchaPlicIrqIdSpiDeviceTpmHeaderNotEmpty = 76, /**< spi_device_tpm_header_not_empty */ |
| kTopMatchaPlicIrqIdI2c0FmtThreshold = 77, /**< i2c0_fmt_threshold */ |
| kTopMatchaPlicIrqIdI2c0RxThreshold = 78, /**< i2c0_rx_threshold */ |
| kTopMatchaPlicIrqIdI2c0FmtOverflow = 79, /**< i2c0_fmt_overflow */ |
| kTopMatchaPlicIrqIdI2c0RxOverflow = 80, /**< i2c0_rx_overflow */ |
| kTopMatchaPlicIrqIdI2c0Nak = 81, /**< i2c0_nak */ |
| kTopMatchaPlicIrqIdI2c0SclInterference = 82, /**< i2c0_scl_interference */ |
| kTopMatchaPlicIrqIdI2c0SdaInterference = 83, /**< i2c0_sda_interference */ |
| kTopMatchaPlicIrqIdI2c0StretchTimeout = 84, /**< i2c0_stretch_timeout */ |
| kTopMatchaPlicIrqIdI2c0SdaUnstable = 85, /**< i2c0_sda_unstable */ |
| kTopMatchaPlicIrqIdI2c0CmdComplete = 86, /**< i2c0_cmd_complete */ |
| kTopMatchaPlicIrqIdI2c0TxStretch = 87, /**< i2c0_tx_stretch */ |
| kTopMatchaPlicIrqIdI2c0TxOverflow = 88, /**< i2c0_tx_overflow */ |
| kTopMatchaPlicIrqIdI2c0AcqFull = 89, /**< i2c0_acq_full */ |
| kTopMatchaPlicIrqIdI2c0UnexpStop = 90, /**< i2c0_unexp_stop */ |
| kTopMatchaPlicIrqIdI2c0HostTimeout = 91, /**< i2c0_host_timeout */ |
| kTopMatchaPlicIrqIdI2c1FmtThreshold = 92, /**< i2c1_fmt_threshold */ |
| kTopMatchaPlicIrqIdI2c1RxThreshold = 93, /**< i2c1_rx_threshold */ |
| kTopMatchaPlicIrqIdI2c1FmtOverflow = 94, /**< i2c1_fmt_overflow */ |
| kTopMatchaPlicIrqIdI2c1RxOverflow = 95, /**< i2c1_rx_overflow */ |
| kTopMatchaPlicIrqIdI2c1Nak = 96, /**< i2c1_nak */ |
| kTopMatchaPlicIrqIdI2c1SclInterference = 97, /**< i2c1_scl_interference */ |
| kTopMatchaPlicIrqIdI2c1SdaInterference = 98, /**< i2c1_sda_interference */ |
| kTopMatchaPlicIrqIdI2c1StretchTimeout = 99, /**< i2c1_stretch_timeout */ |
| kTopMatchaPlicIrqIdI2c1SdaUnstable = 100, /**< i2c1_sda_unstable */ |
| kTopMatchaPlicIrqIdI2c1CmdComplete = 101, /**< i2c1_cmd_complete */ |
| kTopMatchaPlicIrqIdI2c1TxStretch = 102, /**< i2c1_tx_stretch */ |
| kTopMatchaPlicIrqIdI2c1TxOverflow = 103, /**< i2c1_tx_overflow */ |
| kTopMatchaPlicIrqIdI2c1AcqFull = 104, /**< i2c1_acq_full */ |
| kTopMatchaPlicIrqIdI2c1UnexpStop = 105, /**< i2c1_unexp_stop */ |
| kTopMatchaPlicIrqIdI2c1HostTimeout = 106, /**< i2c1_host_timeout */ |
| kTopMatchaPlicIrqIdI2c2FmtThreshold = 107, /**< i2c2_fmt_threshold */ |
| kTopMatchaPlicIrqIdI2c2RxThreshold = 108, /**< i2c2_rx_threshold */ |
| kTopMatchaPlicIrqIdI2c2FmtOverflow = 109, /**< i2c2_fmt_overflow */ |
| kTopMatchaPlicIrqIdI2c2RxOverflow = 110, /**< i2c2_rx_overflow */ |
| kTopMatchaPlicIrqIdI2c2Nak = 111, /**< i2c2_nak */ |
| kTopMatchaPlicIrqIdI2c2SclInterference = 112, /**< i2c2_scl_interference */ |
| kTopMatchaPlicIrqIdI2c2SdaInterference = 113, /**< i2c2_sda_interference */ |
| kTopMatchaPlicIrqIdI2c2StretchTimeout = 114, /**< i2c2_stretch_timeout */ |
| kTopMatchaPlicIrqIdI2c2SdaUnstable = 115, /**< i2c2_sda_unstable */ |
| kTopMatchaPlicIrqIdI2c2CmdComplete = 116, /**< i2c2_cmd_complete */ |
| kTopMatchaPlicIrqIdI2c2TxStretch = 117, /**< i2c2_tx_stretch */ |
| kTopMatchaPlicIrqIdI2c2TxOverflow = 118, /**< i2c2_tx_overflow */ |
| kTopMatchaPlicIrqIdI2c2AcqFull = 119, /**< i2c2_acq_full */ |
| kTopMatchaPlicIrqIdI2c2UnexpStop = 120, /**< i2c2_unexp_stop */ |
| kTopMatchaPlicIrqIdI2c2HostTimeout = 121, /**< i2c2_host_timeout */ |
| kTopMatchaPlicIrqIdPattgenDoneCh0 = 122, /**< pattgen_done_ch0 */ |
| kTopMatchaPlicIrqIdPattgenDoneCh1 = 123, /**< pattgen_done_ch1 */ |
| kTopMatchaPlicIrqIdRvTimerTimerExpiredHart0Timer0 = 124, /**< rv_timer_timer_expired_hart0_timer0 */ |
| kTopMatchaPlicIrqIdOtpCtrlOtpOperationDone = 125, /**< otp_ctrl_otp_operation_done */ |
| kTopMatchaPlicIrqIdOtpCtrlOtpError = 126, /**< otp_ctrl_otp_error */ |
| kTopMatchaPlicIrqIdAlertHandlerClassa = 127, /**< alert_handler_classa */ |
| kTopMatchaPlicIrqIdAlertHandlerClassb = 128, /**< alert_handler_classb */ |
| kTopMatchaPlicIrqIdAlertHandlerClassc = 129, /**< alert_handler_classc */ |
| kTopMatchaPlicIrqIdAlertHandlerClassd = 130, /**< alert_handler_classd */ |
| kTopMatchaPlicIrqIdSpiHost0Error = 131, /**< spi_host0_error */ |
| kTopMatchaPlicIrqIdSpiHost0SpiEvent = 132, /**< spi_host0_spi_event */ |
| kTopMatchaPlicIrqIdSpiHost1Error = 133, /**< spi_host1_error */ |
| kTopMatchaPlicIrqIdSpiHost1SpiEvent = 134, /**< spi_host1_spi_event */ |
| kTopMatchaPlicIrqIdUsbdevPktReceived = 135, /**< usbdev_pkt_received */ |
| kTopMatchaPlicIrqIdUsbdevPktSent = 136, /**< usbdev_pkt_sent */ |
| kTopMatchaPlicIrqIdUsbdevDisconnected = 137, /**< usbdev_disconnected */ |
| kTopMatchaPlicIrqIdUsbdevHostLost = 138, /**< usbdev_host_lost */ |
| kTopMatchaPlicIrqIdUsbdevLinkReset = 139, /**< usbdev_link_reset */ |
| kTopMatchaPlicIrqIdUsbdevLinkSuspend = 140, /**< usbdev_link_suspend */ |
| kTopMatchaPlicIrqIdUsbdevLinkResume = 141, /**< usbdev_link_resume */ |
| kTopMatchaPlicIrqIdUsbdevAvEmpty = 142, /**< usbdev_av_empty */ |
| kTopMatchaPlicIrqIdUsbdevRxFull = 143, /**< usbdev_rx_full */ |
| kTopMatchaPlicIrqIdUsbdevAvOverflow = 144, /**< usbdev_av_overflow */ |
| kTopMatchaPlicIrqIdUsbdevLinkInErr = 145, /**< usbdev_link_in_err */ |
| kTopMatchaPlicIrqIdUsbdevRxCrcErr = 146, /**< usbdev_rx_crc_err */ |
| kTopMatchaPlicIrqIdUsbdevRxPidErr = 147, /**< usbdev_rx_pid_err */ |
| kTopMatchaPlicIrqIdUsbdevRxBitstuffErr = 148, /**< usbdev_rx_bitstuff_err */ |
| kTopMatchaPlicIrqIdUsbdevFrame = 149, /**< usbdev_frame */ |
| kTopMatchaPlicIrqIdUsbdevPowered = 150, /**< usbdev_powered */ |
| kTopMatchaPlicIrqIdUsbdevLinkOutErr = 151, /**< usbdev_link_out_err */ |
| kTopMatchaPlicIrqIdPwrmgrAonWakeup = 152, /**< pwrmgr_aon_wakeup */ |
| kTopMatchaPlicIrqIdSysrstCtrlAonEventDetected = 153, /**< sysrst_ctrl_aon_event_detected */ |
| kTopMatchaPlicIrqIdAdcCtrlAonMatchDone = 154, /**< adc_ctrl_aon_match_done */ |
| kTopMatchaPlicIrqIdAonTimerAonWkupTimerExpired = 155, /**< aon_timer_aon_wkup_timer_expired */ |
| kTopMatchaPlicIrqIdAonTimerAonWdogTimerBark = 156, /**< aon_timer_aon_wdog_timer_bark */ |
| kTopMatchaPlicIrqIdSensorCtrlIoStatusChange = 157, /**< sensor_ctrl_io_status_change */ |
| kTopMatchaPlicIrqIdSensorCtrlInitStatusChange = 158, /**< sensor_ctrl_init_status_change */ |
| kTopMatchaPlicIrqIdFlashCtrlProgEmpty = 159, /**< flash_ctrl_prog_empty */ |
| kTopMatchaPlicIrqIdFlashCtrlProgLvl = 160, /**< flash_ctrl_prog_lvl */ |
| kTopMatchaPlicIrqIdFlashCtrlRdFull = 161, /**< flash_ctrl_rd_full */ |
| kTopMatchaPlicIrqIdFlashCtrlRdLvl = 162, /**< flash_ctrl_rd_lvl */ |
| kTopMatchaPlicIrqIdFlashCtrlOpDone = 163, /**< flash_ctrl_op_done */ |
| kTopMatchaPlicIrqIdFlashCtrlCorrErr = 164, /**< flash_ctrl_corr_err */ |
| kTopMatchaPlicIrqIdHmacHmacDone = 165, /**< hmac_hmac_done */ |
| kTopMatchaPlicIrqIdHmacFifoEmpty = 166, /**< hmac_fifo_empty */ |
| kTopMatchaPlicIrqIdHmacHmacErr = 167, /**< hmac_hmac_err */ |
| kTopMatchaPlicIrqIdKmacKmacDone = 168, /**< kmac_kmac_done */ |
| kTopMatchaPlicIrqIdKmacFifoEmpty = 169, /**< kmac_fifo_empty */ |
| kTopMatchaPlicIrqIdKmacKmacErr = 170, /**< kmac_kmac_err */ |
| kTopMatchaPlicIrqIdOtbnDone = 171, /**< otbn_done */ |
| kTopMatchaPlicIrqIdKeymgrOpDone = 172, /**< keymgr_op_done */ |
| kTopMatchaPlicIrqIdCsrngCsCmdReqDone = 173, /**< csrng_cs_cmd_req_done */ |
| kTopMatchaPlicIrqIdCsrngCsEntropyReq = 174, /**< csrng_cs_entropy_req */ |
| kTopMatchaPlicIrqIdCsrngCsHwInstExc = 175, /**< csrng_cs_hw_inst_exc */ |
| kTopMatchaPlicIrqIdCsrngCsFatalErr = 176, /**< csrng_cs_fatal_err */ |
| kTopMatchaPlicIrqIdEntropySrcEsEntropyValid = 177, /**< entropy_src_es_entropy_valid */ |
| kTopMatchaPlicIrqIdEntropySrcEsHealthTestFailed = 178, /**< entropy_src_es_health_test_failed */ |
| kTopMatchaPlicIrqIdEntropySrcEsObserveFifoReady = 179, /**< entropy_src_es_observe_fifo_ready */ |
| kTopMatchaPlicIrqIdEntropySrcEsFatalErr = 180, /**< entropy_src_es_fatal_err */ |
| kTopMatchaPlicIrqIdEdn0EdnCmdReqDone = 181, /**< edn0_edn_cmd_req_done */ |
| kTopMatchaPlicIrqIdEdn0EdnFatalErr = 182, /**< edn0_edn_fatal_err */ |
| kTopMatchaPlicIrqIdEdn1EdnCmdReqDone = 183, /**< edn1_edn_cmd_req_done */ |
| kTopMatchaPlicIrqIdEdn1EdnFatalErr = 184, /**< edn1_edn_fatal_err */ |
| kTopMatchaPlicIrqIdDma0WriterDone = 185, /**< dma0_writer_done */ |
| kTopMatchaPlicIrqIdDma0ReaderDone = 186, /**< dma0_reader_done */ |
| kTopMatchaPlicIrqIdTlulMailboxSecWtirq = 187, /**< tlul_mailbox_sec_wtirq */ |
| kTopMatchaPlicIrqIdTlulMailboxSecRtirq = 188, /**< tlul_mailbox_sec_rtirq */ |
| kTopMatchaPlicIrqIdTlulMailboxSecEirq = 189, /**< tlul_mailbox_sec_eirq */ |
| kTopMatchaPlicIrqIdLast = 189, /**< \internal The Last Valid Interrupt ID. */ |
| } top_matcha_plic_irq_id_t; |
| |
| typedef enum top_matcha_plic_irq_id_smc { |
| kTopMatchaPlicIrqIdNoneSmc = 0, /**< No Interrupt */ |
| kTopMatchaPlicIrqIdSmcUartTxWatermark = 1, /**< smc_uart_tx_watermark */ |
| kTopMatchaPlicIrqIdSmcUartRxWatermark = 2, /**< smc_uart_rx_watermark */ |
| kTopMatchaPlicIrqIdSmcUartTxEmpty = 3, /**< smc_uart_tx_empty */ |
| kTopMatchaPlicIrqIdSmcUartRxOverflow = 4, /**< smc_uart_rx_overflow */ |
| kTopMatchaPlicIrqIdSmcUartRxFrameErr = 5, /**< smc_uart_rx_frame_err */ |
| kTopMatchaPlicIrqIdSmcUartRxBreakErr = 6, /**< smc_uart_rx_break_err */ |
| kTopMatchaPlicIrqIdSmcUartRxTimeout = 7, /**< smc_uart_rx_timeout */ |
| kTopMatchaPlicIrqIdSmcUartRxParityErr = 8, /**< smc_uart_rx_parity_err */ |
| kTopMatchaPlicIrqIdRvTimerSmcTimerExpiredHart0Timer0 = 9, /**< rv_timer_smc_timer_expired_hart0_timer0 */ |
| kTopMatchaPlicIrqIdCamI2cFmtThreshold = 10, /**< cam_i2c_fmt_threshold */ |
| kTopMatchaPlicIrqIdCamI2cRxThreshold = 11, /**< cam_i2c_rx_threshold */ |
| kTopMatchaPlicIrqIdCamI2cFmtOverflow = 12, /**< cam_i2c_fmt_overflow */ |
| kTopMatchaPlicIrqIdCamI2cRxOverflow = 13, /**< cam_i2c_rx_overflow */ |
| kTopMatchaPlicIrqIdCamI2cNak = 14, /**< cam_i2c_nak */ |
| kTopMatchaPlicIrqIdCamI2cSclInterference = 15, /**< cam_i2c_scl_interference */ |
| kTopMatchaPlicIrqIdCamI2cSdaInterference = 16, /**< cam_i2c_sda_interference */ |
| kTopMatchaPlicIrqIdCamI2cStretchTimeout = 17, /**< cam_i2c_stretch_timeout */ |
| kTopMatchaPlicIrqIdCamI2cSdaUnstable = 18, /**< cam_i2c_sda_unstable */ |
| kTopMatchaPlicIrqIdCamI2cCmdComplete = 19, /**< cam_i2c_cmd_complete */ |
| kTopMatchaPlicIrqIdCamI2cTxStretch = 20, /**< cam_i2c_tx_stretch */ |
| kTopMatchaPlicIrqIdCamI2cTxOverflow = 21, /**< cam_i2c_tx_overflow */ |
| kTopMatchaPlicIrqIdCamI2cAcqFull = 22, /**< cam_i2c_acq_full */ |
| kTopMatchaPlicIrqIdCamI2cUnexpStop = 23, /**< cam_i2c_unexp_stop */ |
| kTopMatchaPlicIrqIdCamI2cHostTimeout = 24, /**< cam_i2c_host_timeout */ |
| kTopMatchaPlicIrqIdCamCtrlCamMotionDetect = 25, /**< cam_ctrl_cam_motion_detect */ |
| kTopMatchaPlicIrqIdIspWrapperIsp = 26, /**< isp_wrapper_isp */ |
| kTopMatchaPlicIrqIdIspWrapperMi = 27, /**< isp_wrapper_mi */ |
| kTopMatchaPlicIrqIdDmaSmcWriterDone = 28, /**< dma_smc_writer_done */ |
| kTopMatchaPlicIrqIdDmaSmcReaderDone = 29, /**< dma_smc_reader_done */ |
| kTopMatchaPlicIrqIdTlulMailboxSmcWtirq = 30, /**< tlul_mailbox_smc_wtirq */ |
| kTopMatchaPlicIrqIdTlulMailboxSmcRtirq = 31, /**< tlul_mailbox_smc_rtirq */ |
| kTopMatchaPlicIrqIdTlulMailboxSmcEirq = 32, /**< tlul_mailbox_smc_eirq */ |
| kTopMatchaPlicIrqIdMlTopHostReq = 33, /**< ml_top_host_req */ |
| kTopMatchaPlicIrqIdMlTopFinish = 34, /**< ml_top_finish */ |
| kTopMatchaPlicIrqIdMlTopFault = 35, /**< ml_top_fault */ |
| kTopMatchaPlicIrqIdSpiHost2Error = 36, /**< spi_host2_error */ |
| kTopMatchaPlicIrqIdSpiHost2SpiEvent = 37, /**< spi_host2_spi_event */ |
| kTopMatchaPlicIrqIdRvTimerSmc2TimerExpiredHart0Timer0 = 38, /**< rv_timer_smc2_timer_expired_hart0_timer0 */ |
| kTopMatchaPlicIrqIdI2s0TxWatermark = 39, /**< i2s0_tx_watermark */ |
| kTopMatchaPlicIrqIdI2s0RxWatermark = 40, /**< i2s0_rx_watermark */ |
| kTopMatchaPlicIrqIdI2s0TxEmpty = 41, /**< i2s0_tx_empty */ |
| kTopMatchaPlicIrqIdI2s0RxOverflow = 42, /**< i2s0_rx_overflow */ |
| kTopMatchaPlicIrqIdLastSmc = 42, /**< \internal The Last Valid Interrupt ID. */ |
| } top_matcha_plic_irq_id_smc_t; |
| |
| /** |
| * PLIC Interrupt Source to Peripheral Map |
| * |
| * This array is a mapping from `top_matcha_plic_irq_id_t` to |
| * `top_matcha_plic_peripheral_t`. |
| */ |
| extern const top_matcha_plic_peripheral_t |
| top_matcha_plic_interrupt_for_peripheral[190]; |
| |
| extern const top_matcha_plic_peripheral_smc_t |
| top_matcha_plic_interrupt_for_peripheral_smc[43]; |
| |
| /** |
| * PLIC Interrupt Target. |
| * |
| * Enumeration used to determine which set of IE, CC, threshold registers to |
| * access for a given interrupt target. |
| */ |
| typedef enum top_matcha_plic_target { |
| kTopMatchaPlicTargetIbex0 = 0, /**< Ibex Core 0 */ |
| kTopMatchaPlicTargetIbex1 = 1, /**< Ibex Core 1 */ |
| kTopMatchaPlicTargetLast = 1, /**< \internal Final PLIC target */ |
| } top_matcha_plic_target_t; |
| |
| typedef enum top_matcha_plic_target_smc { |
| kTopMatchaPlicTargetIbex0Smc = 0, /**< Ibex Core 0 */ |
| kTopMatchaPlicTargetLastSmc = 0, /**< \internal Final PLIC target */ |
| } top_matcha_plic_target_smc_t; |
| |
| /** |
| * Alert Handler Source Peripheral. |
| * |
| * Enumeration used to determine which peripheral asserted the corresponding |
| * alert. |
| */ |
| typedef enum top_matcha_alert_peripheral { |
| kTopMatchaAlertPeripheralUart0 = 0, /**< uart0 */ |
| kTopMatchaAlertPeripheralUart1 = 1, /**< uart1 */ |
| kTopMatchaAlertPeripheralUart2 = 2, /**< uart2 */ |
| kTopMatchaAlertPeripheralUart3 = 3, /**< uart3 */ |
| kTopMatchaAlertPeripheralGpio = 4, /**< gpio */ |
| kTopMatchaAlertPeripheralSpiDevice = 5, /**< spi_device */ |
| kTopMatchaAlertPeripheralI2c0 = 6, /**< i2c0 */ |
| kTopMatchaAlertPeripheralI2c1 = 7, /**< i2c1 */ |
| kTopMatchaAlertPeripheralI2c2 = 8, /**< i2c2 */ |
| kTopMatchaAlertPeripheralPattgen = 9, /**< pattgen */ |
| kTopMatchaAlertPeripheralRvTimer = 10, /**< rv_timer */ |
| kTopMatchaAlertPeripheralOtpCtrl = 11, /**< otp_ctrl */ |
| kTopMatchaAlertPeripheralLcCtrl = 12, /**< lc_ctrl */ |
| kTopMatchaAlertPeripheralSpiHost0 = 13, /**< spi_host0 */ |
| kTopMatchaAlertPeripheralSpiHost1 = 14, /**< spi_host1 */ |
| kTopMatchaAlertPeripheralUsbdev = 15, /**< usbdev */ |
| kTopMatchaAlertPeripheralPwrmgrAon = 16, /**< pwrmgr_aon */ |
| kTopMatchaAlertPeripheralRstmgrAon = 17, /**< rstmgr_aon */ |
| kTopMatchaAlertPeripheralClkmgrAon = 18, /**< clkmgr_aon */ |
| kTopMatchaAlertPeripheralSysrstCtrlAon = 19, /**< sysrst_ctrl_aon */ |
| kTopMatchaAlertPeripheralAdcCtrlAon = 20, /**< adc_ctrl_aon */ |
| kTopMatchaAlertPeripheralPwmAon = 21, /**< pwm_aon */ |
| kTopMatchaAlertPeripheralPinmuxAon = 22, /**< pinmux_aon */ |
| kTopMatchaAlertPeripheralAonTimerAon = 23, /**< aon_timer_aon */ |
| kTopMatchaAlertPeripheralSensorCtrl = 24, /**< sensor_ctrl */ |
| kTopMatchaAlertPeripheralSramCtrlRetAon = 25, /**< sram_ctrl_ret_aon */ |
| kTopMatchaAlertPeripheralFlashCtrl = 26, /**< flash_ctrl */ |
| kTopMatchaAlertPeripheralRvDm = 27, /**< rv_dm */ |
| kTopMatchaAlertPeripheralRvPlic = 28, /**< rv_plic */ |
| kTopMatchaAlertPeripheralAes = 29, /**< aes */ |
| kTopMatchaAlertPeripheralHmac = 30, /**< hmac */ |
| kTopMatchaAlertPeripheralKmac = 31, /**< kmac */ |
| kTopMatchaAlertPeripheralOtbn = 32, /**< otbn */ |
| kTopMatchaAlertPeripheralKeymgr = 33, /**< keymgr */ |
| kTopMatchaAlertPeripheralCsrng = 34, /**< csrng */ |
| kTopMatchaAlertPeripheralEntropySrc = 35, /**< entropy_src */ |
| kTopMatchaAlertPeripheralEdn0 = 36, /**< edn0 */ |
| kTopMatchaAlertPeripheralEdn1 = 37, /**< edn1 */ |
| kTopMatchaAlertPeripheralSramCtrlMain = 38, /**< sram_ctrl_main */ |
| kTopMatchaAlertPeripheralRomCtrl = 39, /**< rom_ctrl */ |
| kTopMatchaAlertPeripheralRvCoreIbexSec = 40, /**< rv_core_ibex_sec */ |
| kTopMatchaAlertPeripheralSmcUart = 41, /**< smc_uart */ |
| kTopMatchaAlertPeripheralRvTimerSmc = 42, /**< rv_timer_smc */ |
| kTopMatchaAlertPeripheralCamI2c = 43, /**< cam_i2c */ |
| kTopMatchaAlertPeripheralRvPlicSmc = 44, /**< rv_plic_smc */ |
| kTopMatchaAlertPeripheralSpiHost2 = 45, /**< spi_host2 */ |
| kTopMatchaAlertPeripheralRvTimerSmc2 = 46, /**< rv_timer_smc2 */ |
| kTopMatchaAlertPeripheralRvCoreIbexSmc = 47, /**< rv_core_ibex_smc */ |
| kTopMatchaAlertPeripheralLast = 47, /**< \internal Final Alert peripheral */ |
| } top_matcha_alert_peripheral_t; |
| |
| /** |
| * Alert Handler Alert Source. |
| * |
| * Enumeration of all Alert Handler Alert Sources. The alert sources belonging to |
| * the same peripheral are guaranteed to be consecutive. |
| */ |
| typedef enum top_matcha_alert_id { |
| kTopMatchaAlertIdUart0FatalFault = 0, /**< uart0_fatal_fault */ |
| kTopMatchaAlertIdUart1FatalFault = 1, /**< uart1_fatal_fault */ |
| kTopMatchaAlertIdUart2FatalFault = 2, /**< uart2_fatal_fault */ |
| kTopMatchaAlertIdUart3FatalFault = 3, /**< uart3_fatal_fault */ |
| kTopMatchaAlertIdGpioFatalFault = 4, /**< gpio_fatal_fault */ |
| kTopMatchaAlertIdSpiDeviceFatalFault = 5, /**< spi_device_fatal_fault */ |
| kTopMatchaAlertIdI2c0FatalFault = 6, /**< i2c0_fatal_fault */ |
| kTopMatchaAlertIdI2c1FatalFault = 7, /**< i2c1_fatal_fault */ |
| kTopMatchaAlertIdI2c2FatalFault = 8, /**< i2c2_fatal_fault */ |
| kTopMatchaAlertIdPattgenFatalFault = 9, /**< pattgen_fatal_fault */ |
| kTopMatchaAlertIdRvTimerFatalFault = 10, /**< rv_timer_fatal_fault */ |
| kTopMatchaAlertIdOtpCtrlFatalMacroError = 11, /**< otp_ctrl_fatal_macro_error */ |
| kTopMatchaAlertIdOtpCtrlFatalCheckError = 12, /**< otp_ctrl_fatal_check_error */ |
| kTopMatchaAlertIdOtpCtrlFatalBusIntegError = 13, /**< otp_ctrl_fatal_bus_integ_error */ |
| kTopMatchaAlertIdOtpCtrlFatalPrimOtpAlert = 14, /**< otp_ctrl_fatal_prim_otp_alert */ |
| kTopMatchaAlertIdOtpCtrlRecovPrimOtpAlert = 15, /**< otp_ctrl_recov_prim_otp_alert */ |
| kTopMatchaAlertIdLcCtrlFatalProgError = 16, /**< lc_ctrl_fatal_prog_error */ |
| kTopMatchaAlertIdLcCtrlFatalStateError = 17, /**< lc_ctrl_fatal_state_error */ |
| kTopMatchaAlertIdLcCtrlFatalBusIntegError = 18, /**< lc_ctrl_fatal_bus_integ_error */ |
| kTopMatchaAlertIdSpiHost0FatalFault = 19, /**< spi_host0_fatal_fault */ |
| kTopMatchaAlertIdSpiHost1FatalFault = 20, /**< spi_host1_fatal_fault */ |
| kTopMatchaAlertIdUsbdevFatalFault = 21, /**< usbdev_fatal_fault */ |
| kTopMatchaAlertIdPwrmgrAonFatalFault = 22, /**< pwrmgr_aon_fatal_fault */ |
| kTopMatchaAlertIdRstmgrAonFatalFault = 23, /**< rstmgr_aon_fatal_fault */ |
| kTopMatchaAlertIdRstmgrAonFatalCnstyFault = 24, /**< rstmgr_aon_fatal_cnsty_fault */ |
| kTopMatchaAlertIdClkmgrAonRecovFault = 25, /**< clkmgr_aon_recov_fault */ |
| kTopMatchaAlertIdClkmgrAonFatalFault = 26, /**< clkmgr_aon_fatal_fault */ |
| kTopMatchaAlertIdSysrstCtrlAonFatalFault = 27, /**< sysrst_ctrl_aon_fatal_fault */ |
| kTopMatchaAlertIdAdcCtrlAonFatalFault = 28, /**< adc_ctrl_aon_fatal_fault */ |
| kTopMatchaAlertIdPwmAonFatalFault = 29, /**< pwm_aon_fatal_fault */ |
| kTopMatchaAlertIdPinmuxAonFatalFault = 30, /**< pinmux_aon_fatal_fault */ |
| kTopMatchaAlertIdAonTimerAonFatalFault = 31, /**< aon_timer_aon_fatal_fault */ |
| kTopMatchaAlertIdSensorCtrlRecovAlert = 32, /**< sensor_ctrl_recov_alert */ |
| kTopMatchaAlertIdSensorCtrlFatalAlert = 33, /**< sensor_ctrl_fatal_alert */ |
| kTopMatchaAlertIdSramCtrlRetAonFatalError = 34, /**< sram_ctrl_ret_aon_fatal_error */ |
| kTopMatchaAlertIdFlashCtrlRecovErr = 35, /**< flash_ctrl_recov_err */ |
| kTopMatchaAlertIdFlashCtrlFatalStdErr = 36, /**< flash_ctrl_fatal_std_err */ |
| kTopMatchaAlertIdFlashCtrlFatalErr = 37, /**< flash_ctrl_fatal_err */ |
| kTopMatchaAlertIdFlashCtrlFatalPrimFlashAlert = 38, /**< flash_ctrl_fatal_prim_flash_alert */ |
| kTopMatchaAlertIdFlashCtrlRecovPrimFlashAlert = 39, /**< flash_ctrl_recov_prim_flash_alert */ |
| kTopMatchaAlertIdRvDmFatalFault = 40, /**< rv_dm_fatal_fault */ |
| kTopMatchaAlertIdRvPlicFatalFault = 41, /**< rv_plic_fatal_fault */ |
| kTopMatchaAlertIdAesRecovCtrlUpdateErr = 42, /**< aes_recov_ctrl_update_err */ |
| kTopMatchaAlertIdAesFatalFault = 43, /**< aes_fatal_fault */ |
| kTopMatchaAlertIdHmacFatalFault = 44, /**< hmac_fatal_fault */ |
| kTopMatchaAlertIdKmacRecovOperationErr = 45, /**< kmac_recov_operation_err */ |
| kTopMatchaAlertIdKmacFatalFaultErr = 46, /**< kmac_fatal_fault_err */ |
| kTopMatchaAlertIdOtbnFatal = 47, /**< otbn_fatal */ |
| kTopMatchaAlertIdOtbnRecov = 48, /**< otbn_recov */ |
| kTopMatchaAlertIdKeymgrRecovOperationErr = 49, /**< keymgr_recov_operation_err */ |
| kTopMatchaAlertIdKeymgrFatalFaultErr = 50, /**< keymgr_fatal_fault_err */ |
| kTopMatchaAlertIdCsrngRecovAlert = 51, /**< csrng_recov_alert */ |
| kTopMatchaAlertIdCsrngFatalAlert = 52, /**< csrng_fatal_alert */ |
| kTopMatchaAlertIdEntropySrcRecovAlert = 53, /**< entropy_src_recov_alert */ |
| kTopMatchaAlertIdEntropySrcFatalAlert = 54, /**< entropy_src_fatal_alert */ |
| kTopMatchaAlertIdEdn0RecovAlert = 55, /**< edn0_recov_alert */ |
| kTopMatchaAlertIdEdn0FatalAlert = 56, /**< edn0_fatal_alert */ |
| kTopMatchaAlertIdEdn1RecovAlert = 57, /**< edn1_recov_alert */ |
| kTopMatchaAlertIdEdn1FatalAlert = 58, /**< edn1_fatal_alert */ |
| kTopMatchaAlertIdSramCtrlMainFatalError = 59, /**< sram_ctrl_main_fatal_error */ |
| kTopMatchaAlertIdRomCtrlFatal = 60, /**< rom_ctrl_fatal */ |
| kTopMatchaAlertIdRvCoreIbexSecFatalSwErr = 61, /**< rv_core_ibex_sec_fatal_sw_err */ |
| kTopMatchaAlertIdRvCoreIbexSecRecovSwErr = 62, /**< rv_core_ibex_sec_recov_sw_err */ |
| kTopMatchaAlertIdRvCoreIbexSecFatalHwErr = 63, /**< rv_core_ibex_sec_fatal_hw_err */ |
| kTopMatchaAlertIdRvCoreIbexSecRecovHwErr = 64, /**< rv_core_ibex_sec_recov_hw_err */ |
| kTopMatchaAlertIdSmcUartFatalFault = 65, /**< smc_uart_fatal_fault */ |
| kTopMatchaAlertIdRvTimerSmcFatalFault = 66, /**< rv_timer_smc_fatal_fault */ |
| kTopMatchaAlertIdCamI2cFatalFault = 67, /**< cam_i2c_fatal_fault */ |
| kTopMatchaAlertIdRvPlicSmcFatalFault = 68, /**< rv_plic_smc_fatal_fault */ |
| kTopMatchaAlertIdSpiHost2FatalFault = 69, /**< spi_host2_fatal_fault */ |
| kTopMatchaAlertIdRvTimerSmc2FatalFault = 70, /**< rv_timer_smc2_fatal_fault */ |
| kTopMatchaAlertIdRvCoreIbexSmcFatalSwErr = 71, /**< rv_core_ibex_smc_fatal_sw_err */ |
| kTopMatchaAlertIdRvCoreIbexSmcRecovSwErr = 72, /**< rv_core_ibex_smc_recov_sw_err */ |
| kTopMatchaAlertIdRvCoreIbexSmcFatalHwErr = 73, /**< rv_core_ibex_smc_fatal_hw_err */ |
| kTopMatchaAlertIdRvCoreIbexSmcRecovHwErr = 74, /**< rv_core_ibex_smc_recov_hw_err */ |
| kTopMatchaAlertIdLast = 74, /**< \internal The Last Valid Alert ID. */ |
| } top_matcha_alert_id_t; |
| |
| /** |
| * Alert Handler Alert Source to Peripheral Map |
| * |
| * This array is a mapping from `top_matcha_alert_id_t` to |
| * `top_matcha_alert_peripheral_t`. |
| */ |
| extern const top_matcha_alert_peripheral_t |
| top_matcha_alert_for_peripheral[75]; |
| |
| #define PINMUX_MIO_PERIPH_INSEL_IDX_OFFSET 2 |
| |
| // PERIPH_INSEL ranges from 0 to NUM_MIO_PADS + 2 -1} |
| // 0 and 1 are tied to value 0 and 1 |
| #define NUM_MIO_PADS 53 |
| #define NUM_DIO_PADS 16 |
| |
| #define PINMUX_PERIPH_OUTSEL_IDX_OFFSET 3 |
| |
| /** |
| * Pinmux Peripheral Input. |
| */ |
| typedef enum top_matcha_pinmux_peripheral_in { |
| kTopMatchaPinmuxPeripheralInGpioGpio0 = 0, /**< Peripheral Input 0 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio1 = 1, /**< Peripheral Input 1 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio2 = 2, /**< Peripheral Input 2 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio3 = 3, /**< Peripheral Input 3 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio4 = 4, /**< Peripheral Input 4 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio5 = 5, /**< Peripheral Input 5 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio6 = 6, /**< Peripheral Input 6 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio7 = 7, /**< Peripheral Input 7 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio8 = 8, /**< Peripheral Input 8 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio9 = 9, /**< Peripheral Input 9 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio10 = 10, /**< Peripheral Input 10 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio11 = 11, /**< Peripheral Input 11 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio12 = 12, /**< Peripheral Input 12 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio13 = 13, /**< Peripheral Input 13 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio14 = 14, /**< Peripheral Input 14 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio15 = 15, /**< Peripheral Input 15 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio16 = 16, /**< Peripheral Input 16 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio17 = 17, /**< Peripheral Input 17 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio18 = 18, /**< Peripheral Input 18 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio19 = 19, /**< Peripheral Input 19 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio20 = 20, /**< Peripheral Input 20 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio21 = 21, /**< Peripheral Input 21 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio22 = 22, /**< Peripheral Input 22 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio23 = 23, /**< Peripheral Input 23 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio24 = 24, /**< Peripheral Input 24 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio25 = 25, /**< Peripheral Input 25 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio26 = 26, /**< Peripheral Input 26 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio27 = 27, /**< Peripheral Input 27 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio28 = 28, /**< Peripheral Input 28 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio29 = 29, /**< Peripheral Input 29 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio30 = 30, /**< Peripheral Input 30 */ |
| kTopMatchaPinmuxPeripheralInGpioGpio31 = 31, /**< Peripheral Input 31 */ |
| kTopMatchaPinmuxPeripheralInI2c0Sda = 32, /**< Peripheral Input 32 */ |
| kTopMatchaPinmuxPeripheralInI2c0Scl = 33, /**< Peripheral Input 33 */ |
| kTopMatchaPinmuxPeripheralInI2c1Sda = 34, /**< Peripheral Input 34 */ |
| kTopMatchaPinmuxPeripheralInI2c1Scl = 35, /**< Peripheral Input 35 */ |
| kTopMatchaPinmuxPeripheralInI2c2Sda = 36, /**< Peripheral Input 36 */ |
| kTopMatchaPinmuxPeripheralInI2c2Scl = 37, /**< Peripheral Input 37 */ |
| kTopMatchaPinmuxPeripheralInCamI2cSda = 38, /**< Peripheral Input 38 */ |
| kTopMatchaPinmuxPeripheralInCamI2cScl = 39, /**< Peripheral Input 39 */ |
| kTopMatchaPinmuxPeripheralInSpiHost1Sd0 = 40, /**< Peripheral Input 40 */ |
| kTopMatchaPinmuxPeripheralInSpiHost1Sd1 = 41, /**< Peripheral Input 41 */ |
| kTopMatchaPinmuxPeripheralInSpiHost1Sd2 = 42, /**< Peripheral Input 42 */ |
| kTopMatchaPinmuxPeripheralInSpiHost1Sd3 = 43, /**< Peripheral Input 43 */ |
| kTopMatchaPinmuxPeripheralInSpiHost2Sd0 = 44, /**< Peripheral Input 44 */ |
| kTopMatchaPinmuxPeripheralInSpiHost2Sd1 = 45, /**< Peripheral Input 45 */ |
| kTopMatchaPinmuxPeripheralInSpiHost2Sd2 = 46, /**< Peripheral Input 46 */ |
| kTopMatchaPinmuxPeripheralInSpiHost2Sd3 = 47, /**< Peripheral Input 47 */ |
| kTopMatchaPinmuxPeripheralInUart0Rx = 48, /**< Peripheral Input 48 */ |
| kTopMatchaPinmuxPeripheralInUart1Rx = 49, /**< Peripheral Input 49 */ |
| kTopMatchaPinmuxPeripheralInUart2Rx = 50, /**< Peripheral Input 50 */ |
| kTopMatchaPinmuxPeripheralInSmcUartRx = 51, /**< Peripheral Input 51 */ |
| kTopMatchaPinmuxPeripheralInCamCtrlCamInt = 52, /**< Peripheral Input 52 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSPclk = 53, /**< Peripheral Input 53 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSData0 = 54, /**< Peripheral Input 54 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSData1 = 55, /**< Peripheral Input 55 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSData2 = 56, /**< Peripheral Input 56 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSData3 = 57, /**< Peripheral Input 57 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSData4 = 58, /**< Peripheral Input 58 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSData5 = 59, /**< Peripheral Input 59 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSData6 = 60, /**< Peripheral Input 60 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSData7 = 61, /**< Peripheral Input 61 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSHsync = 62, /**< Peripheral Input 62 */ |
| kTopMatchaPinmuxPeripheralInIspWrapperSVsync = 63, /**< Peripheral Input 63 */ |
| kTopMatchaPinmuxPeripheralInI2s0RxSd = 64, /**< Peripheral Input 64 */ |
| kTopMatchaPinmuxPeripheralInSpiDeviceTpmCsb = 65, /**< Peripheral Input 65 */ |
| kTopMatchaPinmuxPeripheralInFlashCtrlTck = 66, /**< Peripheral Input 66 */ |
| kTopMatchaPinmuxPeripheralInFlashCtrlTms = 67, /**< Peripheral Input 67 */ |
| kTopMatchaPinmuxPeripheralInFlashCtrlTdi = 68, /**< Peripheral Input 68 */ |
| kTopMatchaPinmuxPeripheralInSysrstCtrlAonAcPresent = 69, /**< Peripheral Input 69 */ |
| kTopMatchaPinmuxPeripheralInSysrstCtrlAonKey0In = 70, /**< Peripheral Input 70 */ |
| kTopMatchaPinmuxPeripheralInSysrstCtrlAonKey1In = 71, /**< Peripheral Input 71 */ |
| kTopMatchaPinmuxPeripheralInSysrstCtrlAonKey2In = 72, /**< Peripheral Input 72 */ |
| kTopMatchaPinmuxPeripheralInSysrstCtrlAonPwrbIn = 73, /**< Peripheral Input 73 */ |
| kTopMatchaPinmuxPeripheralInSysrstCtrlAonLidOpen = 74, /**< Peripheral Input 74 */ |
| kTopMatchaPinmuxPeripheralInUsbdevSense = 75, /**< Peripheral Input 75 */ |
| kTopMatchaPinmuxPeripheralInLast = 75, /**< \internal Last valid peripheral input */ |
| } top_matcha_pinmux_peripheral_in_t; |
| |
| /** |
| * Pinmux MIO Input Selector. |
| */ |
| typedef enum top_matcha_pinmux_insel { |
| kTopMatchaPinmuxInselConstantZero = 0, /**< Tie constantly to zero */ |
| kTopMatchaPinmuxInselConstantOne = 1, /**< Tie constantly to one */ |
| kTopMatchaPinmuxInselIoa0 = 2, /**< MIO Pad 0 */ |
| kTopMatchaPinmuxInselIoa1 = 3, /**< MIO Pad 1 */ |
| kTopMatchaPinmuxInselIoa2 = 4, /**< MIO Pad 2 */ |
| kTopMatchaPinmuxInselIoa3 = 5, /**< MIO Pad 3 */ |
| kTopMatchaPinmuxInselIoa4 = 6, /**< MIO Pad 4 */ |
| kTopMatchaPinmuxInselIoa5 = 7, /**< MIO Pad 5 */ |
| kTopMatchaPinmuxInselIoa6 = 8, /**< MIO Pad 6 */ |
| kTopMatchaPinmuxInselIoa7 = 9, /**< MIO Pad 7 */ |
| kTopMatchaPinmuxInselIoa8 = 10, /**< MIO Pad 8 */ |
| kTopMatchaPinmuxInselIob0 = 11, /**< MIO Pad 9 */ |
| kTopMatchaPinmuxInselIob1 = 12, /**< MIO Pad 10 */ |
| kTopMatchaPinmuxInselIob2 = 13, /**< MIO Pad 11 */ |
| kTopMatchaPinmuxInselIob3 = 14, /**< MIO Pad 12 */ |
| kTopMatchaPinmuxInselIob4 = 15, /**< MIO Pad 13 */ |
| kTopMatchaPinmuxInselIob5 = 16, /**< MIO Pad 14 */ |
| kTopMatchaPinmuxInselIob6 = 17, /**< MIO Pad 15 */ |
| kTopMatchaPinmuxInselIob7 = 18, /**< MIO Pad 16 */ |
| kTopMatchaPinmuxInselIob8 = 19, /**< MIO Pad 17 */ |
| kTopMatchaPinmuxInselIob9 = 20, /**< MIO Pad 18 */ |
| kTopMatchaPinmuxInselIob10 = 21, /**< MIO Pad 19 */ |
| kTopMatchaPinmuxInselIob11 = 22, /**< MIO Pad 20 */ |
| kTopMatchaPinmuxInselIob12 = 23, /**< MIO Pad 21 */ |
| kTopMatchaPinmuxInselIoc0 = 24, /**< MIO Pad 22 */ |
| kTopMatchaPinmuxInselIoc1 = 25, /**< MIO Pad 23 */ |
| kTopMatchaPinmuxInselIoc2 = 26, /**< MIO Pad 24 */ |
| kTopMatchaPinmuxInselIoc3 = 27, /**< MIO Pad 25 */ |
| kTopMatchaPinmuxInselIoc4 = 28, /**< MIO Pad 26 */ |
| kTopMatchaPinmuxInselIoc5 = 29, /**< MIO Pad 27 */ |
| kTopMatchaPinmuxInselIoc6 = 30, /**< MIO Pad 28 */ |
| kTopMatchaPinmuxInselIoc7 = 31, /**< MIO Pad 29 */ |
| kTopMatchaPinmuxInselIoc8 = 32, /**< MIO Pad 30 */ |
| kTopMatchaPinmuxInselIoc9 = 33, /**< MIO Pad 31 */ |
| kTopMatchaPinmuxInselIoc10 = 34, /**< MIO Pad 32 */ |
| kTopMatchaPinmuxInselIoc11 = 35, /**< MIO Pad 33 */ |
| kTopMatchaPinmuxInselIoc12 = 36, /**< MIO Pad 34 */ |
| kTopMatchaPinmuxInselIor0 = 37, /**< MIO Pad 35 */ |
| kTopMatchaPinmuxInselIor1 = 38, /**< MIO Pad 36 */ |
| kTopMatchaPinmuxInselIor2 = 39, /**< MIO Pad 37 */ |
| kTopMatchaPinmuxInselIor3 = 40, /**< MIO Pad 38 */ |
| kTopMatchaPinmuxInselIor4 = 41, /**< MIO Pad 39 */ |
| kTopMatchaPinmuxInselIor5 = 42, /**< MIO Pad 40 */ |
| kTopMatchaPinmuxInselIor6 = 43, /**< MIO Pad 41 */ |
| kTopMatchaPinmuxInselIor7 = 44, /**< MIO Pad 42 */ |
| kTopMatchaPinmuxInselIor10 = 45, /**< MIO Pad 43 */ |
| kTopMatchaPinmuxInselIor11 = 46, /**< MIO Pad 44 */ |
| kTopMatchaPinmuxInselIor12 = 47, /**< MIO Pad 45 */ |
| kTopMatchaPinmuxInselIor13 = 48, /**< MIO Pad 46 */ |
| kTopMatchaPinmuxInselIod0 = 49, /**< MIO Pad 47 */ |
| kTopMatchaPinmuxInselIod1 = 50, /**< MIO Pad 48 */ |
| kTopMatchaPinmuxInselIod2 = 51, /**< MIO Pad 49 */ |
| kTopMatchaPinmuxInselIod3 = 52, /**< MIO Pad 50 */ |
| kTopMatchaPinmuxInselIod4 = 53, /**< MIO Pad 51 */ |
| kTopMatchaPinmuxInselIod5 = 54, /**< MIO Pad 52 */ |
| kTopMatchaPinmuxInselLast = 54, /**< \internal Last valid insel value */ |
| } top_matcha_pinmux_insel_t; |
| |
| /** |
| * Pinmux MIO Output. |
| */ |
| typedef enum top_matcha_pinmux_mio_out { |
| kTopMatchaPinmuxMioOutIoa0 = 0, /**< MIO Pad 0 */ |
| kTopMatchaPinmuxMioOutIoa1 = 1, /**< MIO Pad 1 */ |
| kTopMatchaPinmuxMioOutIoa2 = 2, /**< MIO Pad 2 */ |
| kTopMatchaPinmuxMioOutIoa3 = 3, /**< MIO Pad 3 */ |
| kTopMatchaPinmuxMioOutIoa4 = 4, /**< MIO Pad 4 */ |
| kTopMatchaPinmuxMioOutIoa5 = 5, /**< MIO Pad 5 */ |
| kTopMatchaPinmuxMioOutIoa6 = 6, /**< MIO Pad 6 */ |
| kTopMatchaPinmuxMioOutIoa7 = 7, /**< MIO Pad 7 */ |
| kTopMatchaPinmuxMioOutIoa8 = 8, /**< MIO Pad 8 */ |
| kTopMatchaPinmuxMioOutIob0 = 9, /**< MIO Pad 9 */ |
| kTopMatchaPinmuxMioOutIob1 = 10, /**< MIO Pad 10 */ |
| kTopMatchaPinmuxMioOutIob2 = 11, /**< MIO Pad 11 */ |
| kTopMatchaPinmuxMioOutIob3 = 12, /**< MIO Pad 12 */ |
| kTopMatchaPinmuxMioOutIob4 = 13, /**< MIO Pad 13 */ |
| kTopMatchaPinmuxMioOutIob5 = 14, /**< MIO Pad 14 */ |
| kTopMatchaPinmuxMioOutIob6 = 15, /**< MIO Pad 15 */ |
| kTopMatchaPinmuxMioOutIob7 = 16, /**< MIO Pad 16 */ |
| kTopMatchaPinmuxMioOutIob8 = 17, /**< MIO Pad 17 */ |
| kTopMatchaPinmuxMioOutIob9 = 18, /**< MIO Pad 18 */ |
| kTopMatchaPinmuxMioOutIob10 = 19, /**< MIO Pad 19 */ |
| kTopMatchaPinmuxMioOutIob11 = 20, /**< MIO Pad 20 */ |
| kTopMatchaPinmuxMioOutIob12 = 21, /**< MIO Pad 21 */ |
| kTopMatchaPinmuxMioOutIoc0 = 22, /**< MIO Pad 22 */ |
| kTopMatchaPinmuxMioOutIoc1 = 23, /**< MIO Pad 23 */ |
| kTopMatchaPinmuxMioOutIoc2 = 24, /**< MIO Pad 24 */ |
| kTopMatchaPinmuxMioOutIoc3 = 25, /**< MIO Pad 25 */ |
| kTopMatchaPinmuxMioOutIoc4 = 26, /**< MIO Pad 26 */ |
| kTopMatchaPinmuxMioOutIoc5 = 27, /**< MIO Pad 27 */ |
| kTopMatchaPinmuxMioOutIoc6 = 28, /**< MIO Pad 28 */ |
| kTopMatchaPinmuxMioOutIoc7 = 29, /**< MIO Pad 29 */ |
| kTopMatchaPinmuxMioOutIoc8 = 30, /**< MIO Pad 30 */ |
| kTopMatchaPinmuxMioOutIoc9 = 31, /**< MIO Pad 31 */ |
| kTopMatchaPinmuxMioOutIoc10 = 32, /**< MIO Pad 32 */ |
| kTopMatchaPinmuxMioOutIoc11 = 33, /**< MIO Pad 33 */ |
| kTopMatchaPinmuxMioOutIoc12 = 34, /**< MIO Pad 34 */ |
| kTopMatchaPinmuxMioOutIor0 = 35, /**< MIO Pad 35 */ |
| kTopMatchaPinmuxMioOutIor1 = 36, /**< MIO Pad 36 */ |
| kTopMatchaPinmuxMioOutIor2 = 37, /**< MIO Pad 37 */ |
| kTopMatchaPinmuxMioOutIor3 = 38, /**< MIO Pad 38 */ |
| kTopMatchaPinmuxMioOutIor4 = 39, /**< MIO Pad 39 */ |
| kTopMatchaPinmuxMioOutIor5 = 40, /**< MIO Pad 40 */ |
| kTopMatchaPinmuxMioOutIor6 = 41, /**< MIO Pad 41 */ |
| kTopMatchaPinmuxMioOutIor7 = 42, /**< MIO Pad 42 */ |
| kTopMatchaPinmuxMioOutIor10 = 43, /**< MIO Pad 43 */ |
| kTopMatchaPinmuxMioOutIor11 = 44, /**< MIO Pad 44 */ |
| kTopMatchaPinmuxMioOutIor12 = 45, /**< MIO Pad 45 */ |
| kTopMatchaPinmuxMioOutIor13 = 46, /**< MIO Pad 46 */ |
| kTopMatchaPinmuxMioOutIod0 = 47, /**< MIO Pad 47 */ |
| kTopMatchaPinmuxMioOutIod1 = 48, /**< MIO Pad 48 */ |
| kTopMatchaPinmuxMioOutIod2 = 49, /**< MIO Pad 49 */ |
| kTopMatchaPinmuxMioOutIod3 = 50, /**< MIO Pad 50 */ |
| kTopMatchaPinmuxMioOutIod4 = 51, /**< MIO Pad 51 */ |
| kTopMatchaPinmuxMioOutIod5 = 52, /**< MIO Pad 52 */ |
| kTopMatchaPinmuxMioOutLast = 52, /**< \internal Last valid mio output */ |
| } top_matcha_pinmux_mio_out_t; |
| |
| /** |
| * Pinmux Peripheral Output Selector. |
| */ |
| typedef enum top_matcha_pinmux_outsel { |
| kTopMatchaPinmuxOutselConstantZero = 0, /**< Tie constantly to zero */ |
| kTopMatchaPinmuxOutselConstantOne = 1, /**< Tie constantly to one */ |
| kTopMatchaPinmuxOutselConstantHighZ = 2, /**< Tie constantly to high-Z */ |
| kTopMatchaPinmuxOutselGpioGpio0 = 3, /**< Peripheral Output 0 */ |
| kTopMatchaPinmuxOutselGpioGpio1 = 4, /**< Peripheral Output 1 */ |
| kTopMatchaPinmuxOutselGpioGpio2 = 5, /**< Peripheral Output 2 */ |
| kTopMatchaPinmuxOutselGpioGpio3 = 6, /**< Peripheral Output 3 */ |
| kTopMatchaPinmuxOutselGpioGpio4 = 7, /**< Peripheral Output 4 */ |
| kTopMatchaPinmuxOutselGpioGpio5 = 8, /**< Peripheral Output 5 */ |
| kTopMatchaPinmuxOutselGpioGpio6 = 9, /**< Peripheral Output 6 */ |
| kTopMatchaPinmuxOutselGpioGpio7 = 10, /**< Peripheral Output 7 */ |
| kTopMatchaPinmuxOutselGpioGpio8 = 11, /**< Peripheral Output 8 */ |
| kTopMatchaPinmuxOutselGpioGpio9 = 12, /**< Peripheral Output 9 */ |
| kTopMatchaPinmuxOutselGpioGpio10 = 13, /**< Peripheral Output 10 */ |
| kTopMatchaPinmuxOutselGpioGpio11 = 14, /**< Peripheral Output 11 */ |
| kTopMatchaPinmuxOutselGpioGpio12 = 15, /**< Peripheral Output 12 */ |
| kTopMatchaPinmuxOutselGpioGpio13 = 16, /**< Peripheral Output 13 */ |
| kTopMatchaPinmuxOutselGpioGpio14 = 17, /**< Peripheral Output 14 */ |
| kTopMatchaPinmuxOutselGpioGpio15 = 18, /**< Peripheral Output 15 */ |
| kTopMatchaPinmuxOutselGpioGpio16 = 19, /**< Peripheral Output 16 */ |
| kTopMatchaPinmuxOutselGpioGpio17 = 20, /**< Peripheral Output 17 */ |
| kTopMatchaPinmuxOutselGpioGpio18 = 21, /**< Peripheral Output 18 */ |
| kTopMatchaPinmuxOutselGpioGpio19 = 22, /**< Peripheral Output 19 */ |
| kTopMatchaPinmuxOutselGpioGpio20 = 23, /**< Peripheral Output 20 */ |
| kTopMatchaPinmuxOutselGpioGpio21 = 24, /**< Peripheral Output 21 */ |
| kTopMatchaPinmuxOutselGpioGpio22 = 25, /**< Peripheral Output 22 */ |
| kTopMatchaPinmuxOutselGpioGpio23 = 26, /**< Peripheral Output 23 */ |
| kTopMatchaPinmuxOutselGpioGpio24 = 27, /**< Peripheral Output 24 */ |
| kTopMatchaPinmuxOutselGpioGpio25 = 28, /**< Peripheral Output 25 */ |
| kTopMatchaPinmuxOutselGpioGpio26 = 29, /**< Peripheral Output 26 */ |
| kTopMatchaPinmuxOutselGpioGpio27 = 30, /**< Peripheral Output 27 */ |
| kTopMatchaPinmuxOutselGpioGpio28 = 31, /**< Peripheral Output 28 */ |
| kTopMatchaPinmuxOutselGpioGpio29 = 32, /**< Peripheral Output 29 */ |
| kTopMatchaPinmuxOutselGpioGpio30 = 33, /**< Peripheral Output 30 */ |
| kTopMatchaPinmuxOutselGpioGpio31 = 34, /**< Peripheral Output 31 */ |
| kTopMatchaPinmuxOutselI2c0Sda = 35, /**< Peripheral Output 32 */ |
| kTopMatchaPinmuxOutselI2c0Scl = 36, /**< Peripheral Output 33 */ |
| kTopMatchaPinmuxOutselI2c1Sda = 37, /**< Peripheral Output 34 */ |
| kTopMatchaPinmuxOutselI2c1Scl = 38, /**< Peripheral Output 35 */ |
| kTopMatchaPinmuxOutselI2c2Sda = 39, /**< Peripheral Output 36 */ |
| kTopMatchaPinmuxOutselI2c2Scl = 40, /**< Peripheral Output 37 */ |
| kTopMatchaPinmuxOutselCamI2cSda = 41, /**< Peripheral Output 38 */ |
| kTopMatchaPinmuxOutselCamI2cScl = 42, /**< Peripheral Output 39 */ |
| kTopMatchaPinmuxOutselSpiHost1Sd0 = 43, /**< Peripheral Output 40 */ |
| kTopMatchaPinmuxOutselSpiHost1Sd1 = 44, /**< Peripheral Output 41 */ |
| kTopMatchaPinmuxOutselSpiHost1Sd2 = 45, /**< Peripheral Output 42 */ |
| kTopMatchaPinmuxOutselSpiHost1Sd3 = 46, /**< Peripheral Output 43 */ |
| kTopMatchaPinmuxOutselSpiHost2Sd0 = 47, /**< Peripheral Output 44 */ |
| kTopMatchaPinmuxOutselSpiHost2Sd1 = 48, /**< Peripheral Output 45 */ |
| kTopMatchaPinmuxOutselSpiHost2Sd2 = 49, /**< Peripheral Output 46 */ |
| kTopMatchaPinmuxOutselSpiHost2Sd3 = 50, /**< Peripheral Output 47 */ |
| kTopMatchaPinmuxOutselUart0Tx = 51, /**< Peripheral Output 48 */ |
| kTopMatchaPinmuxOutselUart1Tx = 52, /**< Peripheral Output 49 */ |
| kTopMatchaPinmuxOutselUart2Tx = 53, /**< Peripheral Output 50 */ |
| kTopMatchaPinmuxOutselSmcUartTx = 54, /**< Peripheral Output 51 */ |
| kTopMatchaPinmuxOutselCamCtrlCamTrig = 55, /**< Peripheral Output 52 */ |
| kTopMatchaPinmuxOutselI2s0RxSclk = 56, /**< Peripheral Output 53 */ |
| kTopMatchaPinmuxOutselI2s0RxWs = 57, /**< Peripheral Output 54 */ |
| kTopMatchaPinmuxOutselI2s0TxSclk = 58, /**< Peripheral Output 55 */ |
| kTopMatchaPinmuxOutselI2s0TxWs = 59, /**< Peripheral Output 56 */ |
| kTopMatchaPinmuxOutselI2s0TxSd = 60, /**< Peripheral Output 57 */ |
| kTopMatchaPinmuxOutselPattgenPda0Tx = 61, /**< Peripheral Output 58 */ |
| kTopMatchaPinmuxOutselPattgenPcl0Tx = 62, /**< Peripheral Output 59 */ |
| kTopMatchaPinmuxOutselPattgenPda1Tx = 63, /**< Peripheral Output 60 */ |
| kTopMatchaPinmuxOutselPattgenPcl1Tx = 64, /**< Peripheral Output 61 */ |
| kTopMatchaPinmuxOutselSpiHost1Sck = 65, /**< Peripheral Output 62 */ |
| kTopMatchaPinmuxOutselSpiHost1Csb = 66, /**< Peripheral Output 63 */ |
| kTopMatchaPinmuxOutselSpiHost2Sck = 67, /**< Peripheral Output 64 */ |
| kTopMatchaPinmuxOutselSpiHost2Csb = 68, /**< Peripheral Output 65 */ |
| kTopMatchaPinmuxOutselFlashCtrlTdo = 69, /**< Peripheral Output 66 */ |
| kTopMatchaPinmuxOutselSensorCtrlAstDebugOut0 = 70, /**< Peripheral Output 67 */ |
| kTopMatchaPinmuxOutselSensorCtrlAstDebugOut1 = 71, /**< Peripheral Output 68 */ |
| kTopMatchaPinmuxOutselSensorCtrlAstDebugOut2 = 72, /**< Peripheral Output 69 */ |
| kTopMatchaPinmuxOutselSensorCtrlAstDebugOut3 = 73, /**< Peripheral Output 70 */ |
| kTopMatchaPinmuxOutselSensorCtrlAstDebugOut4 = 74, /**< Peripheral Output 71 */ |
| kTopMatchaPinmuxOutselSensorCtrlAstDebugOut5 = 75, /**< Peripheral Output 72 */ |
| kTopMatchaPinmuxOutselSensorCtrlAstDebugOut6 = 76, /**< Peripheral Output 73 */ |
| kTopMatchaPinmuxOutselSensorCtrlAstDebugOut7 = 77, /**< Peripheral Output 74 */ |
| kTopMatchaPinmuxOutselSensorCtrlAstDebugOut8 = 78, /**< Peripheral Output 75 */ |
| kTopMatchaPinmuxOutselPwmAonPwm0 = 79, /**< Peripheral Output 76 */ |
| kTopMatchaPinmuxOutselPwmAonPwm1 = 80, /**< Peripheral Output 77 */ |
| kTopMatchaPinmuxOutselPwmAonPwm2 = 81, /**< Peripheral Output 78 */ |
| kTopMatchaPinmuxOutselPwmAonPwm3 = 82, /**< Peripheral Output 79 */ |
| kTopMatchaPinmuxOutselPwmAonPwm4 = 83, /**< Peripheral Output 80 */ |
| kTopMatchaPinmuxOutselPwmAonPwm5 = 84, /**< Peripheral Output 81 */ |
| kTopMatchaPinmuxOutselOtpCtrlTest0 = 85, /**< Peripheral Output 82 */ |
| kTopMatchaPinmuxOutselSysrstCtrlAonBatDisable = 86, /**< Peripheral Output 83 */ |
| kTopMatchaPinmuxOutselSysrstCtrlAonKey0Out = 87, /**< Peripheral Output 84 */ |
| kTopMatchaPinmuxOutselSysrstCtrlAonKey1Out = 88, /**< Peripheral Output 85 */ |
| kTopMatchaPinmuxOutselSysrstCtrlAonKey2Out = 89, /**< Peripheral Output 86 */ |
| kTopMatchaPinmuxOutselSysrstCtrlAonPwrbOut = 90, /**< Peripheral Output 87 */ |
| kTopMatchaPinmuxOutselSysrstCtrlAonZ3Wakeup = 91, /**< Peripheral Output 88 */ |
| kTopMatchaPinmuxOutselLast = 91, /**< \internal Last valid outsel value */ |
| } top_matcha_pinmux_outsel_t; |
| |
| /** |
| * Dedicated Pad Selects |
| */ |
| typedef enum top_matcha_direct_pads { |
| kTopMatchaDirectPadsUsbdevUsbDp = 0, /**< */ |
| kTopMatchaDirectPadsUsbdevUsbDn = 1, /**< */ |
| kTopMatchaDirectPadsSpiHost0Sd0 = 2, /**< */ |
| kTopMatchaDirectPadsSpiHost0Sd1 = 3, /**< */ |
| kTopMatchaDirectPadsSpiHost0Sd2 = 4, /**< */ |
| kTopMatchaDirectPadsSpiHost0Sd3 = 5, /**< */ |
| kTopMatchaDirectPadsSpiDeviceSd0 = 6, /**< */ |
| kTopMatchaDirectPadsSpiDeviceSd1 = 7, /**< */ |
| kTopMatchaDirectPadsSpiDeviceSd2 = 8, /**< */ |
| kTopMatchaDirectPadsSpiDeviceSd3 = 9, /**< */ |
| kTopMatchaDirectPadsSysrstCtrlAonEcRstL = 10, /**< */ |
| kTopMatchaDirectPadsSysrstCtrlAonFlashWpL = 11, /**< */ |
| kTopMatchaDirectPadsSpiDeviceSck = 12, /**< */ |
| kTopMatchaDirectPadsSpiDeviceCsb = 13, /**< */ |
| kTopMatchaDirectPadsSpiHost0Sck = 14, /**< */ |
| kTopMatchaDirectPadsSpiHost0Csb = 15, /**< */ |
| kTopMatchaDirectPadsLast = 15, /**< \internal Last valid direct pad */ |
| } top_matcha_direct_pads_t; |
| |
| /** |
| * Muxed Pad Selects |
| */ |
| typedef enum top_matcha_muxed_pads { |
| kTopMatchaMuxedPadsIoa0 = 0, /**< */ |
| kTopMatchaMuxedPadsIoa1 = 1, /**< */ |
| kTopMatchaMuxedPadsIoa2 = 2, /**< */ |
| kTopMatchaMuxedPadsIoa3 = 3, /**< */ |
| kTopMatchaMuxedPadsIoa4 = 4, /**< */ |
| kTopMatchaMuxedPadsIoa5 = 5, /**< */ |
| kTopMatchaMuxedPadsIoa6 = 6, /**< */ |
| kTopMatchaMuxedPadsIoa7 = 7, /**< */ |
| kTopMatchaMuxedPadsIoa8 = 8, /**< */ |
| kTopMatchaMuxedPadsIob0 = 9, /**< */ |
| kTopMatchaMuxedPadsIob1 = 10, /**< */ |
| kTopMatchaMuxedPadsIob2 = 11, /**< */ |
| kTopMatchaMuxedPadsIob3 = 12, /**< */ |
| kTopMatchaMuxedPadsIob4 = 13, /**< */ |
| kTopMatchaMuxedPadsIob5 = 14, /**< */ |
| kTopMatchaMuxedPadsIob6 = 15, /**< */ |
| kTopMatchaMuxedPadsIob7 = 16, /**< */ |
| kTopMatchaMuxedPadsIob8 = 17, /**< */ |
| kTopMatchaMuxedPadsIob9 = 18, /**< */ |
| kTopMatchaMuxedPadsIob10 = 19, /**< */ |
| kTopMatchaMuxedPadsIob11 = 20, /**< */ |
| kTopMatchaMuxedPadsIob12 = 21, /**< */ |
| kTopMatchaMuxedPadsIoc0 = 22, /**< */ |
| kTopMatchaMuxedPadsIoc1 = 23, /**< */ |
| kTopMatchaMuxedPadsIoc2 = 24, /**< */ |
| kTopMatchaMuxedPadsIoc3 = 25, /**< */ |
| kTopMatchaMuxedPadsIoc4 = 26, /**< */ |
| kTopMatchaMuxedPadsIoc5 = 27, /**< */ |
| kTopMatchaMuxedPadsIoc6 = 28, /**< */ |
| kTopMatchaMuxedPadsIoc7 = 29, /**< */ |
| kTopMatchaMuxedPadsIoc8 = 30, /**< */ |
| kTopMatchaMuxedPadsIoc9 = 31, /**< */ |
| kTopMatchaMuxedPadsIoc10 = 32, /**< */ |
| kTopMatchaMuxedPadsIoc11 = 33, /**< */ |
| kTopMatchaMuxedPadsIoc12 = 34, /**< */ |
| kTopMatchaMuxedPadsIor0 = 35, /**< */ |
| kTopMatchaMuxedPadsIor1 = 36, /**< */ |
| kTopMatchaMuxedPadsIor2 = 37, /**< */ |
| kTopMatchaMuxedPadsIor3 = 38, /**< */ |
| kTopMatchaMuxedPadsIor4 = 39, /**< */ |
| kTopMatchaMuxedPadsIor5 = 40, /**< */ |
| kTopMatchaMuxedPadsIor6 = 41, /**< */ |
| kTopMatchaMuxedPadsIor7 = 42, /**< */ |
| kTopMatchaMuxedPadsIor10 = 43, /**< */ |
| kTopMatchaMuxedPadsIor11 = 44, /**< */ |
| kTopMatchaMuxedPadsIor12 = 45, /**< */ |
| kTopMatchaMuxedPadsIor13 = 46, /**< */ |
| kTopMatchaMuxedPadsIod0 = 47, /**< */ |
| kTopMatchaMuxedPadsIod1 = 48, /**< */ |
| kTopMatchaMuxedPadsIod2 = 49, /**< */ |
| kTopMatchaMuxedPadsIod3 = 50, /**< */ |
| kTopMatchaMuxedPadsIod4 = 51, /**< */ |
| kTopMatchaMuxedPadsIod5 = 52, /**< */ |
| kTopMatchaMuxedPadsLast = 52, /**< \internal Last valid muxed pad */ |
| } top_matcha_muxed_pads_t; |
| |
| /** |
| * Power Manager Wakeup Signals |
| */ |
| typedef enum top_matcha_power_manager_wake_ups { |
| kTopMatchaPowerManagerWakeUpsSysrstCtrlAonWkupReq = 0, /**< */ |
| kTopMatchaPowerManagerWakeUpsAdcCtrlAonWkupReq = 1, /**< */ |
| kTopMatchaPowerManagerWakeUpsPinmuxAonPinWkupReq = 2, /**< */ |
| kTopMatchaPowerManagerWakeUpsPinmuxAonUsbWkupReq = 3, /**< */ |
| kTopMatchaPowerManagerWakeUpsAonTimerAonWkupReq = 4, /**< */ |
| kTopMatchaPowerManagerWakeUpsSensorCtrlWkupReq = 5, /**< */ |
| kTopMatchaPowerManagerWakeUpsLast = 5, /**< \internal Last valid pwrmgr wakeup signal */ |
| } top_matcha_power_manager_wake_ups_t; |
| |
| /** |
| * Reset Manager Software Controlled Resets |
| */ |
| typedef enum top_matcha_reset_manager_sw_resets { |
| kTopMatchaResetManagerSwResetsSpiDevice = 0, /**< */ |
| kTopMatchaResetManagerSwResetsSpiHost0 = 1, /**< */ |
| kTopMatchaResetManagerSwResetsSpiHost1 = 2, /**< */ |
| kTopMatchaResetManagerSwResetsSpiHost2 = 3, /**< */ |
| kTopMatchaResetManagerSwResetsUsb = 4, /**< */ |
| kTopMatchaResetManagerSwResetsUsbAon = 5, /**< */ |
| kTopMatchaResetManagerSwResetsI2c0 = 6, /**< */ |
| kTopMatchaResetManagerSwResetsI2c1 = 7, /**< */ |
| kTopMatchaResetManagerSwResetsI2c2 = 8, /**< */ |
| kTopMatchaResetManagerSwResetsSmc = 9, /**< */ |
| kTopMatchaResetManagerSwResetsMl = 10, /**< */ |
| kTopMatchaResetManagerSwResetsCamI2c = 11, /**< */ |
| kTopMatchaResetManagerSwResetsVideo = 12, /**< */ |
| kTopMatchaResetManagerSwResetsAudio = 13, /**< */ |
| kTopMatchaResetManagerSwResetsLast = 13, /**< \internal Last valid rstmgr software reset request */ |
| } top_matcha_reset_manager_sw_resets_t; |
| |
| /** |
| * Power Manager Reset Request Signals |
| */ |
| typedef enum top_matcha_power_manager_reset_requests { |
| kTopMatchaPowerManagerResetRequestsSysrstCtrlAonRstReq = 0, /**< */ |
| kTopMatchaPowerManagerResetRequestsAonTimerAonAonTimerRstReq = 1, /**< */ |
| kTopMatchaPowerManagerResetRequestsLast = 1, /**< \internal Last valid pwrmgr reset_request signal */ |
| } top_matcha_power_manager_reset_requests_t; |
| |
| /** |
| * Clock Manager Software-Controlled ("Gated") Clocks. |
| * |
| * The Software has full control over these clocks. |
| */ |
| typedef enum top_matcha_gateable_clocks { |
| kTopMatchaGateableClocksIoDiv4Peri = 0, /**< Clock clk_io_div4_peri in group peri */ |
| kTopMatchaGateableClocksIoDiv2Peri = 1, /**< Clock clk_io_div2_peri in group peri */ |
| kTopMatchaGateableClocksIoPeri = 2, /**< Clock clk_io_peri in group peri */ |
| kTopMatchaGateableClocksUsbPeri = 3, /**< Clock clk_usb_peri in group peri */ |
| kTopMatchaGateableClocksVideoPeri = 4, /**< Clock clk_video_peri in group peri */ |
| kTopMatchaGateableClocksMlPeri = 5, /**< Clock clk_ml_peri in group peri */ |
| kTopMatchaGateableClocksAudioPeri = 6, /**< Clock clk_audio_peri in group peri */ |
| kTopMatchaGateableClocksSmcPeri = 7, /**< Clock clk_smc_peri in group peri */ |
| kTopMatchaGateableClocksLast = 7, /**< \internal Last Valid Gateable Clock */ |
| } top_matcha_gateable_clocks_t; |
| |
| /** |
| * Clock Manager Software-Hinted Clocks. |
| * |
| * The Software has partial control over these clocks. It can ask them to stop, |
| * but the clock manager is in control of whether the clock actually is stopped. |
| */ |
| typedef enum top_matcha_hintable_clocks { |
| kTopMatchaHintableClocksMainAes = 0, /**< Clock clk_main_aes in group trans */ |
| kTopMatchaHintableClocksMainHmac = 1, /**< Clock clk_main_hmac in group trans */ |
| kTopMatchaHintableClocksMainKmac = 2, /**< Clock clk_main_kmac in group trans */ |
| kTopMatchaHintableClocksMainOtbn = 3, /**< Clock clk_main_otbn in group trans */ |
| kTopMatchaHintableClocksLast = 3, /**< \internal Last Valid Hintable Clock */ |
| } top_matcha_hintable_clocks_t; |
| |
| /** |
| * MMIO Region |
| * |
| * MMIO region excludes any memory that is separate from the module |
| * configuration space, i.e. ROM, main SRAM, and flash are excluded but |
| * retention SRAM, spi_device memory, or usbdev memory are included. |
| */ |
| #define TOP_MATCHA_MMIO_BASE_ADDR 0x40000000u |
| #define TOP_MATCHA_MMIO_SIZE_BYTES 0x28000000u |
| |
| // Header Extern Guard |
| #ifdef __cplusplus |
| } // extern "C" |
| #endif |
| |
| #endif // MATCHA_HW_TOP_MATCHA_SW_AUTOGEN_TOP_MATCHA_H_ |