#[repr(transparent)]pub struct Sleepctrl(pub u32);
Expand description
Nonstandard sleep control register
Tuple Fields§
§0: u32
Implementations§
source§impl Sleepctrl
impl Sleepctrl
sourcepub const fn light_sleep(&self) -> bool
pub const fn light_sleep(&self) -> bool
By default, any processor sleep will deassert the system-level clock request. Reenabling the clocks incurs 5 cycles of additional latency on wakeup. Setting LIGHT_SLEEP to 1 keeps the clock request asserted during a normal sleep (Arm SCR.SLEEPDEEP = 0), for faster wakeup. Processor deep sleep (Arm SCR.SLEEPDEEP = 1) is not affected, and will always deassert the system-level clock request.
sourcepub fn set_light_sleep(&mut self, val: bool)
pub fn set_light_sleep(&mut self, val: bool)
By default, any processor sleep will deassert the system-level clock request. Reenabling the clocks incurs 5 cycles of additional latency on wakeup. Setting LIGHT_SLEEP to 1 keeps the clock request asserted during a normal sleep (Arm SCR.SLEEPDEEP = 0), for faster wakeup. Processor deep sleep (Arm SCR.SLEEPDEEP = 1) is not affected, and will always deassert the system-level clock request.
sourcepub const fn wicenreq(&self) -> bool
pub const fn wicenreq(&self) -> bool
Request that the next processor deep sleep is a WIC sleep. After setting this bit, before sleeping, poll WICENACK to ensure the processor interrupt controller has acknowledged the change.
sourcepub fn set_wicenreq(&mut self, val: bool)
pub fn set_wicenreq(&mut self, val: bool)
Request that the next processor deep sleep is a WIC sleep. After setting this bit, before sleeping, poll WICENACK to ensure the processor interrupt controller has acknowledged the change.
sourcepub const fn wicenack(&self) -> bool
pub const fn wicenack(&self) -> bool
Status signal from the processor’s interrupt controller. Changes to WICENREQ are eventually reflected in WICENACK.
sourcepub fn set_wicenack(&mut self, val: bool)
pub fn set_wicenack(&mut self, val: bool)
Status signal from the processor’s interrupt controller. Changes to WICENREQ are eventually reflected in WICENACK.
Trait Implementations§
impl Copy for Sleepctrl
impl Eq for Sleepctrl
impl StructuralPartialEq for Sleepctrl
Auto Trait Implementations§
impl Freeze for Sleepctrl
impl RefUnwindSafe for Sleepctrl
impl Send for Sleepctrl
impl Sync for Sleepctrl
impl Unpin for Sleepctrl
impl UnwindSafe for Sleepctrl
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
)