[edn/rtl] check enable in edn main fsm

The main edn state machine does not look at the enable input
for all waiting states.
If the module is disabled by reseting the enable field, this
state main will continue to hang.

Signed-off-by: Mark Branstad <mark.branstad@wdc.com>
diff --git a/hw/ip/edn/rtl/edn_main_sm.sv b/hw/ip/edn/rtl/edn_main_sm.sv
index cebbc08..ee7ce1f 100644
--- a/hw/ip/edn/rtl/edn_main_sm.sv
+++ b/hw/ip/edn/rtl/edn_main_sm.sv
@@ -122,8 +122,12 @@
         state_d = BootInsAckWait;
       end
       BootInsAckWait: begin
-        if (csrng_cmd_ack_i) begin
-          state_d = BootCaptGenCnt;
+        if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (csrng_cmd_ack_i) begin
+            state_d = BootCaptGenCnt;
+          end
         end
       end
       BootCaptGenCnt: begin
@@ -132,13 +136,21 @@
       end
       BootSendGenCmd: begin
         boot_send_gencmd_o = 1'b1;
-        if (cmd_sent_i) begin
-          state_d = BootGenAckWait;
+        if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (cmd_sent_i) begin
+            state_d = BootGenAckWait;
+          end
         end
       end
       BootGenAckWait: begin
-        if (csrng_cmd_ack_i) begin
-          state_d = BootPulse;
+        if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (csrng_cmd_ack_i) begin
+            state_d = BootPulse;
+          end
         end
       end
       BootPulse: begin
@@ -154,33 +166,49 @@
       AutoLoadIns: begin
         auto_set_intr_gate_o = 1'b1;
         auto_first_ack_wait_o = 1'b1;
-        if (sw_cmd_req_load_i) begin
-          state_d = AutoFirstAckWait;
+        if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (sw_cmd_req_load_i) begin
+            state_d = AutoFirstAckWait;
+          end
         end
       end
       AutoFirstAckWait: begin
         auto_first_ack_wait_o = 1'b1;
-        if (csrng_cmd_ack_i) begin
-          auto_clr_intr_gate_o = 1'b1;
-          state_d = AutoDispatch;
+        if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (csrng_cmd_ack_i) begin
+            auto_clr_intr_gate_o = 1'b1;
+            state_d = AutoDispatch;
+          end
         end
       end
       AutoAckWait: begin
         auto_req_mode_busy_o = 1'b1;
-        if (csrng_cmd_ack_i) begin
-          state_d = AutoDispatch;
+        if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (csrng_cmd_ack_i) begin
+            state_d = AutoDispatch;
+          end
         end
       end
       AutoDispatch: begin
         auto_req_mode_busy_o = 1'b1;
-        if (!auto_req_mode_i) begin
-          main_sm_done_pulse_o = 1'b1;
+        if (!edn_enable_i) begin
           state_d = Idle;
         end else begin
-          if (max_reqs_cnt_zero_i) begin
-            state_d = AutoCaptReseedCnt;
+          if (!auto_req_mode_i) begin
+            main_sm_done_pulse_o = 1'b1;
+            state_d = Idle;
           end else begin
-            state_d = AutoCaptGenCnt;
+            if (max_reqs_cnt_zero_i) begin
+              state_d = AutoCaptReseedCnt;
+            end else begin
+              state_d = AutoCaptGenCnt;
+            end
           end
         end
       end
@@ -192,8 +220,12 @@
       AutoSendGenCmd: begin
         auto_req_mode_busy_o = 1'b1;
         send_gencmd_o = 1'b1;
-        if (cmd_sent_i) begin
-          state_d = AutoAckWait;
+        if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (cmd_sent_i) begin
+            state_d = AutoAckWait;
+          end
         end
       end
       AutoCaptReseedCnt: begin
@@ -204,8 +236,12 @@
       AutoSendReseedCmd: begin
         auto_req_mode_busy_o = 1'b1;
         send_rescmd_o = 1'b1;
-        if (cmd_sent_i) begin
-          state_d = AutoAckWait;
+        if (!edn_enable_i) begin
+          state_d = Idle;
+        end else begin
+          if (cmd_sent_i) begin
+            state_d = AutoAckWait;
+          end
         end
       end
       SWPortMode: begin