Package: keymgr_reg_pkg

Description

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

Constants

Name Type Value Description
NumSaltReg int 8
NumSwBindingReg int 8
NumOutReg int 8
NumKeyVersion int 1
NumAlerts int 2
BlockAw int 8 Address widths within the block
BlockAw logic [BlockAw-1:0] undefined Register offsets
BlockAw logic [BlockAw-1:0] 4
BlockAw logic [BlockAw-1:0] 8
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 10
BlockAw logic [BlockAw-1:0] 14
BlockAw logic [BlockAw-1:0] 18
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 20
BlockAw logic [BlockAw-1:0] 24
BlockAw logic [BlockAw-1:0] 28
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 30
BlockAw logic [BlockAw-1:0] 34
BlockAw logic [BlockAw-1:0] 38
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 40
BlockAw logic [BlockAw-1:0] 44
BlockAw logic [BlockAw-1:0] 48
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 50
BlockAw logic [BlockAw-1:0] 54
BlockAw logic [BlockAw-1:0] 58
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 60
BlockAw logic [BlockAw-1:0] 64
BlockAw logic [BlockAw-1:0] 68
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 70
BlockAw logic [BlockAw-1:0] 74
BlockAw logic [BlockAw-1:0] 78
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 80
BlockAw logic [BlockAw-1:0] 84
BlockAw logic [BlockAw-1:0] 88
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] 90
BlockAw logic [BlockAw-1:0] 94
BlockAw logic [BlockAw-1:0] 98
BlockAw logic [BlockAw-1:0] c
BlockAw logic [BlockAw-1:0] a0
BlockAw logic [BlockAw-1:0] a4
BlockAw logic [BlockAw-1:0] a8
BlockAw logic [BlockAw-1:0] ac
BlockAw logic [BlockAw-1:0] b0
BlockAw logic [BlockAw-1:0] b4
BlockAw logic [BlockAw-1:0] b8
BlockAw logic [BlockAw-1:0] bc
BlockAw logic [BlockAw-1:0] c0
BlockAw logic [BlockAw-1:0] c4
BlockAw logic [BlockAw-1:0] c8
BlockAw logic [BlockAw-1:0] cc
BlockAw logic [BlockAw-1:0] d0
BlockAw logic [BlockAw-1:0] d4
BlockAw logic [BlockAw-1:0] d8
BlockAw logic [BlockAw-1:0] dc
BlockAw logic [BlockAw-1:0] e0
BlockAw logic [BlockAw-1:0] e4
BlockAw logic [BlockAw-1:0] e8
BlockAw logic [BlockAw-1:0] ec
KEYMGR_INTR_TEST_RESVAL logic [0:0] undefined Reset values for hwext registers and their fields
KEYMGR_INTR_TEST_OP_DONE_RESVAL logic [0:0] undefined
KEYMGR_ALERT_TEST_RESVAL logic [1:0] undefined
KEYMGR_ALERT_TEST_FATAL_FAULT_ERR_RESVAL logic [0:0] undefined
KEYMGR_ALERT_TEST_RECOV_OPERATION_ERR_RESVAL logic [0:0] undefined
KEYMGR_CFG_REGWEN_RESVAL logic [0:0] undefined
KEYMGR_CFG_REGWEN_EN_RESVAL logic [0:0] undefined
KEYMGR_SW_BINDING_REGWEN_RESVAL logic [0:0] undefined
KEYMGR_SW_BINDING_REGWEN_EN_RESVAL logic [0:0]
KEYMGR_PERMIT logic [3:0] undefined Register width information to check illegal writes

Types

