Skip to content

Commit 4632890

Browse files
authored
library/spi_engine: fix transfer counter condition (#1654)
fix bug where for a clock divider of 0, multi-word transfers could hang without ever completing Signed-off-by: Laez Barbosa <[email protected]>
1 parent af2ec78 commit 4632890

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

docs/regmap/adi_regmap_spi_engine.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ RO
2525
ENDFIELD
2626

2727
FIELD
28-
[7:0] 0x00000002
28+
[7:0] 0x00000003
2929
VERSION_PATCH
3030
RO
3131
ENDFIELD

library/spi_engine/spi_engine_execution/spi_engine_execution.v

+1-1
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ module spi_engine_execution #(
316316
ntx_rx <= 1'b0;
317317
sleep_counter_increment <= 1'b0;
318318
end else if (clk_div_last == 1'b1 && wait_for_io == 1'b0) begin
319-
if (bit_counter == word_length && transfer_active) begin
319+
if (last_bit && transfer_active && ntx_rx) begin
320320
bit_counter <= 'h0;
321321
transfer_counter <= transfer_counter + 1;
322322
ntx_rx <= ~ntx_rx;

0 commit comments

Comments
 (0)