pub struct Accessctrl { /* private fields */ }
Expand description
Hardware access control registers
Implementations§
Source§impl Accessctrl
impl Accessctrl
pub const unsafe fn from_ptr(ptr: *mut ()) -> Self
pub const fn as_ptr(&self) -> *mut ()
Sourcepub const fn lock(self) -> Reg<Lock, RW>
pub const fn lock(self) -> Reg<Lock, RW>
Once a LOCK bit is written to 1, ACCESSCTRL silently ignores writes from that master. LOCK is writable only by a Secure, Privileged processor or debugger. LOCK bits are only writable when their value is zero. Once set, they can never be cleared, except by a full reset of ACCESSCTRL Setting the LOCK bit does not affect whether an access raises a bus error. Unprivileged writes, or writes from the DMA, will continue to raise bus errors. All other accesses will continue not to.
Sourcepub const fn force_core_ns(self) -> Reg<ForceCoreNs, RW>
pub const fn force_core_ns(self) -> Reg<ForceCoreNs, RW>
Force core 1’s bus accesses to always be Non-secure, no matter the core’s internal state. Useful for schemes where one core is designated as the Non-secure core, since some peripherals may filter individual registers internally based on security state but not on master ID.
Sourcepub const fn cfgreset(self) -> Reg<Cfgreset, RW>
pub const fn cfgreset(self) -> Reg<Cfgreset, RW>
Write 1 to reset all ACCESSCTRL configuration, except for the LOCK and FORCE_CORE_NS registers. This bit is used in the RP2350 bootrom to quickly restore ACCESSCTRL to a known state during the boot path. Note that, like all registers in ACCESSCTRL, this register is not writable when the writer’s corresponding LOCK bit is set, therefore a master which has been locked out of ACCESSCTRL can not use the CFGRESET register to disturb its contents.
Sourcepub const fn gpio_nsmask0(self) -> Reg<u32, RW>
pub const fn gpio_nsmask0(self) -> Reg<u32, RW>
Control whether GPIO0…31 are accessible to Non-secure code. Writable only by a Secure, Privileged processor or debugger. 0 -> Secure access only 1 -> Secure + Non-secure access
Sourcepub const fn gpio_nsmask1(self) -> Reg<GpioNsmask1, RW>
pub const fn gpio_nsmask1(self) -> Reg<GpioNsmask1, RW>
Control whether GPIO32..47 are accessible to Non-secure code, and whether QSPI and USB bitbang are accessible through the Non-secure SIO. Writable only by a Secure, Privileged processor or debugger.
Sourcepub const fn rom(self) -> Reg<Access, RW>
pub const fn rom(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access ROM, and at what security/privilege levels they can do so. Defaults to fully open access. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn xip_main(self) -> Reg<Access, RW>
pub const fn xip_main(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access XIP_MAIN, and at what security/privilege levels they can do so. Defaults to fully open access. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn sram(self, n: usize) -> Reg<Access, RW>
pub const fn sram(self, n: usize) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access SRAM0, and at what security/privilege levels they can do so. Defaults to fully open access. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn dma(self) -> Reg<Access, RW>
pub const fn dma(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access DMA, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn usbctrl(self) -> Reg<Access, RW>
pub const fn usbctrl(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access USBCTRL, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn pio0(self) -> Reg<Access, RW>
pub const fn pio0(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access PIO0, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn pio1(self) -> Reg<Access, RW>
pub const fn pio1(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access PIO1, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn pio2(self) -> Reg<Access, RW>
pub const fn pio2(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access PIO2, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn coresight_trace(self) -> Reg<Access, RW>
pub const fn coresight_trace(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access CORESIGHT_TRACE, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn coresight_periph(self) -> Reg<Access, RW>
pub const fn coresight_periph(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access CORESIGHT_PERIPH, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn sysinfo(self) -> Reg<Access, RW>
pub const fn sysinfo(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access SYSINFO, and at what security/privilege levels they can do so. Defaults to fully open access. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn resets(self) -> Reg<Access, RW>
pub const fn resets(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access RESETS, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn io_bank0(self) -> Reg<Access, RW>
pub const fn io_bank0(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access IO_BANK0, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn io_bank1(self) -> Reg<Access, RW>
pub const fn io_bank1(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access IO_BANK1, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn pads_bank0(self) -> Reg<Access, RW>
pub const fn pads_bank0(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access PADS_BANK0, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn pads_qspi(self) -> Reg<Access, RW>
pub const fn pads_qspi(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access PADS_QSPI, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn busctrl(self) -> Reg<Access, RW>
pub const fn busctrl(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access BUSCTRL, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn adc0(self) -> Reg<Access, RW>
pub const fn adc0(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access ADC0, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn hstx(self) -> Reg<Access, RW>
pub const fn hstx(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access HSTX, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn i2c0(self) -> Reg<Access, RW>
pub const fn i2c0(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access I2C0, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn i2c1(self) -> Reg<Access, RW>
pub const fn i2c1(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access I2C1, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn pwm(self) -> Reg<Access, RW>
pub const fn pwm(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access PWM, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn spi0(self) -> Reg<Access, RW>
pub const fn spi0(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access SPI0, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn spi1(self) -> Reg<Access, RW>
pub const fn spi1(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access SPI1, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn timer0(self) -> Reg<Access, RW>
pub const fn timer0(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access TIMER0, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn timer1(self) -> Reg<Access, RW>
pub const fn timer1(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access TIMER1, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn uart0(self) -> Reg<Access, RW>
pub const fn uart0(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access UART0, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn uart1(self) -> Reg<Access, RW>
pub const fn uart1(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access UART1, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn otp(self) -> Reg<Access, RW>
pub const fn otp(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access OTP, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn tbman(self) -> Reg<Access, RW>
pub const fn tbman(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access TBMAN, and at what security/privilege levels they can do so. Defaults to Secure access from any master. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn powman(self) -> Reg<Access, RW>
pub const fn powman(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access POWMAN, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn trng(self) -> Reg<Access, RW>
pub const fn trng(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access TRNG, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn sha256(self) -> Reg<Access, RW>
pub const fn sha256(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access SHA256, and at what security/privilege levels they can do so. Defaults to Secure, Privileged access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn syscfg(self) -> Reg<Access, RW>
pub const fn syscfg(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access SYSCFG, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn clocks(self) -> Reg<Access, RW>
pub const fn clocks(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access CLOCKS, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn xosc(self) -> Reg<Access, RW>
pub const fn xosc(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access XOSC, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn rosc(self) -> Reg<Access, RW>
pub const fn rosc(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access ROSC, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn pll_sys(self) -> Reg<Access, RW>
pub const fn pll_sys(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access PLL_SYS, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn pll_usb(self) -> Reg<Access, RW>
pub const fn pll_usb(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access PLL_USB, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn ticks(self) -> Reg<Access, RW>
pub const fn ticks(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access TICKS, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn watchdog(self) -> Reg<Access, RW>
pub const fn watchdog(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access WATCHDOG, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn rsm(self) -> Reg<Access, RW>
pub const fn rsm(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access RSM, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn xip_ctrl(self) -> Reg<Access, RW>
pub const fn xip_ctrl(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access XIP_CTRL, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn xip_qmi(self) -> Reg<Access, RW>
pub const fn xip_qmi(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access XIP_QMI, and at what security/privilege levels they can do so. Defaults to Secure, Privileged processor or debug access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Sourcepub const fn xip_aux(self) -> Reg<Access, RW>
pub const fn xip_aux(self) -> Reg<Access, RW>
Control whether debugger, DMA, core 0 and core 1 can access XIP_AUX, and at what security/privilege levels they can do so. Defaults to Secure, Privileged access only. This register is writable only from a Secure, Privileged processor or debugger, with the exception of the NSU bit, which becomes Non-secure-Privileged-writable when the NSP bit is set.
Trait Implementations§
Source§impl Clone for Accessctrl
impl Clone for Accessctrl
Source§fn clone(&self) -> Accessctrl
fn clone(&self) -> Accessctrl
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more