[dif/rv_plic] fix incorrect DIF naming convention

This fixes #7824 by renaming all rv_plic DIFs with the correct
prefix of "dif_rv_plic_" instead of "dif_plic_", to match the IP
block's name of "rv_plic".

Signed-off-by: Timothy Trippel <ttrippel@google.com>
diff --git a/hw/ip/rv_plic/data/rv_plic.prj.hjson b/hw/ip/rv_plic/data/rv_plic.prj.hjson
index bf07d25..6e32228 100644
--- a/hw/ip/rv_plic/data/rv_plic.prj.hjson
+++ b/hw/ip/rv_plic/data/rv_plic.prj.hjson
@@ -7,7 +7,7 @@
     design_spec:        "../doc",
     dv_doc:             "../doc/dv",
     hw_checklist:       "../doc/checklist",
-    sw_checklist:       "/sw/device/lib/dif/dif_plic",
+    sw_checklist:       "/sw/device/lib/dif/dif_rv_plic",
     revisions: [
       {
         version:            "0.5",
diff --git a/hw/ip/rv_plic/doc/_index.md b/hw/ip/rv_plic/doc/_index.md
index cc9f90c..32e2ec2 100644
--- a/hw/ip/rv_plic/doc/_index.md
+++ b/hw/ip/rv_plic/doc/_index.md
@@ -228,7 +228,7 @@
 
 ## Device Interface Functions (DIFs)
 
-{{< dif_listing "sw/device/lib/dif/dif_plic.h" >}}
+{{< dif_listing "sw/device/lib/dif/dif_rv_plic.h" >}}
 
 ## Registers
 
diff --git a/hw/top_earlgrey/data/chip_testplan.hjson b/hw/top_earlgrey/data/chip_testplan.hjson
index 41adda3..576b612 100644
--- a/hw/top_earlgrey/data/chip_testplan.hjson
+++ b/hw/top_earlgrey/data/chip_testplan.hjson
@@ -2334,7 +2334,7 @@
               "chip_dif_kmac_cshake_smoketest",
               "chip_dif_otbn_smoketest",
               "chip_dif_otp_ctrl_smoketest",
-              "chip_dif_plic_smoketest",
+              "chip_dif_rv_plic_smoketest",
               "chip_dif_pwrmgr_smoketest",
               "chip_dif_rv_timer_smoketest",
               "chip_dif_rstmgr_smoketest",
diff --git a/hw/top_earlgrey/dv/chip_dif_tests.hjson b/hw/top_earlgrey/dv/chip_dif_tests.hjson
index 2b2a4b6..8019a37 100644
--- a/hw/top_earlgrey/dv/chip_dif_tests.hjson
+++ b/hw/top_earlgrey/dv/chip_dif_tests.hjson
@@ -81,9 +81,9 @@
       en_run_modes: ["sw_test_mode"]
     }
     {
-      name: chip_dif_plic_smoketest
+      name: chip_dif_rv_plic_smoketest
       uvm_test_seq: chip_sw_base_vseq
-      sw_images: ["sw/device/tests/dif_plic_smoketest:1"]
+      sw_images: ["sw/device/tests/dif_rv_plic_smoketest:1"]
       en_run_modes: ["sw_test_mode"]
     }
     {
@@ -126,7 +126,7 @@
               "chip_dif_kmac_smoketest",
               "chip_dif_otbn_smoketest",
               "chip_dif_otp_ctrl_smoketest",
-              "chip_dif_plic_smoketest",
+              "chip_dif_rv_plic_smoketest",
               "chip_dif_pwrmgr_smoketest",
               "chip_dif_rv_timer_smoketest",
               "chip_dif_rstmgr_smoketest",
diff --git a/hw/top_earlgrey/dv/chip_sim_cfg.hjson b/hw/top_earlgrey/dv/chip_sim_cfg.hjson
index 5f90061..65197ba 100644
--- a/hw/top_earlgrey/dv/chip_sim_cfg.hjson
+++ b/hw/top_earlgrey/dv/chip_sim_cfg.hjson
@@ -149,9 +149,9 @@
   // dictionary declared in `sw/device/tests/meson.build`, the `sw_images` list
   // below should contain `sw/device/tests/<sw_test_name>` (without any more
   // subdirectories) because that is where the meson target is created. For
-  // example `dif_plic_smoketest` is added to `sw_tests` in
+  // example `dif_rv_plic_smoketest` is added to `sw_tests` in
   // `sw/device/tests/dif/meson.build`, but the final meson targets all start
-  // `sw/device/tests/dif_plic_smoketest_`.
+  // `sw/device/tests/dif_rv_plic_smoketest_`.
   //
   // Each entry in `sw_images` is followed by an index separated with ':' which
   // is used by the testbench to know what type of image is it:
diff --git a/hw/top_earlgrey/dv/verilator/verilator_sim_cfg.hjson b/hw/top_earlgrey/dv/verilator/verilator_sim_cfg.hjson
index a598503..c59f66a 100644
--- a/hw/top_earlgrey/dv/verilator/verilator_sim_cfg.hjson
+++ b/hw/top_earlgrey/dv/verilator/verilator_sim_cfg.hjson
@@ -85,9 +85,9 @@
   // dictionary declared in `sw/device/tests/meson.build`, the `sw_images` list
   // below should contain `sw/device/tests/<sw_test_name>` (without any more
   // subdirectories) because that is where the meson target is created. For
-  // example `dif_plic_smoketest` is added to `sw_tests` in
+  // example `dif_rv_plic_smoketest` is added to `sw_tests` in
   // `sw/device/tests/dif/meson.build`, but the final meson targets all start
-  // `sw/device/tests/dif_plic_smoketest_`.
+  // `sw/device/tests/dif_rv_plic_smoketest_`.
   //
   // Each entry in `sw_images` is followed by an index separated with ':' which
   // is used by the testbench to know what type of image is it:
@@ -158,8 +158,8 @@
       sw_images: ["sw/device/tests/dif_otp_ctrl_smoketest:1"]
     }
     {
-      name: dif_plic_smoketest
-      sw_images: ["sw/device/tests/dif_plic_smoketest:1"]
+      name: dif_rv_plic_smoketest
+      sw_images: ["sw/device/tests/dif_rv_plic_smoketest:1"]
     }
     // TODO(#6656): AST is not instantiated in chip_earlgrey_verilator.
     // {
diff --git a/sw/device/lib/dif/dif_plic.c b/sw/device/lib/dif/dif_rv_plic.c
similarity index 65%
rename from sw/device/lib/dif/dif_plic.c
rename to sw/device/lib/dif/dif_rv_plic.c
index ae1e9c4..05372da 100644
--- a/sw/device/lib/dif/dif_plic.c
+++ b/sw/device/lib/dif/dif_rv_plic.c
@@ -2,7 +2,7 @@
 // Licensed under the Apache License, Version 2.0, see LICENSE for details.
 // SPDX-License-Identifier: Apache-2.0
 
-#include "sw/device/lib/dif/dif_plic.h"
+#include "sw/device/lib/dif/dif_rv_plic.h"
 
 #include <stdbool.h>
 #include <stddef.h>
@@ -13,8 +13,8 @@
 
 #include "rv_plic_regs.h"  // Generated.
 
-const uint32_t kDifPlicMinPriority = 0;
-const uint32_t kDifPlicMaxPriority = RV_PLIC_PRIO0_PRIO0_MASK;
+const uint32_t kDifRvPlicMinPriority = 0;
+const uint32_t kDifRvPlicMaxPriority = RV_PLIC_PRIO0_PRIO0_MASK;
 
 /**
  * PLIC register info.
@@ -34,7 +34,7 @@
  * accommodate all the bits (1 bit per IRQ source). This function calculates
  * the offset for a specific IRQ source ID (ID 32 would be IE01, ...).
  */
-static ptrdiff_t plic_offset_from_reg0(dif_plic_irq_id_t irq) {
+static ptrdiff_t plic_offset_from_reg0(dif_rv_plic_irq_id_t irq) {
   uint8_t register_index = irq / RV_PLIC_PARAM_REG_WIDTH;
   return register_index * sizeof(uint32_t);
 }
@@ -47,14 +47,14 @@
  * the bit position within a register for a specific IRQ source ID (ID 32 would
  * be bit 0).
  */
-static uint8_t plic_irq_bit_index(dif_plic_irq_id_t irq) {
+static uint8_t plic_irq_bit_index(dif_rv_plic_irq_id_t irq) {
   return irq % RV_PLIC_PARAM_REG_WIDTH;
 }
 
 /**
  * Get the address of the first target N interrupt enable register (IEN0).
  */
-static ptrdiff_t plic_irq_enable_base_for_target(dif_plic_target_t target) {
+static ptrdiff_t plic_irq_enable_base_for_target(dif_rv_plic_target_t target) {
   ptrdiff_t range = RV_PLIC_IE0_MULTIREG_COUNT * sizeof(uint32_t);
   return RV_PLIC_IE0_0_REG_OFFSET + (range * target);
 }
@@ -62,29 +62,31 @@
 /**
  * Get the address of the first target N software interrupt register (MSIPN).
  */
-static ptrdiff_t plic_software_irq_base_for_target(dif_plic_target_t target) {
+static ptrdiff_t plic_software_irq_base_for_target(
+    dif_rv_plic_target_t target) {
   return RV_PLIC_MSIP0_REG_OFFSET + (target * sizeof(uint32_t));
 }
 
 /**
  * Get the address of the first target N threshold register (THRESHOLDN).
  */
-static ptrdiff_t plic_threshold_base_for_target(dif_plic_target_t target) {
+static ptrdiff_t plic_threshold_base_for_target(dif_rv_plic_target_t target) {
   return RV_PLIC_THRESHOLD0_REG_OFFSET + (target * sizeof(uint32_t));
 }
 
 /**
  * Get the address of the first target N claim complete register (CCN).
  */
-static ptrdiff_t plic_claim_complete_base_for_target(dif_plic_target_t target) {
+static ptrdiff_t plic_claim_complete_base_for_target(
+    dif_rv_plic_target_t target) {
   return RV_PLIC_CC0_REG_OFFSET + (target * sizeof(uint32_t));
 }
 
 /**
  * Get a target and an IRQ source specific Interrupt Enable register info.
  */
-static plic_reg_info_t plic_irq_enable_reg_info(dif_plic_irq_id_t irq,
-                                                dif_plic_target_t target) {
+static plic_reg_info_t plic_irq_enable_reg_info(dif_rv_plic_irq_id_t irq,
+                                                dif_rv_plic_target_t target) {
   ptrdiff_t offset = plic_offset_from_reg0(irq);
   return (plic_reg_info_t){
       .offset = plic_irq_enable_base_for_target(target) + offset,
@@ -95,7 +97,8 @@
 /**
  * Get an IRQ source specific Level/Edge register info.
  */
-static plic_reg_info_t plic_irq_trigger_type_reg_info(dif_plic_irq_id_t irq) {
+static plic_reg_info_t plic_irq_trigger_type_reg_info(
+    dif_rv_plic_irq_id_t irq) {
   ptrdiff_t offset = plic_offset_from_reg0(irq);
   return (plic_reg_info_t){
       .offset = RV_PLIC_LE_0_REG_OFFSET + offset,
@@ -106,7 +109,7 @@
 /**
  * Get an IRQ source specific Interrupt Pending register info.
  */
-static plic_reg_info_t plic_irq_pending_reg_info(dif_plic_irq_id_t irq) {
+static plic_reg_info_t plic_irq_pending_reg_info(dif_rv_plic_irq_id_t irq) {
   ptrdiff_t offset = plic_offset_from_reg0(irq);
   return (plic_reg_info_t){
       .offset = RV_PLIC_IP_0_REG_OFFSET + offset,
@@ -120,7 +123,7 @@
  * There is one PRIO register per IRQ source, this function calculates the IRQ
  * source specific PRIO register offset.
  */
-static ptrdiff_t plic_priority_reg_offset(dif_plic_irq_id_t irq) {
+static ptrdiff_t plic_priority_reg_offset(dif_rv_plic_irq_id_t irq) {
   ptrdiff_t offset = irq * sizeof(uint32_t);
   return RV_PLIC_PRIO0_REG_OFFSET + offset;
 }
@@ -133,7 +136,7 @@
  * claimed the CC register, so we assume that the previous "owner" of the
  * resource has cleared/completed the CC access.
  */
-static void plic_reset(const dif_plic_t *plic) {
+static void plic_reset(const dif_rv_plic_t *plic) {
   // Clear all of the Level/Edge registers.
   for (int i = 0; i < RV_PLIC_LE_MULTIREG_COUNT; ++i) {
     ptrdiff_t offset = RV_PLIC_LE_0_REG_OFFSET + (i * sizeof(uint32_t));
@@ -147,7 +150,7 @@
   }
 
   // Clear all of the target related registers.
-  for (dif_plic_target_t target = 0; target < RV_PLIC_PARAM_NUM_TARGET;
+  for (dif_rv_plic_target_t target = 0; target < RV_PLIC_PARAM_NUM_TARGET;
        ++target) {
     // Clear interrupt enable registers.
     ptrdiff_t offset = plic_irq_enable_base_for_target(target);
@@ -166,9 +169,10 @@
   }
 }
 
-dif_plic_result_t dif_plic_init(dif_plic_params_t params, dif_plic_t *plic) {
+dif_rv_plic_result_t dif_rv_plic_init(dif_rv_plic_params_t params,
+                                      dif_rv_plic_t *plic) {
   if (plic == NULL) {
-    return kDifPlicBadArg;
+    return kDifRvPlicBadArg;
   }
 
   plic->params = params;
@@ -176,46 +180,46 @@
   // TODO: Move this out into its own function.
   plic_reset(plic);
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_irq_get_enabled(const dif_plic_t *plic,
-                                           dif_plic_irq_id_t irq,
-                                           dif_plic_target_t target,
-                                           dif_plic_toggle_t *state) {
+dif_rv_plic_result_t dif_rv_plic_irq_get_enabled(const dif_rv_plic_t *plic,
+                                                 dif_rv_plic_irq_id_t irq,
+                                                 dif_rv_plic_target_t target,
+                                                 dif_rv_plic_toggle_t *state) {
   if (plic == NULL || irq >= RV_PLIC_PARAM_NUM_SRC ||
       target >= RV_PLIC_PARAM_NUM_TARGET) {
-    return kDifPlicBadArg;
+    return kDifRvPlicBadArg;
   }
 
   plic_reg_info_t reg_info = plic_irq_enable_reg_info(irq, target);
 
   uint32_t reg = mmio_region_read32(plic->params.base_addr, reg_info.offset);
   bool is_enabled = bitfield_bit32_read(reg, reg_info.bit_index);
-  *state = is_enabled ? kDifPlicToggleEnabled : kDifPlicToggleDisabled;
+  *state = is_enabled ? kDifRvPlicToggleEnabled : kDifRvPlicToggleDisabled;
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_irq_set_enabled(const dif_plic_t *plic,
-                                           dif_plic_irq_id_t irq,
-                                           dif_plic_target_t target,
-                                           dif_plic_toggle_t state) {
+dif_rv_plic_result_t dif_rv_plic_irq_set_enabled(const dif_rv_plic_t *plic,
+                                                 dif_rv_plic_irq_id_t irq,
+                                                 dif_rv_plic_target_t target,
+                                                 dif_rv_plic_toggle_t state) {
   if (plic == NULL || irq >= RV_PLIC_PARAM_NUM_SRC ||
       target >= RV_PLIC_PARAM_NUM_TARGET) {
-    return kDifPlicBadArg;
+    return kDifRvPlicBadArg;
   }
 
   bool flag;
   switch (state) {
-    case kDifPlicToggleEnabled:
+    case kDifRvPlicToggleEnabled:
       flag = true;
       break;
-    case kDifPlicToggleDisabled:
+    case kDifRvPlicToggleDisabled:
       flag = false;
       break;
     default:
-      return kDifPlicBadArg;
+      return kDifRvPlicBadArg;
   }
 
   plic_reg_info_t reg_info = plic_irq_enable_reg_info(irq, target);
@@ -224,26 +228,26 @@
   reg = bitfield_bit32_write(reg, reg_info.bit_index, flag);
   mmio_region_write32(plic->params.base_addr, reg_info.offset, reg);
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_irq_set_trigger(const dif_plic_t *plic,
-                                           dif_plic_irq_id_t irq,
-                                           dif_plic_irq_trigger_t trigger) {
+dif_rv_plic_result_t dif_rv_plic_irq_set_trigger(
+    const dif_rv_plic_t *plic, dif_rv_plic_irq_id_t irq,
+    dif_rv_plic_irq_trigger_t trigger) {
   if (plic == NULL || irq >= RV_PLIC_PARAM_NUM_SRC) {
-    return kDifPlicBadArg;
+    return kDifRvPlicBadArg;
   }
 
   bool flag;
   switch (trigger) {
-    case kDifPlicIrqTriggerEdge:
+    case kDifRvPlicIrqTriggerEdge:
       flag = true;
       break;
-    case kDifPlicIrqTriggerLevel:
+    case kDifRvPlicIrqTriggerLevel:
       flag = false;
       break;
     default:
-      return kDifPlicBadArg;
+      return kDifRvPlicBadArg;
   }
 
   plic_reg_info_t reg_info = plic_irq_trigger_type_reg_info(irq);
@@ -252,70 +256,70 @@
   reg = bitfield_bit32_write(reg, reg_info.bit_index, flag);
   mmio_region_write32(plic->params.base_addr, reg_info.offset, reg);
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_irq_set_priority(const dif_plic_t *plic,
-                                            dif_plic_irq_id_t irq,
-                                            uint32_t priority) {
+dif_rv_plic_result_t dif_rv_plic_irq_set_priority(const dif_rv_plic_t *plic,
+                                                  dif_rv_plic_irq_id_t irq,
+                                                  uint32_t priority) {
   if (plic == NULL || irq >= RV_PLIC_PARAM_NUM_SRC ||
-      priority > kDifPlicMaxPriority) {
-    return kDifPlicBadArg;
+      priority > kDifRvPlicMaxPriority) {
+    return kDifRvPlicBadArg;
   }
 
   ptrdiff_t offset = plic_priority_reg_offset(irq);
   mmio_region_write32(plic->params.base_addr, offset, priority);
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_target_set_threshold(const dif_plic_t *plic,
-                                                dif_plic_target_t target,
-                                                uint32_t threshold) {
+dif_rv_plic_result_t dif_rv_plic_target_set_threshold(
+    const dif_rv_plic_t *plic, dif_rv_plic_target_t target,
+    uint32_t threshold) {
   if (plic == NULL || target >= RV_PLIC_PARAM_NUM_TARGET ||
-      threshold > kDifPlicMaxPriority) {
-    return kDifPlicBadArg;
+      threshold > kDifRvPlicMaxPriority) {
+    return kDifRvPlicBadArg;
   }
 
   ptrdiff_t threshold_offset = plic_threshold_base_for_target(target);
   mmio_region_write32(plic->params.base_addr, threshold_offset, threshold);
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_irq_is_pending(const dif_plic_t *plic,
-                                          dif_plic_irq_id_t irq,
-                                          bool *is_pending) {
+dif_rv_plic_result_t dif_rv_plic_irq_is_pending(const dif_rv_plic_t *plic,
+                                                dif_rv_plic_irq_id_t irq,
+                                                bool *is_pending) {
   if (plic == NULL || irq >= RV_PLIC_PARAM_NUM_SRC || is_pending == NULL) {
-    return kDifPlicBadArg;
+    return kDifRvPlicBadArg;
   }
 
   plic_reg_info_t reg_info = plic_irq_pending_reg_info(irq);
   uint32_t reg = mmio_region_read32(plic->params.base_addr, reg_info.offset);
   *is_pending = bitfield_bit32_read(reg, reg_info.bit_index);
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_irq_claim(const dif_plic_t *plic,
-                                     dif_plic_target_t target,
-                                     dif_plic_irq_id_t *claim_data) {
+dif_rv_plic_result_t dif_rv_plic_irq_claim(const dif_rv_plic_t *plic,
+                                           dif_rv_plic_target_t target,
+                                           dif_rv_plic_irq_id_t *claim_data) {
   if (plic == NULL || target >= RV_PLIC_PARAM_NUM_TARGET ||
       claim_data == NULL) {
-    return kDifPlicBadArg;
+    return kDifRvPlicBadArg;
   }
 
   ptrdiff_t claim_complete_reg = plic_claim_complete_base_for_target(target);
   *claim_data = mmio_region_read32(plic->params.base_addr, claim_complete_reg);
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_irq_complete(const dif_plic_t *plic,
-                                        dif_plic_target_t target,
-                                        dif_plic_irq_id_t complete_data) {
+dif_rv_plic_result_t dif_rv_plic_irq_complete(
+    const dif_rv_plic_t *plic, dif_rv_plic_target_t target,
+    dif_rv_plic_irq_id_t complete_data) {
   if (plic == NULL || target >= RV_PLIC_PARAM_NUM_TARGET) {
-    return kDifPlicBadArg;
+    return kDifRvPlicBadArg;
   }
 
   // Write back the claimed IRQ ID to the target specific CC register,
@@ -324,39 +328,38 @@
   mmio_region_write32(plic->params.base_addr, claim_complete_reg,
                       complete_data);
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_software_irq_force(const dif_plic_t *plic,
-                                              dif_plic_target_t target) {
+dif_rv_plic_result_t dif_rv_plic_software_irq_force(
+    const dif_rv_plic_t *plic, dif_rv_plic_target_t target) {
   if (plic == NULL || target >= RV_PLIC_PARAM_NUM_TARGET) {
-    return kDifPlicBadArg;
+    return kDifRvPlicBadArg;
   }
 
   ptrdiff_t msip_offset = plic_software_irq_base_for_target(target);
   mmio_region_write32(plic->params.base_addr, msip_offset, 1);
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_software_irq_acknowledge(const dif_plic_t *plic,
-                                                    dif_plic_target_t target) {
+dif_rv_plic_result_t dif_rv_plic_software_irq_acknowledge(
+    const dif_rv_plic_t *plic, dif_rv_plic_target_t target) {
   if (plic == NULL || target >= RV_PLIC_PARAM_NUM_TARGET) {
-    return kDifPlicBadArg;
+    return kDifRvPlicBadArg;
   }
 
   ptrdiff_t msip_offset = plic_software_irq_base_for_target(target);
   mmio_region_write32(plic->params.base_addr, msip_offset, 0);
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
 
-dif_plic_result_t dif_plic_software_irq_is_pending(const dif_plic_t *plic,
-                                                   dif_plic_target_t target,
-                                                   bool *is_pending) {
+dif_rv_plic_result_t dif_rv_plic_software_irq_is_pending(
+    const dif_rv_plic_t *plic, dif_rv_plic_target_t target, bool *is_pending) {
   if (plic == NULL || target >= RV_PLIC_PARAM_NUM_TARGET ||
       is_pending == NULL) {
-    return kDifPlicBadArg;
+    return kDifRvPlicBadArg;
   }
 
   ptrdiff_t msip_offset = plic_software_irq_base_for_target(target);
@@ -365,5 +368,5 @@
 
   *is_pending = (register_value == 1) ? true : false;
 
-  return kDifPlicOk;
+  return kDifRvPlicOk;
 }
diff --git a/sw/device/lib/dif/dif_plic.h b/sw/device/lib/dif/dif_rv_plic.h
similarity index 67%
rename from sw/device/lib/dif/dif_plic.h
rename to sw/device/lib/dif/dif_rv_plic.h
index 62a3655..246db3b 100644
--- a/sw/device/lib/dif/dif_plic.h
+++ b/sw/device/lib/dif/dif_rv_plic.h
@@ -2,8 +2,8 @@
 // Licensed under the Apache License, Version 2.0, see LICENSE for details.
 // SPDX-License-Identifier: Apache-2.0
 
-#ifndef OPENTITAN_SW_DEVICE_LIB_DIF_DIF_PLIC_H_
-#define OPENTITAN_SW_DEVICE_LIB_DIF_DIF_PLIC_H_
+#ifndef OPENTITAN_SW_DEVICE_LIB_DIF_DIF_RV_PLIC_H_
+#define OPENTITAN_SW_DEVICE_LIB_DIF_DIF_RV_PLIC_H_
 
 /**
  * @file
@@ -33,16 +33,16 @@
  * This enum may be used instead of a `bool` when describing an enabled/disabled
  * state.
  */
-typedef enum dif_plic_toggle {
+typedef enum dif_rv_plic_toggle {
   /*
    * The "enabled" state.
    */
-  kDifPlicToggleEnabled,
+  kDifRvPlicToggleEnabled,
   /**
    * The "disabled" state.
    */
-  kDifPlicToggleDisabled,
-} dif_plic_toggle_t;
+  kDifRvPlicToggleDisabled,
+} dif_rv_plic_toggle_t;
 
 /**
  * Hardware instantiation parameters for PLIC.
@@ -51,52 +51,52 @@
  * not determined until the hardware design is used as part of a top-level
  * design.
  */
-typedef struct dif_plic_params {
+typedef struct dif_rv_plic_params {
   /**
    * The base address for the PLIC hardware registers.
    */
   mmio_region_t base_addr;
-} dif_plic_params_t;
+} dif_rv_plic_params_t;
 
 /**
  * A handle to PLIC.
  *
  * This type should be treated as opaque by users.
  */
-typedef struct dif_plic {
-  dif_plic_params_t params;
-} dif_plic_t;
+typedef struct dif_rv_plic {
+  dif_rv_plic_params_t params;
+} dif_rv_plic_t;
 
 /**
  * The result of a PLIC operation.
  */
-typedef enum dif_plic_result {
+typedef enum dif_rv_plic_result {
   /**
    * Indicates that the operation succeeded.
    */
-  kDifPlicOk = 0,
+  kDifRvPlicOk = 0,
   /**
    * Indicates some unspecified failure.
    */
-  kDifPlicError = 1,
+  kDifRvPlicError = 1,
   /**
    * Indicates that some parameter passed into a function failed a
    * precondition.
    *
    * When this value is returned, no hardware operations occurred.
    */
-  kDifPlicBadArg = 2,
-} dif_plic_result_t;
+  kDifRvPlicBadArg = 2,
+} dif_rv_plic_result_t;
 
 /**
  * The lowest interrupt priority.
  */
-extern const uint32_t kDifPlicMinPriority;
+extern const uint32_t kDifRvPlicMinPriority;
 
 /**
  * The highest interrupt priority.
  */
-extern const uint32_t kDifPlicMaxPriority;
+extern const uint32_t kDifRvPlicMaxPriority;
 
 /**
  * A PLIC interrupt source identifier.
@@ -109,7 +109,7 @@
  *
  * The value 0 corresponds to "No Interrupt".
  */
-typedef uint32_t dif_plic_irq_id_t;
+typedef uint32_t dif_rv_plic_irq_id_t;
 
 /**
  * A PLIC interrupt target.
@@ -121,21 +121,21 @@
  * This is an unsigned 32-bit value that is at least 0 and is less than the
  * `NumTarget` instantiation parameter of the `rv_plic` device.
  */
-typedef uint32_t dif_plic_target_t;
+typedef uint32_t dif_rv_plic_target_t;
 
 /**
  * An interrupt trigger type.
  */
-typedef enum dif_plic_irq_trigger {
+typedef enum dif_rv_plic_irq_trigger {
   /**
    * Trigger on an edge (when the signal changes from low to high).
    */
-  kDifPlicIrqTriggerEdge,
+  kDifRvPlicIrqTriggerEdge,
   /**
    * Trigger on a level (when the signal remains high).
    */
-  kDifPlicIrqTriggerLevel,
-} dif_plic_irq_trigger_t;
+  kDifRvPlicIrqTriggerLevel,
+} dif_rv_plic_irq_trigger_t;
 
 /**
  * Creates a new handle for PLIC.
@@ -147,7 +147,8 @@
  * @return The result of the operation.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_init(dif_plic_params_t params, dif_plic_t *plic);
+dif_rv_plic_result_t dif_rv_plic_init(dif_rv_plic_params_t params,
+                                      dif_rv_plic_t *plic);
 
 /**
  * Returns whether a particular interrupt is currently pending.
@@ -158,9 +159,9 @@
  * @return The result of the operation.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_irq_is_pending(const dif_plic_t *plic,
-                                          dif_plic_irq_id_t irq,
-                                          bool *is_pending);
+dif_rv_plic_result_t dif_rv_plic_irq_is_pending(const dif_rv_plic_t *plic,
+                                                dif_rv_plic_irq_id_t irq,
+                                                bool *is_pending);
 
 /**
  * Checks whether a particular interrupt is currently enabled or disabled.
@@ -172,10 +173,10 @@
  * @return The result of the operation.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_irq_get_enabled(const dif_plic_t *plic,
-                                           dif_plic_irq_id_t irq,
-                                           dif_plic_target_t target,
-                                           dif_plic_toggle_t *state);
+dif_rv_plic_result_t dif_rv_plic_irq_get_enabled(const dif_rv_plic_t *plic,
+                                                 dif_rv_plic_irq_id_t irq,
+                                                 dif_rv_plic_target_t target,
+                                                 dif_rv_plic_toggle_t *state);
 
 /**
  * Sets whether a particular interrupt is currently enabled or disabled.
@@ -190,10 +191,10 @@
  * @return The result of the operation.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_irq_set_enabled(const dif_plic_t *plic,
-                                           dif_plic_irq_id_t irq,
-                                           dif_plic_target_t target,
-                                           dif_plic_toggle_t state);
+dif_rv_plic_result_t dif_rv_plic_irq_set_enabled(const dif_rv_plic_t *plic,
+                                                 dif_rv_plic_irq_id_t irq,
+                                                 dif_rv_plic_target_t target,
+                                                 dif_rv_plic_toggle_t state);
 
 /**
  * Sets the IRQ trigger type.
@@ -207,9 +208,9 @@
  * @return The result of the operation.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_irq_set_trigger(const dif_plic_t *plic,
-                                           dif_plic_irq_id_t irq,
-                                           dif_plic_irq_trigger_t trigger);
+dif_rv_plic_result_t dif_rv_plic_irq_set_trigger(
+    const dif_rv_plic_t *plic, dif_rv_plic_irq_id_t irq,
+    dif_rv_plic_irq_trigger_t trigger);
 
 /**
  * Sets IRQ source priority (0-3).
@@ -224,9 +225,9 @@
  * @return The result of the operation.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_irq_set_priority(const dif_plic_t *plic,
-                                            dif_plic_irq_id_t irq,
-                                            uint32_t priority);
+dif_rv_plic_result_t dif_rv_plic_irq_set_priority(const dif_rv_plic_t *plic,
+                                                  dif_rv_plic_irq_id_t irq,
+                                                  uint32_t priority);
 
 /**
  * Sets the target priority threshold.
@@ -241,17 +242,17 @@
  * @return The result of the operation.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_target_set_threshold(const dif_plic_t *plic,
-                                                dif_plic_target_t target,
-                                                uint32_t threshold);
+dif_rv_plic_result_t dif_rv_plic_target_set_threshold(
+    const dif_rv_plic_t *plic, dif_rv_plic_target_t target, uint32_t threshold);
 
 /**
  * Claims an IRQ and gets the information about the source.
  *
  * Claims an IRQ and returns the IRQ related data to the caller. This function
- * reads a target specific Claim/Complete register. #dif_plic_irq_complete must
- * be called in order to allow another interrupt with the same source id to be
- * delivered. This usually would be done once the interrupt has been serviced.
+ * reads a target specific Claim/Complete register. #dif_rv_plic_irq_complete
+ * must be called in order to allow another interrupt with the same source id to
+ * be delivered. This usually would be done once the interrupt has been
+ * serviced.
  *
  * Another IRQ can be claimed before a prior IRQ is completed. In this way, this
  * functionality is compatible with nested interrupt handling. The restriction
@@ -261,7 +262,7 @@
  * interrupts should be Completed in the reverse order of when they were
  * Claimed.
  *
- * @see #dif_plic_irq_complete
+ * @see #dif_rv_plic_irq_complete
  *
  * @param plic A PLIC handle.
  * @param target Target that claimed the IRQ.
@@ -269,21 +270,21 @@
  * @return The result of the operation.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_irq_claim(const dif_plic_t *plic,
-                                     dif_plic_target_t target,
-                                     dif_plic_irq_id_t *claim_data);
+dif_rv_plic_result_t dif_rv_plic_irq_claim(const dif_rv_plic_t *plic,
+                                           dif_rv_plic_target_t target,
+                                           dif_rv_plic_irq_id_t *claim_data);
 
 /**
  * Completes the claimed IRQ.
  *
  * Finishes servicing of the claimed IRQ by writing the IRQ source ID back to a
  * target specific Claim/Complete register. This function must be called after
- * #dif_plic_irq_claim, when the caller is prepared to service another IRQ with
- * the same source ID. If a source ID is never Completed, then when future
+ * #dif_rv_plic_irq_claim, when the caller is prepared to service another IRQ
+ * with the same source ID. If a source ID is never Completed, then when future
  * interrupts are Claimed, they will never have the source ID of the uncompleted
  * IRQ.
  *
- * @see #dif_plic_irq_claim
+ * @see #dif_rv_plic_irq_claim
  *
  * @param plic A PLIC handle.
  * @param target Target that claimed the IRQ.
@@ -292,9 +293,9 @@
  * @return The result of the operation.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_irq_complete(const dif_plic_t *plic,
-                                        dif_plic_target_t target,
-                                        dif_plic_irq_id_t complete_data);
+dif_rv_plic_result_t dif_rv_plic_irq_complete(
+    const dif_rv_plic_t *plic, dif_rv_plic_target_t target,
+    dif_rv_plic_irq_id_t complete_data);
 
 /**
  * Forces the software interrupt for a particular target.
@@ -306,16 +307,16 @@
  * would not be possible due to HART being only able to access own CSRs.
  * NOTE: this is not an issue on Ibex, as it has only one HART.
  *
- * An interrupt handler is expected to call `dif_plic_software_irq_acknowledge`
- * when the interrupt has been handled.
+ * An interrupt handler is expected to call
+ * `dif_rv_plic_software_irq_acknowledge` when the interrupt has been handled.
  *
  * @param plic PLIC state data.
  * @param target Target HART.
- * @return `dif_plic_result_t`.
+ * @return `dif_rv_plic_result_t`.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_software_irq_force(const dif_plic_t *plic,
-                                              dif_plic_target_t target);
+dif_rv_plic_result_t dif_rv_plic_software_irq_force(
+    const dif_rv_plic_t *plic, dif_rv_plic_target_t target);
 
 /**
  * Acknowledges the software interrupt for a particular target.
@@ -326,11 +327,11 @@
  *
  * @param plic PLIC state data.
  * @param target Target HART.
- * @return `dif_plic_result_t`.
+ * @return `dif_rv_plic_result_t`.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_software_irq_acknowledge(const dif_plic_t *plic,
-                                                    dif_plic_target_t target);
+dif_rv_plic_result_t dif_rv_plic_software_irq_acknowledge(
+    const dif_rv_plic_t *plic, dif_rv_plic_target_t target);
 
 /**
  * Returns software interrupt pending state for a particular target.
@@ -338,15 +339,14 @@
  * @param plic PLIC state data.
  * @param target Target HART.
  * @param[out] is_pending Flag indicating whether the interrupt is pending.
- * @return `dif_plic_result_t`.
+ * @return `dif_rv_plic_result_t`.
  */
 DIF_WARN_UNUSED_RESULT
-dif_plic_result_t dif_plic_software_irq_is_pending(const dif_plic_t *plic,
-                                                   dif_plic_target_t target,
-                                                   bool *is_pending);
+dif_rv_plic_result_t dif_rv_plic_software_irq_is_pending(
+    const dif_rv_plic_t *plic, dif_rv_plic_target_t target, bool *is_pending);
 
 #ifdef __cplusplus
 }  // extern "C"
 #endif  // __cplusplus
 
-#endif  // OPENTITAN_SW_DEVICE_LIB_DIF_DIF_PLIC_H_
+#endif  // OPENTITAN_SW_DEVICE_LIB_DIF_DIF_RV_PLIC_H_
diff --git a/sw/device/lib/dif/dif_plic.md b/sw/device/lib/dif/dif_rv_plic.md
similarity index 100%
rename from sw/device/lib/dif/dif_plic.md
rename to sw/device/lib/dif/dif_rv_plic.md
diff --git a/sw/device/lib/dif/dif_plic_unittest.cc b/sw/device/lib/dif/dif_rv_plic_unittest.cc
similarity index 68%
rename from sw/device/lib/dif/dif_plic_unittest.cc
rename to sw/device/lib/dif/dif_rv_plic_unittest.cc
index 0ed67e5..8701106 100644
--- a/sw/device/lib/dif/dif_plic_unittest.cc
+++ b/sw/device/lib/dif/dif_rv_plic_unittest.cc
@@ -2,7 +2,7 @@
 // Licensed under the Apache License, Version 2.0, see LICENSE for details.
 // SPDX-License-Identifier: Apache-2.0
 
-#include "sw/device/lib/dif/dif_plic.h"
+#include "sw/device/lib/dif/dif_rv_plic.h"
 
 #include <array>
 
@@ -12,7 +12,7 @@
 
 #include "rv_plic_regs.h"  // Generated.
 
-namespace dif_plic_unittest {
+namespace dif_rv_plic_unittest {
 namespace {
 using mock_mmio::MmioTest;
 using mock_mmio::MockDevice;
@@ -30,7 +30,7 @@
 
 class PlicTest : public Test, public MmioTest {
  protected:
-  dif_plic_t plic_ = {
+  dif_rv_plic_t plic_ = {
       .params = {.base_addr = dev().region()},
   };
 };
@@ -69,14 +69,15 @@
 };
 
 TEST_F(InitTest, NullArgs) {
-  EXPECT_EQ(dif_plic_init({.base_addr = dev().region()}, nullptr),
-            kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_init({.base_addr = dev().region()}, nullptr),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(InitTest, Success) {
   ExpectInitReset();
 
-  EXPECT_EQ(dif_plic_init({.base_addr = dev().region()}, &plic_), kDifPlicOk);
+  EXPECT_EQ(dif_rv_plic_init({.base_addr = dev().region()}, &plic_),
+            kDifRvPlicOk);
 }
 
 class IrqTest : public PlicTest {
@@ -169,9 +170,9 @@
 class IrqEnableSetTest : public IrqTest {};
 
 TEST_F(IrqEnableSetTest, NullArgs) {
-  EXPECT_EQ(dif_plic_irq_set_enabled(nullptr, kFirstIrq, kTarget0,
-                                     kDifPlicToggleEnabled),
-            kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_irq_set_enabled(nullptr, kFirstIrq, kTarget0,
+                                        kDifRvPlicToggleEnabled),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(IrqEnableSetTest, Target0Enable) {
@@ -179,9 +180,9 @@
 
   // Enable every IRQ, one at a time.
   for (int i = 0; i < RV_PLIC_PARAM_NUM_SRC; ++i) {
-    EXPECT_EQ(
-        dif_plic_irq_set_enabled(&plic_, i, kTarget0, kDifPlicToggleEnabled),
-        kDifPlicOk);
+    EXPECT_EQ(dif_rv_plic_irq_set_enabled(&plic_, i, kTarget0,
+                                          kDifRvPlicToggleEnabled),
+              kDifRvPlicOk);
   }
 }
 
@@ -190,9 +191,9 @@
 
   // Disable every bit, one at a time.
   for (int i = 0; i < RV_PLIC_PARAM_NUM_SRC; ++i) {
-    EXPECT_EQ(
-        dif_plic_irq_set_enabled(&plic_, i, kTarget0, kDifPlicToggleDisabled),
-        kDifPlicOk);
+    EXPECT_EQ(dif_rv_plic_irq_set_enabled(&plic_, i, kTarget0,
+                                          kDifRvPlicToggleDisabled),
+              kDifRvPlicOk);
   }
 }
 
@@ -200,8 +201,8 @@
 
 TEST_F(IrqTriggerTypeSetTest, NullArgs) {
   EXPECT_EQ(
-      dif_plic_irq_set_trigger(nullptr, kFirstIrq, kDifPlicIrqTriggerEdge),
-      kDifPlicBadArg);
+      dif_rv_plic_irq_set_trigger(nullptr, kFirstIrq, kDifRvPlicIrqTriggerEdge),
+      kDifRvPlicBadArg);
 }
 
 TEST_F(IrqTriggerTypeSetTest, Enable) {
@@ -209,8 +210,8 @@
 
   // Enable every IRQ, one at a time.
   for (int i = 0; i < RV_PLIC_PARAM_NUM_SRC; ++i) {
-    EXPECT_EQ(dif_plic_irq_set_trigger(&plic_, i, kDifPlicIrqTriggerEdge),
-              kDifPlicOk);
+    EXPECT_EQ(dif_rv_plic_irq_set_trigger(&plic_, i, kDifRvPlicIrqTriggerEdge),
+              kDifRvPlicOk);
   }
 }
 
@@ -219,70 +220,71 @@
 
   // Enable every IRQ, one at a time.
   for (int i = 0; i < RV_PLIC_PARAM_NUM_SRC; ++i) {
-    EXPECT_EQ(dif_plic_irq_set_trigger(&plic_, i, kDifPlicIrqTriggerLevel),
-              kDifPlicOk);
+    EXPECT_EQ(dif_rv_plic_irq_set_trigger(&plic_, i, kDifRvPlicIrqTriggerLevel),
+              kDifRvPlicOk);
   }
 }
 
 class IrqPrioritySetTest : public PlicTest {};
 
 TEST_F(IrqPrioritySetTest, NullArgs) {
-  EXPECT_EQ(dif_plic_irq_set_priority(nullptr, kFirstIrq, kDifPlicMaxPriority),
-            kDifPlicBadArg);
+  EXPECT_EQ(
+      dif_rv_plic_irq_set_priority(nullptr, kFirstIrq, kDifRvPlicMaxPriority),
+      kDifRvPlicBadArg);
 }
 
 TEST_F(IrqPrioritySetTest, PriorityInvalid) {
-  EXPECT_EQ(
-      dif_plic_irq_set_priority(nullptr, kFirstIrq, kDifPlicMaxPriority + 1),
-      kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_irq_set_priority(nullptr, kFirstIrq,
+                                         kDifRvPlicMaxPriority + 1),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(IrqPrioritySetTest, Success) {
   for (int i = 0; i < RV_PLIC_PARAM_NUM_SRC; ++i) {
     // Set expectations for every priority set call.
     ptrdiff_t offset = RV_PLIC_PRIO0_REG_OFFSET + (sizeof(uint32_t) * i);
-    EXPECT_WRITE32(offset, kDifPlicMaxPriority);
+    EXPECT_WRITE32(offset, kDifRvPlicMaxPriority);
 
-    EXPECT_EQ(dif_plic_irq_set_priority(&plic_, i, kDifPlicMaxPriority),
-              kDifPlicOk);
+    EXPECT_EQ(dif_rv_plic_irq_set_priority(&plic_, i, kDifRvPlicMaxPriority),
+              kDifRvPlicOk);
   }
 }
 
 class TargetThresholdSetTest : public PlicTest {};
 
 TEST_F(TargetThresholdSetTest, NullArgs) {
-  EXPECT_EQ(
-      dif_plic_target_set_threshold(nullptr, kTarget0, kDifPlicMaxPriority),
-      kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_target_set_threshold(nullptr, kTarget0,
+                                             kDifRvPlicMaxPriority),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(TargetThresholdSetTest, Target0PriorityInvalid) {
-  EXPECT_EQ(
-      dif_plic_target_set_threshold(&plic_, kTarget0, kDifPlicMaxPriority + 1),
-      kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_target_set_threshold(&plic_, kTarget0,
+                                             kDifRvPlicMaxPriority + 1),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(TargetThresholdSetTest, Target0Success) {
-  EXPECT_WRITE32(RV_PLIC_THRESHOLD0_REG_OFFSET, kDifPlicMaxPriority);
+  EXPECT_WRITE32(RV_PLIC_THRESHOLD0_REG_OFFSET, kDifRvPlicMaxPriority);
 
   EXPECT_EQ(
-      dif_plic_target_set_threshold(&plic_, kTarget0, kDifPlicMaxPriority),
-      kDifPlicOk);
+      dif_rv_plic_target_set_threshold(&plic_, kTarget0, kDifRvPlicMaxPriority),
+      kDifRvPlicOk);
 }
 
 class IrqPendingStatusGetTest : public IrqTest {};
 
 TEST_F(IrqPendingStatusGetTest, NullArgs) {
   bool status;
-  dif_plic_result_t result =
-      dif_plic_irq_is_pending(nullptr, kFirstIrq, &status);
-  EXPECT_EQ(result, kDifPlicBadArg);
+  dif_rv_plic_result_t result =
+      dif_rv_plic_irq_is_pending(nullptr, kFirstIrq, &status);
+  EXPECT_EQ(result, kDifRvPlicBadArg);
 
-  result = dif_plic_irq_is_pending(&plic_, kFirstIrq, nullptr);
-  EXPECT_EQ(result, kDifPlicBadArg);
+  result = dif_rv_plic_irq_is_pending(&plic_, kFirstIrq, nullptr);
+  EXPECT_EQ(result, kDifRvPlicBadArg);
 
-  result = dif_plic_irq_is_pending(nullptr, kFirstIrq, nullptr);
-  EXPECT_EQ(result, kDifPlicBadArg);
+  result = dif_rv_plic_irq_is_pending(nullptr, kFirstIrq, nullptr);
+  EXPECT_EQ(result, kDifRvPlicBadArg);
 }
 
 TEST_F(IrqPendingStatusGetTest, Enabled) {
@@ -291,8 +293,9 @@
   // Get status of every IRQ, one at a time.
   for (int i = 0; i < RV_PLIC_PARAM_NUM_SRC; ++i) {
     bool status;
-    dif_plic_result_t result = dif_plic_irq_is_pending(&plic_, i, &status);
-    EXPECT_EQ(result, kDifPlicOk);
+    dif_rv_plic_result_t result =
+        dif_rv_plic_irq_is_pending(&plic_, i, &status);
+    EXPECT_EQ(result, kDifRvPlicOk);
     EXPECT_TRUE(status);
   }
 }
@@ -303,8 +306,9 @@
   // Get status of every IRQ, one at a time.
   for (int i = 0; i < RV_PLIC_PARAM_NUM_SRC; ++i) {
     bool status;
-    dif_plic_result_t result = dif_plic_irq_is_pending(&plic_, i, &status);
-    EXPECT_EQ(result, kDifPlicOk);
+    dif_rv_plic_result_t result =
+        dif_rv_plic_irq_is_pending(&plic_, i, &status);
+    EXPECT_EQ(result, kDifRvPlicOk);
     EXPECT_FALSE(status);
   }
 }
@@ -314,12 +318,13 @@
 };
 
 TEST_F(IrqClaimTest, NullArgs) {
-  dif_plic_irq_id_t data;
-  EXPECT_EQ(dif_plic_irq_claim(nullptr, kTarget0, &data), kDifPlicBadArg);
+  dif_rv_plic_irq_id_t data;
+  EXPECT_EQ(dif_rv_plic_irq_claim(nullptr, kTarget0, &data), kDifRvPlicBadArg);
 
-  EXPECT_EQ(dif_plic_irq_claim(&plic_, kTarget0, nullptr), kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_irq_claim(&plic_, kTarget0, nullptr), kDifRvPlicBadArg);
 
-  EXPECT_EQ(dif_plic_irq_claim(nullptr, kTarget0, nullptr), kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_irq_claim(nullptr, kTarget0, nullptr),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(IrqClaimTest, Target0Success) {
@@ -330,8 +335,8 @@
 
   // Claim every IRQ, one per a call.
   for (int i = 0; i < RV_PLIC_PARAM_NUM_SRC; ++i) {
-    dif_plic_irq_id_t data;
-    EXPECT_EQ(dif_plic_irq_claim(&plic_, kTarget0, &data), kDifPlicOk);
+    dif_rv_plic_irq_id_t data;
+    EXPECT_EQ(dif_rv_plic_irq_claim(&plic_, kTarget0, &data), kDifRvPlicOk);
     EXPECT_EQ(data, i);
   }
 }
@@ -341,7 +346,7 @@
 };
 
 TEST_F(IrqCompleteTest, NullArgs) {
-  EXPECT_EQ(dif_plic_irq_complete(nullptr, kTarget0, 0), kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_irq_complete(nullptr, kTarget0, 0), kDifRvPlicBadArg);
 }
 
 TEST_F(IrqCompleteTest, Target0Success) {
@@ -352,7 +357,7 @@
 
   // Complete all of the IRQs.
   for (int i = 0; i < RV_PLIC_PARAM_NUM_SRC; ++i) {
-    EXPECT_EQ(dif_plic_irq_complete(&plic_, kTarget0, i), kDifPlicOk);
+    EXPECT_EQ(dif_rv_plic_irq_complete(&plic_, kTarget0, i), kDifRvPlicOk);
   }
 }
 
@@ -361,17 +366,18 @@
 };
 
 TEST_F(SoftwareIrqForceTest, NullArgs) {
-  EXPECT_EQ(dif_plic_software_irq_force(nullptr, kTarget0), kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_software_irq_force(nullptr, kTarget0),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(SoftwareIrqForceTest, BadTarget) {
-  EXPECT_EQ(dif_plic_software_irq_force(&plic_, RV_PLIC_PARAM_NUM_TARGET),
-            kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_software_irq_force(&plic_, RV_PLIC_PARAM_NUM_TARGET),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(SoftwareIrqForceTest, Target0Success) {
   EXPECT_WRITE32(RV_PLIC_MSIP0_REG_OFFSET, 1);
-  EXPECT_EQ(dif_plic_software_irq_force(&plic_, kTarget0), kDifPlicOk);
+  EXPECT_EQ(dif_rv_plic_software_irq_force(&plic_, kTarget0), kDifRvPlicOk);
 }
 
 class SoftwareIrqAcknowledgeTest : public PlicTest {
@@ -379,18 +385,20 @@
 };
 
 TEST_F(SoftwareIrqAcknowledgeTest, NullArgs) {
-  EXPECT_EQ(dif_plic_software_irq_acknowledge(nullptr, kTarget0),
-            kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_software_irq_acknowledge(nullptr, kTarget0),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(SoftwareIrqAcknowledgeTest, BadTarget) {
-  EXPECT_EQ(dif_plic_software_irq_acknowledge(&plic_, RV_PLIC_PARAM_NUM_TARGET),
-            kDifPlicBadArg);
+  EXPECT_EQ(
+      dif_rv_plic_software_irq_acknowledge(&plic_, RV_PLIC_PARAM_NUM_TARGET),
+      kDifRvPlicBadArg);
 }
 
 TEST_F(SoftwareIrqAcknowledgeTest, Target0Success) {
   EXPECT_WRITE32(RV_PLIC_MSIP0_REG_OFFSET, 0);
-  EXPECT_EQ(dif_plic_software_irq_acknowledge(&plic_, kTarget0), kDifPlicOk);
+  EXPECT_EQ(dif_rv_plic_software_irq_acknowledge(&plic_, kTarget0),
+            kDifRvPlicOk);
 }
 
 class SoftwareIrqIsPendingTest : public PlicTest {
@@ -398,40 +406,40 @@
 };
 
 TEST_F(SoftwareIrqIsPendingTest, NullArgs) {
-  EXPECT_EQ(dif_plic_software_irq_is_pending(nullptr, kTarget0, nullptr),
-            kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_software_irq_is_pending(nullptr, kTarget0, nullptr),
+            kDifRvPlicBadArg);
 
-  EXPECT_EQ(dif_plic_software_irq_is_pending(&plic_, kTarget0, nullptr),
-            kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_software_irq_is_pending(&plic_, kTarget0, nullptr),
+            kDifRvPlicBadArg);
 
   bool is_pending;
-  EXPECT_EQ(dif_plic_software_irq_is_pending(nullptr, kTarget0, &is_pending),
-            kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_software_irq_is_pending(nullptr, kTarget0, &is_pending),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(SoftwareIrqIsPendingTest, BadTarget) {
   bool is_pending;
-  EXPECT_EQ(dif_plic_software_irq_is_pending(&plic_, RV_PLIC_PARAM_NUM_TARGET,
-                                             &is_pending),
-            kDifPlicBadArg);
+  EXPECT_EQ(dif_rv_plic_software_irq_is_pending(
+                &plic_, RV_PLIC_PARAM_NUM_TARGET, &is_pending),
+            kDifRvPlicBadArg);
 }
 
 TEST_F(SoftwareIrqIsPendingTest, Target0Success) {
   bool is_pending = false;
   EXPECT_READ32(RV_PLIC_MSIP0_REG_OFFSET, 1);
 
-  EXPECT_EQ(dif_plic_software_irq_is_pending(&plic_, kTarget0, &is_pending),
-            kDifPlicOk);
+  EXPECT_EQ(dif_rv_plic_software_irq_is_pending(&plic_, kTarget0, &is_pending),
+            kDifRvPlicOk);
   EXPECT_TRUE(is_pending);
 
   // Cleared
   is_pending = true;
   EXPECT_READ32(RV_PLIC_MSIP0_REG_OFFSET, 0);
 
-  EXPECT_EQ(dif_plic_software_irq_is_pending(&plic_, kTarget0, &is_pending),
-            kDifPlicOk);
+  EXPECT_EQ(dif_rv_plic_software_irq_is_pending(&plic_, kTarget0, &is_pending),
+            kDifRvPlicOk);
   EXPECT_FALSE(is_pending);
 }
 
 }  // namespace
-}  // namespace dif_plic_unittest
+}  // namespace dif_rv_plic_unittest
diff --git a/sw/device/lib/dif/meson.build b/sw/device/lib/dif/meson.build
index b82e4ef..d3c0f37 100644
--- a/sw/device/lib/dif/meson.build
+++ b/sw/device/lib/dif/meson.build
@@ -112,13 +112,13 @@
   suite: 'dif',
 )
 
-# PLIC DIF library (dif_plic)
-sw_lib_dif_plic = declare_dependency(
+# PLIC DIF library (dif_rv_plic)
+sw_lib_dif_rv_plic = declare_dependency(
   link_with: static_library(
-    'dif_plic_ot',
+    'dif_rv_plic_ot',
     sources: [
       hw_top_earlgrey_rv_plic_reg_h,
-      'dif_plic.c',
+      'dif_rv_plic.c',
     ],
     dependencies: [
       sw_lib_mmio,
@@ -127,12 +127,12 @@
   )
 )
 
-test('dif_plic_unittest', executable(
-    'dif_plic_unittest',
+test('dif_rv_plic_unittest', executable(
+    'dif_rv_plic_unittest',
     sources: [
       hw_top_earlgrey_rv_plic_reg_h,
-      meson.source_root() / 'sw/device/lib/dif/dif_plic.c',
-      'dif_plic_unittest.cc',
+      meson.source_root() / 'sw/device/lib/dif/dif_rv_plic.c',
+      'dif_rv_plic_unittest.cc',
     ],
     dependencies: [
       sw_vendor_gtest,
diff --git a/sw/device/tests/dif/dif_plic_smoketest.c b/sw/device/tests/dif/dif_rv_plic_smoketest.c
similarity index 76%
rename from sw/device/tests/dif/dif_plic_smoketest.c
rename to sw/device/tests/dif/dif_rv_plic_smoketest.c
index 470e616..c96a70b 100644
--- a/sw/device/tests/dif/dif_plic_smoketest.c
+++ b/sw/device/tests/dif/dif_rv_plic_smoketest.c
@@ -2,9 +2,8 @@
 // Licensed under the Apache License, Version 2.0, see LICENSE for details.
 // SPDX-License-Identifier: Apache-2.0
 
-#include "sw/device/lib/dif/dif_plic.h"
-
 #include "sw/device/lib/base/mmio.h"
+#include "sw/device/lib/dif/dif_rv_plic.h"
 #include "sw/device/lib/dif/dif_uart.h"
 #include "sw/device/lib/handler.h"
 #include "sw/device/lib/irq.h"
@@ -18,7 +17,7 @@
 
 static const uint32_t kPlicTarget = kTopEarlgreyPlicTargetIbex0;
 
-static dif_plic_t plic0;
+static dif_rv_plic_t plic0;
 static dif_uart_t uart0;
 
 // These flags are used in the test routine to verify that a corresponding
@@ -34,7 +33,7 @@
  * Services UART interrupts, sets the appropriate flags that are used to
  * determine success or failure of the test.
  */
-static void handle_uart_isr(const dif_plic_irq_id_t interrupt_id) {
+static void handle_uart_isr(const dif_rv_plic_irq_id_t interrupt_id) {
   // NOTE: This initialization is superfluous, since the `default` case below
   // is effectively noreturn, but the compiler is unable to prove this.
   dif_uart_irq_t uart_irq = 0;
@@ -73,9 +72,10 @@
  */
 void handler_irq_external(void) {
   // Claim the IRQ by reading the Ibex specific CC register.
-  dif_plic_irq_id_t interrupt_id;
-  CHECK(dif_plic_irq_claim(&plic0, kPlicTarget, &interrupt_id) == kDifPlicOk,
-        "ISR is not implemented!");
+  dif_rv_plic_irq_id_t interrupt_id;
+  CHECK(
+      dif_rv_plic_irq_claim(&plic0, kPlicTarget, &interrupt_id) == kDifRvPlicOk,
+      "ISR is not implemented!");
 
   // Check if the interrupted peripheral is UART.
   top_earlgrey_plic_peripheral_t peripheral_id =
@@ -86,7 +86,8 @@
 
   // Complete the IRQ by writing the IRQ source to the Ibex specific CC
   // register.
-  CHECK(dif_plic_irq_complete(&plic0, kPlicTarget, interrupt_id) == kDifPlicOk,
+  CHECK(dif_rv_plic_irq_complete(&plic0, kPlicTarget, interrupt_id) ==
+            kDifRvPlicOk,
         "Unable to complete the IRQ request!");
 }
 
@@ -106,9 +107,9 @@
         "UART config failed!");
 }
 
-static void plic_initialise(mmio_region_t base_addr, dif_plic_t *plic) {
-  CHECK(dif_plic_init((dif_plic_params_t){.base_addr = base_addr}, plic) ==
-            kDifPlicOk,
+static void plic_initialise(mmio_region_t base_addr, dif_rv_plic_t *plic) {
+  CHECK(dif_rv_plic_init((dif_rv_plic_params_t){.base_addr = base_addr},
+                         plic) == kDifRvPlicOk,
         "PLIC init failed!");
 }
 
@@ -127,38 +128,38 @@
 /**
  * Configures all the relevant interrupts in PLIC.
  */
-static void plic_configure_irqs(dif_plic_t *plic) {
+static void plic_configure_irqs(dif_rv_plic_t *plic) {
   // Set IRQ triggers to be level triggered
-  CHECK(dif_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdUart0RxOverflow,
-                                 kDifPlicIrqTriggerLevel) == kDifPlicOk,
+  CHECK(dif_rv_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdUart0RxOverflow,
+                                    kDifRvPlicIrqTriggerLevel) == kDifRvPlicOk,
         "RX overflow trigger type set failed!");
-  CHECK(dif_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdUart0TxEmpty,
-                                 kDifPlicIrqTriggerLevel) == kDifPlicOk,
+  CHECK(dif_rv_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdUart0TxEmpty,
+                                    kDifRvPlicIrqTriggerLevel) == kDifRvPlicOk,
         "TX empty trigger type set failed!");
 
   // Set IRQ priorities to MAX
-  CHECK(dif_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdUart0RxOverflow,
-                                  kDifPlicMaxPriority) == kDifPlicOk,
+  CHECK(dif_rv_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdUart0RxOverflow,
+                                     kDifRvPlicMaxPriority) == kDifRvPlicOk,
         "priority set for RX overflow failed!");
 
-  CHECK(dif_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdUart0TxEmpty,
-                                  kDifPlicMaxPriority) == kDifPlicOk,
+  CHECK(dif_rv_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdUart0TxEmpty,
+                                     kDifRvPlicMaxPriority) == kDifRvPlicOk,
         "priority set for TX empty failed!");
 
   // Set Ibex IRQ priority threshold level
-  CHECK(dif_plic_target_set_threshold(&plic0, kPlicTarget,
-                                      kDifPlicMinPriority) == kDifPlicOk,
+  CHECK(dif_rv_plic_target_set_threshold(&plic0, kPlicTarget,
+                                         kDifRvPlicMinPriority) == kDifRvPlicOk,
         "threshold set failed!");
 
   // Enable IRQs in PLIC
-  CHECK(dif_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdUart0RxOverflow,
-                                 kPlicTarget,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
+  CHECK(dif_rv_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdUart0RxOverflow,
+                                    kPlicTarget,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
         "interrupt Enable for RX overflow failed!");
 
-  CHECK(dif_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdUart0TxEmpty,
-                                 kPlicTarget,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
+  CHECK(dif_rv_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdUart0TxEmpty,
+                                    kPlicTarget,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
         "interrupt Enable for TX empty failed!");
 }
 
diff --git a/sw/device/tests/dif/meson.build b/sw/device/tests/dif/meson.build
index 2bc9499..a7e6594 100644
--- a/sw/device/tests/dif/meson.build
+++ b/sw/device/tests/dif/meson.build
@@ -2,13 +2,13 @@
 # Licensed under the Apache License, Version 2.0, see LICENSE for details.
 # SPDX-License-Identifier: Apache-2.0
 
-dif_plic_smoketest_lib = declare_dependency(
+dif_rv_plic_smoketest_lib = declare_dependency(
   link_with: static_library(
-    'dif_plic_smoketest_lib',
-    sources: ['dif_plic_smoketest.c'],
+    'dif_rv_plic_smoketest_lib',
+    sources: ['dif_rv_plic_smoketest.c'],
     dependencies: [
       sw_lib_dif_uart,
-      sw_lib_dif_plic,
+      sw_lib_dif_rv_plic,
       sw_lib_irq,
       sw_lib_mmio,
       sw_lib_runtime_log,
@@ -18,8 +18,8 @@
   ),
 )
 sw_tests += {
-  'dif_plic_smoketest': {
-    'library': dif_plic_smoketest_lib,
+  'dif_rv_plic_smoketest': {
+    'library': dif_rv_plic_smoketest_lib,
   }
 }
 
diff --git a/sw/device/tests/sim_dv/gpio_test.c b/sw/device/tests/sim_dv/gpio_test.c
index 23f14d8..23b5562 100644
--- a/sw/device/tests/sim_dv/gpio_test.c
+++ b/sw/device/tests/sim_dv/gpio_test.c
@@ -2,11 +2,10 @@
 // Licensed under the Apache License, Version 2.0, see LICENSE for details.
 // SPDX-License-Identifier: Apache-2.0
 
-#include "sw/device/lib/dif/dif_gpio.h"
-
 #include "sw/device/lib/arch/device.h"
 #include "sw/device/lib/base/mmio.h"
-#include "sw/device/lib/dif/dif_plic.h"
+#include "sw/device/lib/dif/dif_gpio.h"
+#include "sw/device/lib/dif/dif_rv_plic.h"
 #include "sw/device/lib/handler.h"
 #include "sw/device/lib/irq.h"
 #include "sw/device/lib/pinmux.h"
@@ -15,10 +14,11 @@
 #include "sw/device/lib/testing/check.h"
 #include "sw/device/lib/testing/test_main.h"
 #include "sw/device/lib/testing/test_status.h"
+
 #include "hw/top_earlgrey/sw/autogen/top_earlgrey.h"
 
 static dif_gpio_t gpio;
-static dif_plic_t plic;
+static dif_rv_plic_t plic;
 
 // These constants reflect the GPIOs exposed by the GPIO IP.
 static const uint32_t kNumGpios = 32;
@@ -65,36 +65,36 @@
 /**
  * Initializes PLIC and enables all GPIO interrupts.
  */
-static void plic_init_with_irqs(mmio_region_t base_addr, dif_plic_t *plic) {
+static void plic_init_with_irqs(mmio_region_t base_addr, dif_rv_plic_t *plic) {
   LOG_INFO("Initializing the PLIC.");
 
-  CHECK(dif_plic_init((dif_plic_params_t){.base_addr = base_addr}, plic) ==
-            kDifPlicOk,
-        "dif_plic_init failed");
+  CHECK(dif_rv_plic_init((dif_rv_plic_params_t){.base_addr = base_addr},
+                         plic) == kDifRvPlicOk,
+        "dif_rv_plic_init failed");
 
   for (uint32_t i = 0; i < kNumGpios; ++i) {
-    dif_plic_irq_id_t plic_irq_id = i + kTopEarlgreyPlicIrqIdGpioGpio0;
+    dif_rv_plic_irq_id_t plic_irq_id = i + kTopEarlgreyPlicIrqIdGpioGpio0;
 
     // Enable GPIO interrupts at PLIC as edge triggered.
-    CHECK(dif_plic_irq_set_trigger(plic, plic_irq_id, kDifPlicIrqTriggerEdge) ==
-              kDifPlicOk,
-          "dif_plic_irq_set_trigger failed");
+    CHECK(dif_rv_plic_irq_set_trigger(plic, plic_irq_id,
+                                      kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+          "dif_rv_plic_irq_set_trigger failed");
 
     // Set the priority of GPIO interrupts at PLIC to be >=1
-    CHECK(dif_plic_irq_set_priority(plic, plic_irq_id, 0x1) == kDifPlicOk,
-          "dif_plic_irq_set_priority failed");
+    CHECK(dif_rv_plic_irq_set_priority(plic, plic_irq_id, 0x1) == kDifRvPlicOk,
+          "dif_rv_plic_irq_set_priority failed");
 
     // Enable all GPIO interrupts at the PLIC.
-    CHECK(
-        dif_plic_irq_set_enabled(plic, plic_irq_id, kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+    CHECK(dif_rv_plic_irq_set_enabled(plic, plic_irq_id,
+                                      kTopEarlgreyPlicTargetIbex0,
+                                      kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+          "dif_rv_plic_irq_set_enabled failed");
   }
 
   // Set the threshold for the Ibex to 0.
-  CHECK(dif_plic_target_set_threshold(plic, kTopEarlgreyPlicTargetIbex0, 0x0) ==
-            kDifPlicOk,
-        "dif_plic_target_set_threshold failed");
+  CHECK(dif_rv_plic_target_set_threshold(plic, kTopEarlgreyPlicTargetIbex0,
+                                         0x0) == kDifRvPlicOk,
+        "dif_rv_plic_target_set_threshold failed");
 }
 
 /**
@@ -225,10 +225,10 @@
  */
 void handler_irq_external(void) {
   // Find which interrupt fired at PLIC by claiming it.
-  dif_plic_irq_id_t plic_irq_id;
-  CHECK(dif_plic_irq_claim(&plic, kTopEarlgreyPlicTargetIbex0, &plic_irq_id) ==
-            kDifPlicOk,
-        "dif_plic_irq_claim failed");
+  dif_rv_plic_irq_id_t plic_irq_id;
+  CHECK(dif_rv_plic_irq_claim(&plic, kTopEarlgreyPlicTargetIbex0,
+                              &plic_irq_id) == kDifRvPlicOk,
+        "dif_rv_plic_irq_claim failed");
 
   // Check if it is the right peripheral.
   top_earlgrey_plic_peripheral_t peripheral = (top_earlgrey_plic_peripheral_t)
@@ -267,9 +267,9 @@
         "dif_gpio_irq_acknowledge failed");
 
   // Complete the IRQ at PLIC.
-  CHECK(dif_plic_irq_complete(&plic, kTopEarlgreyPlicTargetIbex0,
-                              plic_irq_id) == kDifPlicOk,
-        "dif_plic_irq_complete failed");
+  CHECK(dif_rv_plic_irq_complete(&plic, kTopEarlgreyPlicTargetIbex0,
+                                 plic_irq_id) == kDifRvPlicOk,
+        "dif_rv_plic_irq_complete failed");
 }
 
 const test_config_t kTestConfig;
diff --git a/sw/device/tests/sim_dv/meson.build b/sw/device/tests/sim_dv/meson.build
index 011a530..1924685 100644
--- a/sw/device/tests/sim_dv/meson.build
+++ b/sw/device/tests/sim_dv/meson.build
@@ -11,7 +11,7 @@
       'uart_tx_rx_test.c'],
     dependencies: [
       sw_lib_dif_uart,
-      sw_lib_dif_plic,
+      sw_lib_dif_rv_plic,
       sw_lib_irq,
       sw_lib_mmio,
       sw_lib_runtime_log,
@@ -34,7 +34,7 @@
     sources: ['gpio_test.c'],
     dependencies: [
       sw_lib_dif_gpio,
-      sw_lib_dif_plic,
+      sw_lib_dif_rv_plic,
       sw_lib_irq,
       sw_lib_mmio,
       sw_lib_pinmux,
@@ -77,7 +77,7 @@
     sources: ['spi_tx_rx_test.c'],
     dependencies: [
       sw_lib_dif_spi_device,
-      sw_lib_dif_plic,
+      sw_lib_dif_rv_plic,
       sw_lib_irq,
       sw_lib_mmio,
       sw_lib_runtime_log,
diff --git a/sw/device/tests/sim_dv/spi_tx_rx_test.c b/sw/device/tests/sim_dv/spi_tx_rx_test.c
index 928c8c0..d6214f9 100644
--- a/sw/device/tests/sim_dv/spi_tx_rx_test.c
+++ b/sw/device/tests/sim_dv/spi_tx_rx_test.c
@@ -4,7 +4,7 @@
 
 #include "sw/device/lib/arch/device.h"
 #include "sw/device/lib/base/mmio.h"
-#include "sw/device/lib/dif/dif_plic.h"
+#include "sw/device/lib/dif/dif_rv_plic.h"
 #include "sw/device/lib/dif/dif_spi_device.h"
 #include "sw/device/lib/handler.h"
 #include "sw/device/lib/irq.h"
@@ -20,7 +20,7 @@
 #define SPI_DEVICE_NUM_IRQS 6
 
 static const uint16_t kFifoLen = 0x400;
-static dif_plic_t plic0;
+static dif_rv_plic_t plic0;
 static dif_spi_device_t spi_device;
 
 // A set of bytes to be send out by spi_device.
@@ -69,10 +69,10 @@
  */
 void handler_irq_external(void) {
   // Find which interrupt fired at PLIC by claiming it.
-  dif_plic_irq_id_t plic_irq_id;
-  CHECK(dif_plic_irq_claim(&plic0, kTopEarlgreyPlicTargetIbex0, &plic_irq_id) ==
-            kDifPlicOk,
-        "dif_plic_irq_claim failed");
+  dif_rv_plic_irq_id_t plic_irq_id;
+  CHECK(dif_rv_plic_irq_claim(&plic0, kTopEarlgreyPlicTargetIbex0,
+                              &plic_irq_id) == kDifRvPlicOk,
+        "dif_rv_plic_irq_claim failed");
 
   // Check if it is the right peripheral.
   top_earlgrey_plic_peripheral_t peripheral = (top_earlgrey_plic_peripheral_t)
@@ -129,9 +129,9 @@
         "dif_spi_device_irq_state_clear failed");
 
   // Complete the IRQ at PLIC.
-  CHECK(dif_plic_irq_complete(&plic0, kTopEarlgreyPlicTargetIbex0,
-                              plic_irq_id) == kDifPlicOk,
-        "dif_plic_irq_complete failed");
+  CHECK(dif_rv_plic_irq_complete(&plic0, kTopEarlgreyPlicTargetIbex0,
+                                 plic_irq_id) == kDifRvPlicOk,
+        "dif_rv_plic_irq_complete failed");
 }
 
 /**
@@ -193,91 +193,94 @@
 /**
  * Initializes PLIC and enables the relevant SPI DEVICE interrupts.
  */
-static void plic_init_with_irqs(mmio_region_t base_addr, dif_plic_t *plic) {
+static void plic_init_with_irqs(mmio_region_t base_addr, dif_rv_plic_t *plic) {
   LOG_INFO("Initializing the PLIC.");
 
-  CHECK(dif_plic_init((dif_plic_params_t){.base_addr = base_addr}, plic) ==
-            kDifPlicOk,
-        "dif_plic_init failed");
+  CHECK(dif_rv_plic_init((dif_rv_plic_params_t){.base_addr = base_addr},
+                         plic) == kDifRvPlicOk,
+        "dif_rv_plic_init failed");
 
   // Enable SPI_DEVICE interrupts at PLIC as edge triggered.
-  CHECK(dif_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxf,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxlvl,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdSpiDeviceTxlvl,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxerr,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxoverflow,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(
-      dif_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdSpiDeviceTxunderflow,
-                               kDifPlicIrqTriggerEdge) == kDifPlicOk,
-      "dif_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxf,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxlvl,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdSpiDeviceTxlvl,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxerr,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic,
+                                    kTopEarlgreyPlicIrqIdSpiDeviceRxoverflow,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic,
+                                    kTopEarlgreyPlicIrqIdSpiDeviceTxunderflow,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
 
   // Set the priority of SPI DEVICE interrupts at PLIC to be >=1 (so ensure the
   // target does get interrupted).
-  CHECK(dif_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxf,
-                                  kDifPlicMaxPriority) == kDifPlicOk,
-        "dif_plic_irq_set_priority failed");
-  CHECK(dif_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxlvl,
-                                  kDifPlicMaxPriority) == kDifPlicOk,
-        "dif_plic_irq_set_priority failed");
-  CHECK(dif_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdSpiDeviceTxlvl,
-                                  kDifPlicMaxPriority) == kDifPlicOk,
-        , "dif_plic_irq_set_priority failed");
-  CHECK(dif_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxerr,
-                                  kDifPlicMaxPriority) == kDifPlicOk,
-        "dif_plic_irq_set_priority failed");
-  CHECK(
-      dif_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxoverflow,
-                                kDifPlicMaxPriority) == kDifPlicOk,
-      "dif_plic_irq_set_priority failed");
-  CHECK(
-      dif_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdSpiDeviceTxunderflow,
-                                kDifPlicMaxPriority) == kDifPlicOk,
-      "dif_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxf,
+                                     kDifRvPlicMaxPriority) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxlvl,
+                                     kDifRvPlicMaxPriority) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdSpiDeviceTxlvl,
+                                     kDifRvPlicMaxPriority) == kDifRvPlicOk,
+        , "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxerr,
+                                     kDifRvPlicMaxPriority) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic,
+                                     kTopEarlgreyPlicIrqIdSpiDeviceRxoverflow,
+                                     kDifRvPlicMaxPriority) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic,
+                                     kTopEarlgreyPlicIrqIdSpiDeviceTxunderflow,
+                                     kDifRvPlicMaxPriority) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
 
   // Set the threshold for the Ibex to 0.
-  CHECK(dif_plic_target_set_threshold(plic, kTopEarlgreyPlicTargetIbex0, 0x0) ==
-            kDifPlicOk,
-        "dif_plic_target_set_threshold failed");
+  CHECK(dif_rv_plic_target_set_threshold(plic, kTopEarlgreyPlicTargetIbex0,
+                                         0x0) == kDifRvPlicOk,
+        "dif_rv_plic_target_set_threshold failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxf,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxf,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxlvl,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxlvl,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdSpiDeviceTxlvl,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdSpiDeviceTxlvl,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxerr,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxerr,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, kTopEarlgreyPlicIrqIdSpiDeviceRxoverflow,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic,
+                                    kTopEarlgreyPlicIrqIdSpiDeviceRxoverflow,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(
-            plic, kTopEarlgreyPlicIrqIdSpiDeviceTxunderflow,
-            kTopEarlgreyPlicTargetIbex0, kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic,
+                                    kTopEarlgreyPlicIrqIdSpiDeviceTxunderflow,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 }
 
 static bool exp_irqs_fired(void) {
diff --git a/sw/device/tests/sim_dv/uart_tx_rx_test.c b/sw/device/tests/sim_dv/uart_tx_rx_test.c
index 23168eb..a3437d7 100644
--- a/sw/device/tests/sim_dv/uart_tx_rx_test.c
+++ b/sw/device/tests/sim_dv/uart_tx_rx_test.c
@@ -4,7 +4,7 @@
 
 #include "sw/device/lib/arch/device.h"
 #include "sw/device/lib/base/mmio.h"
-#include "sw/device/lib/dif/dif_plic.h"
+#include "sw/device/lib/dif/dif_rv_plic.h"
 #include "sw/device/lib/dif/dif_uart.h"
 #include "sw/device/lib/handler.h"
 #include "sw/device/lib/irq.h"
@@ -22,7 +22,7 @@
 #define UART_DATASET_SIZE 128
 
 static dif_uart_t uart;
-static dif_plic_t plic;
+static dif_rv_plic_t plic;
 
 /**
  * UART TX RX test
@@ -220,10 +220,10 @@
  */
 void handler_irq_external(void) {
   // Find which interrupt fired at PLIC by claiming it.
-  dif_plic_irq_id_t plic_irq_id;
-  CHECK(dif_plic_irq_claim(&plic, kTopEarlgreyPlicTargetIbex0, &plic_irq_id) ==
-            kDifPlicOk,
-        "dif_plic_irq_claim failed");
+  dif_rv_plic_irq_id_t plic_irq_id;
+  CHECK(dif_rv_plic_irq_claim(&plic, kTopEarlgreyPlicTargetIbex0,
+                              &plic_irq_id) == kDifRvPlicOk,
+        "dif_rv_plic_irq_claim failed");
 
   // Check if it is the right peripheral.
   top_earlgrey_plic_peripheral_t peripheral = (top_earlgrey_plic_peripheral_t)
@@ -269,9 +269,9 @@
         "dif_uart_irq_acknowledge failed");
 
   // Complete the IRQ at PLIC.
-  CHECK(dif_plic_irq_complete(&plic, kTopEarlgreyPlicTargetIbex0,
-                              plic_irq_id) == kDifPlicOk,
-        "dif_plic_irq_complete failed");
+  CHECK(dif_rv_plic_irq_complete(&plic, kTopEarlgreyPlicTargetIbex0,
+                                 plic_irq_id) == kDifRvPlicOk,
+        "dif_rv_plic_irq_complete failed");
 }
 
 /**
@@ -319,111 +319,111 @@
 /**
  * Initializes PLIC and enables the relevant UART interrupts.
  */
-static void plic_init_with_irqs(mmio_region_t base_addr, dif_plic_t *plic) {
+static void plic_init_with_irqs(mmio_region_t base_addr, dif_rv_plic_t *plic) {
   LOG_INFO("Initializing the PLIC. %0x", uart_irq_tx_watermartk_id);
 
-  CHECK(dif_plic_init((dif_plic_params_t){.base_addr = base_addr}, plic) ==
-            kDifPlicOk,
-        "dif_plic_init failed");
+  CHECK(dif_rv_plic_init((dif_rv_plic_params_t){.base_addr = base_addr},
+                         plic) == kDifRvPlicOk,
+        "dif_rv_plic_init failed");
 
   // Enable UART interrupts at PLIC as edge triggered.
-  CHECK(dif_plic_irq_set_trigger(plic, uart_irq_tx_watermartk_id,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, uart_irq_rx_watermartk_id,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, uart_irq_tx_empty_id,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, uart_irq_rx_overflow_id,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, uart_irq_rx_frame_err_id,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, uart_irq_rx_break_err_id,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, uart_irq_rx_timeout_id,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
-  CHECK(dif_plic_irq_set_trigger(plic, uart_irq_rx_parity_err_id,
-                                 kDifPlicIrqTriggerEdge) == kDifPlicOk,
-        "dif_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, uart_irq_tx_watermartk_id,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, uart_irq_rx_watermartk_id,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, uart_irq_tx_empty_id,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, uart_irq_rx_overflow_id,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, uart_irq_rx_frame_err_id,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, uart_irq_rx_break_err_id,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, uart_irq_rx_timeout_id,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
+  CHECK(dif_rv_plic_irq_set_trigger(plic, uart_irq_rx_parity_err_id,
+                                    kDifRvPlicIrqTriggerEdge) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_trigger failed");
 
   // Set the priority of UART interrupts at PLIC to be >=1 (so ensure the target
   // does get interrupted).
-  CHECK(dif_plic_irq_set_priority(plic, uart_irq_tx_watermartk_id, 0x1) ==
-            kDifPlicOk,
-        "dif_plic_irq_set_priority failed");
-  CHECK(dif_plic_irq_set_priority(plic, uart_irq_rx_watermartk_id, 0x2) ==
-            kDifPlicOk,
-        "dif_plic_irq_set_priority failed");
-  CHECK(
-      dif_plic_irq_set_priority(plic, uart_irq_tx_empty_id, 0x3) == kDifPlicOk,
-      , "dif_plic_irq_set_priority failed");
-  CHECK(dif_plic_irq_set_priority(plic, uart_irq_rx_overflow_id, 0x1) ==
-            kDifPlicOk,
-        "dif_plic_irq_set_priority failed");
-  CHECK(dif_plic_irq_set_priority(plic, uart_irq_rx_frame_err_id, 0x2) ==
-            kDifPlicOk,
-        "dif_plic_irq_set_priority failed");
-  CHECK(dif_plic_irq_set_priority(plic, uart_irq_rx_break_err_id, 0x3) ==
-            kDifPlicOk,
-        "dif_plic_irq_set_priority failed");
-  CHECK(dif_plic_irq_set_priority(plic, uart_irq_rx_timeout_id, 0x1) ==
-            kDifPlicOk,
-        "dif_plic_irq_set_priority failed");
-  CHECK(dif_plic_irq_set_priority(plic, uart_irq_rx_parity_err_id, 0x2) ==
-            kDifPlicOk,
-        "dif_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, uart_irq_tx_watermartk_id, 0x1) ==
+            kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, uart_irq_rx_watermartk_id, 0x2) ==
+            kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, uart_irq_tx_empty_id, 0x3) ==
+            kDifRvPlicOk,
+        , "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, uart_irq_rx_overflow_id, 0x1) ==
+            kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, uart_irq_rx_frame_err_id, 0x2) ==
+            kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, uart_irq_rx_break_err_id, 0x3) ==
+            kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, uart_irq_rx_timeout_id, 0x1) ==
+            kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
+  CHECK(dif_rv_plic_irq_set_priority(plic, uart_irq_rx_parity_err_id, 0x2) ==
+            kDifRvPlicOk,
+        "dif_rv_plic_irq_set_priority failed");
 
   // Set the threshold for the Ibex to 0.
-  CHECK(dif_plic_target_set_threshold(plic, kTopEarlgreyPlicTargetIbex0, 0x0) ==
-            kDifPlicOk,
-        "dif_plic_target_set_threshold failed");
+  CHECK(dif_rv_plic_target_set_threshold(plic, kTopEarlgreyPlicTargetIbex0,
+                                         0x0) == kDifRvPlicOk,
+        "dif_rv_plic_target_set_threshold failed");
 
   // Enable all UART interrupts at the PLIC.
-  CHECK(dif_plic_irq_set_enabled(plic, uart_irq_tx_watermartk_id,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, uart_irq_tx_watermartk_id,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, uart_irq_rx_watermartk_id,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, uart_irq_rx_watermartk_id,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, uart_irq_tx_empty_id,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, uart_irq_tx_empty_id,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, uart_irq_rx_overflow_id,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, uart_irq_rx_overflow_id,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, uart_irq_rx_frame_err_id,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, uart_irq_rx_frame_err_id,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, uart_irq_rx_break_err_id,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, uart_irq_rx_break_err_id,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, uart_irq_rx_timeout_id,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, uart_irq_rx_timeout_id,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 
-  CHECK(dif_plic_irq_set_enabled(plic, uart_irq_rx_parity_err_id,
-                                 kTopEarlgreyPlicTargetIbex0,
-                                 kDifPlicToggleEnabled) == kDifPlicOk,
-        "dif_plic_irq_set_enabled failed");
+  CHECK(dif_rv_plic_irq_set_enabled(plic, uart_irq_rx_parity_err_id,
+                                    kTopEarlgreyPlicTargetIbex0,
+                                    kDifRvPlicToggleEnabled) == kDifRvPlicOk,
+        "dif_rv_plic_irq_set_enabled failed");
 }
 
 /**
diff --git a/test/systemtest/earlgrey/config.py b/test/systemtest/earlgrey/config.py
index 7cadca0..dcefb33 100644
--- a/test/systemtest/earlgrey/config.py
+++ b/test/systemtest/earlgrey/config.py
@@ -62,7 +62,7 @@
         "targets": ["sim_verilator", "fpga_cw310"],
     },
     {
-        "name": "dif_plic_smoketest",
+        "name": "dif_rv_plic_smoketest",
         "targets": ["sim_verilator", "fpga_cw310"],
     },
     # TODO(#6656): AST is not instantiated in chip_earlgrey_verilator.
@@ -146,7 +146,6 @@
         "test_dir": "sw/device/silicon_creator/testing",
         # Not running on sim_verilator because this test takes a long time to complete.
         "targets": ["fpga_cw310", "fpga_nexysvideo"],
-
     },
     {
         "name": "sw_silicon_creator_lib_driver_watchdog_functest",
diff --git a/util/check_dif_statuses.py b/util/check_dif_statuses.py
index c343f5a..c1bcda4 100644
--- a/util/check_dif_statuses.py
+++ b/util/check_dif_statuses.py
@@ -33,12 +33,6 @@
 from tabulate import tabulate
 from termcolor import colored
 
-# The IP suffix of some DIFs are slightly different than the IP directory name
-# in the hw/ip/ directory, so here is the translation for the applicable IPs.
-IP_TRANSLATION = {
-    "plic": "rv_plic",
-}
-
 
 class _OTComponent(Enum):
     """Type of OpenTitan component."""
@@ -81,8 +75,6 @@
             raise ValueError("DIF name should start with \"dif_\".")
         self.dif_name = dif_name
         self.ip = self.dif_name[4:]
-        if self.ip in IP_TRANSLATION:
-            self.ip = IP_TRANSLATION[self.ip]
         self.dif_path = os.path.join(difs_root_path, dif_name)
         self.hw_path = f"hw/ip/{self.ip}"
         # Determine last date DIF and HW was updated.