pub struct RegisterBlock { /* private fields */ }Expand description
Register block
Implementations§
Source§impl RegisterBlock
impl RegisterBlock
Sourcepub const fn direct_csr(&self) -> &Reg<DIRECT_CSR_SPEC>
pub const fn direct_csr(&self) -> &Reg<DIRECT_CSR_SPEC>
0x00 - Control and status for direct serial mode Direct serial mode allows the processor to send and receive raw serial frames, for programming, configuration and control of the external memory devices. Only SPI mode 0 (CPOL=0 CPHA=0) is supported.
Sourcepub const fn direct_tx(&self) -> &Reg<DIRECT_TX_SPEC>
pub const fn direct_tx(&self) -> &Reg<DIRECT_TX_SPEC>
0x04 - Transmit FIFO for direct mode
Sourcepub const fn direct_rx(&self) -> &Reg<DIRECT_RX_SPEC>
pub const fn direct_rx(&self) -> &Reg<DIRECT_RX_SPEC>
0x08 - Receive FIFO for direct mode
Sourcepub const fn m0_timing(&self) -> &Reg<M0_TIMING_SPEC>
pub const fn m0_timing(&self) -> &Reg<M0_TIMING_SPEC>
0x0c - Timing configuration register for memory address window 0.
Sourcepub const fn m0_rfmt(&self) -> &Reg<M0_RFMT_SPEC>
pub const fn m0_rfmt(&self) -> &Reg<M0_RFMT_SPEC>
0x10 - Read transfer format configuration for memory address window 0. Configure the bus width of each transfer phase individually, and configure the length or presence of the command prefix, command suffix and dummy/turnaround transfer phases. Only 24-bit addresses are supported. The reset value of the M0_RFMT register is configured to support a basic 03h serial read transfer with no additional configuration.
Sourcepub const fn m0_rcmd(&self) -> &Reg<M0_RCMD_SPEC>
pub const fn m0_rcmd(&self) -> &Reg<M0_RCMD_SPEC>
0x14 - Command constants used for reads from memory address window 0. The reset value of the M0_RCMD register is configured to support a basic 03h serial read transfer with no additional configuration.
Sourcepub const fn m0_wfmt(&self) -> &Reg<M0_WFMT_SPEC>
pub const fn m0_wfmt(&self) -> &Reg<M0_WFMT_SPEC>
0x18 - Write transfer format configuration for memory address window 0. Configure the bus width of each transfer phase individually, and configure the length or presence of the command prefix, command suffix and dummy/turnaround transfer phases. Only 24-bit addresses are supported. The reset value of the M0_WFMT register is configured to support a basic 02h serial write transfer. However, writes to this window must first be enabled via the XIP_CTRL_WRITABLE_M0 bit, as XIP memory is read-only by default.
Sourcepub const fn m0_wcmd(&self) -> &Reg<M0_WCMD_SPEC>
pub const fn m0_wcmd(&self) -> &Reg<M0_WCMD_SPEC>
0x1c - Command constants used for writes to memory address window 0. The reset value of the M0_WCMD register is configured to support a basic 02h serial write transfer with no additional configuration.
Sourcepub const fn m1_timing(&self) -> &Reg<M1_TIMING_SPEC>
pub const fn m1_timing(&self) -> &Reg<M1_TIMING_SPEC>
0x20 - Timing configuration register for memory address window 1.
Sourcepub const fn m1_rfmt(&self) -> &Reg<M1_RFMT_SPEC>
pub const fn m1_rfmt(&self) -> &Reg<M1_RFMT_SPEC>
0x24 - Read transfer format configuration for memory address window 1. Configure the bus width of each transfer phase individually, and configure the length or presence of the command prefix, command suffix and dummy/turnaround transfer phases. Only 24-bit addresses are supported. The reset value of the M1_RFMT register is configured to support a basic 03h serial read transfer with no additional configuration.
Sourcepub const fn m1_rcmd(&self) -> &Reg<M1_RCMD_SPEC>
pub const fn m1_rcmd(&self) -> &Reg<M1_RCMD_SPEC>
0x28 - Command constants used for reads from memory address window 1. The reset value of the M1_RCMD register is configured to support a basic 03h serial read transfer with no additional configuration.
Sourcepub const fn m1_wfmt(&self) -> &Reg<M1_WFMT_SPEC>
pub const fn m1_wfmt(&self) -> &Reg<M1_WFMT_SPEC>
0x2c - Write transfer format configuration for memory address window 1. Configure the bus width of each transfer phase individually, and configure the length or presence of the command prefix, command suffix and dummy/turnaround transfer phases. Only 24-bit addresses are supported. The reset value of the M1_WFMT register is configured to support a basic 02h serial write transfer. However, writes to this window must first be enabled via the XIP_CTRL_WRITABLE_M1 bit, as XIP memory is read-only by default.
Sourcepub const fn m1_wcmd(&self) -> &Reg<M1_WCMD_SPEC>
pub const fn m1_wcmd(&self) -> &Reg<M1_WCMD_SPEC>
0x30 - Command constants used for writes to memory address window 1. The reset value of the M1_WCMD register is configured to support a basic 02h serial write transfer with no additional configuration.
Sourcepub const fn atrans0(&self) -> &Reg<ATRANS0_SPEC>
pub const fn atrans0(&self) -> &Reg<ATRANS0_SPEC>
0x34 - Configure address translation for XIP virtual addresses 0x000000 through 0x3fffff (a 4 MiB window starting at +0 MiB). Address translation allows a program image to be executed in place at multiple physical flash addresses (for example, a double-buffered flash image for over-the-air updates), without the overhead of position-independent code. At reset, the address translation registers are initialised to an identity mapping, so that they can be ignored if address translation is not required. Note that the XIP cache is fully virtually addressed, so a cache flush is required after changing the address translation.
Sourcepub const fn atrans1(&self) -> &Reg<ATRANS1_SPEC>
pub const fn atrans1(&self) -> &Reg<ATRANS1_SPEC>
0x38 - Configure address translation for XIP virtual addresses 0x400000 through 0x7fffff (a 4 MiB window starting at +4 MiB). Address translation allows a program image to be executed in place at multiple physical flash addresses (for example, a double-buffered flash image for over-the-air updates), without the overhead of position-independent code. At reset, the address translation registers are initialised to an identity mapping, so that they can be ignored if address translation is not required. Note that the XIP cache is fully virtually addressed, so a cache flush is required after changing the address translation.
Sourcepub const fn atrans2(&self) -> &Reg<ATRANS2_SPEC>
pub const fn atrans2(&self) -> &Reg<ATRANS2_SPEC>
0x3c - Configure address translation for XIP virtual addresses 0x800000 through 0xbfffff (a 4 MiB window starting at +8 MiB). Address translation allows a program image to be executed in place at multiple physical flash addresses (for example, a double-buffered flash image for over-the-air updates), without the overhead of position-independent code. At reset, the address translation registers are initialised to an identity mapping, so that they can be ignored if address translation is not required. Note that the XIP cache is fully virtually addressed, so a cache flush is required after changing the address translation.
Sourcepub const fn atrans3(&self) -> &Reg<ATRANS3_SPEC>
pub const fn atrans3(&self) -> &Reg<ATRANS3_SPEC>
0x40 - Configure address translation for XIP virtual addresses 0xc00000 through 0xffffff (a 4 MiB window starting at +12 MiB). Address translation allows a program image to be executed in place at multiple physical flash addresses (for example, a double-buffered flash image for over-the-air updates), without the overhead of position-independent code. At reset, the address translation registers are initialised to an identity mapping, so that they can be ignored if address translation is not required. Note that the XIP cache is fully virtually addressed, so a cache flush is required after changing the address translation.
Sourcepub const fn atrans4(&self) -> &Reg<ATRANS4_SPEC>
pub const fn atrans4(&self) -> &Reg<ATRANS4_SPEC>
0x44 - Configure address translation for XIP virtual addresses 0x1000000 through 0x13fffff (a 4 MiB window starting at +16 MiB). Address translation allows a program image to be executed in place at multiple physical flash addresses (for example, a double-buffered flash image for over-the-air updates), without the overhead of position-independent code. At reset, the address translation registers are initialised to an identity mapping, so that they can be ignored if address translation is not required. Note that the XIP cache is fully virtually addressed, so a cache flush is required after changing the address translation.
Sourcepub const fn atrans5(&self) -> &Reg<ATRANS5_SPEC>
pub const fn atrans5(&self) -> &Reg<ATRANS5_SPEC>
0x48 - Configure address translation for XIP virtual addresses 0x1400000 through 0x17fffff (a 4 MiB window starting at +20 MiB). Address translation allows a program image to be executed in place at multiple physical flash addresses (for example, a double-buffered flash image for over-the-air updates), without the overhead of position-independent code. At reset, the address translation registers are initialised to an identity mapping, so that they can be ignored if address translation is not required. Note that the XIP cache is fully virtually addressed, so a cache flush is required after changing the address translation.
Sourcepub const fn atrans6(&self) -> &Reg<ATRANS6_SPEC>
pub const fn atrans6(&self) -> &Reg<ATRANS6_SPEC>
0x4c - Configure address translation for XIP virtual addresses 0x1800000 through 0x1bfffff (a 4 MiB window starting at +24 MiB). Address translation allows a program image to be executed in place at multiple physical flash addresses (for example, a double-buffered flash image for over-the-air updates), without the overhead of position-independent code. At reset, the address translation registers are initialised to an identity mapping, so that they can be ignored if address translation is not required. Note that the XIP cache is fully virtually addressed, so a cache flush is required after changing the address translation.
Sourcepub const fn atrans7(&self) -> &Reg<ATRANS7_SPEC>
pub const fn atrans7(&self) -> &Reg<ATRANS7_SPEC>
0x50 - Configure address translation for XIP virtual addresses 0x1c00000 through 0x1ffffff (a 4 MiB window starting at +28 MiB). Address translation allows a program image to be executed in place at multiple physical flash addresses (for example, a double-buffered flash image for over-the-air updates), without the overhead of position-independent code. At reset, the address translation registers are initialised to an identity mapping, so that they can be ignored if address translation is not required. Note that the XIP cache is fully virtually addressed, so a cache flush is required after changing the address translation.
Auto Trait Implementations§
impl !Freeze for RegisterBlock
impl !RefUnwindSafe for RegisterBlock
impl Send for RegisterBlock
impl !Sync for RegisterBlock
impl Unpin for RegisterBlock
impl UnwindSafe for RegisterBlock
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<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more