Name Type Description
keymgr_reg2hw_intr_state_reg_t struct packed {
logic q;
}
////////////////////////// Typedefs for registers // //////////////////////////
keymgr_reg2hw_intr_enable_reg_t struct packed {
logic q;
}
keymgr_reg2hw_intr_test_reg_t struct packed {
logic q;
logic qe;
}
keymgr_reg2hw_alert_test_reg_t struct packed {
struct packed {
logic q;
logic qe;
} fatal_fault_err;
struct packed {
logic q;
logic qe;
} recov_operation_err;
}
keymgr_reg2hw_control_reg_t struct packed {
struct packed {
logic q;
} start;
struct packed {
logic [2:0] q;
} operation;
struct packed {
logic q;
} cdi_sel;
struct packed {
logic [2:0] q;
} dest_sel;
}
keymgr_reg2hw_sideload_clear_reg_t struct packed {
logic [2:0] q;
}
keymgr_reg2hw_reseed_interval_shadowed_reg_t struct packed {
logic [15:0] q;
logic err_update;
logic err_storage;
}
keymgr_reg2hw_sw_binding_regwen_reg_t struct packed {
logic q;
logic qe;
}
keymgr_reg2hw_sealing_sw_binding_mreg_t struct packed {
logic [31:0] q;
}
keymgr_reg2hw_attest_sw_binding_mreg_t struct packed {
logic [31:0] q;
}
keymgr_reg2hw_salt_mreg_t struct packed {
logic [31:0] q;
}
keymgr_reg2hw_key_version_mreg_t struct packed {
logic [31:0] q;
}
keymgr_reg2hw_max_creator_key_ver_shadowed_reg_t struct packed {
logic [31:0] q;
logic err_update;
logic err_storage;
}
keymgr_reg2hw_max_owner_int_key_ver_shadowed_reg_t struct packed {
logic [31:0] q;
logic err_update;
logic err_storage;
}
keymgr_reg2hw_max_owner_key_ver_shadowed_reg_t struct packed {
logic [31:0] q;
logic err_update;
logic err_storage;
}
keymgr_reg2hw_fault_status_reg_t struct packed {
struct packed {
logic q;
} cmd;
struct packed {
logic q;
} kmac_fsm;
struct packed {
logic q;
} kmac_op;
struct packed {
logic q;
} kmac_out;
struct packed {
logic q;
} regfile_intg;
struct packed {
logic q;
} shadow;
struct packed {
logic q;
} ctrl_fsm_intg;
struct packed {
logic q;
} ctrl_fsm_cnt;
}
keymgr_hw2reg_intr_state_reg_t struct packed {
logic d;
logic de;
}
keymgr_hw2reg_cfg_regwen_reg_t struct packed {
logic d;
}
keymgr_hw2reg_control_reg_t struct packed {
struct packed {
logic d;
logic de;
} start;
}
keymgr_hw2reg_sw_binding_regwen_reg_t struct packed {
logic d;
}
keymgr_hw2reg_sw_share0_output_mreg_t struct packed {
logic [31:0] d;
logic de;
}
keymgr_hw2reg_sw_share1_output_mreg_t struct packed {
logic [31:0] d;
logic de;
}
keymgr_hw2reg_working_state_reg_t struct packed {
logic [2:0] d;
logic de;
}
keymgr_hw2reg_op_status_reg_t struct packed {
logic [1:0] d;
logic de;
}
keymgr_hw2reg_err_code_reg_t struct packed {
struct packed {
logic d;
logic de;
} invalid_op;
struct packed {
logic d;
logic de;
} invalid_kmac_input;
struct packed {
logic d;
logic de;
} invalid_shadow_update;
}
keymgr_hw2reg_fault_status_reg_t struct packed {
struct packed {
logic d;
logic de;
} cmd;
struct packed {
logic d;
logic de;
} kmac_fsm;
struct packed {
logic d;
logic de;
} kmac_op;
struct packed {
logic d;
logic de;
} kmac_out;
struct packed {
logic d;
logic de;
} regfile_intg;
struct packed {
logic d;
logic de;
} shadow;
struct packed {
logic d;
logic de;
} ctrl_fsm_intg;
struct packed {
logic d;
logic de;
} ctrl_fsm_cnt;
}
keymgr_reg2hw_sealing_sw_binding_mreg_t struct packed {
keymgr_reg2hw_intr_state_reg_t intr_state;
keymgr_reg2hw_intr_enable_reg_t intr_enable;
keymgr_reg2hw_intr_test_reg_t intr_test;
keymgr_reg2hw_alert_test_reg_t alert_test;
keymgr_reg2hw_control_reg_t control;
keymgr_reg2hw_sideload_clear_reg_t sideload_clear;
keymgr_reg2hw_reseed_interval_shadowed_reg_t reseed_interval_shadowed;
keymgr_reg2hw_sw_binding_regwen_reg_t sw_binding_regwen;
keymgr_reg2hw_sealing_sw_binding_mreg_t [7:0] sealing_sw_binding;
keymgr_reg2hw_attest_sw_binding_mreg_t [7:0] attest_sw_binding;
keymgr_reg2hw_salt_mreg_t [7:0] salt;
keymgr_reg2hw_key_version_mreg_t [0:0] key_version;
keymgr_reg2hw_max_creator_key_ver_shadowed_reg_t max_creator_key_ver_shadowed;
keymgr_reg2hw_max_owner_int_key_ver_shadowed_reg_t max_owner_int_key_ver_shadowed;
keymgr_reg2hw_max_owner_key_ver_shadowed_reg_t max_owner_key_ver_shadowed;
keymgr_reg2hw_fault_status_reg_t fault_status;
}
Register -> HW type
keymgr_hw2reg_sw_share0_output_mreg_t struct packed {
keymgr_hw2reg_intr_state_reg_t intr_state;
keymgr_hw2reg_cfg_regwen_reg_t cfg_regwen;
keymgr_hw2reg_control_reg_t control;
keymgr_hw2reg_sw_binding_regwen_reg_t sw_binding_regwen;
keymgr_hw2reg_sw_share0_output_mreg_t [7:0] sw_share0_output;
keymgr_hw2reg_sw_share1_output_mreg_t [7:0] sw_share1_output;
keymgr_hw2reg_working_state_reg_t working_state;
keymgr_hw2reg_op_status_reg_t op_status;
keymgr_hw2reg_err_code_reg_t err_code;
keymgr_hw2reg_fault_status_reg_t fault_status;
}
HW -> register type