Struct rp_pac::otp_data_raw::regs::PageLock1
source · #[repr(transparent)]pub struct PageLock1(pub u32);
Expand description
Lock configuration MSBs for page 63 (rows 0xfc0 through 0xfff). Locks are stored with 3-way majority vote encoding, so that bits can be set independently. This OTP location is always readable, and is write-protected by its own permissions.
Tuple Fields§
§0: u32
Implementations§
source§impl PageLock1
impl PageLock1
sourcepub const fn lock_s(&self) -> PageLock
pub const fn lock_s(&self) -> PageLock
Lock state for Secure accesses to this page. Thermometer-coded, so lock state can be advanced permanently from any state to any less-permissive state by programming OTP. Software can also advance the lock state temporarily (until next OTP reset) using the SW_LOCKx registers.
sourcepub fn set_lock_s(&mut self, val: PageLock)
pub fn set_lock_s(&mut self, val: PageLock)
Lock state for Secure accesses to this page. Thermometer-coded, so lock state can be advanced permanently from any state to any less-permissive state by programming OTP. Software can also advance the lock state temporarily (until next OTP reset) using the SW_LOCKx registers.
sourcepub const fn lock_ns(&self) -> PageLock
pub const fn lock_ns(&self) -> PageLock
Lock state for Non-secure accesses to this page. Thermometer-coded, so lock state can be advanced permanently from any state to any less-permissive state by programming OTP. Software can also advance the lock state temporarily (until next OTP reset) using the SW_LOCKx registers. Note that READ_WRITE and READ_ONLY are equivalent in hardware, as the SBPI programming interface is not accessible to Non-secure software. However, Secure software may check these bits to apply write permissions to a Non-secure OTP programming API.
sourcepub fn set_lock_ns(&mut self, val: PageLock)
pub fn set_lock_ns(&mut self, val: PageLock)
Lock state for Non-secure accesses to this page. Thermometer-coded, so lock state can be advanced permanently from any state to any less-permissive state by programming OTP. Software can also advance the lock state temporarily (until next OTP reset) using the SW_LOCKx registers. Note that READ_WRITE and READ_ONLY are equivalent in hardware, as the SBPI programming interface is not accessible to Non-secure software. However, Secure software may check these bits to apply write permissions to a Non-secure OTP programming API.
sourcepub const fn lock_bl(&self) -> PageLock
pub const fn lock_bl(&self) -> PageLock
Dummy lock bits reserved for bootloaders (including the RP2350 USB bootloader) to store their own OTP access permissions. No hardware effect, and no corresponding SW_LOCKx registers.
sourcepub fn set_lock_bl(&mut self, val: PageLock)
pub fn set_lock_bl(&mut self, val: PageLock)
Dummy lock bits reserved for bootloaders (including the RP2350 USB bootloader) to store their own OTP access permissions. No hardware effect, and no corresponding SW_LOCKx registers.
Trait Implementations§
impl Copy for PageLock1
impl Eq for PageLock1
impl StructuralPartialEq for PageLock1
Auto Trait Implementations§
impl Freeze for PageLock1
impl RefUnwindSafe for PageLock1
impl Send for PageLock1
impl Sync for PageLock1
impl Unpin for PageLock1
impl UnwindSafe for PageLock1
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
)