MSP432E4 DriverLib API Guide  1.11.00.03
Functions
Usb_ulpi

Functions

void USBULPIConfig (uint32_t ui32Base, uint32_t ui32Config)
 
void USBULPIEnable (uint32_t ui32Base)
 
void USBULPIDisable (uint32_t ui32Base)
 
uint8_t USBULPIRegRead (uint32_t ui32Base, uint8_t ui8Reg)
 
void USBULPIRegWrite (uint32_t ui32Base, uint8_t ui8Reg, uint8_t ui8Data)
 

Detailed Description

Function Documentation

§ USBULPIConfig()

void USBULPIConfig ( uint32_t  ui32Base,
uint32_t  ui32Config 
)

Configures the USB controller's ULPI function.

Parameters
ui32Basespecifies the USB module base address.
ui32Configcontains the configuration options.

This function is used to configure the USB controller's ULPI function. The configuration options are set in the ui32Config parameter and are a logical OR of the following values:

  • USB_ULPI_EXTVBUS enables the external ULPI PHY as the source for VBUS signaling.
  • USB_ULPI_EXTVBUS_IND enables the external ULPI PHY to detect external VBUS over-current condition.

Example: Enable ULPI PHY with full VBUS control.

//! //
//! // Enable ULPI PHY with full VBUS control.
//! //
//! USBULPIConfig(USB0_BASE, USB_ULPI_EXTVBUS | USB_ULPI_EXTVBUS_IND);
//! 
\return None.  

References HWREGB, and USB_O_ULPIVBUSCTL.

§ USBULPIEnable()

void USBULPIEnable ( uint32_t  ui32Base)

Enables the USB controller's ULPI function.

Parameters
ui32Basespecifies the USB module base address.

This function enables the USB controller's ULPI function and must be called before attempting to access an external ULPI-connected USB PHY.

Example: Enable ULPI function.

//! //
//! // Enable ULPI function.
//! //
//! USBULPIEnable(USB0_BASE);
//! 
\return None.  

References HWREG, USB_O_PC, and USB_PC_ULPIEN.

§ USBULPIDisable()

void USBULPIDisable ( uint32_t  ui32Base)

Disables the USB controller's ULPI function.

Parameters
ui32Basespecifies the USB module base address.

This function disables the USB controller's ULPI function. Accesses to the external ULPI-connected PHY cannot succeed after this function has been called.

Example: Disable ULPI function.

//! //
//! // Disable ULPI function.
//! //
//! USBULPIDisable(USB0_BASE);
//! 
\return None.  

References HWREG, USB_O_PC, and USB_PC_ULPIEN.

§ USBULPIRegRead()

uint8_t USBULPIRegRead ( uint32_t  ui32Base,
uint8_t  ui8Reg 
)

Reads a register from an external ULPI-connected USB PHY.

Parameters
ui32Basespecifies the USB module base address.
ui8Regspecifies the register address to read.

This function reads the register address specified in the ui8Reg parameter using the ULPI function. This function is blocking and only returns when the read access completes. The function does not return if there is not a ULPI-connected USB PHY present.

Example: Read a register from the ULPI PHY.

//! uint8_t ui8Value;
//!
//! //
//! // Read a register from the ULPI PHY register at 0x10.
//! //
//! ui8Value = USBULPIRegRead(USB0_BASE, 0x10);
//! 
\return The value of the requested ULPI register.  

References ASSERT, HWREGB, USB_O_ULPIREGADDR, USB_O_ULPIREGCTL, USB_O_ULPIREGDATA, USB_ULPIREGCTL_RDWR, USB_ULPIREGCTL_REGACC, and USB_ULPIREGCTL_REGCMPLT.

§ USBULPIRegWrite()

void USBULPIRegWrite ( uint32_t  ui32Base,
uint8_t  ui8Reg,
uint8_t  ui8Data 
)

Writes a value to a register on an external ULPI-connected USB PHY.

Parameters
ui32Basespecifies the USB module base address.
ui8Regspecifies the register address to write.
ui8Dataspecifies the data to write.

This function writes the register address specified in the ui8Reg parameter with the value specified in the ui8Data parameter using the ULPI function. This function is blocking and only returns when the write access completes. The function does not return if there is not a ULPI-connected USB PHY present.

Example: Write a register from the external ULPI PHY.

//! //
//! // Write the ULPI PHY register at 0x10 with 0x20.
//! //
//! USBULPIRegWrite(USB0_BASE, 0x10, 0x20);
//! 
\return None.  

References ASSERT, HWREGB, USB_O_ULPIREGADDR, USB_O_ULPIREGCTL, USB_O_ULPIREGDATA, USB_ULPIREGCTL_REGACC, and USB_ULPIREGCTL_REGCMPLT.

© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale