pub struct USB1_ULPI {
    pub usb_global: OTG1_HS_GLOBAL,
    pub usb_device: OTG1_HS_DEVICE,
    pub usb_pwrclk: OTG1_HS_PWRCLK,
    pub prec: Usb1Otg,
    pub hclk: Hertz,
}
Available on crate feature usb_hs only.

Fields§

§usb_global: OTG1_HS_GLOBAL§usb_device: OTG1_HS_DEVICE§usb_pwrclk: OTG1_HS_PWRCLK§prec: Usb1Otg§hclk: Hertz

Implementations§

source§

impl USB1_ULPI

source

pub fn new( usb_global: OTG1_HS_GLOBAL, usb_device: OTG1_HS_DEVICE, usb_pwrclk: OTG1_HS_PWRCLK, ulpi_clk: PA5<Alternate<10>>, ulpi_dir: impl Into<Usb1UlpiDirPin>, ulpi_nxt: impl Into<Usb1UlpiNxtPin>, ulpi_stp: PC0<Alternate<10>>, ulpi_d0: PA3<Alternate<10>>, ulpi_d1: PB0<Alternate<10>>, ulpi_d2: PB1<Alternate<10>>, ulpi_d3: PB10<Alternate<10>>, ulpi_d4: PB11<Alternate<10>>, ulpi_d5: PB12<Alternate<10>>, ulpi_d6: PB13<Alternate<10>>, ulpi_d7: PB5<Alternate<10>>, prec: Usb1Otg, clocks: &CoreClocks ) -> Self

Automatically sets all upli pins to gpio speed VeryHigh. If you wish to use another configuration, please see new_unchecked.

source

pub fn new_unchecked( usb_global: OTG1_HS_GLOBAL, usb_device: OTG1_HS_DEVICE, usb_pwrclk: OTG1_HS_PWRCLK, prec: Usb1Otg, clocks: &CoreClocks ) -> Self

Trait Implementations§

source§

impl UsbPeripheral for USB1_ULPI

source§

const REGISTERS: *const () = {0x40040000 as *const ()}

Pointer to the register block
source§

const HIGH_SPEED: bool = true

true for High Speed variants of the peripheral, false for Full Speed
source§

const FIFO_DEPTH_WORDS: usize = 1_024usize

FIFO size in 32-bit words
source§

const ENDPOINT_COUNT: usize = 9usize

Number of (bidirectional) endpoints
source§

fn enable()

Enables USB device on its peripheral bus
source§

fn ahb_frequency_hz(&self) -> u32

AHB frequency in hertz
source§

fn phy_type(&self) -> PhyType

Returns PHY type that should be used for USB peripheral
source§

fn setup_internal_hs_phy(&self)

Performs initial setup of the internal high-speed PHY Read more
source§

impl Sync for USB1_ULPI

Auto Trait Implementations§

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.