diff --git a/sw/device/tests/BUILD b/sw/device/tests/BUILD
index 4ec67c3..4f862df 100644
--- a/sw/device/tests/BUILD
+++ b/sw/device/tests/BUILD
@@ -1102,8 +1102,16 @@
 opentitan_functest(
     name = "gpio_pinmux_test",
     srcs = ["gpio_pinmux_test.c"],
+    cw310 = cw310_params(
+        interface = "hyperdebug",
+        tags = ["manual"],
+        test_cmds = [
+            "--bootstrap=\"$(location {flash})\"",
+        ],
+    ),
     targets = [
         "verilator",
+        "cw310_test_rom",
     ],
     test_harness = "//sw/host/tests/chip/gpio",
     verilator = verilator_params(
diff --git a/sw/host/tests/chip/gpio/src/main.rs b/sw/host/tests/chip/gpio/src/main.rs
index d38922f..6b0a6c7 100644
--- a/sw/host/tests/chip/gpio/src/main.rs
+++ b/sw/host/tests/chip/gpio/src/main.rs
@@ -38,40 +38,116 @@
 }
 
 lazy_static! {
-static ref VERILATOR: Config = Config {
-    input: collection! {
-        PinmuxPeripheralIn::GpioGpio0 => PinmuxInsel::Iob6,
-        PinmuxPeripheralIn::GpioGpio1 => PinmuxInsel::Iob7,
-        PinmuxPeripheralIn::GpioGpio2 => PinmuxInsel::Iob8,
-        PinmuxPeripheralIn::GpioGpio3 => PinmuxInsel::Iob9,
-        PinmuxPeripheralIn::GpioGpio4 => PinmuxInsel::Iob10,
-        PinmuxPeripheralIn::GpioGpio5 => PinmuxInsel::Iob11,
-        PinmuxPeripheralIn::GpioGpio6 => PinmuxInsel::Iob12,
-        PinmuxPeripheralIn::GpioGpio7 => PinmuxInsel::Ior5,
-        PinmuxPeripheralIn::GpioGpio8 => PinmuxInsel::Ior6,
-        PinmuxPeripheralIn::GpioGpio9 => PinmuxInsel::Ior7,
-        // IOR8-9 aren't MIOs.
-        PinmuxPeripheralIn::GpioGpio10 => PinmuxInsel::Ior10,
-        PinmuxPeripheralIn::GpioGpio11 => PinmuxInsel::Ior11,
-        PinmuxPeripheralIn::GpioGpio12 => PinmuxInsel::Ior12,
-        PinmuxPeripheralIn::GpioGpio13 => PinmuxInsel::Ior13,
+static ref CONFIG: HashMap<&'static str, Config> = collection! {
+    "verilator" => Config {
+        input: collection! {
+            PinmuxPeripheralIn::GpioGpio0 => PinmuxInsel::Iob6,
+            PinmuxPeripheralIn::GpioGpio1 => PinmuxInsel::Iob7,
+            PinmuxPeripheralIn::GpioGpio2 => PinmuxInsel::Iob8,
+            PinmuxPeripheralIn::GpioGpio3 => PinmuxInsel::Iob9,
+            PinmuxPeripheralIn::GpioGpio4 => PinmuxInsel::Iob10,
+            PinmuxPeripheralIn::GpioGpio5 => PinmuxInsel::Iob11,
+            PinmuxPeripheralIn::GpioGpio6 => PinmuxInsel::Iob12,
+            PinmuxPeripheralIn::GpioGpio7 => PinmuxInsel::Ior5,
+            PinmuxPeripheralIn::GpioGpio8 => PinmuxInsel::Ior6,
+            PinmuxPeripheralIn::GpioGpio9 => PinmuxInsel::Ior7,
+            // IOR8-9 aren't MIOs.
+            PinmuxPeripheralIn::GpioGpio10 => PinmuxInsel::Ior10,
+            PinmuxPeripheralIn::GpioGpio11 => PinmuxInsel::Ior11,
+            PinmuxPeripheralIn::GpioGpio12 => PinmuxInsel::Ior12,
+            PinmuxPeripheralIn::GpioGpio13 => PinmuxInsel::Ior13,
+        },
+        output: collection! {
+            PinmuxMioOut::Iob6 => PinmuxOutsel::GpioGpio0,
+            PinmuxMioOut::Iob7 => PinmuxOutsel::GpioGpio1,
+            PinmuxMioOut::Iob8 => PinmuxOutsel::GpioGpio2,
+            PinmuxMioOut::Iob9 => PinmuxOutsel::GpioGpio3,
+            PinmuxMioOut::Iob10 => PinmuxOutsel::GpioGpio4,
+            PinmuxMioOut::Iob11 => PinmuxOutsel::GpioGpio5,
+            PinmuxMioOut::Iob12 => PinmuxOutsel::GpioGpio6,
+            PinmuxMioOut::Ior5 => PinmuxOutsel::GpioGpio7,
+            PinmuxMioOut::Ior6 => PinmuxOutsel::GpioGpio8,
+            PinmuxMioOut::Ior7 => PinmuxOutsel::GpioGpio9,
+            // IOR8-9 aren't MIOs.
+            PinmuxMioOut::Ior10 => PinmuxOutsel::GpioGpio10,
+            PinmuxMioOut::Ior11 => PinmuxOutsel::GpioGpio11,
+            PinmuxMioOut::Ior12 => PinmuxOutsel::GpioGpio12,
+            PinmuxMioOut::Ior13 => PinmuxOutsel::GpioGpio13,
+        },
     },
-    output: collection! {
-        PinmuxMioOut::Iob6 => PinmuxOutsel::GpioGpio0,
-        PinmuxMioOut::Iob7 => PinmuxOutsel::GpioGpio1,
-        PinmuxMioOut::Iob8 => PinmuxOutsel::GpioGpio2,
-        PinmuxMioOut::Iob9 => PinmuxOutsel::GpioGpio3,
-        PinmuxMioOut::Iob10 => PinmuxOutsel::GpioGpio4,
-        PinmuxMioOut::Iob11 => PinmuxOutsel::GpioGpio5,
-        PinmuxMioOut::Iob12 => PinmuxOutsel::GpioGpio6,
-        PinmuxMioOut::Ior5 => PinmuxOutsel::GpioGpio7,
-        PinmuxMioOut::Ior6 => PinmuxOutsel::GpioGpio8,
-        PinmuxMioOut::Ior7 => PinmuxOutsel::GpioGpio9,
-        // IOR8-9 aren't MIOs.
-        PinmuxMioOut::Ior10 => PinmuxOutsel::GpioGpio10,
-        PinmuxMioOut::Ior11 => PinmuxOutsel::GpioGpio11,
-        PinmuxMioOut::Ior12 => PinmuxOutsel::GpioGpio12,
-        PinmuxMioOut::Ior13 => PinmuxOutsel::GpioGpio13,
+    "hyperdebug" => Config {
+        input: collection! {
+            // The commented lines represent multi-fuction pins.  These will
+            // be added back in when the hyperdebug firmware can set these
+            // multifunction pins into GPIO mode.
+
+            //PinmuxPeripheralIn::GpioGpio0 => PinmuxInsel::Ioa0,   // UART4
+            //PinmuxPeripheralIn::GpioGpio1 => PinmuxInsel::Ioa1,   // UART4
+            PinmuxPeripheralIn::GpioGpio2 => PinmuxInsel::Ioa2,
+            PinmuxPeripheralIn::GpioGpio3 => PinmuxInsel::Ioa3,
+            //PinmuxPeripheralIn::GpioGpio4 => PinmuxInsel::Ioa4,   // UART5
+            //PinmuxPeripheralIn::GpioGpio5 => PinmuxInsel::Ioa5,   // UART5
+            PinmuxPeripheralIn::GpioGpio6 => PinmuxInsel::Ioa6,
+            //PinmuxPeripheralIn::GpioGpio7 => PinmuxInsel::Ioa7,   // I2C1
+            //PinmuxPeripheralIn::GpioGpio8 => PinmuxInsel::Ioa8,   // I2C1
+            //PinmuxPeripheralIn::GpioGpio9 => PinmuxInsel::Iob4,   // UART3
+            //PinmuxPeripheralIn::GpioGpio10 => PinmuxInsel::Iob5,  // UART3
+            PinmuxPeripheralIn::GpioGpio11 => PinmuxInsel::Iob6,
+
+            PinmuxPeripheralIn::GpioGpio12 => PinmuxInsel::Ioc0,
+            PinmuxPeripheralIn::GpioGpio13 => PinmuxInsel::Ioc1,
+            PinmuxPeripheralIn::GpioGpio14 => PinmuxInsel::Ioc2,
+
+            PinmuxPeripheralIn::GpioGpio15 => PinmuxInsel::Ioc5,
+            PinmuxPeripheralIn::GpioGpio16 => PinmuxInsel::Ioc6,
+            PinmuxPeripheralIn::GpioGpio17 => PinmuxInsel::Ioc10,
+            PinmuxPeripheralIn::GpioGpio18 => PinmuxInsel::Ioc11,
+            PinmuxPeripheralIn::GpioGpio19 => PinmuxInsel::Ioc12,
+
+            PinmuxPeripheralIn::GpioGpio20 => PinmuxInsel::Ior5,
+            PinmuxPeripheralIn::GpioGpio21 => PinmuxInsel::Ior6,
+            PinmuxPeripheralIn::GpioGpio22 => PinmuxInsel::Ior7,
+            // IOR8-9 aren't MIOs.
+            PinmuxPeripheralIn::GpioGpio25 => PinmuxInsel::Ior10,
+            PinmuxPeripheralIn::GpioGpio26 => PinmuxInsel::Ior11,
+            PinmuxPeripheralIn::GpioGpio27 => PinmuxInsel::Ior12,
+            PinmuxPeripheralIn::GpioGpio28 => PinmuxInsel::Ior13,
+
+        },
+        output: collection! {
+            // The commented lines represent multi-fuction pins.  These will
+            // be added back in when the hyperdebug firmware can set these
+            // multifunction pins into GPIO mode.
+
+            //PinmuxMioOut::Ioa0 => PinmuxOutsel::GpioGpio0,   // UART4
+            //PinmuxMioOut::Ioa1 => PinmuxOutsel::GpioGpio1,   // UART4
+            PinmuxMioOut::Ioa2 => PinmuxOutsel::GpioGpio2,
+            PinmuxMioOut::Ioa3 => PinmuxOutsel::GpioGpio3,
+            //PinmuxMioOut::Ioa4 => PinmuxOutsel::GpioGpio4,   // UART5
+            //PinmuxMioOut::Ioa5 => PinmuxOutsel::GpioGpio5,   // UART5
+            PinmuxMioOut::Ioa6 => PinmuxOutsel::GpioGpio6,
+            //PinmuxMioOut::Ioa7 => PinmuxOutsel::GpioGpio7,   // I2C1
+            //PinmuxMioOut::Ioa8 => PinmuxOutsel::GpioGpio8,   // I2C1
+            //PinmuxMioOut::Iob4 => PinmuxOutsel::GpioGpio9,   // UART3
+            //PinmuxMioOut::Iob5 => PinmuxOutsel::GpioGpio10,  // UART3
+            PinmuxMioOut::Iob6 => PinmuxOutsel::GpioGpio11,
+            PinmuxMioOut::Ioc0 => PinmuxOutsel::GpioGpio12,
+            PinmuxMioOut::Ioc1 => PinmuxOutsel::GpioGpio13,
+            PinmuxMioOut::Ioc2 => PinmuxOutsel::GpioGpio14,
+            PinmuxMioOut::Ioc5 => PinmuxOutsel::GpioGpio15,
+            PinmuxMioOut::Ioc6 => PinmuxOutsel::GpioGpio16,
+            PinmuxMioOut::Ioc10 => PinmuxOutsel::GpioGpio17,
+            PinmuxMioOut::Ioc11 => PinmuxOutsel::GpioGpio18,
+            PinmuxMioOut::Ioc12 => PinmuxOutsel::GpioGpio19,
+            PinmuxMioOut::Ior5 => PinmuxOutsel::GpioGpio20,
+            PinmuxMioOut::Ior6 => PinmuxOutsel::GpioGpio21,
+            PinmuxMioOut::Ior7 => PinmuxOutsel::GpioGpio22,
+            // IOR8-9 aren't MIOs.
+            PinmuxMioOut::Ior10 => PinmuxOutsel::GpioGpio25,
+            PinmuxMioOut::Ior11 => PinmuxOutsel::GpioGpio26,
+            PinmuxMioOut::Ior12 => PinmuxOutsel::GpioGpio27,
+            PinmuxMioOut::Ior13 => PinmuxOutsel::GpioGpio28,
+        },
     },
 };
 }
@@ -148,12 +224,15 @@
     Ok(())
 }
 
-fn test_gpio_outputs(_opts: &Opts, transport: &TransportWrapper) -> Result<()> {
+fn test_gpio_outputs(opts: &Opts, transport: &TransportWrapper) -> Result<()> {
     let uart = transport.uart("console")?;
-    // TODO(cfrantz): Enhance this test to have pinmux configurations for other
-    // platforms, such as cw310+hyperdebug.
-    let config = &VERILATOR;
-    log::info!("Configuring pinmux");
+    log::info!(
+        "Configuring pinmux for {:?}",
+        opts.init.backend_opts.interface
+    );
+    let config = CONFIG
+        .get(opts.init.backend_opts.interface.as_str())
+        .expect("interface");
     PinmuxConfig::configure(&*uart, None, Some(&config.output))?;
 
     log::info!("Configuring debugger GPIOs as inputs");
@@ -175,12 +254,15 @@
     Ok(())
 }
 
-fn test_gpio_inputs(_opts: &Opts, transport: &TransportWrapper) -> Result<()> {
+fn test_gpio_inputs(opts: &Opts, transport: &TransportWrapper) -> Result<()> {
     let uart = transport.uart("console")?;
-    // TODO(cfrantz): Enhance this test to have pinmux configurations for other
-    // platforms, such as cw310+hyperdebug.
-    let config = &VERILATOR;
-    log::info!("Configuring pinmux");
+    log::info!(
+        "Configuring pinmux for {:?}",
+        opts.init.backend_opts.interface
+    );
+    let config = CONFIG
+        .get(opts.init.backend_opts.interface.as_str())
+        .expect("interface");
     PinmuxConfig::configure(&*uart, Some(&config.input), None)?;
 
     log::info!("Configuring debugger GPIOs as outputs");
