[flash_ctrl] Narrow flash_phy_op_e to 2 bits
Using a literal enum value as an array index triggers a Verilator
check if the enum type isn't of the expected width. This was
triggering lots of warnings when defining the "reqs" variable in
flash_phy_core.sv. Since we don't actually need PhyOps as a member of
the enum, hoist it out into a separate parameter.
Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
diff --git a/hw/ip/flash_ctrl/rtl/flash_phy_pkg.sv b/hw/ip/flash_ctrl/rtl/flash_phy_pkg.sv
index 1849edd..107f664 100644
--- a/hw/ip/flash_ctrl/rtl/flash_phy_pkg.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_phy_pkg.sv
@@ -80,14 +80,15 @@
} rd_attr_t;
// Flash Operations Supported
- typedef enum logic [2:0] {
- PhyRead = 3'h0,
- PhyProg = 3'h1,
- PhyPgErase = 3'h2,
- PhyBkErase = 3'h3,
- PhyOps = 3'h4
+ typedef enum logic [1:0] {
+ PhyRead = 2'h0,
+ PhyProg = 2'h1,
+ PhyPgErase = 2'h2,
+ PhyBkErase = 2'h3
} flash_phy_op_e;
+ localparam int PhyOps = 4;
+
// Flash Operations Selected
typedef enum logic [1:0] {
None = 2'h0,