diff --git a/hw/top_matcha/dv/env/chip_if.sv b/hw/top_matcha/dv/env/chip_if.sv
index 3b8af19..5b576bc 100644
--- a/hw/top_matcha/dv/env/chip_if.sv
+++ b/hw/top_matcha/dv/env/chip_if.sv
@@ -45,6 +45,9 @@
 `define CPU_HIER            `TOP_HIER.u_rv_core_ibex_sec
 `define CPU_CORE_HIER       `CPU_HIER.u_core
 `define CPU_TL_ADAPT_D_HIER `CPU_HIER.tl_adapter_host_d_ibex
+`define SMC_CPU_HIER            `TOP_HIER.u_rv_core_ibex_smc
+`define SMC_CPU_CORE_HIER       `SMC_CPU_HIER.u_core
+`define SMC_CPU_TL_ADAPT_D_HIER `SMC_CPU_HIER.tl_adapter_host_d_ibex
 `define CSRNG_HIER          `TOP_HIER.u_csrng
 `define ENTROPY_SRC_HIER    `TOP_HIER.u_entropy_src
 `define EDN_HIER(i)         `TOP_HIER.u_edn``i
@@ -401,22 +404,22 @@
   // hw/top_matcha/rtl/chip_matcha_verilator.sv and
   // sw/device/lib/testing/pinmux_testutils.c
   pins_if #(.Width(NUM_GPIOS), .PullStrength("Weak")) gpios_if(
-    .pins({mios[top_matcha_pkg::MioPadIoa0], mios[top_matcha_pkg::MioPadIoa1],
-           mios[top_matcha_pkg::MioPadIoa2], mios[top_matcha_pkg::MioPadIoa3],
-           mios[top_matcha_pkg::MioPadIoa4], mios[top_matcha_pkg::MioPadIoa5],
-           mios[top_matcha_pkg::MioPadIoa6], mios[top_matcha_pkg::MioPadIoa7],
-           mios[top_matcha_pkg::MioPadIoa8], mios[top_matcha_pkg::MioPadIob0],
-           mios[top_matcha_pkg::MioPadIob1], mios[top_matcha_pkg::MioPadIob2],
-           mios[top_matcha_pkg::MioPadIob3], mios[top_matcha_pkg::MioPadIob4],
-           mios[top_matcha_pkg::MioPadIob5], mios[top_matcha_pkg::MioPadIob6],
-           mios[top_matcha_pkg::MioPadIob7], mios[top_matcha_pkg::MioPadIob8],
-           mios[top_matcha_pkg::MioPadIob10], mios[top_matcha_pkg::MioPadIob11],
-           mios[top_matcha_pkg::MioPadIob12], mios[top_matcha_pkg::MioPadIoc6],
-           mios[top_matcha_pkg::MioPadIoc0], mios[top_matcha_pkg::MioPadIoc1],
-           mios[top_matcha_pkg::MioPadIoc2], mios[top_matcha_pkg::MioPadIoc7],
-           mios[top_matcha_pkg::MioPadIoc9], mios[top_matcha_pkg::MioPadIoc5],
-           mios[top_matcha_pkg::MioPadIor6], mios[top_matcha_pkg::MioPadIor7],
-           mios[top_matcha_pkg::MioPadIoc8], mios[top_matcha_pkg::MioPadIor10]})
+    .pins({mios[top_matcha_pkg::MioPadIor10], mios[top_matcha_pkg::MioPadIoc8],
+           mios[top_matcha_pkg::MioPadIor7], mios[top_matcha_pkg::MioPadIor6],
+           mios[top_matcha_pkg::MioPadIoc5], mios[top_matcha_pkg::MioPadIoc9],
+           mios[top_matcha_pkg::MioPadIoc7], mios[top_matcha_pkg::MioPadIoc2],
+           mios[top_matcha_pkg::MioPadIoc1], mios[top_matcha_pkg::MioPadIoc0],
+           mios[top_matcha_pkg::MioPadIoc6], mios[top_matcha_pkg::MioPadIob12],
+           mios[top_matcha_pkg::MioPadIob11], mios[top_matcha_pkg::MioPadIob10],
+           mios[top_matcha_pkg::MioPadIob8], mios[top_matcha_pkg::MioPadIob7],
+           mios[top_matcha_pkg::MioPadIob6], mios[top_matcha_pkg::MioPadIob5],
+           mios[top_matcha_pkg::MioPadIob4], mios[top_matcha_pkg::MioPadIob3],
+           mios[top_matcha_pkg::MioPadIob2], mios[top_matcha_pkg::MioPadIob1],
+           mios[top_matcha_pkg::MioPadIob0], mios[top_matcha_pkg::MioPadIoa8],
+           mios[top_matcha_pkg::MioPadIoa7], mios[top_matcha_pkg::MioPadIoa6],
+           mios[top_matcha_pkg::MioPadIoa5], mios[top_matcha_pkg::MioPadIoa4],
+           mios[top_matcha_pkg::MioPadIoa3], mios[top_matcha_pkg::MioPadIoa2],
+           mios[top_matcha_pkg::MioPadIoa1], mios[top_matcha_pkg::MioPadIoa0]})
   );
 
   // Functional (muxed) interface: JTAG (valid during debug enabled LC state only).
