[pwrmgr, rv_core_ibex, top] Same clks/rsts for escalate pairs

- Fixes #8037
- Ensures that pwrmgr / rv_core_ibex escalator clocks/resets can
  be assigned to the same clock group / power domain as the alert
  handler.  This guarantees we do not have any out of sync issues,
  and only need to handle the isolation values.

Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/hw/ip/pwrmgr/data/pwrmgr.hjson b/hw/ip/pwrmgr/data/pwrmgr.hjson
index a029cbd..e1e7114 100644
--- a/hw/ip/pwrmgr/data/pwrmgr.hjson
+++ b/hw/ip/pwrmgr/data/pwrmgr.hjson
@@ -12,6 +12,7 @@
     {clock: "clk_i", reset: "rst_ni", primary: true},
     {reset: "rst_main_ni"},
     {clock: "clk_slow_i", reset: "rst_slow_ni"}
+    {clock: "clk_esc_i", reset: "rst_esc_ni"}
   ]
   bus_interfaces: [
     { protocol: "tlul", direction: "device" }
diff --git a/hw/ip/pwrmgr/data/pwrmgr.hjson.tpl b/hw/ip/pwrmgr/data/pwrmgr.hjson.tpl
index 1a9d88e..f2f01b6 100644
--- a/hw/ip/pwrmgr/data/pwrmgr.hjson.tpl
+++ b/hw/ip/pwrmgr/data/pwrmgr.hjson.tpl
@@ -5,7 +5,8 @@
   clocking: [
     {clock: "clk_i", reset: "rst_ni", primary: true},
     {reset: "rst_main_ni"},
-    {clock: "clk_slow_i", reset: "rst_slow_ni"}
+    {clock: "clk_slow_i", reset: "rst_slow_ni"},
+    {clock: "clk_esc_i", reset: "rst_esc_ni"}
   ]
   bus_interfaces: [
     { protocol: "tlul", direction: "device" }
diff --git a/hw/ip/pwrmgr/dv/tb.sv b/hw/ip/pwrmgr/dv/tb.sv
index 5909f9e..6b3b83e 100644
--- a/hw/ip/pwrmgr/dv/tb.sv
+++ b/hw/ip/pwrmgr/dv/tb.sv
@@ -52,6 +52,8 @@
     .clk_slow_i (clk_slow),
     .rst_slow_ni(rst_slow_n),
     .rst_main_ni(rst_slow_n),
+    .clk_esc_i  (clk),
+    .rst_esc_ni (rst_n),
 
     .tl_i(tl_if.h2d),
     .tl_o(tl_if.d2h),
diff --git a/hw/ip/pwrmgr/rtl/pwrmgr.sv b/hw/ip/pwrmgr/rtl/pwrmgr.sv
index ba7b61c..86aaca6 100644
--- a/hw/ip/pwrmgr/rtl/pwrmgr.sv
+++ b/hw/ip/pwrmgr/rtl/pwrmgr.sv
@@ -19,6 +19,8 @@
   input rst_slow_ni,
   input rst_ni,
   input rst_main_ni,
+  input clk_esc_i,
+  input rst_esc_ni,
 
   // Bus Interface
   input  tlul_pkg::tl_h2d_t tl_i,
@@ -84,8 +86,8 @@
     .N_ESC_SEV   (alert_handler_reg_pkg::N_ESC_SEV),
     .PING_CNT_DW (alert_handler_reg_pkg::PING_CNT_DW)
   ) u_esc_rx (
-    .clk_i,
-    .rst_ni,
+    .clk_i(clk_esc_i),
+    .rst_ni(rst_esc_ni),
     .esc_req_o(esc_rst_req),
     .esc_rx_o(esc_rst_rx_o),
     .esc_tx_i(esc_rst_tx_i)
diff --git a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
index 6992eca..2d3f25e 100644
--- a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
+++ b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
@@ -2333,12 +2333,17 @@
     {
       name: pwrmgr_aon
       type: pwrmgr
+      clock_group: powerup
       clock_srcs:
       {
         clk_i: io_div4
         clk_slow_i: aon
+        clk_esc_i:
+        {
+          clock: io_div4
+          group: secure
+        }
       }
-      clock_group: powerup
       reset_connections:
       {
         rst_ni:
@@ -2351,6 +2356,11 @@
           name: por_aon
           domain: "0"
         }
+        rst_esc_ni:
+        {
+          name: lc_io_div4
+          domain: "0"
+        }
         rst_slow_ni:
         {
           name: por_aon
@@ -2367,6 +2377,7 @@
       {
         clk_i: clkmgr_aon_clocks.clk_io_div4_powerup
         clk_slow_i: clkmgr_aon_clocks.clk_aon_powerup
+        clk_esc_i: clkmgr_aon_clocks.clk_io_div4_secure
       }
       param_decl: {}
       param_list: []
@@ -6451,7 +6462,11 @@
       clock_srcs:
       {
         clk_i: main
-        clk_esc_i: io_div4
+        clk_esc_i:
+        {
+          clock: io_div4
+          group: secure
+        }
       }
       clock_group: infra
       reset_connections:
@@ -6470,7 +6485,7 @@
       clock_connections:
       {
         clk_i: clkmgr_aon_clocks.clk_main_infra
-        clk_esc_i: clkmgr_aon_clocks.clk_io_div4_infra
+        clk_esc_i: clkmgr_aon_clocks.clk_io_div4_secure
       }
       domain:
       [
diff --git a/hw/top_earlgrey/data/top_earlgrey.hjson b/hw/top_earlgrey/data/top_earlgrey.hjson
index a481df1..53a92f7 100644
--- a/hw/top_earlgrey/data/top_earlgrey.hjson
+++ b/hw/top_earlgrey/data/top_earlgrey.hjson
@@ -329,8 +329,15 @@
     },
     { name: "pwrmgr_aon",
       type: "pwrmgr",
-      clock_srcs: {clk_i: "io_div4", clk_slow_i: "aon"},
       clock_group: "powerup",
+      clock_srcs: {
+        clk_i: "io_div4",
+        clk_slow_i: "aon",
+        clk_esc_i: {
+          clock: "io_div4",
+          group: "secure"
+        }
+      },
       reset_connections: {
         rst_ni: {
           name: "por_io_div4",
@@ -339,7 +346,11 @@
         rst_main_ni: {
           name: "por_aon",
           domain: "0"
-        }
+        },
+        rst_esc_ni: {
+          name: "lc_io_div4",
+          domain: "0"
+        },
         rst_slow_ni: {
           name: "por_aon",
           domain: "Aon",
@@ -659,8 +670,14 @@
                    DmHaltAddr: "tl_main_pkg::ADDR_SPACE_RV_DM__ROM + dm::HaltAddress[31:0]",
                    DmExceptionAddr: "tl_main_pkg::ADDR_SPACE_RV_DM__ROM + dm::ExceptionAddress[31:0]",
                    PipeLine: "0"
-                  }
-      clock_srcs: {clk_i: "main", clk_esc_i: "io_div4"},
+                  },
+      clock_srcs: {
+        clk_i: "main",
+        clk_esc_i: {
+          clock: "io_div4",
+          group: "secure",
+        }
+      },
       clock_group: "infra",
       reset_connections: {rst_ni: "sys", rst_esc_ni: "lc_io_div4"},
       base_addr: "0x411F0000",
diff --git a/hw/top_earlgrey/ip/pwrmgr/data/autogen/pwrmgr.hjson b/hw/top_earlgrey/ip/pwrmgr/data/autogen/pwrmgr.hjson
index c576e20..c02aaa3 100644
--- a/hw/top_earlgrey/ip/pwrmgr/data/autogen/pwrmgr.hjson
+++ b/hw/top_earlgrey/ip/pwrmgr/data/autogen/pwrmgr.hjson
@@ -11,7 +11,8 @@
   clocking: [
     {clock: "clk_i", reset: "rst_ni", primary: true},
     {reset: "rst_main_ni"},
-    {clock: "clk_slow_i", reset: "rst_slow_ni"}
+    {clock: "clk_slow_i", reset: "rst_slow_ni"},
+    {clock: "clk_esc_i", reset: "rst_esc_ni"}
   ]
   bus_interfaces: [
     { protocol: "tlul", direction: "device" }
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
index 680198d..19b65b1 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -1522,8 +1522,10 @@
       // Clock and reset connections
       .clk_i (clkmgr_aon_clocks.clk_io_div4_powerup),
       .clk_slow_i (clkmgr_aon_clocks.clk_aon_powerup),
+      .clk_esc_i (clkmgr_aon_clocks.clk_io_div4_secure),
       .rst_ni (rstmgr_aon_resets.rst_por_io_div4_n[rstmgr_pkg::DomainAonSel]),
       .rst_main_ni (rstmgr_aon_resets.rst_por_aon_n[rstmgr_pkg::Domain0Sel]),
+      .rst_esc_ni (rstmgr_aon_resets.rst_lc_io_div4_n[rstmgr_pkg::Domain0Sel]),
       .rst_slow_ni (rstmgr_aon_resets.rst_por_aon_n[rstmgr_pkg::DomainAonSel])
   );
 
@@ -2378,7 +2380,7 @@
 
       // Clock and reset connections
       .clk_i (clkmgr_aon_clocks.clk_main_infra),
-      .clk_esc_i (clkmgr_aon_clocks.clk_io_div4_infra),
+      .clk_esc_i (clkmgr_aon_clocks.clk_io_div4_secure),
       .rst_ni (rstmgr_aon_resets.rst_sys_n[rstmgr_pkg::Domain0Sel]),
       .rst_esc_ni (rstmgr_aon_resets.rst_lc_io_div4_n[rstmgr_pkg::Domain0Sel])
   );
diff --git a/hw/top_englishbreakfast/data/top_englishbreakfast.hjson b/hw/top_englishbreakfast/data/top_englishbreakfast.hjson
index bd1f1be..78df239 100644
--- a/hw/top_englishbreakfast/data/top_englishbreakfast.hjson
+++ b/hw/top_englishbreakfast/data/top_englishbreakfast.hjson
@@ -227,9 +227,14 @@
     },
     { name: "pwrmgr_aon",
       type: "pwrmgr",
-      clock_srcs: {clk_i: "io_div4", clk_slow_i: "aon"},
+      clock_srcs: {clk_i: "io_div4", clk_slow_i: "aon", clk_esc_i: "io_div4"},
       clock_group: "powerup",
-      reset_connections: {rst_ni: "por_io_div4", rst_main_ni: "por_aon", rst_slow_ni: "por_aon"},
+      reset_connections: {
+        rst_ni: "por_io_div4",
+        rst_esc_ni: "lc_io_div4",
+        rst_main_ni: "por_aon",
+        rst_slow_ni: "por_aon"
+      },
       domain: ["Aon"],
       base_addr: "0x40400000",
       attr: "templated",