Entity: sysrst_ctrl

Diagram

logic [NumAlerts-1:0] NumAlerts clk_i clk_aon_i rst_ni rst_aon_ni tl_i [NumAlerts-1:0] alert_rx_i cio_ac_present_i cio_ec_rst_l_i cio_key0_in_i cio_key1_in_i cio_key2_in_i cio_pwrb_in_i cio_lid_open_i tl_o [NumAlerts-1:0] alert_tx_o aon_sysrst_ctrl_wkup_req_o aon_sysrst_ctrl_rst_req_o intr_sysrst_ctrl_o cio_bat_disable_o cio_flash_wp_l_o cio_ec_rst_l_o cio_key0_out_o cio_key1_out_o cio_key2_out_o cio_pwrb_out_o cio_z3_wakeup_o cio_bat_disable_en_o cio_flash_wp_l_en_o cio_ec_rst_l_en_o cio_key0_out_en_o cio_key1_out_en_o cio_key2_out_en_o cio_pwrb_out_en_o cio_z3_wakeup_en_o

Description

Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0

sysrst_ctrl module

Generics

Generic name Type Value Description
NumAlerts logic [NumAlerts-1:0] undefined

Ports

Port name Direction Type Description
clk_i input Always-on 24MHz clock(config)
clk_aon_i input Always-on 200KHz clock(logic)
rst_ni input power-on reset for the 24MHz clock(config)
rst_aon_ni input power-on reset for the 200KHz clock(logic)
tl_i input Register interface
tl_o output
alert_rx_i input [NumAlerts-1:0] Alerts
alert_tx_o output [NumAlerts-1:0]
aon_sysrst_ctrl_wkup_req_o output OT wake to pwrmgr
aon_sysrst_ctrl_rst_req_o output OT reset to rstmgr
intr_sysrst_ctrl_o output sysrst_ctrl interrupt to PLIC
cio_ac_present_i input AC power is present
cio_ec_rst_l_i input EC reset is asserted by some other system agent
cio_key0_in_i input VolUp button in tablet; column output from the EC in a laptop
cio_key1_in_i input VolDown button in tablet; row input from keyboard matrix in a laptop
cio_key2_in_i input TBD button in tablet; row input from keyboard matrix in a laptop
cio_pwrb_in_i input Power button in both tablet and laptop
cio_lid_open_i input lid is open from GMR
cio_bat_disable_o output Battery is disconnected
cio_flash_wp_l_o output Flash write protect is asserted by sysrst_ctrl
cio_ec_rst_l_o output EC reset is asserted by sysrst_ctrl
cio_key0_out_o output Passthrough from key0_in, can be configured to invert
cio_key1_out_o output Passthrough from key1_in, can be configured to invert
cio_key2_out_o output Passthrough from key2_in, can be configured to invert
cio_pwrb_out_o output Passthrough from pwrb_in, can be configured to invert
cio_z3_wakeup_o output Exit from Z4 sleep mode and enter Z3 mode
cio_bat_disable_en_o output
cio_flash_wp_l_en_o output
cio_ec_rst_l_en_o output
cio_key0_out_en_o output
cio_key1_out_en_o output
cio_key2_out_en_o output
cio_pwrb_out_en_o output
cio_z3_wakeup_en_o output

Signals

