File tree Expand file tree Collapse file tree 5 files changed +11
-0
lines changed Expand file tree Collapse file tree 5 files changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -91,6 +91,7 @@ module ccc
91
91
input logic rst_ni, // Async reset, active low
92
92
input logic [47 : 0 ] id_i,
93
93
94
+ input logic arbitration_lost_i,
94
95
// CC is decoded from the frame by the primary FSM
95
96
input logic [7 : 0 ] ccc_i,
96
97
// Assert valid when you want to give control to this FSM
Original file line number Diff line number Diff line change @@ -70,6 +70,7 @@ module controller
70
70
output logic scl_o,
71
71
output logic sda_o,
72
72
output logic sel_od_pp_o,
73
+ input logic arbitration_lost_i,
73
74
74
75
// HCI queues
75
76
// Command FIFO
@@ -459,6 +460,7 @@ module controller
459
460
.ctrl_scl_o (ctrl_scl_o[2 : 3 ]),
460
461
.ctrl_sda_o (ctrl_sda_o[2 : 3 ]),
461
462
.phy_sel_od_pp_o (ctrl_sel_od_pp_i[2 : 3 ]),
463
+ .arbitration_lost_i (arbitration_lost_i),
462
464
.rx_desc_queue_full_i (tti_rx_desc_queue_full_i),
463
465
.rx_desc_queue_depth_i (tti_rx_desc_queue_depth_i),
464
466
.rx_desc_queue_ready_thld_i (tti_rx_desc_queue_ready_thld_i),
Original file line number Diff line number Diff line change @@ -37,6 +37,7 @@ module controller_standby
37
37
output logic ctrl_scl_o[2 ],
38
38
output logic ctrl_sda_o[2 ],
39
39
output logic phy_sel_od_pp_o[2 ],
40
+ input logic arbitration_lost_i,
40
41
41
42
// Target Transaction Interface
42
43
@@ -385,6 +386,7 @@ module controller_standby
385
386
.ctrl_bus_i (ctrl_bus_i[1 ]),
386
387
.ctrl_scl_o (ctrl_scl_o[1 ]),
387
388
.ctrl_sda_o (ctrl_sda_o[1 ]),
389
+ .arbitration_lost_i (arbitration_lost_i),
388
390
.phy_sel_od_pp_o (phy_sel_od_pp_o[1 ]),
389
391
.rx_desc_queue_wvalid_o (i3c_rx_desc_queue_wvalid_o),
390
392
.rx_desc_queue_wdata_o (i3c_rx_desc_queue_wdata_o),
Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ module controller_standby_i3c
23
23
output logic ctrl_scl_o,
24
24
output logic ctrl_sda_o,
25
25
output logic phy_sel_od_pp_o,
26
+ input logic arbitration_lost_i,
26
27
27
28
// Target Transaction Interface
28
29
@@ -468,6 +469,7 @@ module controller_standby_i3c
468
469
.clk_i,
469
470
.rst_ni,
470
471
.id_i,
472
+ .arbitration_lost_i,
471
473
.ccc_i (ccc),
472
474
.ccc_valid_i (ccc_valid),
473
475
.done_fsm_o (is_ccc_done),
Original file line number Diff line number Diff line change @@ -539,6 +539,9 @@ module i3c
539
539
logic virtual_device_sel;
540
540
logic xfer_in_progress;
541
541
542
+ logic arbitration_lost;
543
+
544
+ assign arbitration_lost = sda_i != sda_o;
542
545
543
546
// HCI
544
547
I3CCSR_pkg :: I3CCSR__I3C_EC__TTI__out_t hwif_tti_out;
@@ -566,6 +569,7 @@ module i3c
566
569
.scl_o (ctrl2phy_scl),
567
570
.sda_o (ctrl2phy_sda),
568
571
.sel_od_pp_o (ctrl_sel_od_pp),
572
+ .arbitration_lost_i (arbitration_lost),
569
573
570
574
// HCI Response queue
571
575
.hci_resp_queue_empty_i (hci_resp_empty),
You can’t perform that action at this time.
0 commit comments