[Earlgrey] Generate top for updated Pinmux
Pinmux example hjson and the top-specific hjson are re-generated.
Signed-off-by: Eunchan Kim <eunchan@opentitan.org>
diff --git a/hw/ip/pinmux/data/pinmux.hjson b/hw/ip/pinmux/data/pinmux.hjson
index 4ab2b77..759e3b9 100644
--- a/hw/ip/pinmux/data/pinmux.hjson
+++ b/hw/ip/pinmux/data/pinmux.hjson
@@ -28,9 +28,15 @@
bus_device: "tlul",
regwidth: "32",
+ wakeup_list: [
+ { name: "aon_wkup_req",
+ desc: "pin wake request"
+ }
+ ],
+
inter_signal_list: [
// Define lc <-> pinmux signal for strap sampling
- { struct: "lc_pinmux_strap",
+ { struct: "lc_strap",
type: "req_rsp",
name: "lc_pinmux_strap",
act: "rsp",
diff --git a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
index 924a1c1..5685331 100644
--- a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
+++ b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
@@ -830,7 +830,7 @@
inter_signal_list:
[
{
- struct: lc_pinmux_strap
+ struct: lc_strap
type: req_rsp
name: lc_pinmux_strap
act: rsp
@@ -3476,7 +3476,7 @@
index: -1
}
{
- struct: lc_pinmux_strap
+ struct: lc_strap
type: req_rsp
name: lc_pinmux_strap
act: rsp
diff --git a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv
index 5084b0d..debbd00 100644
--- a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv
+++ b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr.sv
@@ -68,13 +68,18 @@
////////////////////////////////////////////////////
+ // Feed through clocks
+ // Feed through clocks do not actually need to be in clkmgr, as they are
+ // completely untouched. The only reason they are here is for easier
+ // bundling management purposes through clocks_o
+ ////////////////////////////////////////////////////
+ assign clocks_o.clk_aon_i = clk_aon_i;
+
+
+ ////////////////////////////////////////////////////
// Root gating
////////////////////////////////////////////////////
- // the rst_ni connection below is incorrect, need to find a proper reset in the sequence to use
- // if the clkmgr is always on, can use por synced directly
- // if not, then need to generate something ahead of lc/sys
-
logic async_roots_en;
logic roots_en_q2, roots_en_q1, roots_en_d;
logic clk_main_root;
@@ -156,9 +161,6 @@
// Software direct control group
////////////////////////////////////////////////////
- // the rst_ni connection below is incorrect, need to find a proper reset in the sequence to use
- // if the clkmgr is always on, can use por synced directly
- // if not, then need to generate something ahead of lc/sys
logic clk_io_peri_sw_en;
logic clk_usb_peri_sw_en;
@@ -201,10 +203,6 @@
// clock target
////////////////////////////////////////////////////
- // the rst_ni connection below is incorrect, need to find a proper reset in the sequence to use
- // if the clkmgr is always on, can use por synced directly
- // if not, then need to generate something ahead of lc/sys
-
logic clk_main_aes_hint;
logic clk_main_aes_en;
logic clk_main_hmac_hint;
diff --git a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr_pkg.sv b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr_pkg.sv
index 70cda99..d90a27f 100644
--- a/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr_pkg.sv
+++ b/hw/top_earlgrey/ip/clkmgr/rtl/autogen/clkmgr_pkg.sv
@@ -17,6 +17,7 @@
};
typedef struct packed {
+ logic clk_aon_i;
logic clk_main_aes;
logic clk_main_hmac;
logic clk_main_otbn;
diff --git a/hw/top_earlgrey/ip/pinmux/data/autogen/pinmux.hjson b/hw/top_earlgrey/ip/pinmux/data/autogen/pinmux.hjson
index 16418a6..a7ef946 100644
--- a/hw/top_earlgrey/ip/pinmux/data/autogen/pinmux.hjson
+++ b/hw/top_earlgrey/ip/pinmux/data/autogen/pinmux.hjson
@@ -44,7 +44,7 @@
inter_signal_list: [
// Define lc <-> pinmux signal for strap sampling
- { struct: "lc_pinmux_strap",
+ { struct: "lc_strap",
type: "req_rsp",
name: "lc_pinmux_strap",
act: "rsp",
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
index 3ff1689..77dd4e7 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -685,7 +685,7 @@
.tl_o (tl_pinmux_d_d2h),
// Inter-module signals
- .lc_pinmux_strap_i(pinmux_pkg::LC_PINMUX_STRAP_REQ_DEFAULT),
+ .lc_pinmux_strap_i(pinmux_pkg::LC_STRAP_REQ_DEFAULT),
.lc_pinmux_strap_o(),
.sleep_en_i('0),
.aon_wkup_req_o(pwrmgr_wakeups),