AM261x MCU+ SDK  11.00.00
pcd_intr.c File Reference

Introduction

This file contains the implementation of the PCD Interrupt handlers.

The PCD handles the device interrupts. Many conditions can cause a device interrupt. When an interrupt occurs, the device interrupt service routine determines the cause of the interrupt and dispatches handling to the appropriate routine. These interrupt handling routines are described below.

Functions

static int handle_disconnect_intr (volatile dwc_usb3_pcd_t *pcd)
 
static void handle_usb_reset_intr (volatile dwc_usb3_pcd_t *pcd)
 
static void handle_link_status_change_intr (volatile dwc_usb3_pcd_t *pcd)
 
static void handle_wakeup_detected_intr (volatile dwc_usb3_pcd_t *pcd)
 
static int handle_hiber_req_intr (volatile dwc_usb3_pcd_t *pcd, u32 event)
 
static void handle_u3_l2l1_susp_intr (volatile dwc_usb3_pcd_t *pcd)
 
static void handle_sof_intr (volatile dwc_usb3_pcd_t *pcd)
 
void dwc_usb3_handle_connect_done_intr (volatile dwc_usb3_pcd_t *pcd)
 This interrupt occurs when a Connect Done is detected. Read the device status register and set the device speed in the data structure. Set up EP0 to receive SETUP packets. More...
 
void dwc_usb3_handle_ep_intr (volatile dwc_usb3_pcd_t *pcd, u32 physep, u32 event)
 This interrupt indicates that an EP has a pending interrupt. More...
 
int dwc_usb3_handle_dev_intr (volatile dwc_usb3_pcd_t *pcd, u32 event)
 PCD interrupt handler. More...
 

Function Documentation

◆ handle_disconnect_intr()

static int handle_disconnect_intr ( volatile dwc_usb3_pcd_t pcd)
static

This interrupt indicates that the device has been disconnected.

◆ handle_usb_reset_intr()

static void handle_usb_reset_intr ( volatile dwc_usb3_pcd_t pcd)
static

This interrupt occurs when a USB Reset is detected. When the USB Reset Interrupt occurs, all transfers are stopped and the device state is set to DEFAULT.

Ensure EP0 transfer is started, If the endpoint 0 (EP0) state is not idle, reset the state to idle and initiate the EP0 OUT transfer.

◆ handle_link_status_change_intr()

static void handle_link_status_change_intr ( volatile dwc_usb3_pcd_t pcd)
static

This interrupt indicates that the USB link state has changed.

◆ handle_wakeup_detected_intr()

static void handle_wakeup_detected_intr ( volatile dwc_usb3_pcd_t pcd)
static

This interrupt indicates that the DWC_usb3 controller has detected a resume or remote wakeup sequence.

◆ handle_hiber_req_intr()

static int handle_hiber_req_intr ( volatile dwc_usb3_pcd_t pcd,
u32  event 
)
static

This interrupt indicates that the USB link state has changed to L2, U3, or (if L1 Hibernation is enabled) L1, and software intervention is required.

◆ handle_u3_l2l1_susp_intr()

static void handle_u3_l2l1_susp_intr ( volatile dwc_usb3_pcd_t pcd)
static

This interrupt indicates that a U3/L2-L1 Suspend event has occurred.

◆ handle_sof_intr()

static void handle_sof_intr ( volatile dwc_usb3_pcd_t pcd)
static

This routine handles the SOF Interrupts. At this time the SOF Interrupt is disabled.