From 4b0adbfcb56be1b7f12530d8b60f16fb900fdd5b Mon Sep 17 00:00:00 2001 From: Caleb Stewart Date: Sun, 23 Jun 2024 01:57:00 -0400 Subject: [PATCH] Expose configuration of the SEVONPEND SCR bit --- cortex-m/src/peripheral/scb.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cortex-m/src/peripheral/scb.rs b/cortex-m/src/peripheral/scb.rs index b10f9d20..7fa25b9a 100644 --- a/cortex-m/src/peripheral/scb.rs +++ b/cortex-m/src/peripheral/scb.rs @@ -832,6 +832,26 @@ impl SCB { } } +const SCB_SCR_SEVONPEND: u32 = 0x1 << 4; + +impl SCB { + /// Set the SEVONPEND bit in the SCR register + #[inline] + pub fn set_sevonpend(&mut self) { + unsafe { + self.scr.modify(|scr| scr | SCB_SCR_SEVONPEND); + } + } + + /// Clear the SEVONPEND bit in the SCR register + #[inline] + pub fn clear_sevonpend(&mut self) { + unsafe { + self.scr.modify(|scr| scr & !SCB_SCR_SEVONPEND); + } + } +} + const SCB_AIRCR_VECTKEY: u32 = 0x05FA << 16; const SCB_AIRCR_PRIGROUP_MASK: u32 = 0x7 << 8; const SCB_AIRCR_SYSRESETREQ: u32 = 1 << 2;