[top] Updates for silver
- rename pwrmgr clamp envelope signal
- minor correction for ast2pinmux bit width
Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/hw/ip/pwrmgr/rtl/pwrmgr_pkg.sv b/hw/ip/pwrmgr/rtl/pwrmgr_pkg.sv
index 6fd12b1..6482ebc 100644
--- a/hw/ip/pwrmgr/rtl/pwrmgr_pkg.sv
+++ b/hw/ip/pwrmgr/rtl/pwrmgr_pkg.sv
@@ -25,7 +25,7 @@
// pwrmgr to ast
typedef struct packed {
logic main_pd_n;
- logic pwr_clamp_early;
+ logic pwr_clamp_env;
logic pwr_clamp;
logic slow_clk_en;
logic core_clk_en;
diff --git a/hw/ip/pwrmgr/rtl/pwrmgr_slow_fsm.sv b/hw/ip/pwrmgr/rtl/pwrmgr_slow_fsm.sv
index e0a904e..9a7dbee 100644
--- a/hw/ip/pwrmgr/rtl/pwrmgr_slow_fsm.sv
+++ b/hw/ip/pwrmgr/rtl/pwrmgr_slow_fsm.sv
@@ -46,7 +46,7 @@
// All power signals and signals going to analog logic are flopped to avoid transitional glitches
logic pd_nq, pd_nd;
logic pwr_clamp_q, pwr_clamp_d;
- logic pwr_clamp_early_q, pwr_clamp_early_d;
+ logic pwr_clamp_env_q, pwr_clamp_env_d;
logic core_clk_en_q, core_clk_en_d;
logic io_clk_en_q, io_clk_en_d;
logic usb_clk_en_q, usb_clk_en_d;
@@ -74,7 +74,7 @@
// pwrmgr resets assuming main power domain is already ready
pd_nq <= 1'b1;
pwr_clamp_q <= 1'b0;
- pwr_clamp_early_q <= 1'b0;
+ pwr_clamp_env_q <= 1'b0;
core_clk_en_q <= 1'b0;
io_clk_en_q <= 1'b0;
usb_clk_en_q <= 1'b0;
@@ -86,7 +86,7 @@
cause_toggle_q <= cause_toggle_d;
pd_nq <= pd_nd;
pwr_clamp_q <= pwr_clamp_d;
- pwr_clamp_early_q <= pwr_clamp_early_d;
+ pwr_clamp_env_q <= pwr_clamp_env_d;
core_clk_en_q <= core_clk_en_d;
io_clk_en_q <= io_clk_en_d;
usb_clk_en_q <= usb_clk_en_d;
@@ -101,7 +101,7 @@
pd_nd = pd_nq;
cause_toggle_d = cause_toggle_q;
pwr_clamp_d = pwr_clamp_q;
- pwr_clamp_early_d = pwr_clamp_early_q;
+ pwr_clamp_env_d = pwr_clamp_env_q;
core_clk_en_d = core_clk_en_q;
io_clk_en_d = io_clk_en_q;
usb_clk_en_d = usb_clk_en_q;
@@ -130,7 +130,7 @@
pd_nd = 1'b1;
if (ast_i.main_pok) begin
- pwr_clamp_early_d = 1'b0;
+ pwr_clamp_env_d = 1'b0;
state_d = SlowPwrStatePwrClampOff;
end
end
@@ -187,14 +187,14 @@
if (all_clks_invalid) begin
// if main power is turned off, assert early clamp ahead
- pwr_clamp_early_d = ~main_pd_ni;
+ pwr_clamp_env_d = ~main_pd_ni;
state_d = SlowPwrStatePwrClampOn;
end
end
SlowPwrStatePwrClampOn: begin
// if main power is turned off, assert clamp ahead
- pwr_clamp_d = pwr_clamp_early_q;
+ pwr_clamp_d = pwr_clamp_env_q;
state_d = SlowPwrStateMainPowerOff;
end
@@ -230,7 +230,7 @@
assign ast_o.io_clk_en = io_clk_en_q;
assign ast_o.usb_clk_en = usb_clk_en_q;
assign ast_o.main_pd_n = pd_nq;
- assign ast_o.pwr_clamp_early = pwr_clamp_early_q;
+ assign ast_o.pwr_clamp_env = pwr_clamp_env_q;
assign ast_o.pwr_clamp = pwr_clamp_q;
// This is hardwired to 1 all the time
assign ast_o.slow_clk_en = 1'b1;
diff --git a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
index 22fb39a..17046c5 100644
--- a/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
+++ b/hw/top_earlgrey/data/autogen/top_earlgrey.gen.hjson
@@ -3168,7 +3168,7 @@
struct: logic
type: uni
act: rcv
- width: 10
+ width: 9
inst_name: sensor_ctrl_aon
default: ""
external: true
@@ -9550,7 +9550,7 @@
}
{
name: sensor_ctrl_aon_ast_debug_out
- width: 10
+ width: 9
type: output
idx: 0
pad: ""
@@ -9560,7 +9560,7 @@
}
{
name: sensor_ctrl_aon_ast_debug_out
- width: 10
+ width: 9
type: output
idx: 1
pad: ""
@@ -9570,7 +9570,7 @@
}
{
name: sensor_ctrl_aon_ast_debug_out
- width: 10
+ width: 9
type: output
idx: 2
pad: ""
@@ -9580,7 +9580,7 @@
}
{
name: sensor_ctrl_aon_ast_debug_out
- width: 10
+ width: 9
type: output
idx: 3
pad: ""
@@ -9590,7 +9590,7 @@
}
{
name: sensor_ctrl_aon_ast_debug_out
- width: 10
+ width: 9
type: output
idx: 4
pad: ""
@@ -9600,7 +9600,7 @@
}
{
name: sensor_ctrl_aon_ast_debug_out
- width: 10
+ width: 9
type: output
idx: 5
pad: ""
@@ -9610,7 +9610,7 @@
}
{
name: sensor_ctrl_aon_ast_debug_out
- width: 10
+ width: 9
type: output
idx: 6
pad: ""
@@ -9620,7 +9620,7 @@
}
{
name: sensor_ctrl_aon_ast_debug_out
- width: 10
+ width: 9
type: output
idx: 7
pad: ""
@@ -9630,7 +9630,7 @@
}
{
name: sensor_ctrl_aon_ast_debug_out
- width: 10
+ width: 9
type: output
idx: 8
pad: ""
@@ -9639,16 +9639,6 @@
glob_idx: 61
}
{
- name: sensor_ctrl_aon_ast_debug_out
- width: 10
- type: output
- idx: 9
- pad: ""
- attr: ""
- connection: muxed
- glob_idx: 62
- }
- {
name: pwm_aon_pwm
width: 6
type: output
@@ -9656,7 +9646,7 @@
pad: ""
attr: ""
connection: muxed
- glob_idx: 63
+ glob_idx: 62
}
{
name: pwm_aon_pwm
@@ -9666,7 +9656,7 @@
pad: ""
attr: ""
connection: muxed
- glob_idx: 64
+ glob_idx: 63
}
{
name: pwm_aon_pwm
@@ -9676,7 +9666,7 @@
pad: ""
attr: ""
connection: muxed
- glob_idx: 65
+ glob_idx: 64
}
{
name: pwm_aon_pwm
@@ -9686,7 +9676,7 @@
pad: ""
attr: ""
connection: muxed
- glob_idx: 66
+ glob_idx: 65
}
{
name: pwm_aon_pwm
@@ -9696,7 +9686,7 @@
pad: ""
attr: ""
connection: muxed
- glob_idx: 67
+ glob_idx: 66
}
{
name: pwm_aon_pwm
@@ -9706,7 +9696,7 @@
pad: ""
attr: ""
connection: muxed
- glob_idx: 68
+ glob_idx: 67
}
{
name: sysrst_ctrl_aon_bat_disable
@@ -9716,7 +9706,7 @@
pad: ""
attr: ""
connection: muxed
- glob_idx: 69
+ glob_idx: 68
}
{
name: sysrst_ctrl_aon_ec_rst_out_l
@@ -9736,7 +9726,7 @@
pad: ""
attr: ""
connection: muxed
- glob_idx: 70
+ glob_idx: 69
}
{
name: sysrst_ctrl_aon_key1_out
@@ -9746,7 +9736,7 @@
pad: ""
attr: ""
connection: muxed
- glob_idx: 71
+ glob_idx: 70
}
{
name: sysrst_ctrl_aon_key2_out
@@ -9756,7 +9746,7 @@
pad: ""
attr: ""
connection: muxed
- glob_idx: 72
+ glob_idx: 71
}
{
name: sysrst_ctrl_aon_pwrb_out
@@ -9782,7 +9772,7 @@
{
inouts: 42
inputs: 13
- outputs: 31
+ outputs: 30
pads: 47
}
}
@@ -13118,7 +13108,7 @@
struct: logic
type: uni
act: rcv
- width: 10
+ width: 9
inst_name: sensor_ctrl_aon
default: ""
external: true
@@ -15572,7 +15562,7 @@
package: ""
struct: logic
signame: ast2pinmux_i
- width: 10
+ width: 9
type: uni
default: ""
direction: in
diff --git a/hw/top_earlgrey/ip/pinmux/data/autogen/pinmux.hjson b/hw/top_earlgrey/ip/pinmux/data/autogen/pinmux.hjson
index e717a19..173c6a7 100644
--- a/hw/top_earlgrey/ip/pinmux/data/autogen/pinmux.hjson
+++ b/hw/top_earlgrey/ip/pinmux/data/autogen/pinmux.hjson
@@ -160,7 +160,7 @@
{ name: "NMioPeriphOut",
desc: "Number of muxed peripheral outputs",
type: "int",
- default: "73",
+ default: "72",
local: "true"
},
{ name: "NMioPads",
diff --git a/hw/top_earlgrey/ip/pinmux/rtl/autogen/pinmux_reg_pkg.sv b/hw/top_earlgrey/ip/pinmux/rtl/autogen/pinmux_reg_pkg.sv
index a8bf089..4eb74ea 100644
--- a/hw/top_earlgrey/ip/pinmux/rtl/autogen/pinmux_reg_pkg.sv
+++ b/hw/top_earlgrey/ip/pinmux/rtl/autogen/pinmux_reg_pkg.sv
@@ -9,7 +9,7 @@
// Param list
parameter int AttrDw = 13;
parameter int NMioPeriphIn = 55;
- parameter int NMioPeriphOut = 73;
+ parameter int NMioPeriphOut = 72;
parameter int NMioPads = 47;
parameter int NDioPads = 24;
parameter int NWkupDetect = 8;
diff --git a/hw/top_earlgrey/ip/sensor_ctrl/data/sensor_ctrl.hjson b/hw/top_earlgrey/ip/sensor_ctrl/data/sensor_ctrl.hjson
index 26f92be..82d3c79 100644
--- a/hw/top_earlgrey/ip/sensor_ctrl/data/sensor_ctrl.hjson
+++ b/hw/top_earlgrey/ip/sensor_ctrl/data/sensor_ctrl.hjson
@@ -16,7 +16,7 @@
available_output_list: [
{ name: "ast_debug_out",
desc: "ast debug outputs to pinmux",
- width: "10"
+ width: "9"
}
],
regwidth: "32",
@@ -122,7 +122,7 @@
type: "uni",
name: "ast2pinmux",
act: "rcv",
- width: 10,
+ width: 9,
package: ""
},
],
diff --git a/hw/top_earlgrey/rtl/autogen/chip_earlgrey_asic.sv b/hw/top_earlgrey/rtl/autogen/chip_earlgrey_asic.sv
index 239f18d..ec41c36 100644
--- a/hw/top_earlgrey/rtl/autogen/chip_earlgrey_asic.sv
+++ b/hw/top_earlgrey/rtl/autogen/chip_earlgrey_asic.sv
@@ -980,7 +980,7 @@
.vioa_pok_o ( ast_status.io_pok[0] ),
.viob_pok_o ( ast_status.io_pok[1] ),
// main regulator
- .main_env_iso_en_i ( base_ast_pwr.pwr_clamp ),
+ .main_env_iso_en_i ( base_ast_pwr.pwr_clamp_env ),
.main_pd_ni ( base_ast_pwr.main_pd_n ),
// pdm control (flash)/otp
.flash_power_down_h_o ( flash_power_down_h ),
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
index a93e716..c0aa6ca 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey.sv
@@ -81,7 +81,7 @@
input ast_pkg::ast_alert_req_t sensor_ctrl_ast_alert_req_i,
output ast_pkg::ast_alert_rsp_t sensor_ctrl_ast_alert_rsp_o,
input ast_pkg::ast_status_t sensor_ctrl_ast_status_i,
- input logic [9:0] ast2pinmux_i,
+ input logic [8:0] ast2pinmux_i,
output logic usbdev_usb_ref_val_o,
output logic usbdev_usb_ref_pulse_o,
output clkmgr_pkg::clkmgr_ast_out_t clks_ast_o,
@@ -117,8 +117,8 @@
// Signals
logic [54:0] mio_p2d;
- logic [72:0] mio_d2p;
- logic [72:0] mio_en_d2p;
+ logic [71:0] mio_d2p;
+ logic [71:0] mio_en_d2p;
logic [23:0] dio_p2d;
logic [23:0] dio_d2p;
logic [23:0] dio_en_d2p;
@@ -250,8 +250,8 @@
// pinmux_aon
// aon_timer_aon
// sensor_ctrl_aon
- logic [9:0] cio_sensor_ctrl_aon_ast_debug_out_d2p;
- logic [9:0] cio_sensor_ctrl_aon_ast_debug_out_en_d2p;
+ logic [8:0] cio_sensor_ctrl_aon_ast_debug_out_d2p;
+ logic [8:0] cio_sensor_ctrl_aon_ast_debug_out_en_d2p;
// sram_ctrl_ret_aon
// flash_ctrl
logic cio_flash_ctrl_tck_p2d;
@@ -2791,7 +2791,6 @@
assign mio_d2p[MioOutSensorCtrlAonAstDebugOut6] = cio_sensor_ctrl_aon_ast_debug_out_d2p[6];
assign mio_d2p[MioOutSensorCtrlAonAstDebugOut7] = cio_sensor_ctrl_aon_ast_debug_out_d2p[7];
assign mio_d2p[MioOutSensorCtrlAonAstDebugOut8] = cio_sensor_ctrl_aon_ast_debug_out_d2p[8];
- assign mio_d2p[MioOutSensorCtrlAonAstDebugOut9] = cio_sensor_ctrl_aon_ast_debug_out_d2p[9];
assign mio_d2p[MioOutPwmAonPwm0] = cio_pwm_aon_pwm_d2p[0];
assign mio_d2p[MioOutPwmAonPwm1] = cio_pwm_aon_pwm_d2p[1];
assign mio_d2p[MioOutPwmAonPwm2] = cio_pwm_aon_pwm_d2p[2];
@@ -2866,7 +2865,6 @@
assign mio_en_d2p[MioOutSensorCtrlAonAstDebugOut6] = cio_sensor_ctrl_aon_ast_debug_out_en_d2p[6];
assign mio_en_d2p[MioOutSensorCtrlAonAstDebugOut7] = cio_sensor_ctrl_aon_ast_debug_out_en_d2p[7];
assign mio_en_d2p[MioOutSensorCtrlAonAstDebugOut8] = cio_sensor_ctrl_aon_ast_debug_out_en_d2p[8];
- assign mio_en_d2p[MioOutSensorCtrlAonAstDebugOut9] = cio_sensor_ctrl_aon_ast_debug_out_en_d2p[9];
assign mio_en_d2p[MioOutPwmAonPwm0] = cio_pwm_aon_pwm_en_d2p[0];
assign mio_en_d2p[MioOutPwmAonPwm1] = cio_pwm_aon_pwm_en_d2p[1];
assign mio_en_d2p[MioOutPwmAonPwm2] = cio_pwm_aon_pwm_en_d2p[2];
diff --git a/hw/top_earlgrey/rtl/autogen/top_earlgrey_pkg.sv b/hw/top_earlgrey/rtl/autogen/top_earlgrey_pkg.sv
index 42e937e..eaad56c 100644
--- a/hw/top_earlgrey/rtl/autogen/top_earlgrey_pkg.sv
+++ b/hw/top_earlgrey/rtl/autogen/top_earlgrey_pkg.sv
@@ -604,18 +604,17 @@
MioOutSensorCtrlAonAstDebugOut6 = 59,
MioOutSensorCtrlAonAstDebugOut7 = 60,
MioOutSensorCtrlAonAstDebugOut8 = 61,
- MioOutSensorCtrlAonAstDebugOut9 = 62,
- MioOutPwmAonPwm0 = 63,
- MioOutPwmAonPwm1 = 64,
- MioOutPwmAonPwm2 = 65,
- MioOutPwmAonPwm3 = 66,
- MioOutPwmAonPwm4 = 67,
- MioOutPwmAonPwm5 = 68,
- MioOutSysrstCtrlAonBatDisable = 69,
- MioOutSysrstCtrlAonKey0Out = 70,
- MioOutSysrstCtrlAonKey1Out = 71,
- MioOutSysrstCtrlAonKey2Out = 72,
- MioOutCount = 73
+ MioOutPwmAonPwm0 = 62,
+ MioOutPwmAonPwm1 = 63,
+ MioOutPwmAonPwm2 = 64,
+ MioOutPwmAonPwm3 = 65,
+ MioOutPwmAonPwm4 = 66,
+ MioOutPwmAonPwm5 = 67,
+ MioOutSysrstCtrlAonBatDisable = 68,
+ MioOutSysrstCtrlAonKey0Out = 69,
+ MioOutSysrstCtrlAonKey1Out = 70,
+ MioOutSysrstCtrlAonKey2Out = 71,
+ MioOutCount = 72
} mio_out_e;
// Enumeration for DIO signals, used on both the top and chip-levels.
diff --git a/hw/top_earlgrey/sw/autogen/top_earlgrey.h b/hw/top_earlgrey/sw/autogen/top_earlgrey.h
index ebe2b0c..4d68050 100644
--- a/hw/top_earlgrey/sw/autogen/top_earlgrey.h
+++ b/hw/top_earlgrey/sw/autogen/top_earlgrey.h
@@ -1404,18 +1404,17 @@
kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut6 = 62, /**< Peripheral Output 59 */
kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut7 = 63, /**< Peripheral Output 60 */
kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut8 = 64, /**< Peripheral Output 61 */
- kTopEarlgreyPinmuxOutselSensorCtrlAonAstDebugOut9 = 65, /**< Peripheral Output 62 */
- kTopEarlgreyPinmuxOutselPwmAonPwm0 = 66, /**< Peripheral Output 63 */
- kTopEarlgreyPinmuxOutselPwmAonPwm1 = 67, /**< Peripheral Output 64 */
- kTopEarlgreyPinmuxOutselPwmAonPwm2 = 68, /**< Peripheral Output 65 */
- kTopEarlgreyPinmuxOutselPwmAonPwm3 = 69, /**< Peripheral Output 66 */
- kTopEarlgreyPinmuxOutselPwmAonPwm4 = 70, /**< Peripheral Output 67 */
- kTopEarlgreyPinmuxOutselPwmAonPwm5 = 71, /**< Peripheral Output 68 */
- kTopEarlgreyPinmuxOutselSysrstCtrlAonBatDisable = 72, /**< Peripheral Output 69 */
- kTopEarlgreyPinmuxOutselSysrstCtrlAonKey0Out = 73, /**< Peripheral Output 70 */
- kTopEarlgreyPinmuxOutselSysrstCtrlAonKey1Out = 74, /**< Peripheral Output 71 */
- kTopEarlgreyPinmuxOutselSysrstCtrlAonKey2Out = 75, /**< Peripheral Output 72 */
- kTopEarlgreyPinmuxOutselLast = 75, /**< \internal Last valid outsel value */
+ kTopEarlgreyPinmuxOutselPwmAonPwm0 = 65, /**< Peripheral Output 62 */
+ kTopEarlgreyPinmuxOutselPwmAonPwm1 = 66, /**< Peripheral Output 63 */
+ kTopEarlgreyPinmuxOutselPwmAonPwm2 = 67, /**< Peripheral Output 64 */
+ kTopEarlgreyPinmuxOutselPwmAonPwm3 = 68, /**< Peripheral Output 65 */
+ kTopEarlgreyPinmuxOutselPwmAonPwm4 = 69, /**< Peripheral Output 66 */
+ kTopEarlgreyPinmuxOutselPwmAonPwm5 = 70, /**< Peripheral Output 67 */
+ kTopEarlgreyPinmuxOutselSysrstCtrlAonBatDisable = 71, /**< Peripheral Output 68 */
+ kTopEarlgreyPinmuxOutselSysrstCtrlAonKey0Out = 72, /**< Peripheral Output 69 */
+ kTopEarlgreyPinmuxOutselSysrstCtrlAonKey1Out = 73, /**< Peripheral Output 70 */
+ kTopEarlgreyPinmuxOutselSysrstCtrlAonKey2Out = 74, /**< Peripheral Output 71 */
+ kTopEarlgreyPinmuxOutselLast = 74, /**< \internal Last valid outsel value */
} top_earlgrey_pinmux_outsel_t;
/**
diff --git a/util/topgen/templates/chiplevel.sv.tpl b/util/topgen/templates/chiplevel.sv.tpl
index acc34e4..9d92519 100644
--- a/util/topgen/templates/chiplevel.sv.tpl
+++ b/util/topgen/templates/chiplevel.sv.tpl
@@ -845,7 +845,7 @@
.vioa_pok_o ( ast_status.io_pok[0] ),
.viob_pok_o ( ast_status.io_pok[1] ),
// main regulator
- .main_env_iso_en_i ( base_ast_pwr.pwr_clamp ),
+ .main_env_iso_en_i ( base_ast_pwr.pwr_clamp_env ),
.main_pd_ni ( base_ast_pwr.main_pd_n ),
// pdm control (flash)/otp
.flash_power_down_h_o ( flash_power_down_h ),