#[repr(transparent)]pub struct SeccfgCh(pub u32);
Expand description
Security configuration for channel 6. Control whether this channel performs Secure/Non-secure and Privileged/Unprivileged bus accesses. If this channel generates bus accesses of some security level, an access of at least that level (in the order S+P > S+U > NS+P > NS+U) is required to program, trigger, abort, check the status of, interrupt on or acknowledge the interrupt of this channel. This register automatically locks down (becomes read-only) once software starts to configure the channel. This register is world-readable, but is writable only from a Secure, Privileged context.
Tuple Fields§
§0: u32
Implementations§
source§impl SeccfgCh
impl SeccfgCh
sourcepub const fn p(&self) -> bool
pub const fn p(&self) -> bool
Privileged channel. If 1, this channel performs Privileged bus accesses. If 0, it performs Unprivileged bus accesses. If 1, this channel is controllable only from a Privileged context of the same Secure/Non-secure level, or any context of a higher Secure/Non-secure level.
sourcepub fn set_p(&mut self, val: bool)
pub fn set_p(&mut self, val: bool)
Privileged channel. If 1, this channel performs Privileged bus accesses. If 0, it performs Unprivileged bus accesses. If 1, this channel is controllable only from a Privileged context of the same Secure/Non-secure level, or any context of a higher Secure/Non-secure level.
sourcepub const fn s(&self) -> bool
pub const fn s(&self) -> bool
Secure channel. If 1, this channel performs Secure bus accesses. If 0, it performs Non-secure bus accesses. If 1, this channel is controllable only from a Secure context.
sourcepub fn set_s(&mut self, val: bool)
pub fn set_s(&mut self, val: bool)
Secure channel. If 1, this channel performs Secure bus accesses. If 0, it performs Non-secure bus accesses. If 1, this channel is controllable only from a Secure context.
sourcepub const fn lock(&self) -> bool
pub const fn lock(&self) -> bool
LOCK is 0 at reset, and is set to 1 automatically upon a successful write to this channel’s control registers. That is, a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their aliases. Once its LOCK bit is set, this register becomes read-only. A failed write, for example due to the write’s privilege being lower than that specified in the channel’s SECCFG register, will not set the LOCK bit.
sourcepub fn set_lock(&mut self, val: bool)
pub fn set_lock(&mut self, val: bool)
LOCK is 0 at reset, and is set to 1 automatically upon a successful write to this channel’s control registers. That is, a write to CTRL, READ_ADDR, WRITE_ADDR, TRANS_COUNT and their aliases. Once its LOCK bit is set, this register becomes read-only. A failed write, for example due to the write’s privilege being lower than that specified in the channel’s SECCFG register, will not set the LOCK bit.
Trait Implementations§
impl Copy for SeccfgCh
impl Eq for SeccfgCh
impl StructuralPartialEq for SeccfgCh
Auto Trait Implementations§
impl Freeze for SeccfgCh
impl RefUnwindSafe for SeccfgCh
impl Send for SeccfgCh
impl Sync for SeccfgCh
impl Unpin for SeccfgCh
impl UnwindSafe for SeccfgCh
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
)