#[repr(transparent)]pub struct ChipReset(pub u32);
Expand description
Chip reset control and status
Tuple Fields§
§0: u32
Implementations§
Source§impl ChipReset
impl ChipReset
Sourcepub const fn double_tap(&self) -> bool
pub const fn double_tap(&self) -> bool
This flag is set by double-tapping RUN. It tells bootcode to go into the bootloader.
Sourcepub fn set_double_tap(&mut self, val: bool)
pub fn set_double_tap(&mut self, val: bool)
This flag is set by double-tapping RUN. It tells bootcode to go into the bootloader.
Sourcepub const fn rescue_flag(&self) -> bool
pub const fn rescue_flag(&self) -> bool
This is set by a rescue reset from the RP-AP. Its purpose is to halt before the bootrom before booting from flash in order to recover from a boot lock-up. The debugger can then attach once the bootrom has been halted and flash some working code that does not lock up.
Sourcepub fn set_rescue_flag(&mut self, val: bool)
pub fn set_rescue_flag(&mut self, val: bool)
This is set by a rescue reset from the RP-AP. Its purpose is to halt before the bootrom before booting from flash in order to recover from a boot lock-up. The debugger can then attach once the bootrom has been halted and flash some working code that does not lock up.
Sourcepub const fn had_por(&self) -> bool
pub const fn had_por(&self) -> bool
Last reset was from the power-on reset This resets: double_tap flag yes DP yes RPAP yes rescue_flag yes timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub fn set_had_por(&mut self, val: bool)
pub fn set_had_por(&mut self, val: bool)
Last reset was from the power-on reset This resets: double_tap flag yes DP yes RPAP yes rescue_flag yes timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub const fn had_bor(&self) -> bool
pub const fn had_bor(&self) -> bool
Last reset was from the brown-out detection block This resets: double_tap flag yes DP yes RPAP yes rescue_flag yes timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub fn set_had_bor(&mut self, val: bool)
pub fn set_had_bor(&mut self, val: bool)
Last reset was from the brown-out detection block This resets: double_tap flag yes DP yes RPAP yes rescue_flag yes timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub const fn had_run_low(&self) -> bool
pub const fn had_run_low(&self) -> bool
Last reset was from the RUN pin This resets: double_tap flag no DP yes RPAP yes rescue_flag yes timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub fn set_had_run_low(&mut self, val: bool)
pub fn set_had_run_low(&mut self, val: bool)
Last reset was from the RUN pin This resets: double_tap flag no DP yes RPAP yes rescue_flag yes timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub const fn had_dp_reset_req(&self) -> bool
pub const fn had_dp_reset_req(&self) -> bool
Last reset was an reset request from the arm debugger This resets: double_tap flag no DP no RPAP no rescue_flag yes timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub fn set_had_dp_reset_req(&mut self, val: bool)
pub fn set_had_dp_reset_req(&mut self, val: bool)
Last reset was an reset request from the arm debugger This resets: double_tap flag no DP no RPAP no rescue_flag yes timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub const fn had_rescue(&self) -> bool
pub const fn had_rescue(&self) -> bool
Last reset was a rescue reset from the debugger This resets: double_tap flag no DP no RPAP no rescue_flag no, it sets this flag timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub fn set_had_rescue(&mut self, val: bool)
pub fn set_had_rescue(&mut self, val: bool)
Last reset was a rescue reset from the debugger This resets: double_tap flag no DP no RPAP no rescue_flag no, it sets this flag timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub const fn had_watchdog_reset_powman_async(&self) -> bool
pub const fn had_watchdog_reset_powman_async(&self) -> bool
Last reset was a watchdog timeout which was configured to reset the power manager asynchronously This resets: double_tap flag no DP no RPAP no rescue_flag no timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub fn set_had_watchdog_reset_powman_async(&mut self, val: bool)
pub fn set_had_watchdog_reset_powman_async(&mut self, val: bool)
Last reset was a watchdog timeout which was configured to reset the power manager asynchronously This resets: double_tap flag no DP no RPAP no rescue_flag no timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub const fn had_watchdog_reset_powman(&self) -> bool
pub const fn had_watchdog_reset_powman(&self) -> bool
Last reset was a watchdog timeout which was configured to reset the power manager This resets: double_tap flag no DP no RPAP no rescue_flag no timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub fn set_had_watchdog_reset_powman(&mut self, val: bool)
pub fn set_had_watchdog_reset_powman(&mut self, val: bool)
Last reset was a watchdog timeout which was configured to reset the power manager This resets: double_tap flag no DP no RPAP no rescue_flag no timer yes powman yes swcore yes psm yes then starts the power sequencer
Sourcepub const fn had_watchdog_reset_swcore(&self) -> bool
pub const fn had_watchdog_reset_swcore(&self) -> bool
Last reset was a watchdog timeout which was configured to reset the switched-core This resets: double_tap flag no DP no RPAP no rescue_flag no timer no powman no swcore yes psm yes then starts the power sequencer
Sourcepub fn set_had_watchdog_reset_swcore(&mut self, val: bool)
pub fn set_had_watchdog_reset_swcore(&mut self, val: bool)
Last reset was a watchdog timeout which was configured to reset the switched-core This resets: double_tap flag no DP no RPAP no rescue_flag no timer no powman no swcore yes psm yes then starts the power sequencer
Sourcepub const fn had_swcore_pd(&self) -> bool
pub const fn had_swcore_pd(&self) -> bool
Last reset was a switched core powerdown This resets: double_tap flag no DP no RPAP no rescue_flag no timer no powman no swcore yes psm yes then starts the power sequencer
Sourcepub fn set_had_swcore_pd(&mut self, val: bool)
pub fn set_had_swcore_pd(&mut self, val: bool)
Last reset was a switched core powerdown This resets: double_tap flag no DP no RPAP no rescue_flag no timer no powman no swcore yes psm yes then starts the power sequencer
Sourcepub const fn had_glitch_detect(&self) -> bool
pub const fn had_glitch_detect(&self) -> bool
Last reset was due to a power supply glitch This resets: double_tap flag no DP no RPAP no rescue_flag no timer no powman no swcore no psm yes and does not change the power state
Sourcepub fn set_had_glitch_detect(&mut self, val: bool)
pub fn set_had_glitch_detect(&mut self, val: bool)
Last reset was due to a power supply glitch This resets: double_tap flag no DP no RPAP no rescue_flag no timer no powman no swcore no psm yes and does not change the power state
Sourcepub const fn had_hzd_sys_reset_req(&self) -> bool
pub const fn had_hzd_sys_reset_req(&self) -> bool
Last reset was a system reset from the hazard debugger This resets: double_tap flag no DP no RPAP no rescue_flag no timer no powman no swcore no psm yes and does not change the power state
Sourcepub fn set_had_hzd_sys_reset_req(&mut self, val: bool)
pub fn set_had_hzd_sys_reset_req(&mut self, val: bool)
Last reset was a system reset from the hazard debugger This resets: double_tap flag no DP no RPAP no rescue_flag no timer no powman no swcore no psm yes and does not change the power state
Sourcepub const fn had_watchdog_reset_rsm(&self) -> bool
pub const fn had_watchdog_reset_rsm(&self) -> bool
Last reset was a watchdog timeout which was configured to reset the power-on state machine This resets: double_tap flag no DP no RPAP no rescue_flag no timer no powman no swcore no psm yes and does not change the power state
Sourcepub fn set_had_watchdog_reset_rsm(&mut self, val: bool)
pub fn set_had_watchdog_reset_rsm(&mut self, val: bool)
Last reset was a watchdog timeout which was configured to reset the power-on state machine This resets: double_tap flag no DP no RPAP no rescue_flag no timer no powman no swcore no psm yes and does not change the power state