File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -464,6 +464,7 @@ module controller_standby_i3c
464464 .scl_posedge_i (ctrl_bus_i.scl.pos_edge),
465465 .sda_negedge_i (ctrl_bus_i.sda.neg_edge),
466466 .sda_posedge_i (ctrl_bus_i.sda.pos_edge),
467+ .bus_free_i (bus_free),
467468 .parity_err_o,
468469 .rx_overflow_err_o (rx_overflow_err),
469470 .virtual_device_sel_o (virtual_device_sel_o),
Original file line number Diff line number Diff line change @@ -120,6 +120,7 @@ module i3c_target_fsm #(
120120 input logic scl_posedge_i,
121121 input logic sda_negedge_i,
122122 input logic sda_posedge_i,
123+ input logic bus_free_i,
123124
124125 output logic parity_err_o,
125126 output logic rx_overflow_err_o,
@@ -374,7 +375,7 @@ module i3c_target_fsm #(
374375
375376 case (state_q)
376377 Idle:
377- ibi_begin_o = target_enable_i && ! target_reset_detect_i && ibi_enable_i && ibi_pending_i;
378+ ibi_begin_o = target_enable_i && ! target_reset_detect_i && ibi_enable_i && ibi_pending_i && bus_free_i ;
378379 RxFByte: begin
379380 bus_rx_req_byte_o = ~ bus_start_det;
380381 if (bus_rx_done_i) begin
@@ -473,7 +474,7 @@ module i3c_target_fsm #(
473474 state_d = target_reset_detect_i ? DoRstAction :
474475 // TODO: Add flow for Hot-Join
475476 // do_hot_join ? DoHotJoin :
476- (ibi_pending_i && ibi_enable_i) ? DoIBI : bus_start_det ? RxFByte : Idle;
477+ (ibi_pending_i && ibi_enable_i && bus_free_i ) ? DoIBI : bus_start_det ? RxFByte : Idle;
477478 end
478479 RxFByte: begin
479480 if (bus_rx_done_i) begin
You can’t perform that action at this time.
0 commit comments