| // Copyright lowRISC contributors. |
| // Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| // SPDX-License-Identifier: Apache-2.0 |
| // |
| // Register Package auto-generated by `reggen` containing data structure |
| |
| package smc_ctrl_reg_pkg; |
| |
| // Address widths within the block |
| parameter int BlockAw = 3; |
| |
| //////////////////////////// |
| // Typedefs for registers // |
| //////////////////////////// |
| |
| typedef struct packed { |
| logic q; |
| } smc_ctrl_reg2hw_smc_boot_en_regwen_reg_t; |
| |
| typedef struct packed { |
| logic q; |
| } smc_ctrl_reg2hw_smc_boot_en_ctrl_reg_t; |
| |
| // Register -> HW type |
| typedef struct packed { |
| smc_ctrl_reg2hw_smc_boot_en_regwen_reg_t smc_boot_en_regwen; // [1:1] |
| smc_ctrl_reg2hw_smc_boot_en_ctrl_reg_t smc_boot_en_ctrl; // [0:0] |
| } smc_ctrl_reg2hw_t; |
| |
| // Register offsets |
| parameter logic [BlockAw-1:0] SMC_CTRL_SMC_BOOT_EN_REGWEN_OFFSET = 3'h 0; |
| parameter logic [BlockAw-1:0] SMC_CTRL_SMC_BOOT_EN_CTRL_OFFSET = 3'h 4; |
| |
| // Register index |
| typedef enum int { |
| SMC_CTRL_SMC_BOOT_EN_REGWEN, |
| SMC_CTRL_SMC_BOOT_EN_CTRL |
| } smc_ctrl_id_e; |
| |
| // Register width information to check illegal writes |
| parameter logic [3:0] SMC_CTRL_PERMIT [2] = '{ |
| 4'b 0001, // index[0] SMC_CTRL_SMC_BOOT_EN_REGWEN |
| 4'b 0001 // index[1] SMC_CTRL_SMC_BOOT_EN_CTRL |
| }; |
| |
| endpackage |