Struct rp2040_pac::SYSCFG

source ·
pub struct SYSCFG { /* private fields */ }
Expand description

Register block for various chip control signals

Implementations§

source§

impl SYSCFG

source

pub const PTR: *const RegisterBlock = {0x40004000 as *const syscfg::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn proc0_nmi_mask(&self) -> &PROC0_NMI_MASK

0x00 - Processor core 0 NMI source mask
Set a bit high to enable NMI from that IRQ

source

pub fn proc1_nmi_mask(&self) -> &PROC1_NMI_MASK

0x04 - Processor core 1 NMI source mask
Set a bit high to enable NMI from that IRQ

source

pub fn proc_config(&self) -> &PROC_CONFIG

0x08 - Configuration for processors

source

pub fn proc_in_sync_bypass(&self) -> &PROC_IN_SYNC_BYPASS

0x0c - For each bit, if 1, bypass the input synchronizer between that GPIO
and the GPIO input register in the SIO. The input synchronizers should
generally be unbypassed, to avoid injecting metastabilities into processors.
If you’re feeling brave, you can bypass to save two cycles of input
latency. This register applies to GPIO 0…29.

source

pub fn proc_in_sync_bypass_hi(&self) -> &PROC_IN_SYNC_BYPASS_HI

0x10 - For each bit, if 1, bypass the input synchronizer between that GPIO
and the GPIO input register in the SIO. The input synchronizers should
generally be unbypassed, to avoid injecting metastabilities into processors.
If you’re feeling brave, you can bypass to save two cycles of input
latency. This register applies to GPIO 30…35 (the QSPI IOs).

source

pub fn dbgforce(&self) -> &DBGFORCE

0x14 - Directly control the SWD debug port of either processor

source

pub fn mempowerdown(&self) -> &MEMPOWERDOWN

0x18 - Control power downs to memories. Set high to power down memories.
Use with extreme caution

Trait Implementations§

source§

impl Debug for SYSCFG

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Deref for SYSCFG

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for SYSCFG

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.