[lc_ctrl/otp_ctrl] Align DV environments

Signed-off-by: Michael Schaffner <msf@opentitan.org>
diff --git a/hw/ip/lc_ctrl/dv/env/lc_ctrl_if.sv b/hw/ip/lc_ctrl/dv/env/lc_ctrl_if.sv
index 941f7b6..a25fe2a 100644
--- a/hw/ip/lc_ctrl/dv/env/lc_ctrl_if.sv
+++ b/hw/ip/lc_ctrl/dv/env/lc_ctrl_if.sv
@@ -23,6 +23,7 @@
   lc_ctrl_pkg::lc_tx_t lc_seed_hw_rd_en_o;
   lc_ctrl_pkg::lc_tx_t lc_keymgr_en_o;
   lc_ctrl_pkg::lc_tx_t lc_escalate_en_o;
+  lc_ctrl_pkg::lc_tx_t lc_check_byp_en_o;
 
   lc_ctrl_pkg::lc_keymgr_div_t lc_keymgr_div_o;
 
diff --git a/hw/ip/lc_ctrl/dv/tb.sv b/hw/ip/lc_ctrl/dv/tb.sv
index 5cda15c..351cfed 100644
--- a/hw/ip/lc_ctrl/dv/tb.sv
+++ b/hw/ip/lc_ctrl/dv/tb.sv
@@ -82,6 +82,7 @@
     .lc_seed_hw_rd_en_o         (lc_ctrl_if.lc_seed_hw_rd_en_o),
     .lc_keymgr_en_o             (lc_ctrl_if.lc_keymgr_en_o),
     .lc_escalate_en_o           (lc_ctrl_if.lc_escalate_en_o),
+    .lc_check_byp_en_o          (lc_ctrl_if.lc_check_byp_en_o),
 
     .lc_clk_byp_req_o           (),
     .lc_clk_byp_ack_i           (lc_ctrl_pkg::On),
