48 [kDtSysrstCtrlRegBlockCore] = 0x40430000,
65 [kDtSysrstCtrlPeriphIoAcPresent] = {
70 .outsel_or_dt_pad = 0,
73 [kDtSysrstCtrlPeriphIoKey0In] = {
78 .outsel_or_dt_pad = 0,
81 [kDtSysrstCtrlPeriphIoKey1In] = {
86 .outsel_or_dt_pad = 0,
89 [kDtSysrstCtrlPeriphIoKey2In] = {
94 .outsel_or_dt_pad = 0,
97 [kDtSysrstCtrlPeriphIoPwrbIn] = {
102 .outsel_or_dt_pad = 0,
105 [kDtSysrstCtrlPeriphIoLidOpen] = {
110 .outsel_or_dt_pad = 0,
113 [kDtSysrstCtrlPeriphIoBatDisable] = {
117 .periph_input_or_direct_pad = 0,
121 [kDtSysrstCtrlPeriphIoKey0Out] = {
125 .periph_input_or_direct_pad = 0,
129 [kDtSysrstCtrlPeriphIoKey1Out] = {
133 .periph_input_or_direct_pad = 0,
137 [kDtSysrstCtrlPeriphIoKey2Out] = {
141 .periph_input_or_direct_pad = 0,
145 [kDtSysrstCtrlPeriphIoPwrbOut] = {
149 .periph_input_or_direct_pad = 0,
153 [kDtSysrstCtrlPeriphIoZ3Wakeup] = {
157 .periph_input_or_direct_pad = 0,
161 [kDtSysrstCtrlPeriphIoEcRstL] = {
165 .periph_input_or_direct_pad = kTopEarlgreyDirectPadsSysrstCtrlAonEcRstL,
169 [kDtSysrstCtrlPeriphIoFlashWpL] = {
173 .periph_input_or_direct_pad = kTopEarlgreyDirectPadsSysrstCtrlAonFlashWpL,
186#define TRY_GET_DT(dt, default) ({ if ((dt) < (dt_sysrst_ctrl_t)0 || (dt) >= kDtSysrstCtrlCount) return (default); &sysrst_ctrl_desc[dt]; })
204 return TRY_GET_DT(dt, 0xdeadbeef)->reg_addr[reg_block];
211 return TRY_GET_DT(dt, 0xdeadbeef)->mem_addr[mem];
225 if (first_irq == kDtPlicIrqIdNone) {
226 return kDtPlicIrqIdNone;
236 if (first_irq == kDtPlicIrqIdNone) {
249 return (
dt_alert_id_t)((uint32_t)sysrst_ctrl_desc[dt].first_alert + (uint32_t)alert);
256 if (alert < sysrst_ctrl_desc[dt].first_alert || alert >= sysrst_ctrl_desc[dt].first_alert + (
dt_alert_id_t)count) {
267 return TRY_GET_DT(dt, kDtPeriphIoConstantHighZ)->periph_io[sig];