diff --git a/hw/top_matcha/dv/env/seq_lib/chip_sw_base_vseq.sv b/hw/top_matcha/dv/env/seq_lib/chip_sw_base_vseq.sv
index f2cc535..264736d 100644
--- a/hw/top_matcha/dv/env/seq_lib/chip_sw_base_vseq.sv
+++ b/hw/top_matcha/dv/env/seq_lib/chip_sw_base_vseq.sv
@@ -17,6 +17,11 @@
     set_and_release_sw_strap_nonblocking();
     // Disable mem checks in scoreboard - it does not factor in memory scrambling.
     cfg.en_scb_mem_chk = 1'b0;
+
+    // Undriven gpio pins will cause x values in u_gpio.data_in when connected
+    // with MIO pads in pinmux
+    // TODO(b/287479608): Add more X checkers and report error immediately
+    cfg.chip_vif.gpios_if.set_pulldown_en({32{1'b1}});
   endtask
 
   // Drive sw_strap pins only when the ROM / test ROM code is active
diff --git a/hw/top_matcha/dv/env/seq_lib/chip_sw_i2c_host_tx_rx_vseq.sv b/hw/top_matcha/dv/env/seq_lib/chip_sw_i2c_host_tx_rx_vseq.sv
index 7f30698..e2e3d74 100644
--- a/hw/top_matcha/dv/env/seq_lib/chip_sw_i2c_host_tx_rx_vseq.sv
+++ b/hw/top_matcha/dv/env/seq_lib/chip_sw_i2c_host_tx_rx_vseq.sv
@@ -38,6 +38,23 @@
     cfg.m_i2c_agent_cfgs[i2c_idx].if_mode = Device;
 
     // Enbale appropriate interface
+    case(i2c_idx)
+      0: begin
+        cfg.chip_vif.gpios_if.set_pulldown_en_pin(7, 1'b0);
+        cfg.chip_vif.gpios_if.set_pulldown_en_pin(8, 1'b0);
+      end
+      1: begin
+        cfg.chip_vif.gpios_if.set_pulldown_en_pin(18, 1'b0);
+      end
+      2: begin
+        cfg.chip_vif.gpios_if.set_pulldown_en_pin(19, 1'b0);
+        cfg.chip_vif.gpios_if.set_pulldown_en_pin(20, 1'b0);
+      end
+      default: begin
+        `uvm_error(`gfn, $sformatf("Unexpected i2c index: %0d", i2c_idx))
+      end
+    endcase
+
     cfg.chip_vif.enable_i2c(.inst_num(i2c_idx), .enable(1));
 
     `uvm_info(`gfn, $sformatf("Full period cycle: %d", clock_period_cycles), UVM_MEDIUM)
diff --git a/hw/top_matcha/dv/tb/tb.sv b/hw/top_matcha/dv/tb/tb.sv
index 5134392..43341e4 100644
--- a/hw/top_matcha/dv/tb/tb.sv
+++ b/hw/top_matcha/dv/tb/tb.sv
@@ -569,9 +569,6 @@
       force `SMC_CPU_HIER.u_ibus_trans.rst_ni = 1'b0;
       force `SMC_CPU_HIER.u_dbus_trans.rst_ni = 1'b0;
     end
-
-    // force the inputs to gpio to be 0
-    force `CHIP_HIER.u_gpio.cio_gpio_i = 32'h00000000;
   end
 
   `include "../autogen/tb__xbar_connect.sv"
diff --git a/sw/device/tests/BUILD b/sw/device/tests/BUILD
index ebd5f27..50fbf06 100644
--- a/sw/device/tests/BUILD
+++ b/sw/device/tests/BUILD
@@ -616,6 +616,7 @@
         "verilator",
     ],
     tests = [
+        "verilator_atomics_test",
         "verilator_cam_ctrl_test",
         "verilator_cam_irq_test",
         "verilator_crt_test",
