Skip to content

Commit 29d05d6

Browse files
committed
wire up arbitration lost signal
1 parent ff7aaaa commit 29d05d6

File tree

5 files changed

+11
-0
lines changed

5 files changed

+11
-0
lines changed

src/ctrl/ccc.sv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ module ccc
9191
input logic rst_ni, // Async reset, active low
9292
input logic [47:0] id_i,
9393

94+
input logic arbitration_lost_i,
9495
// CC is decoded from the frame by the primary FSM
9596
input logic [7:0] ccc_i,
9697
// Assert valid when you want to give control to this FSM

src/ctrl/controller.sv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ module controller
7070
output logic scl_o,
7171
output logic sda_o,
7272
output logic sel_od_pp_o,
73+
input logic arbitration_lost_i,
7374

7475
// HCI queues
7576
// Command FIFO
@@ -459,6 +460,7 @@ module controller
459460
.ctrl_scl_o(ctrl_scl_o[2:3]),
460461
.ctrl_sda_o(ctrl_sda_o[2:3]),
461462
.phy_sel_od_pp_o(ctrl_sel_od_pp_i[2:3]),
463+
.arbitration_lost_i(arbitration_lost_i),
462464
.rx_desc_queue_full_i(tti_rx_desc_queue_full_i),
463465
.rx_desc_queue_depth_i(tti_rx_desc_queue_depth_i),
464466
.rx_desc_queue_ready_thld_i(tti_rx_desc_queue_ready_thld_i),

src/ctrl/controller_standby.sv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ module controller_standby
3737
output logic ctrl_scl_o[2],
3838
output logic ctrl_sda_o[2],
3939
output logic phy_sel_od_pp_o[2],
40+
input logic arbitration_lost_i,
4041

4142
// Target Transaction Interface
4243

@@ -385,6 +386,7 @@ module controller_standby
385386
.ctrl_bus_i(ctrl_bus_i[1]),
386387
.ctrl_scl_o(ctrl_scl_o[1]),
387388
.ctrl_sda_o(ctrl_sda_o[1]),
389+
.arbitration_lost_i(arbitration_lost_i),
388390
.phy_sel_od_pp_o(phy_sel_od_pp_o[1]),
389391
.rx_desc_queue_wvalid_o(i3c_rx_desc_queue_wvalid_o),
390392
.rx_desc_queue_wdata_o(i3c_rx_desc_queue_wdata_o),

src/ctrl/controller_standby_i3c.sv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ module controller_standby_i3c
2323
output logic ctrl_scl_o,
2424
output logic ctrl_sda_o,
2525
output logic phy_sel_od_pp_o,
26+
input logic arbitration_lost_i,
2627

2728
// Target Transaction Interface
2829

@@ -468,6 +469,7 @@ module controller_standby_i3c
468469
.clk_i,
469470
.rst_ni,
470471
.id_i,
472+
.arbitration_lost_i,
471473
.ccc_i (ccc),
472474
.ccc_valid_i (ccc_valid),
473475
.done_fsm_o (is_ccc_done),

src/i3c.sv

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,9 @@ module i3c
539539
logic virtual_device_sel;
540540
logic xfer_in_progress;
541541

542+
logic arbitration_lost;
543+
544+
assign arbitration_lost = sda_i != sda_o;
542545

543546
// HCI
544547
I3CCSR_pkg::I3CCSR__I3C_EC__TTI__out_t hwif_tti_out;
@@ -566,6 +569,7 @@ module i3c
566569
.scl_o(ctrl2phy_scl),
567570
.sda_o(ctrl2phy_sda),
568571
.sel_od_pp_o(ctrl_sel_od_pp),
572+
.arbitration_lost_i(arbitration_lost),
569573

570574
// HCI Response queue
571575
.hci_resp_queue_empty_i(hci_resp_empty),

0 commit comments

Comments
 (0)