diff --git a/database b/database
index 42549e4..2cf058e 160000
--- a/database
+++ b/database
@@ -1 +1 @@
-Subproject commit 42549e467ee38765e6fd579b84fc9a914756dd30
+Subproject commit 2cf058e7a3ba36134d21e34823e9b2ecaaceac2c
diff --git a/fuzzers/ECP5/051-pio_ioconfig/fuzzer.py b/fuzzers/ECP5/051-pio_ioconfig/fuzzer.py
index 2b45cc4..dd4290c 100644
--- a/fuzzers/ECP5/051-pio_ioconfig/fuzzer.py
+++ b/fuzzers/ECP5/051-pio_ioconfig/fuzzer.py
@@ -173,7 +173,10 @@
                     "cfg_vio": "3.3"
                 }
                 if extracfg is not None:
-                    substs["extra_attrs"] = '(* {}="{}" *)'.format(extracfg[0], extracfg[1])
+                    pullcfg = ""
+                    if extracfg[0] == "CLAMP":
+                        pullcfg = ", PULLMODE=\"UP\""
+                    substs["extra_attrs"] = '(* {}="{}"{} *)'.format(extracfg[0], extracfg[1], pullcfg)
                 if side == "B":
                     substs["cfg_vio"] = get_cfg_vccio(type)
                 return substs
@@ -201,10 +204,9 @@
             nonrouting.fuzz_enum_setting(cfg, "PIO{}.OPENDRAIN".format(pio), ["ON", "OFF"],
                                          lambda x: get_substs(iomode="OUTPUT_LVCMOS33", extracfg=("OPENDRAIN", x)),
                                          empty_bitfile)
-            if loc in ('T', 'B'):
+            if side in ('T', 'B'):
                 nonrouting.fuzz_enum_setting(cfg, "PIO{}.CLAMP".format(pio), ["ON", "OFF"],
-                                             lambda x: get_substs(iomode="INPUT_LVCMOS33", extracfg=("CLAMP", x)),
-                                             empty_bitfile)
+                                             lambda x: get_substs(iomode="INPUT_LVCMOS33", extracfg=("CLAMP", x)))
 
         fuzzloops.parallel_foreach(pins, per_pin)
 