diff --git a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env.sv b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env.sv
index 3502ce8..b78137b 100644
--- a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env.sv
+++ b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env.sv
@@ -80,6 +80,10 @@
                                                  cfg.lc_escalate_en_vif)) begin
       `uvm_fatal(get_full_name(), "failed to get lc_escalate_en_vif from uvm_config_db")
     end
+    if (!uvm_config_db#(lc_check_byp_en_vif)::get(this, "", "lc_check_byp_en_vif",
+                                                     cfg.lc_check_byp_en_vif)) begin
+      `uvm_fatal(get_full_name(), "failed to get lc_check_byp_en_vif from uvm_config_db")
+    end
 
     // config mem virtual interface
     if (!uvm_config_db#(mem_bkdr_vif)::get(this, "", "mem_bkdr_vif", cfg.mem_bkdr_vif)) begin
diff --git a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_cfg.sv b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_cfg.sv
index d8bfefb..6ecbc8c 100644
--- a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_cfg.sv
+++ b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_cfg.sv
@@ -18,6 +18,7 @@
   lc_seed_hw_rd_en_vif         lc_seed_hw_rd_en_vif;
   lc_dft_en_vif                lc_dft_en_vif;
   lc_escalate_en_vif           lc_escalate_en_vif;
+  lc_check_byp_en_vif          lc_check_byp_en_vif;
   mem_bkdr_vif                 mem_bkdr_vif;
   otp_ctrl_output_data_vif     otp_ctrl_output_data_vif;
 
diff --git a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_pkg.sv b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_pkg.sv
index 019f28d..4e04cc1 100644
--- a/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_pkg.sv
+++ b/hw/ip/otp_ctrl/dv/env/otp_ctrl_env_pkg.sv
@@ -129,6 +129,7 @@
   typedef virtual pins_if #(4)             lc_seed_hw_rd_en_vif;
   typedef virtual pins_if #(4)             lc_dft_en_vif;
   typedef virtual pins_if #(4)             lc_escalate_en_vif;
+  typedef virtual pins_if #(4)             lc_check_byp_en_vif;
   typedef virtual mem_bkdr_if              mem_bkdr_vif;
   typedef virtual otp_ctrl_output_data_if  otp_ctrl_output_data_vif;
 
diff --git a/hw/ip/otp_ctrl/dv/env/seq_lib/otp_ctrl_base_vseq.sv b/hw/ip/otp_ctrl/dv/env/seq_lib/otp_ctrl_base_vseq.sv
index 095a705..cecc018 100644
--- a/hw/ip/otp_ctrl/dv/env/seq_lib/otp_ctrl_base_vseq.sv
+++ b/hw/ip/otp_ctrl/dv/env/seq_lib/otp_ctrl_base_vseq.sv
@@ -28,6 +28,7 @@
     cfg.lc_seed_hw_rd_en_vif.drive(lc_ctrl_pkg::Off);
     cfg.lc_dft_en_vif.drive(lc_ctrl_pkg::Off);
     cfg.lc_escalate_en_vif.drive(lc_ctrl_pkg::Off);
+    cfg.lc_check_byp_en_vif.drive(lc_ctrl_pkg::Off);
     if (do_otp_ctrl_init) otp_ctrl_init();
     if (do_otp_pwr_init) otp_pwr_init();
   endtask
diff --git a/hw/ip/otp_ctrl/dv/tb.sv b/hw/ip/otp_ctrl/dv/tb.sv
index 260d1a5..c2753b5 100644
--- a/hw/ip/otp_ctrl/dv/tb.sv
+++ b/hw/ip/otp_ctrl/dv/tb.sv
@@ -17,7 +17,8 @@
 
   wire clk, rst_n;
   wire devmode;
-  wire lc_ctrl_pkg::lc_tx_e lc_creator_seed_sw_rw_en, lc_seed_hw_rd_en, lc_dft_en, lc_escalate_en;
+  wire lc_ctrl_pkg::lc_tx_e lc_dft_en, lc_escalate_en, lc_check_byp_en;
+  wire lc_ctrl_pkg::lc_tx_e lc_creator_seed_sw_rw_en, lc_seed_hw_rd_en;
   wire [OtpPwrIfWidth-1:0] pwr_otp;
   wire otp_ctrl_pkg::flash_otp_key_req_t flash_req;
   wire otp_ctrl_pkg::flash_otp_key_rsp_t flash_rsp;
@@ -56,6 +57,7 @@
   pins_if #(4) lc_seed_hw_rd_en_if(lc_seed_hw_rd_en);
   pins_if #(4) lc_dft_en_if(lc_dft_en);
   pins_if #(4) lc_escalate_en_if(lc_escalate_en);
+  pins_if #(4) lc_check_byp_en_if(lc_check_byp_en);
 
   tl_if tl_if(.clk(clk), .rst_n(rst_n));
 
@@ -95,6 +97,7 @@
     .lc_seed_hw_rd_en_i         (lc_seed_hw_rd_en),
     .lc_dft_en_i                (lc_dft_en),
     .lc_escalate_en_i           (lc_escalate_en),
+    .lc_check_byp_en_i          (lc_check_byp_en),
     .otp_lc_data_o              (otp_ctrl_output_data_if.lc_data),
     // keymgr
     .otp_keymgr_key_o           (otp_ctrl_output_data_if.keymgr_key),
@@ -166,6 +169,8 @@
                                               lc_seed_hw_rd_en_if);
     uvm_config_db#(lc_dft_en_vif)::set(null, "*.env", "lc_dft_en_vif", lc_dft_en_if);
     uvm_config_db#(lc_escalate_en_vif)::set(null, "*.env", "lc_escalate_en_vif", lc_escalate_en_if);
+    uvm_config_db#(lc_check_byp_en_vif)::set(null, "*.env", "lc_check_byp_en_vif",
+                                             lc_check_byp_en_if);
     uvm_config_db#(mem_bkdr_vif)::set(null, "*.env", "mem_bkdr_vif",
                                       `OTP_CTRL_MEM_HIER.mem_bkdr_if);