diff --git a/docs/regmap/adi_regmap_spi_engine.txt b/docs/regmap/adi_regmap_spi_engine.txt index 846522dbe53..6ccd2c90d49 100644 --- a/docs/regmap/adi_regmap_spi_engine.txt +++ b/docs/regmap/adi_regmap_spi_engine.txt @@ -25,7 +25,7 @@ RO ENDFIELD FIELD -[7:0] 0x03 +[7:0] 0x04 VERSION_PATCH RO ENDFIELD diff --git a/library/spi_engine/axi_spi_engine/axi_spi_engine.v b/library/spi_engine/axi_spi_engine/axi_spi_engine.v index 2ba95080786..e233c43a8b6 100644 --- a/library/spi_engine/axi_spi_engine/axi_spi_engine.v +++ b/library/spi_engine/axi_spi_engine/axi_spi_engine.v @@ -133,7 +133,7 @@ module axi_spi_engine #( input [7:0] offload_sync_data ); - localparam PCORE_VERSION = 'h010503; + localparam PCORE_VERSION = 'h010504; localparam S_AXI = 0; localparam UP_FIFO = 1; diff --git a/library/spi_engine/spi_engine_execution/spi_engine_execution.v b/library/spi_engine/spi_engine_execution/spi_engine_execution.v index c3ce9fc182b..5f2e72990e4 100644 --- a/library/spi_engine/spi_engine_execution/spi_engine_execution.v +++ b/library/spi_engine/spi_engine_execution/spi_engine_execution.v @@ -456,10 +456,15 @@ module spi_engine_execution #( wait_for_io <= 1'b0; transfer_active <= !last_transfer; end else if (transfer_active == 1'b1 && end_of_word == 1'b1) begin - if (last_transfer == 1'b1 || io_ready2 == 1'b0) + if (last_transfer == 1'b1 || io_ready2 == 1'b0) begin transfer_active <= 1'b0; - if (io_ready2 == 1'b0) + end + if (io_ready2 == 1'b0) begin wait_for_io <= 1'b1; + end + end else if (idle == 1'b1) begin + wait_for_io <= 1'b0; + transfer_active <= 1'b0; end end end