Struct esp32s2::UHCI0

source ·
pub struct UHCI0 { /* private fields */ }
Expand description

Universal Host Controller Interface 0

Implementations§

source§

impl UHCI0

source

pub const PTR: *const RegisterBlock = {0x3f414000 as *const uhci0::RegisterBlock}

Pointer to the register block

source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

source

pub fn conf0(&self) -> &CONF0

0x00 - UHCI configuration register

source

pub fn int_raw(&self) -> &INT_RAW

0x04 - Raw interrupt status

source

pub fn int_st(&self) -> &INT_ST

0x08 - Masked interrupt status

source

pub fn int_ena(&self) -> &INT_ENA

0x0c - Interrupt enable bits

source

pub fn int_clr(&self) -> &INT_CLR

0x10 - Interrupt clear bits

source

pub fn dma_out_status(&self) -> &DMA_OUT_STATUS

0x14 - DMA data-output status register

source

pub fn dma_out_push(&self) -> &DMA_OUT_PUSH

0x18 - Push control register of TX FIFO

source

pub fn dma_in_status(&self) -> &DMA_IN_STATUS

0x1c - UHCI data-input status register

source

pub fn dma_in_pop(&self) -> &DMA_IN_POP

0x20 - Pop control register of RX FIFO

0x24 - Link descriptor address and control

0x28 - Link descriptor address and control

source

pub fn conf1(&self) -> &CONF1

0x2c - UHCI configuration register

source

pub fn state0(&self) -> &STATE0

0x30 - UHCI decoder status register

source

pub fn state1(&self) -> &STATE1

0x34 - UHCI encoder status register

source

pub fn dma_out_eof_des_addr(&self) -> &DMA_OUT_EOF_DES_ADDR

0x38 - Outlink descriptor address when EOF occurs

source

pub fn dma_in_suc_eof_des_addr(&self) -> &DMA_IN_SUC_EOF_DES_ADDR

0x3c - Inlink descriptor address when EOF occurs

source

pub fn dma_in_err_eof_des_addr(&self) -> &DMA_IN_ERR_EOF_DES_ADDR

0x40 - Inlink descriptor address when errors occur

source

pub fn dma_out_eof_bfr_des_addr(&self) -> &DMA_OUT_EOF_BFR_DES_ADDR

0x44 - Outlink descriptor address before the last transmit descriptor

source

pub fn ahb_test(&self) -> &AHB_TEST

0x48 - AHB test register

source

pub fn dma_in_dscr(&self) -> &DMA_IN_DSCR

0x4c - The third word of the next receive descriptor

source

pub fn dma_in_dscr_bf0(&self) -> &DMA_IN_DSCR_BF0

0x50 - The third word of current receive descriptor

source

pub fn dma_out_dscr(&self) -> &DMA_OUT_DSCR

0x58 - The third word of the next transmit descriptor

source

pub fn dma_out_dscr_bf0(&self) -> &DMA_OUT_DSCR_BF0

0x5c - The third word of current transmit descriptor

source

pub fn escape_conf(&self) -> &ESCAPE_CONF

0x64 - Escape character configuration

source

pub fn hung_conf(&self) -> &HUNG_CONF

0x68 - Timeout configuration

source

pub fn rx_head(&self) -> &RX_HEAD

0x70 - UHCI packet header register

source

pub fn quick_sent(&self) -> &QUICK_SENT

0x74 - UHCI quick_sent configuration register

source

pub fn q(&self, n: usize) -> &Q

0x78..0xb0 - Cluster Q%s, containing Q?_WORD0, Q?_WORD1

source

pub fn q_iter(&self) -> impl Iterator<Item = &Q>

Iterator for array of: 0x78..0xb0 - Cluster Q%s, containing Q?_WORD0, Q?_WORD1

source

pub fn esc_conf(&self, n: usize) -> &ESC_CONF

0xb0..0xc0 - Escape sequence configuration register %s

source

pub fn esc_conf_iter(&self) -> impl Iterator<Item = &ESC_CONF>

Iterator for array of: 0xb0..0xc0 - Escape sequence configuration register %s

source

pub fn pkt_thres(&self) -> &PKT_THRES

0xc0 - Configure register for packet length

source

pub fn date(&self) -> &DATE

0xfc - UHCI version control register

Trait Implementations§

source§

impl Debug for UHCI0

source§

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

Formats the value using the given formatter. Read more
source§

impl Deref for UHCI0

§

type Target = RegisterBlock

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Send for UHCI0

Auto Trait Implementations§

§

impl Freeze for UHCI0

§

impl RefUnwindSafe for UHCI0

§

impl !Sync for UHCI0

§

impl Unpin for UHCI0

§

impl UnwindSafe for UHCI0

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where 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 T
where 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 T
where 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 T
where 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.