[clkmgr/dif] Align DIF to use mubi type

Signed-off-by: Michael Schaffner <msf@google.com>
diff --git a/sw/device/lib/dif/dif_clkmgr.c b/sw/device/lib/dif/dif_clkmgr.c
index 04200a3..5052ea4 100644
--- a/sw/device/lib/dif/dif_clkmgr.c
+++ b/sw/device/lib/dif/dif_clkmgr.c
@@ -8,6 +8,7 @@
 
 #include "sw/device/lib/base/bitfield.h"
 #include "sw/device/lib/base/mmio.h"
+#include "sw/device/lib/base/multibits.h"
 #include "sw/device/lib/dif/dif_base.h"
 
 #include "clkmgr_regs.h"  // Generated
@@ -33,6 +34,13 @@
   return val ? kDifToggleEnabled : kDifToggleDisabled;
 }
 
+/**
+ * Converts a `multi_bit_bool_t` to `dif_toggle_t`.
+ */
+static dif_toggle_t mubi4_to_toggle(multi_bit_bool_t val) {
+  return (val == kMultiBitBool4True) ? kDifToggleEnabled : kDifToggleDisabled;
+}
+
 static bool clkmgr_valid_gateable_clock(dif_clkmgr_gateable_clock_t clock) {
   return clock < CLKMGR_PARAM_NUM_SW_GATEABLE_CLOCKS;
 }
@@ -47,27 +55,26 @@
     return kDifBadArg;
   }
 
-  uint32_t clk_jitter_val =
+  multi_bit_bool_t clk_jitter_val =
       mmio_region_read32(clkmgr->base_addr, CLKMGR_JITTER_ENABLE_REG_OFFSET);
-  *state = bool_to_toggle(
-      bitfield_bit32_read(clk_jitter_val, CLKMGR_JITTER_ENABLE_VAL_BIT));
+  *state = mubi4_to_toggle(clk_jitter_val);
 
   return kDifOk;
 }
 
 dif_result_t dif_clkmgr_jitter_set_enabled(const dif_clkmgr_t *clkmgr,
                                            dif_toggle_t new_state) {
-  uint32_t new_jitter_enable_val;
+  multi_bit_bool_t new_jitter_enable_val;
   if (clkmgr == NULL) {
     return kDifBadArg;
   }
 
   switch (new_state) {
     case kDifToggleEnabled:
-      new_jitter_enable_val = 1U;
+      new_jitter_enable_val = kMultiBitBool4True;
       break;
     case kDifToggleDisabled:
-      new_jitter_enable_val = 0U;
+      new_jitter_enable_val = kMultiBitBool4False;
       break;
     default:
       return kDifBadArg;
diff --git a/sw/device/lib/dif/dif_clkmgr_unittest.cc b/sw/device/lib/dif/dif_clkmgr_unittest.cc
index 690419a..7c0432a 100644
--- a/sw/device/lib/dif/dif_clkmgr_unittest.cc
+++ b/sw/device/lib/dif/dif_clkmgr_unittest.cc
@@ -6,6 +6,7 @@
 
 #include "gtest/gtest.h"
 #include "sw/device/lib/base/mmio.h"
+#include "sw/device/lib/base/multibits.h"
 #include "sw/device/lib/base/testing/mock_mmio.h"
 
 // Generated.
@@ -28,12 +29,12 @@
 // dif_clkmgr_jitter_set_enabled doesn't perform a read, just a write.
 TEST_F(JitterEnableTest, SetEnabled) {
   // Disable jitter.
-  EXPECT_WRITE32(CLKMGR_JITTER_ENABLE_REG_OFFSET, 0);
+  EXPECT_WRITE32(CLKMGR_JITTER_ENABLE_REG_OFFSET, kMultiBitBool4False);
   EXPECT_EQ(dif_clkmgr_jitter_set_enabled(&clkmgr_, kDifToggleDisabled),
             kDifOk);
 
   // Enable jitter.
-  EXPECT_WRITE32(CLKMGR_JITTER_ENABLE_REG_OFFSET, 1);
+  EXPECT_WRITE32(CLKMGR_JITTER_ENABLE_REG_OFFSET, kMultiBitBool4True);
   EXPECT_EQ(dif_clkmgr_jitter_set_enabled(&clkmgr_, kDifToggleEnabled), kDifOk);
 }
 
@@ -47,8 +48,7 @@
   // Get jitter (enabled).
   {
     dif_toggle_t state = kDifToggleDisabled;
-    EXPECT_READ32(CLKMGR_JITTER_ENABLE_REG_OFFSET,
-                  {{CLKMGR_JITTER_ENABLE_VAL_BIT, true}});
+    EXPECT_READ32(CLKMGR_JITTER_ENABLE_REG_OFFSET, kMultiBitBool4True);
     EXPECT_EQ(dif_clkmgr_jitter_get_enabled(&clkmgr_, &state), kDifOk);
     EXPECT_EQ(state, kDifToggleEnabled);
   }
@@ -56,8 +56,7 @@
   // Get jitter (disabled).
   {
     dif_toggle_t state = kDifToggleEnabled;
-    EXPECT_READ32(CLKMGR_JITTER_ENABLE_REG_OFFSET,
-                  {{CLKMGR_JITTER_ENABLE_VAL_BIT, false}});
+    EXPECT_READ32(CLKMGR_JITTER_ENABLE_REG_OFFSET, kMultiBitBool4False);
     EXPECT_EQ(dif_clkmgr_jitter_get_enabled(&clkmgr_, &state), kDifOk);
     EXPECT_EQ(state, kDifToggleDisabled);
   }