RA Flexible Software Package Documentation  Release v5.9.0

 
USB TYPEC Interface

Detailed Description

Interface for USB Type-C functions.

Summary

The USB Type-C interface provides USB functionality.

Data Structures

struct  usb_typec_callback_args_t
 
struct  usb_typec_cfg_t
 
struct  usb_typec_api_t
 
struct  usb_typec_instance_t
 

Typedefs

typedef void usb_typec_ctrl_t
 

Enumerations

enum  usb_typec_mode_t
 
enum  usb_typec_pmode_t
 
enum  usb_typec_plug_t
 
enum  usb_typec_connection_status_t
 
enum  usb_typec_vbus_status_t
 
enum  usb_typec_status_t
 
enum  usb_typec_ccs_status_t
 

Data Structure Documentation

◆ usb_typec_callback_args_t

struct usb_typec_callback_args_t

Callback function parameter data

Data Fields
uint32_t module_number USB Type-C module number.
usb_typec_status_t status Status code.
usb_typec_plug_t plug Connection of Plug Orientation.
usb_typec_connection_status_t connection_status Status of Connection Statue Machine.
usb_typec_vbus_status_t vbus_status Status of VBUS.
void const * p_context Placeholder for user data. Set in usb_typec_api_t::open function in usb_typec_cfg_t.

◆ usb_typec_cfg_t

struct usb_typec_cfg_t

USB Type-C configuration.

Data Fields
uint32_t module_number USB Type-C module number.
usb_typec_mode_t usb_typec_mode Sink Only/USB 2.0 Only Sink Mode.
usb_typec_pmode_t usb_typec_pmode Detect Default USB Source/Detect Default USB and 1.5A Source/Detect Default USB, 1.5A and 3.0A Source.
IRQn_Type irq_typec_cci USBCC_CCI interrupt number storage variable.
IRQn_Type irq_typec_ccs USBCC_CCS interrupt number storage variable.
uint32_t ipl_typec_cci Variable to store the interrupt priority of USBCC_CCI IR.
uint32_t ipl_typec_ccs Variable to store the interrupt priority of USBCC_CCS IR.
usb_typec_callback_t * p_callback Type-C Callback.
void const * p_context Other Context.
void const * p_extend Pointer to extended configuration by instance of interface.

◆ usb_typec_api_t

struct usb_typec_api_t

Functions implemented at the HAL layer will follow this API.

Data Fields

fsp_err_t(* open )(usb_typec_ctrl_t *const p_ctrl, usb_typec_cfg_t const *const p_cfg)
 
fsp_err_t(* close )(usb_typec_ctrl_t *const p_ctrl)
 
fsp_err_t(* infoGet )(usb_typec_ctrl_t *const p_ctrl, usb_typec_info_t *const p_info)
 
fsp_err_t(* lowPowerModeSet )(usb_typec_ctrl_t *const p_ctrl, usb_typec_ccs_status_t status)
 

Field Documentation

◆ open

fsp_err_t(* usb_typec_api_t::open) (usb_typec_ctrl_t *const p_ctrl, usb_typec_cfg_t const *const p_cfg)

Start the USB Type-C module

Parameters
[in]p_ctrlPointer to control structure.
[in]p_cfgPointer to configuration structure.

◆ close

fsp_err_t(* usb_typec_api_t::close) (usb_typec_ctrl_t *const p_ctrl)

Stop the USB Type-C module

Parameters
[in]p_ctrlPointer to control structure.

◆ infoGet

fsp_err_t(* usb_typec_api_t::infoGet) (usb_typec_ctrl_t *const p_ctrl, usb_typec_info_t *const p_info)

Get information on USB Type-C module.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_infoPointer to usb_typec_info_t structure area.

◆ lowPowerModeSet

fsp_err_t(* usb_typec_api_t::lowPowerModeSet) (usb_typec_ctrl_t *const p_ctrl, usb_typec_ccs_status_t status)

Set IRQ Mode for USB Type-C module by Software Standby

Parameters
[in]p_ctrlPointer to control structure.
[in]statusStatus code of USBCC CCS Enable/Disable.

◆ usb_typec_instance_t

struct usb_typec_instance_t

This structure encompasses everything that is needed to use an instance of this interface.

Data Fields
usb_typec_ctrl_t * p_ctrl Pointer to the control structure for this instance.
usb_typec_cfg_t const * p_cfg Pointer to the configuration structure for this instance.
usb_typec_api_t const * p_api Pointer to the API structure for this instance.

Typedef Documentation

◆ usb_typec_ctrl_t

typedef void usb_typec_ctrl_t

USB Type-C control block. Allocate an instance specific control block to pass into the USB Type-C API calls.

Enumeration Type Documentation

◆ usb_typec_mode_t

USB TypeC operation_mode

Enumerator
USB_TYPEC_MODE_SINK 

Sink Only Mode.

USB_TYPEC_MODE_USB20_ONLY_SINK 

USB 2.0 Only Sink Mode.

◆ usb_typec_pmode_t

USB TypeC Source Current Detection mode

Enumerator
USB_TYPEC_PMODE_DEFAULT 

Detect Default USB Source.

USB_TYPEC_PMODE_DEFAULT_1_5A 

Detect Default USB and 1.5A Source.

USB_TYPEC_PMODE_DEFAULT_1_5A_3_0A 

Detect Default USB, 1.5A and 3.0A Source.

◆ usb_typec_plug_t

USB TypeC Connection of Plug Orientation

Enumerator
USB_TYPEC_PLUG_CC1_CONNECTED 

CC1 connected.

USB_TYPEC_PLUG_CC2_CONNECTED 

CC2 connected.

◆ usb_typec_connection_status_t

USB TypeC Status of Connection State Machine

Enumerator
USB_TYPEC_CONNECTION_STATUS_DISABLED 

Disabled.

USB_TYPEC_CONNECTION_STATUS_UNATTACHED 

Unattached.SNK.

USB_TYPEC_CONNECTION_STATUS_ATTACHED_WAIT 

AttachedWait.SNK.

USB_TYPEC_CONNECTION_STATUS_ATTACHED 

Attached.SNK.

USB_TYPEC_CONNECTION_STATUS_ATTACHED_POWER_DEFAULT 

Attached.SNK (PowerDefault.SNK)

USB_TYPEC_CONNECTION_STATUS_ATTACHED_POWER_1_5 

Attached.SNK (Power1.5.SNK)

USB_TYPEC_CONNECTION_STATUS_ATTACHED_POWER_3_0 

Attached.SNK (Power3.0.SNK)

◆ usb_typec_vbus_status_t

USB TypeC VBUS status

Enumerator
USB_TYPEC_VBUS_STATUS_OFF 

VBUS Off State.

USB_TYPEC_VBUS_STATUS_ON 

VBUS On State.

◆ usb_typec_status_t

Status code of callback function

Enumerator
USB_TYPEC_STATUS_ISCN 

Connection Status Change.

USB_TYPEC_STATUS_ISCC 

CC Status Change.

USB_TYPEC_STATUS_ISVBUS 

VBUS Status Change.

USB_TYPEC_STATUS_ISVRA 

Rp Detection for USBCC_CCI Interrupt.

USB_TYPEC_STATUS_ISVRA_CCS 

Rp Detection for USBCC_CCS Interrupt.

◆ usb_typec_ccs_status_t

Status code of USBCC CCS Enable/Disable

Enumerator
USB_TYPEC_CCS_STATUS_OFF 

USBCC CCS Disable.

USB_TYPEC_CCS_STATUS_ON 

USBCC CCS Enable.