NetBurner 3.5.7
PDF Version
usb_host_hci.h
1/*
2 * Copyright (c) 2015, Freescale Semiconductor, Inc.
3 * Copyright 2016 - 2019 NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#ifndef _USB_HOST_HCI_H_
10#define _USB_HOST_HCI_H_
11
12/*******************************************************************************
13 * Definitions
14 ******************************************************************************/
15
17#define USB_HostLock() OSA_MutexLock(hostInstance->hostMutex, USB_OSA_WAIT_TIMEOUT)
19#define USB_HostUnlock() OSA_MutexUnlock(hostInstance->hostMutex)
20
42
56
82#if ((defined USB_HOST_CONFIG_COMPLIANCE_TEST) && (USB_HOST_CONFIG_COMPLIANCE_TEST))
83usb_status_t USB_HostTestModeInit(usb_device_handle deviceHandle);
84#endif
93typedef struct _usb_host_instance
94{
97 osa_mutex_handle_t hostMutex;
98 uint32_t mutexBuffer[(OSA_MUTEX_HANDLE_SIZE + 3) / 4];
99 usb_host_transfer_t transferList[USB_HOST_CONFIG_MAX_TRANSFERS];
103#if ((defined(USB_HOST_CONFIG_LOW_POWER_MODE)) && (USB_HOST_CONFIG_LOW_POWER_MODE > 0U))
104 void *suspendedDevice;
105 volatile uint64_t hwTick;
106 uint8_t sleepType;
107#endif
108 uint8_t addressBitMap[16];
110 uint8_t occupied;
111 uint8_t controllerId;
113
114extern usb_host_instance_t g_UsbHostInstance[USB_HOST_CONFIG_MAX_HOST];
117#endif /* _USB_HOST_HCI_H_ */
enum _usb_status usb_status_t
USB error code.
void * usb_host_handle
USB host handle type define.
Definition nxp_usb.h:70
void * usb_device_handle
USB device handle type define.
Definition nxp_usb.h:73
enum _usb_host_controller_control usb_host_controller_control_t
USB host controller control code.
_usb_host_controller_control
USB host controller control code.
Definition usb_host_hci.h:28
struct _usb_host_controller_interface usb_host_controller_interface_t
USB host controller interface structure.
enum _usb_host_bus_control usb_host_bus_control_t
USB host controller bus control code.
_usb_host_bus_control
USB host controller bus control code.
Definition usb_host_hci.h:45
@ kUSB_HostSetChargerType
Definition usb_host_hci.h:37
@ kUSB_HostPortAttachDisable
Definition usb_host_hci.h:34
@ kUSB_HostGetFrameNumber
Definition usb_host_hci.h:31
@ kUSB_HostUpdateControlEndpointAddress
Definition usb_host_hci.h:32
@ kUSB_HostPortAttachEnable
Definition usb_host_hci.h:35
@ kUSB_HostL1Config
Definition usb_host_hci.h:36
@ kUSB_HostCancelTransfer
Definition usb_host_hci.h:29
@ kUSB_HostUpdateControlPacketSize
Definition usb_host_hci.h:33
@ kUSB_HostBusControl
Definition usb_host_hci.h:30
@ kUSB_HostBusL1Sleep
Definition usb_host_hci.h:53
@ kUSB_HostBusL1Resume
Definition usb_host_hci.h:54
@ kUSB_HostBusReset
Definition usb_host_hci.h:46
@ kUSB_HostBusRestart
Definition usb_host_hci.h:47
@ kUSB_HostBusResume
Definition usb_host_hci.h:51
@ kUSB_HostBusSuspend
Definition usb_host_hci.h:50
@ kUSB_HostBusL1SuspendInit
Definition usb_host_hci.h:52
@ kUSB_HostBusEnableAttach
Definition usb_host_hci.h:48
@ kUSB_HostBusDisableAttach
Definition usb_host_hci.h:49
usb_status_t(* host_callback_t)(usb_device_handle deviceHandle, usb_host_configuration_handle configurationHandle, uint32_t eventCode)
Host callback function typedef.
Definition usb_host.h:163
usb_host_instance_t g_UsbHostInstance[USB_HOST_CONFIG_MAX_HOST]
USB host instance resource.
Definition usb_host_hci.c:61
struct _usb_host_instance usb_host_instance_t
USB host instance structure.
void * usb_host_controller_handle
USB host controller handle type define.
Definition usb_host.h:31
void * usb_host_pipe_handle
USB host pipe handle type define.
Definition usb_host.h:40
USB host controller interface structure.
Definition usb_host_hci.h:59
usb_status_t(* controllerReadPipe)(usb_host_controller_handle controllerHandle, usb_host_pipe_handle pipeHandle, usb_host_transfer_t *transfer)
Definition usb_host_hci.h:75
usb_status_t(* controllerDestory)(usb_host_controller_handle controllerHandle)
Definition usb_host_hci.h:64
usb_status_t(* controllerCreate)(uint8_t controllerId, usb_host_handle upperLayerHandle, usb_host_controller_handle *controllerHandle)
Definition usb_host_hci.h:60
usb_status_t(* controllerIoctl)(usb_host_controller_handle controllerHandle, uint32_t ioctlEvent, void *ioctlParam)
Definition usb_host_hci.h:78
usb_status_t(* controllerClosePipe)(usb_host_controller_handle controllerHandle, usb_host_pipe_handle pipeHandle)
Definition usb_host_hci.h:69
usb_status_t(* controllerOpenPipe)(usb_host_controller_handle controllerHandle, usb_host_pipe_handle *pipeHandle, usb_host_pipe_init_t *pipeInit)
Definition usb_host_hci.h:66
usb_status_t(* controllerWritePipe)(usb_host_controller_handle controllerHandle, usb_host_pipe_handle pipeHandle, usb_host_transfer_t *transfer)
Definition usb_host_hci.h:72
USB host instance structure.
Definition usb_host_hci.h:94
const usb_host_controller_interface_t * controllerTable
Definition usb_host_hci.h:101
host_callback_t deviceCallback
Definition usb_host_hci.h:96
usb_host_transfer_t transferList[USB_HOST_CONFIG_MAX_TRANSFERS]
Definition usb_host_hci.h:99
usb_host_transfer_t * transferHead
Definition usb_host_hci.h:100
uint8_t addressBitMap[16]
Definition usb_host_hci.h:108
uint8_t occupied
Definition usb_host_hci.h:110
void * controllerHandle
Definition usb_host_hci.h:95
osa_mutex_handle_t hostMutex
Definition usb_host_hci.h:97
void * deviceList
Definition usb_host_hci.h:102
uint8_t controllerId
Definition usb_host_hci.h:111
uint32_t mutexBuffer[(OSA_MUTEX_HANDLE_SIZE+3)/4]
Definition usb_host_hci.h:98
USB host pipe information structure for opening pipe.
Definition usb_host.h:272
USB host transfer structure.
Definition usb_host.h:241