pub struct Operational<M>where
    M: Mapper + Clone,{
    pub usbcmd: ReadWrite<UsbCommandRegister, M>,
    pub usbsts: ReadWrite<UsbStatusRegister, M>,
    pub pagesize: ReadWrite<PageSizeRegister, M>,
    pub dnctrl: ReadWrite<DeviceNotificationControl, M>,
    pub crcr: ReadWrite<CommandRingControlRegister, M>,
    pub dcbaap: ReadWrite<DeviceContextBaseAddressArrayPointerRegister, M>,
    pub config: ReadWrite<ConfigureRegister, M>,
}
Expand description

Host Controller Operational Registers

This struct does not contain the Port Register set.

Fields§

§usbcmd: ReadWrite<UsbCommandRegister, M>

USB Command Register

§usbsts: ReadWrite<UsbStatusRegister, M>

USB Status Register

§pagesize: ReadWrite<PageSizeRegister, M>

Page Size Register

§dnctrl: ReadWrite<DeviceNotificationControl, M>

Device Notification Control

§crcr: ReadWrite<CommandRingControlRegister, M>

Command Ring Control Register

§dcbaap: ReadWrite<DeviceContextBaseAddressArrayPointerRegister, M>

Device Context Base Address Array Pointer Register

§config: ReadWrite<ConfigureRegister, M>

Configure Register

Implementations§

source§

impl<M> Operational<M>where M: Mapper + Clone,

source

pub unsafe fn new( mmio_base: usize, caplength: CapabilityRegistersLength, mapper: &M ) -> Selfwhere M: Mapper,

Creates a new accessor to the Host Controller Operational Registers.

Safety

The caller must ensure that the Host Controller Operational Registers are accessed only through this struct.

Panics

This method panics if the base address of the Host Controller Operational Registers is not aligned correctly.

Trait Implementations§

source§

impl<M> Debug for Operational<M>where M: Mapper + Clone + Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<M> RefUnwindSafe for Operational<M>where M: RefUnwindSafe,

§

impl<M> Send for Operational<M>where M: Send,

§

impl<M> Sync for Operational<M>where M: Sync,

§

impl<M> Unpin for Operational<M>where M: Unpin,

§

impl<M> UnwindSafe for Operational<M>where M: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.