#[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
Trait Implementations§
impl Copy for ChipReset
impl Eq for ChipReset
impl StructuralPartialEq for ChipReset
Auto Trait Implementations§
impl Freeze for ChipReset
impl RefUnwindSafe for ChipReset
impl Send for ChipReset
impl Sync for ChipReset
impl Unpin for ChipReset
impl UnwindSafe for ChipReset
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)