Name Type Description
reg2hw sysrst_ctrl_reg2hw_t
hw2reg sysrst_ctrl_hw2reg_t
alert_test logic [NumAlerts-1:0]
alerts logic [NumAlerts-1:0]
pwrb_int logic ///////////////////////////////////// Input inversion and Synchronizers // ///////////////////////////////////// Optionally invert some of the input signals
key0_int logic ///////////////////////////////////// Input inversion and Synchronizers // ///////////////////////////////////// Optionally invert some of the input signals
key1_int logic ///////////////////////////////////// Input inversion and Synchronizers // ///////////////////////////////////// Optionally invert some of the input signals
key2_int logic ///////////////////////////////////// Input inversion and Synchronizers // ///////////////////////////////////// Optionally invert some of the input signals
ac_present_int logic ///////////////////////////////////// Input inversion and Synchronizers // ///////////////////////////////////// Optionally invert some of the input signals
lid_open_int logic ///////////////////////////////////// Input inversion and Synchronizers // ///////////////////////////////////// Optionally invert some of the input signals
ec_rst_l_int logic ///////////////////////////////////// Input inversion and Synchronizers // ///////////////////////////////////// Optionally invert some of the input signals
aon_pwrb_int logic Synchronize input signals to AON clock
aon_key0_int logic Synchronize input signals to AON clock
aon_key1_int logic Synchronize input signals to AON clock
aon_key2_int logic Synchronize input signals to AON clock
aon_ac_present_int logic
aon_lid_open_int logic
aon_ec_rst_l_int logic
pwrb_out_hw logic ///////////// Autoblock // ///////////// This module operates on both synchronized and unsynchronized signals. I.e., the passthrough signals are NOT synchronnous to the AON clock.
key0_out_hw logic ///////////// Autoblock // ///////////// This module operates on both synchronized and unsynchronized signals. I.e., the passthrough signals are NOT synchronnous to the AON clock.
key1_out_hw logic ///////////// Autoblock // ///////////// This module operates on both synchronized and unsynchronized signals. I.e., the passthrough signals are NOT synchronnous to the AON clock.
key2_out_hw logic ///////////// Autoblock // ///////////// This module operates on both synchronized and unsynchronized signals. I.e., the passthrough signals are NOT synchronnous to the AON clock.
aon_z3_wakeup_hw logic /////// ULP // /////// This module runs on the AON clock entirely. Hence, its local signals are not prefixed with aon_*.
aon_ulp_wakeup_pulse_int logic
aon_sysrst_ctrl_key_intr logic /////////////////////////// Key triggered interrups // /////////////////////////// This module runs on the AON clock entirely. Hence, its local signals are not prefixed with aon_*.
aon_sysrst_ctrl_combo_intr logic /////////////////// Combo detection // /////////////////// This module runs on the AON clock entirely. Hence, its local signals are not prefixed with aon_*.
aon_bat_disable_hw logic /////////////////// Combo detection // /////////////////// This module runs on the AON clock entirely. Hence, its local signals are not prefixed with aon_*.
aon_ec_rst_l_hw logic /////////////////// Combo detection // /////////////////// This module runs on the AON clock entirely. Hence, its local signals are not prefixed with aon_*.
pwrb_out_int logic ///////////////////////////// Pin visibility / override // ///////////////////////////// This module operates on both synchronized and unsynchronized signals. I.e., the passthrough signals are NOT synchronnous to the AON clock.
key0_out_int logic ///////////////////////////// Pin visibility / override // ///////////////////////////// This module operates on both synchronized and unsynchronized signals. I.e., the passthrough signals are NOT synchronnous to the AON clock.
key1_out_int logic ///////////////////////////// Pin visibility / override // ///////////////////////////// This module operates on both synchronized and unsynchronized signals. I.e., the passthrough signals are NOT synchronnous to the AON clock.
key2_out_int logic ///////////////////////////// Pin visibility / override // ///////////////////////////// This module operates on both synchronized and unsynchronized signals. I.e., the passthrough signals are NOT synchronnous to the AON clock.
aon_bat_disable_out_int logic ///////////////////////////// Pin visibility / override // ///////////////////////////// This module operates on both synchronized and unsynchronized signals. I.e., the passthrough signals are NOT synchronnous to the AON clock.
aon_z3_wakeup_out_int logic
aon_ec_rst_out_int_l logic
aon_flash_wp_out_int_l logic
wkup_req logic sync the wakeup request (level) to bus clock to trigger an IRQ.

Instantiations

Description
Instantiate the interrupt module