#[doc = r"Register block"] #[repr(C)] pub struct RegisterBlock { ctrl: CTRL, flush: FLUSH, stat: STAT, ctr_hit: CTR_HIT, ctr_acc: CTR_ACC, stream_addr: STREAM_ADDR, stream_ctr: STREAM_CTR, stream_fifo: STREAM_FIFO, } impl RegisterBlock { #[doc = "0x00 - Cache control"] #[inline(always)] pub const fn ctrl(&self) -> &CTRL { &self.ctrl } #[doc = "0x04 - Cache Flush control"] #[inline(always)] pub const fn flush(&self) -> &FLUSH { &self.flush } #[doc = "0x08 - Cache Status"] #[inline(always)] pub const fn stat(&self) -> &STAT { &self.stat } #[doc = "0x0c - Cache Hit counter A 32 bit saturating counter that increments upon each cache hit, i.e. when an XIP access is serviced directly from cached data. Write any value to clear."] #[inline(always)] pub const fn ctr_hit(&self) -> &CTR_HIT { &self.ctr_hit } #[doc = "0x10 - Cache Access counter A 32 bit saturating counter that increments upon each XIP access, whether the cache is hit or not. This includes noncacheable accesses. Write any value to clear."] #[inline(always)] pub const fn ctr_acc(&self) -> &CTR_ACC { &self.ctr_acc } #[doc = "0x14 - FIFO stream address"] #[inline(always)] pub const fn stream_addr(&self) -> &STREAM_ADDR { &self.stream_addr } #[doc = "0x18 - FIFO stream control"] #[inline(always)] pub const fn stream_ctr(&self) -> &STREAM_CTR { &self.stream_ctr } #[doc = "0x1c - FIFO stream data Streamed data is buffered here, for retrieval by the system DMA. This FIFO can also be accessed via the XIP_AUX slave, to avoid exposing the DMA to bus stalls caused by other XIP traffic."] #[inline(always)] pub const fn stream_fifo(&self) -> &STREAM_FIFO { &self.stream_fifo } } #[doc = "CTRL (rw) register accessor: Cache control You can [`read`](crate::generic::Reg::read) this register and get [`ctrl::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctrl::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@ctrl`] module"] pub type CTRL = crate::Reg; #[doc = "Cache control"] pub mod ctrl; #[doc = "FLUSH (rw) register accessor: Cache Flush control You can [`read`](crate::generic::Reg::read) this register and get [`flush::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`flush::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@flush`] module"] pub type FLUSH = crate::Reg; #[doc = "Cache Flush control"] pub mod flush; #[doc = "STAT (r) register accessor: Cache Status You can [`read`](crate::generic::Reg::read) this register and get [`stat::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@stat`] module"] pub type STAT = crate::Reg; #[doc = "Cache Status"] pub mod stat; #[doc = "CTR_HIT (rw) register accessor: Cache Hit counter A 32 bit saturating counter that increments upon each cache hit, i.e. when an XIP access is serviced directly from cached data. Write any value to clear. You can [`read`](crate::generic::Reg::read) this register and get [`ctr_hit::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctr_hit::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@ctr_hit`] module"] pub type CTR_HIT = crate::Reg; #[doc = "Cache Hit counter A 32 bit saturating counter that increments upon each cache hit, i.e. when an XIP access is serviced directly from cached data. Write any value to clear."] pub mod ctr_hit; #[doc = "CTR_ACC (rw) register accessor: Cache Access counter A 32 bit saturating counter that increments upon each XIP access, whether the cache is hit or not. This includes noncacheable accesses. Write any value to clear. You can [`read`](crate::generic::Reg::read) this register and get [`ctr_acc::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`ctr_acc::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@ctr_acc`] module"] pub type CTR_ACC = crate::Reg; #[doc = "Cache Access counter A 32 bit saturating counter that increments upon each XIP access, whether the cache is hit or not. This includes noncacheable accesses. Write any value to clear."] pub mod ctr_acc; #[doc = "STREAM_ADDR (rw) register accessor: FIFO stream address You can [`read`](crate::generic::Reg::read) this register and get [`stream_addr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`stream_addr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@stream_addr`] module"] pub type STREAM_ADDR = crate::Reg; #[doc = "FIFO stream address"] pub mod stream_addr; #[doc = "STREAM_CTR (rw) register accessor: FIFO stream control You can [`read`](crate::generic::Reg::read) this register and get [`stream_ctr::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`stream_ctr::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@stream_ctr`] module"] pub type STREAM_CTR = crate::Reg; #[doc = "FIFO stream control"] pub mod stream_ctr; #[doc = "STREAM_FIFO (r) register accessor: FIFO stream data Streamed data is buffered here, for retrieval by the system DMA. This FIFO can also be accessed via the XIP_AUX slave, to avoid exposing the DMA to bus stalls caused by other XIP traffic. You can [`read`](crate::generic::Reg::read) this register and get [`stream_fifo::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api). For information about available fields see [`mod@stream_fifo`] module"] pub type STREAM_FIFO = crate::Reg; #[doc = "FIFO stream data Streamed data is buffered here, for retrieval by the system DMA. This FIFO can also be accessed via the XIP_AUX slave, to avoid exposing the DMA to bus stalls caused by other XIP traffic."] pub mod stream_fifo;