[otbn] Propagate lc_escalate inside mubi escalate

Signed-off-by: Andreas Kurth <adk@lowrisc.org>
diff --git a/hw/ip/otbn/rtl/otbn.sv b/hw/ip/otbn/rtl/otbn.sv
index ff672e7..af6f26e 100644
--- a/hw/ip/otbn/rtl/otbn.sv
+++ b/hw/ip/otbn/rtl/otbn.sv
@@ -955,7 +955,6 @@
     .imem_sec_wipe_urnd_key_o    (imem_sec_wipe_urnd_key),
     .req_sec_wipe_urnd_keys_i    (req_sec_wipe_urnd_keys),
 
-    .lc_escalate_en_i            (lc_escalate_en[1]),
     .escalate_en_i               (core_escalate_en),
 
     .software_errs_fatal_i       (software_errs_fatal_q),
@@ -984,8 +983,9 @@
   };
 
   // An error signal going down into the core to show that it should locally escalate
-  assign core_escalate_en = mubi4_bool_to_mubi(
-      |{illegal_bus_access_q, otbn_scramble_state_error, bus_intg_violation}
+  assign core_escalate_en = mubi4_or_hi(
+      mubi4_bool_to_mubi(|{illegal_bus_access_q, otbn_scramble_state_error, bus_intg_violation}),
+      lc_ctrl_pkg::lc_to_mubi4(lc_escalate_en[1])
   );
 
   // We're idle if we're neither busy executing something nor locked
diff --git a/hw/ip/otbn/rtl/otbn_controller.sv b/hw/ip/otbn/rtl/otbn_controller.sv
index b7f2a29..d11cde1 100644
--- a/hw/ip/otbn/rtl/otbn_controller.sv
+++ b/hw/ip/otbn/rtl/otbn_controller.sv
@@ -24,7 +24,6 @@
   input  logic start_i,  // start the processing at address zero
   output logic locked_o, // OTBN in locked state and must be reset to perform any further actions
 
-  input lc_ctrl_pkg::lc_tx_t   lc_escalate_en_i,
   input prim_mubi_pkg::mubi4_t escalate_en_i,
   output controller_err_bits_t err_bits_o,
   output logic                 recoverable_err_o,
@@ -477,7 +476,6 @@
   assign fatal_err = |{fatal_software_err,
                        bad_internal_state_err,
                        reg_intg_violation_err,
-                       lc_escalate_en_i != lc_ctrl_pkg::Off,
                        mubi4_test_true_loose(escalate_en_i)};
 
   assign recoverable_err_o = software_err & ~software_errs_fatal_i;
@@ -489,7 +487,7 @@
   assign insn_executing = insn_valid_i & ~err;
 
   `ASSERT(ErrBitSetOnErr,
-      err & ~(mubi4_test_true_loose(escalate_en_i) | (lc_escalate_en_i != lc_ctrl_pkg::Off)) |=> err_bits_o)
+      err & mubi4_test_false_strict(escalate_en_i) |=> err_bits_o)
   `ASSERT(ErrSetOnFatalErr, fatal_err |-> err)
   `ASSERT(SoftwareErrIfNonInsnAddrSoftwareErr, non_insn_addr_software_err |-> software_err)
 
diff --git a/hw/ip/otbn/rtl/otbn_core.sv b/hw/ip/otbn/rtl/otbn_core.sv
index 55335b5..644e0b1 100644
--- a/hw/ip/otbn/rtl/otbn_core.sv
+++ b/hw/ip/otbn/rtl/otbn_core.sv
@@ -74,9 +74,6 @@
   output logic [127:0] dmem_sec_wipe_urnd_key_o, // URND bits to give temporary dmem scramble key
   output logic [127:0] imem_sec_wipe_urnd_key_o, // URND bits to give temporary imem scramble key
 
-  // Lifecycle interface
-  input lc_ctrl_pkg::lc_tx_t lc_escalate_en_i,
-
   // Indicates an incoming escalation from some fatal error at the level above.
   input prim_mubi_pkg::mubi4_t escalate_en_i,
 
@@ -328,7 +325,6 @@
     .start_i      (controller_start),
     .locked_o,
 
-    .lc_escalate_en_i,
     .escalate_en_i(controller_escalate_en),
     .err_bits_o   (controller_err_bits),
     .recoverable_err_o,