NetBurner 3.5.7
PDF Version
usb_host_devices.h
1/*
2 * Copyright (c) 2015, Freescale Semiconductor, Inc.
3 * Copyright 2016 NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#ifndef _USB_HOST_DEV_MNG_H_
10#define _USB_HOST_DEV_MNG_H_
11
12#include <usb_host.h>
13
14/*******************************************************************************
15 * Definitions
16 ******************************************************************************/
35
43
50
53{
57 usb_descriptor_device_t *deviceDescriptor;
60 uint8_t *enumBuffer;
62 uint8_t interfaceStatus[USB_HOST_CONFIG_CONFIGURATION_MAX_INTERFACE];
65 uint8_t state;
66 uint8_t enumRetries;
67 uint8_t stallRetries;
68 uint8_t speed;
71 uint8_t setAddress;
73#if ((defined USB_HOST_CONFIG_HUB) && (USB_HOST_CONFIG_HUB))
74 /* hub related */
75 uint8_t hubNumber;
76 uint8_t portNumber;
77 uint8_t hsHubNumber;
78 uint8_t hsHubPort;
79 uint8_t level;
80#endif
82
83typedef struct _usb_host_enum_process_entry
84{
88 usb_status_t (*process)(usb_host_device_instance_t *deviceInstance, uint32_t dataLength);
89} usb_host_enum_process_entry_t;
90
91/*******************************************************************************
92 * API
93 ******************************************************************************/
94
108 uint8_t speed,
109 uint8_t hubNumber,
110 uint8_t portNumber,
111 uint8_t level,
112 usb_device_handle *deviceHandle);
113
123extern usb_status_t USB_HostDetachDevice(usb_host_handle hostHandle, uint8_t hubNumber, uint8_t portNumber);
124
134
142extern uint8_t USB_HostGetDeviceAttachState(usb_device_handle deviceHandle);
143
153
155#endif /* _USB_HOST_DEV_MNG_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_device_enumeration_status usb_host_device_enumeration_status_t
States of device instances enumeration.
usb_status_t USB_HostDetachDevice(usb_host_handle hostHandle, uint8_t hubNumber, uint8_t portNumber)
Call this function when device detaches.
Definition usb_host_devices.c:1212
_usb_host_device_enumeration_status
States of device instances enumeration.
Definition usb_host_devices.h:23
enum _usb_host_device_state usb_host_device_state_t
States of device.
struct _usb_host_device_instance usb_host_device_instance_t
Device instance.
void * usb_host_pipe_handle
USB host pipe handle type define.
Definition usb_host.h:40
enum _usb_host_interface_state usb_host_interface_state_t
States of device's interface.
usb_status_t USB_HostAttachDevice(usb_host_handle hostHandle, uint8_t speed, uint8_t hubNumber, uint8_t portNumber, uint8_t level, usb_device_handle *deviceHandle)
Calls this function when device attach.
Definition usb_host_devices.c:1044
_usb_host_device_state
States of device.
Definition usb_host_devices.h:46
usb_status_t USB_HostDetachDeviceInternal(usb_host_handle hostHandle, usb_device_handle deviceHandle)
Call this function when device detaches.
Definition usb_host_devices.c:1245
usb_status_t USB_HostValidateDevice(usb_host_handle hostHandle, usb_device_handle deviceHandle)
Determine whether the device is attached.
Definition usb_host_devices.c:1286
uint8_t USB_HostGetDeviceAttachState(usb_device_handle deviceHandle)
Gets the device attach/detach state.
Definition usb_host_devices.c:1281
_usb_host_interface_state
States of device's interface.
Definition usb_host_devices.h:38
@ kStatus_DEV_Notinit
Definition usb_host_devices.h:24
@ kStatus_DEV_GetCfg9
Definition usb_host_devices.h:29
@ kStatus_DEV_GetDes8
Definition usb_host_devices.h:26
@ kStatus_DEV_EnumDone
Definition usb_host_devices.h:32
@ kStatus_DEV_GetCfg
Definition usb_host_devices.h:30
@ kStatus_DEV_SetAddress
Definition usb_host_devices.h:27
@ kStatus_DEV_GetDes
Definition usb_host_devices.h:28
@ kStatus_DEV_SetCfg
Definition usb_host_devices.h:31
@ kStatus_DEV_AppUsed
Definition usb_host_devices.h:33
@ kStatus_DEV_Initial
Definition usb_host_devices.h:25
@ kStatus_device_Attached
Definition usb_host_devices.h:48
@ kStatus_device_Detached
Definition usb_host_devices.h:47
@ kStatus_interface_Attached
Definition usb_host_devices.h:39
@ kStatus_interface_Detached
Definition usb_host_devices.h:41
@ kStatus_interface_Opened
Definition usb_host_devices.h:40
USB host configuration information structure.
Definition usb_host.h:214
Device instance.
Definition usb_host_devices.h:53
uint8_t stallRetries
Definition usb_host_devices.h:67
usb_host_handle hostHandle
Definition usb_host_devices.h:55
struct _usb_host_device_instance * next
Definition usb_host_devices.h:54
uint8_t state
Definition usb_host_devices.h:65
uint8_t enumRetries
Definition usb_host_devices.h:66
uint16_t configurationLen
Definition usb_host_devices.h:61
uint8_t allocatedAddress
Definition usb_host_devices.h:69
uint8_t * configurationDesc
Definition usb_host_devices.h:59
uint8_t speed
Definition usb_host_devices.h:68
uint8_t setAddress
Definition usb_host_devices.h:71
usb_host_configuration_t configuration
Definition usb_host_devices.h:56
usb_descriptor_device_t * deviceDescriptor
Definition usb_host_devices.h:57
usb_host_pipe_handle controlPipe
Definition usb_host_devices.h:58
uint8_t configurationValue
Definition usb_host_devices.h:64
uint8_t deviceAttachState
Definition usb_host_devices.h:72
uint8_t interfaceStatus[USB_HOST_CONFIG_CONFIGURATION_MAX_INTERFACE]
Definition usb_host_devices.h:62
uint8_t * enumBuffer
Definition usb_host_devices.h:60