Skip to content

Commit 5ca3dbe

Browse files
committed
replace dmi read permissions on reset reason register
fix ro mask for reset reason register after sw write enables added
1 parent ca1cd03 commit 5ca3dbe

File tree

4 files changed

+15
-3
lines changed

4 files changed

+15
-3
lines changed

src/integration/test_suites/smoke_test_jtag_mcu_unlock/smoke_test_jtag_mcu_unlock.tcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ array set ro_regs {
6666

6767
array set ro_reg_mask {
6868
0 0xf
69-
1 0x0
69+
1 0x7
7070
2 0x0
7171
3 0xffffffff
7272
4 0x0

src/mci/rtl/mci_reg.rdl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,8 @@ addrmap mci_reg {
146146
Firmware Update Reset indicator is reset by the warm reset and updated by SW applying MCU FW updated.
147147
Warm Reset indicator is reset by the cold reset.
148148
[br]TAP Access [with debug intent set]: RO";
149-
field {desc = "FW update reset has been executed for the second+ time since MCI reset"; swwe = axi_mcu_or_mcu_sram_config_req; sw=rw; resetsignal = mci_rst_b; } FW_HITLESS_UPD_RESET=0;
150-
field {desc = "FW update reset has been executed first time since MCI reset";swwe = axi_mcu_or_mcu_sram_config_req; sw=rw; resetsignal = mci_rst_b; } FW_BOOT_UPD_RESET=0;
149+
field {desc = "FW update reset has been executed for the second+ time since MCI reset"; swwe = axi_mcu_or_mcu_sram_config_req; sw=rw; hw=r; resetsignal = mci_rst_b; } FW_HITLESS_UPD_RESET=0;
150+
field {desc = "FW update reset has been executed first time since MCI reset";swwe = axi_mcu_or_mcu_sram_config_req; sw=rw; hw=r; resetsignal = mci_rst_b; } FW_BOOT_UPD_RESET=0;
151151
field {desc = "Warm reset has been executed"; swwe = axi_mcu_or_mcu_sram_config_req; sw=rw; hw=rw; we; resetsignal = mci_pwrgood;} WARM_RESET=0;
152152
} RESET_REASON;
153153

src/mci/rtl/mci_reg.sv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6395,6 +6395,7 @@ module mci_reg (
63956395
field_storage.RESET_REASON.FW_HITLESS_UPD_RESET.value <= field_combo.RESET_REASON.FW_HITLESS_UPD_RESET.next;
63966396
end
63976397
end
6398+
assign hwif_out.RESET_REASON.FW_HITLESS_UPD_RESET.value = field_storage.RESET_REASON.FW_HITLESS_UPD_RESET.value;
63986399
// Field: mci_reg.RESET_REASON.FW_BOOT_UPD_RESET
63996400
always_comb begin
64006401
automatic logic [0:0] next_c;
@@ -6415,6 +6416,7 @@ module mci_reg (
64156416
field_storage.RESET_REASON.FW_BOOT_UPD_RESET.value <= field_combo.RESET_REASON.FW_BOOT_UPD_RESET.next;
64166417
end
64176418
end
6419+
assign hwif_out.RESET_REASON.FW_BOOT_UPD_RESET.value = field_storage.RESET_REASON.FW_BOOT_UPD_RESET.value;
64186420
// Field: mci_reg.RESET_REASON.WARM_RESET
64196421
always_comb begin
64206422
automatic logic [0:0] next_c;

src/mci/rtl/mci_reg_pkg.sv

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -836,11 +836,21 @@ package mci_reg_pkg;
836836
mci_reg__HW_FLOW_STATUS__boot_fsm__out_t boot_fsm;
837837
} mci_reg__HW_FLOW_STATUS__out_t;
838838

839+
typedef struct packed{
840+
logic value;
841+
} mci_reg__RESET_REASON__FW_HITLESS_UPD_RESET__out_t;
842+
843+
typedef struct packed{
844+
logic value;
845+
} mci_reg__RESET_REASON__FW_BOOT_UPD_RESET__out_t;
846+
839847
typedef struct packed{
840848
logic value;
841849
} mci_reg__RESET_REASON__WARM_RESET__out_t;
842850

843851
typedef struct packed{
852+
mci_reg__RESET_REASON__FW_HITLESS_UPD_RESET__out_t FW_HITLESS_UPD_RESET;
853+
mci_reg__RESET_REASON__FW_BOOT_UPD_RESET__out_t FW_BOOT_UPD_RESET;
844854
mci_reg__RESET_REASON__WARM_RESET__out_t WARM_RESET;
845855
} mci_reg__RESET_REASON__out_t;
846856

0 commit comments

Comments
 (0)