pub struct MmioReg<E: Endianess, A: Access, T: Copy> { /* private fields */ }
Expand description
A memory-mapped I/O register.
This struct defines a memory-mapped I/O register. It is parameterized by:
E
: Endianness of the register (LittleEndian
,BigEndian
).A
: Access type of the register (ReadOnly
,WriteOnly
,ReadWrite
).T
: Type of the register (u8
,u16
,u32
,u64
).
Implementations§
Source§impl<E: Endianess, A: Access, T: Copy> MmioReg<E, A, T>
impl<E: Endianess, A: Access, T: Copy> MmioReg<E, A, T>
Sourcepub fn do_read_with_offset(&self, folio: &mut MappedFolio, offset: usize) -> T
pub fn do_read_with_offset(&self, folio: &mut MappedFolio, offset: usize) -> T
Reads a value from the MMIO register with an offset.
This is useful when the MMIO register spans multiple words or unaligned length, such as MAC address (6 bytes).
Source§impl<E: Endianess, T: Copy> MmioReg<E, ReadOnly, T>
impl<E: Endianess, T: Copy> MmioReg<E, ReadOnly, T>
Sourcepub fn read(&self, folio: &mut MappedFolio) -> T
pub fn read(&self, folio: &mut MappedFolio) -> T
Reads a value from the MMIO register.
pub fn read_with_offset(&self, folio: &mut MappedFolio, offset: usize) -> T
Source§impl<E: Endianess, T: Copy> MmioReg<E, WriteOnly, T>
impl<E: Endianess, T: Copy> MmioReg<E, WriteOnly, T>
Sourcepub fn write(&self, folio: &mut MappedFolio, value: T)
pub fn write(&self, folio: &mut MappedFolio, value: T)
Writes a value to the MMIO register.
Source§impl<E: Endianess, T: Copy> MmioReg<E, ReadWrite, T>
impl<E: Endianess, T: Copy> MmioReg<E, ReadWrite, T>
Sourcepub fn read(&self, folio: &mut MappedFolio) -> T
pub fn read(&self, folio: &mut MappedFolio) -> T
Reads a value from the MMIO register.
Sourcepub fn read_with_offset(&self, folio: &mut MappedFolio, offset: usize) -> T
pub fn read_with_offset(&self, folio: &mut MappedFolio, offset: usize) -> T
Writes a value to the MMIO register with an offset.
Sourcepub fn write(&self, folio: &mut MappedFolio, value: T)
pub fn write(&self, folio: &mut MappedFolio, value: T)
Writes a value to the MMIO register.
Sourcepub fn write_with_offset(
&self,
folio: &mut MappedFolio,
offset: usize,
value: T,
)
pub fn write_with_offset( &self, folio: &mut MappedFolio, offset: usize, value: T, )
Writes a value to the MMIO register with an offset.
Auto Trait Implementations§
impl<E, A, T> Freeze for MmioReg<E, A, T>
impl<E, A, T> RefUnwindSafe for MmioReg<E, A, T>
impl<E, A, T> Send for MmioReg<E, A, T>
impl<E, A, T> Sync for MmioReg<E, A, T>
impl<E, A, T> Unpin for MmioReg<E, A, T>
impl<E, A, T> UnwindSafe for MmioReg<E, A, T>
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
Mutably borrows from an owned value. Read more