|
NetBurner 3.5.7
PDF Version |
Classes | |
| struct | _usb_host_ehci_pipe |
| EHCI pipe structure. More... | |
| struct | _usb_host_ehci_qh |
| EHCI QH structure. See the USB EHCI specification. More... | |
| struct | _usb_host_ehci_qtd |
| EHCI QTD structure. See the USB EHCI specification. More... | |
| struct | _usb_host_ehci_itd |
| EHCI ITD structure. See the USB EHCI specification. More... | |
| struct | _usb_host_ehci_sitd |
| EHCI SITD structure. See the USB EHCI specification. More... | |
| struct | _usb_host_ehci_iso |
| EHCI ISO structure; An ISO pipe has an instance of this structure to keep the ISO pipe-specific information. More... | |
| struct | _usb_host_ehci_instance |
| EHCI instance structure. More... | |
| struct | _usb_host_ehci_data |
| EHCI data structure. More... | |
Macros | |
| #define | USB_HOST_EHCI_ISO_NUMBER USB_HOST_CONFIG_EHCI_MAX_ITD |
| The maximum supported ISO pipe number. | |
| #define | USB_HOST_EHCI_PORT_CONNECT_DEBOUNCE_DELAY (101U) |
| Check the port connect state delay if the state is unstable. | |
| #define | USB_HOST_EHCI_PORT_RESET_DELAY (11U) |
| Delay for port reset. | |
| #define | USB_HOST_EHCI_ISO_MAX_CONTINUOUS_TRANSFER (8U) |
| The MAX continuous transfers that application can send. | |
| #define | USB_HOST_EHCI_ISO_BOUNCE_FRAME_NUMBER (2U) |
| The SITD inserts a frame interval for putting more SITD continuously. There is an interval when an application sends two FS/LS ISO transfers. When the interval is less than the macro, the two transfers are continuous in the frame list. Otherwise, the two transfers are not continuous. For example: | |
| #define | USB_HOST_EHCI_ISO_BOUNCE_UFRAME_NUMBER (16U) |
| The ITD inserts a micro-frame interval for putting more ITD continuously. There is an interval when an application sends two HS ISO transfers. When the interval is less than the macro, the two transfers are continuous in the frame list. Otherwise, the two transfers are not continuous. For example: | |
| #define | USB_HOST_EHCI_CONTROL_BULK_TIME_OUT_VALUE (50U) |
| Control or bulk transaction timeout value (unit: 100 ms) | |
Typedefs | |
| typedef enum _host_ehci_device_state_ | host_ehci_device_state_t |
| EHCI state for device attachment/detachment. | |
| typedef struct _usb_host_ehci_pipe | usb_host_ehci_pipe_t |
| EHCI pipe structure. | |
| typedef struct _usb_host_ehci_qh | usb_host_ehci_qh_t |
| EHCI QH structure. See the USB EHCI specification. | |
| typedef struct _usb_host_ehci_qtd | usb_host_ehci_qtd_t |
| EHCI QTD structure. See the USB EHCI specification. | |
| typedef struct _usb_host_ehci_itd | usb_host_ehci_itd_t |
| EHCI ITD structure. See the USB EHCI specification. | |
| typedef struct _usb_host_ehci_sitd | usb_host_ehci_sitd_t |
| EHCI SITD structure. See the USB EHCI specification. | |
| typedef struct _usb_host_ehci_iso | usb_host_ehci_iso_t |
| EHCI ISO structure; An ISO pipe has an instance of this structure to keep the ISO pipe-specific information. | |
| typedef struct _usb_host_ehci_instance | usb_host_ehci_instance_t |
| EHCI instance structure. | |
| typedef struct _usb_host_ehci_data | usb_host_ehci_data_t |
| EHCI data structure. | |
Enumerations | |
| enum | _host_ehci_device_state_ { kEHCIDevicePhyAttached = 1 , kEHCIDeviceAttached , kEHCIDeviceDetached } |
| EHCI state for device attachment/detachment. More... | |
| #define USB_HOST_EHCI_ISO_BOUNCE_FRAME_NUMBER (2U) |
#include <usb_host_ehci.h>
The SITD inserts a frame interval for putting more SITD continuously. There is an interval when an application sends two FS/LS ISO transfers. When the interval is less than the macro, the two transfers are continuous in the frame list. Otherwise, the two transfers are not continuous. For example:
| #define USB_HOST_EHCI_ISO_BOUNCE_UFRAME_NUMBER (16U) |
#include <usb_host_ehci.h>
The ITD inserts a micro-frame interval for putting more ITD continuously. There is an interval when an application sends two HS ISO transfers. When the interval is less than the macro, the two transfers are continuous in the frame list. Otherwise, the two transfers are not continuous. For example:
|
extern |
#include <usb_host_ehci.h>
Closes the USB host pipe.
This function closes a pipe and releases related resources.
| [in] | controllerHandle | The controller handle. |
| [in] | pipeHandle | The closing pipe handle. |
| kStatus_USB_Success | The host is initialized successfully. |
|
extern |
#include <usb_host_ehci.h>
Creates the USB host EHCI instance.
This function initializes the USB host EHCI controller driver.
| [in] | controllerId | The controller ID of the USB IP. Please refer to the enumeration usb_controller_index_t. |
| [in] | upperLayerHandle | The host level handle. |
| [out] | controllerHandle | return the controller instance handle. |
| kStatus_USB_Success | The host is initialized successfully. |
| kStatus_USB_AllocFail | Allocating memory failed. |
| kStatus_USB_Error | Host mutex create fail, KHCI/EHCI mutex or KHCI/EHCI event create fail. Or, KHCI/EHCI IP initialize fail. |
|
extern |
#include <usb_host_ehci.h>
Destroys the USB host EHCI instance.
This function de-initializes The USB host EHCI controller driver.
| [in] | controllerHandle | The controller handle. |
| kStatus_USB_Success | The host is initialized successfully. |
|
extern |
#include <usb_host_ehci.h>
Controls the EHCI.
This function controls the EHCI.
| [in] | controllerHandle | The controller handle. |
| [in] | ioctlEvent | See enumeration host_bus_control_t. |
| [in] | ioctlParam | The control parameter. |
| kStatus_USB_Success | Cancel successfully. |
| kStatus_USB_InvalidHandle | The controllerHandle is a NULL pointer. |
|
extern |
#include <usb_host_ehci.h>
Opens the USB host pipe.
This function opens a pipe according to the pipe_init_ptr parameter.
| [in] | controllerHandle | The controller handle. |
| [out] | pipeHandle | The pipe handle pointer, it is used to return the pipe handle. |
| [in] | pipeInit | It is used to initialize the pipe. |
| kStatus_USB_Success | The host is initialized successfully. |
| kStatus_USB_Error | There is no idle pipe. Or, there is no idle QH for EHCI. Or, bandwidth allocate fail for EHCI. |
|
extern |
#include <usb_host_ehci.h>
Receives data from the pipe.
This function requests to receive the transfer from the specified pipe.
| [in] | controllerHandle | The controller handle. |
| [in] | pipeHandle | The receiving pipe handle. |
| [in] | transfer | The transfer information. |
| kStatus_USB_Success | Send successfully. |
| kStatus_USB_LackSwapBuffer | There is no swap buffer for KHCI. |
| kStatus_USB_Error | There is no idle QTD/ITD/SITD for EHCI. |
|
extern |
#include <usb_host_ehci.h>
Sends data to the pipe.
This function requests to send the transfer to the specified pipe.
| [in] | controllerHandle | The controller handle. |
| [in] | pipeHandle | The sending pipe handle. |
| [in] | transfer | The transfer information. |
| kStatus_USB_Success | Sent successfully. |
| kStatus_USB_LackSwapBuffer | There is no swap buffer for KHCI. |
| kStatus_USB_Error | There is no idle QTD/ITD/SITD for EHCI. |