Skip to content

Commit bc15a63

Browse files
committed
add stub entdaa module
1 parent 1b75b04 commit bc15a63

File tree

7 files changed

+39
-1
lines changed

7 files changed

+39
-1
lines changed

src/ctrl/ccc.sv

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ module ccc
8989
(
9090
input logic clk_i, // Clock
9191
input logic rst_ni, // Async reset, active low
92+
input logic [47:0] id_i,
9293

9394
// CC is decoded from the frame by the primary FSM
9495
input logic [7:0] ccc_i,
@@ -459,8 +460,10 @@ module ccc
459460
// have defining byte
460461
if (have_defining_byte) state_d = RxDefByte;
461462
else begin
463+
// ENTDAA is special
464+
if (command_code == ENTDAA) state_d = HandleENTDAA;
462465
// broadcast CCCs
463-
if (~is_direct_cmd) state_d = RxData;
466+
else if (~is_direct_cmd) state_d = RxData;
464467
// direct CCCs
465468
else
466469
state_d = RxByte;

src/ctrl/ccc_entdaa.sv

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
module ccc_entdaa
2+
import controller_pkg::*;
3+
import i3c_pkg::*;
4+
(
5+
input logic clk_i, // Clock
6+
input logic rst_ni, // Async reset, active low
7+
input logic [47:0] id_i,
8+
input start_daa,
9+
output done_daa
10+
);
11+
12+
13+
typedef enum logic [7:0] {
14+
Idle,
15+
ReceiveRsvdByte,
16+
AckRsvdByte,
17+
SendID,
18+
ReceiveAddr,
19+
Done,
20+
Error
21+
} state_e;
22+
23+
state_e state_q, state_d;
24+
25+
endmodule

src/ctrl/controller.sv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ module controller
6262
) (
6363
input logic clk_i,
6464
input logic rst_ni,
65+
input logic [47:0] id_i,
6566

6667
// Interface to SDA/SCL
6768
input logic scl_i,
@@ -453,6 +454,7 @@ module controller
453454
controller_standby xcontroller_standby (
454455
.clk_i(clk_i),
455456
.rst_ni(rst_ni),
457+
.id_i(id_i),
456458
.ctrl_bus_i(ctrl_bus_i[2:3]),
457459
.ctrl_scl_o(ctrl_scl_o[2:3]),
458460
.ctrl_sda_o(ctrl_sda_o[2:3]),

src/ctrl/controller_standby.sv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ module controller_standby
3030
) (
3131
input logic clk_i,
3232
input logic rst_ni,
33+
input logic [47:0] id_i,
3334

3435
// Interface to SDA/SCL
3536
input bus_state_t ctrl_bus_i[2],
@@ -380,6 +381,7 @@ module controller_standby
380381
) xcontroller_standby_i3c (
381382
.clk_i(clk_i),
382383
.rst_ni(rst_ni),
384+
.id_i(id_i)
383385
.ctrl_bus_i(ctrl_bus_i[1]),
384386
.ctrl_scl_o(ctrl_scl_o[1]),
385387
.ctrl_sda_o(ctrl_sda_o[1]),

src/ctrl/controller_standby_i3c.sv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ module controller_standby_i3c
1616
) (
1717
input logic clk_i,
1818
input logic rst_ni,
19+
input logic [47:0] id_i,
1920

2021
// Interface to SDA/SCL
2122
input bus_state_t ctrl_bus_i,
@@ -466,6 +467,7 @@ module controller_standby_i3c
466467
ccc xccc (
467468
.clk_i,
468469
.rst_ni,
470+
.id_i,
469471
.ccc_i (ccc),
470472
.ccc_valid_i (ccc_valid),
471473
.done_fsm_o (is_ccc_done),

src/i3c.sv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ module i3c
102102
) (
103103
input clk_i, // clock
104104
input rst_ni, // active low reset
105+
input logic [47:0] id_i,
105106

106107
`ifdef I3C_USE_AHB
107108
// AHB-Lite interface
@@ -558,6 +559,7 @@ module i3c
558559
) xcontroller (
559560
.clk_i (clk_i),
560561
.rst_ni(rst_ni),
562+
.id_i (id_i),
561563

562564
.scl_i(phy2ctrl_scl),
563565
.sda_i(phy2ctrl_sda),

src/i3c_wrapper.sv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ module i3c_wrapper #(
2222
) (
2323
input clk_i, // clock
2424
input rst_ni, // active low reset
25+
input logic [47:0] id_i,
2526

2627
`ifdef I3C_USE_AHB
2728
// AHB-Lite interface
@@ -162,6 +163,7 @@ module i3c_wrapper #(
162163
) i3c (
163164
.clk_i,
164165
.rst_ni,
166+
.id_i,
165167

166168
`ifdef I3C_USE_AHB
167169
.haddr_i,

0 commit comments

Comments
 (0)