Files
banban/ql-kernel/threadx/common/include/usb_descriptor.h

859 lines
56 KiB
C

#ifndef _USB_DESCRIPTOR_H_
#define _USB_DESCRIPTOR_H_
/*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
usb_descriptor.h
GENERAL DESCRIPTION
This file is for USB descriptor.
EXTERNALIZED FUNCTIONS
INITIALIZATION AND SEQUENCING REQUIREMENTS
Copyright (c) 2018 by ASR, Incorporated. All Rights Reserved.
*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
*===========================================================================
EDIT HISTORY FOR MODULE
This section contains comments describing changes made to the module.
Notice that changes are listed in reverse chronological order.
when who what, where, why
-------- ------ ----------------------------------------------------------
06/12/2018 zhoujin Created module
===========================================================================*/
/*===========================================================================
INCLUDE FILES FOR MODULE
===========================================================================*/
#include "usb_init.h"
#include "usb_macro.h"
/*===========================================================================
LOCAL MACRO
===========================================================================*/
/* USB Modem control endpoint. */
#define MdmCtrlEP (MODEM_CTRL_ENDPOINT | 0x80)
/* USB Diag control endpoint. */
#define DiagCtrlEP (DIAG_CTRL_ENDPOINT | 0x80)
/* Usb Net control endpoint. */
#define NetCtrlEP (USB_NET_CRTL_ENDPOINT | 0x80)
/* Usb Modem TX endpoint. */
#define MdmTxEP (MODEM_TX_ENDPOINT | 0x80)
/* Usb Diag TX endpoint. */
#define DiagTxEP (DIAG_TX_ENDPOINT | 0x80)
/* Usb Net TX endpoint. */
#define NetTxEP (USB_NET_TX_ENDPOINT | 0x80)
/* Usb Mass Storage TX endpoint. */
#define MSCTxEP (USB_MASS_STORAGE_TX_ENDPOINT | 0x80)
/* Usb Sulog TX endpoint. */
#define SulogTxEP (SULOG_TX_ENDPOINT | 0x80)
/* Modem RX endpoint. */
#define MdmRxEP (MODEM_RX_ENDPOINT)
/* Diag RX endpoint. */
#define DiagRxEP (DIAG_RX_ENDPOINT)
/* Usb Net RX endpoint. */
#define NetRxEP (USB_NET_RX_ENDPOINT)
/* Usb Mass Storage RX endpoint. */
#define MSCRxEP (USB_MASS_STORAGE_RX_ENDPOINT)
/* Usb sulog RX endpoint. */
#define SulogRxEP (SULOG_RX_ENDPOINT)
/* merger from 1802s as follows */
#ifdef EXT_AT_MODEM_SUPPORT
/* USB Modem 2rd control point*/
#define AtCtrlEP (AT_CTRL_ENDPOINT | 0x80)
#endif
/* USB Modem 2rd TX point*/
#define AtTxEP (AT_TX_ENDPOINT | 0x80)
/* USB Modem 2rd RX point*/
#define AtRxEP (AT_RX_ENDPOINT)
#ifdef MV_USB2_HID_SUPPORT
#define HID_INF_NUM 0x07
/* USB HID TX point*/
#define HIDTxEP2 (USB_HID_TX_ENDPOINT | 0x80)
/* USB HID RX point*/
#define HIDRxEP2 (USB_HID_RX_ENDPOINT)
#endif
#ifdef UAC_SUPPORT
#define AudioTxEP (MSCTxEP)
#define AudioRxEP (MSCRxEP)
#endif
/*===========================================================================
Struct definition.
===========================================================================*/
/*===========================================================================
EXTERN DECLARATIONS FOR MODULE
===========================================================================*/
/*===========================================================================
EXTERN FUNCTION DECLARATIONS
===========================================================================*/
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* SetUsbMode */
/* */
/* DESCRIPTION */
/* */
/* This function Set Usb Mode. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* size Memory size */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
extern void SetUsbMode(char mode);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* SysIsAssert */
/* */
/* DESCRIPTION */
/* */
/* This function get system assert flag. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* size Memory size */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
extern BOOL SysIsAssert(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* useYmodem */
/* */
/* DESCRIPTION */
/* */
/* This function get ymodem flag. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* size Memory size */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
extern BOOL useYmodem(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* _usb_dci_vusb20_stop_transter */
/* */
/* DESCRIPTION */
/* */
/* This function stop usb transfer. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* size Memory size */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
extern void _usb_dci_vusb20_stop_transter(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* _usb_dci_vusb20_suspend_tx_transter */
/* */
/* DESCRIPTION */
/* */
/* This function suspend usb transfer. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* size Memory size */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
extern void _usb_dci_vusb20_suspend_tx_transter(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* mvUsbStorageConfigure */
/* */
/* DESCRIPTION */
/* */
/* The function configurate the parameters of mass storage. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
extern void mvUsbStorageConfigure(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2UnPlugHandler */
/* */
/* DESCRIPTION */
/* */
/* The function do usb unplug handler. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
extern void USB2UnPlugHandler(void);
/*===========================================================================
INTERNAL FUNCTION DECLARATIONS
===========================================================================*/
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrUpdateDescriptor */
/* */
/* DESCRIPTION */
/* */
/* The function update the usb descriptor. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USB2MgrUpdateDescriptor(PlatformUsbDescType desc, char mode);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2ReEnumerate */
/* */
/* DESCRIPTION */
/* */
/* The function re-enumerate the usb device. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USB2ReEnumerate(PlatformUsbDescType Desc);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USBIsConnected */
/* */
/* DESCRIPTION */
/* */
/* The function check whether usb is connected or not. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
char USBIsConnected(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2ConfigureCdromDescriptor */
/* */
/* DESCRIPTION */
/* */
/* The function configurae CDROM only descriptor. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USB2ConfigureCdromDescriptor(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2ProcessGetConfigDescRequest */
/* */
/* DESCRIPTION */
/* */
/* The function process the get configuration descriptor request. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USB2ProcessGetConfigDescRequest(UINT16 value);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2GetDescriptorInfo */
/* */
/* DESCRIPTION */
/* */
/* The function get the usb descriptor information. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
mvUsbDescriptorInfo *USB2GetDescriptorInfo(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2IsAutoInstallEnable */
/* */
/* DESCRIPTION */
/* */
/* The function Check whether auto-installation is enable or not. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
BOOL USB2IsAutoInstallEnable(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2IsCdromOnlyDescriptor */
/* */
/* DESCRIPTION */
/* */
/* The function Check whether it is COROM only or not. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
BOOL USB2IsCdromOnlyDescriptor(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrIsDeviceControllerEnabled */
/* */
/* DESCRIPTION */
/* */
/* The function Check whether usb controller is enable or not. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
BOOL USB2MgrIsDeviceControllerEnabled (void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrDeviceUnplug */
/* */
/* DESCRIPTION */
/* */
/* The function simulate usb plug out. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USB2MgrDeviceUnplug(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrDeviceUnplug */
/* */
/* DESCRIPTION */
/* */
/* The function simulate usb plug out. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USB2MgrDeviceUnplugPlug_plus(PlatformUsbDescType desc);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrDevicePlugIn */
/* */
/* DESCRIPTION */
/* */
/* The function simulate usb plug in. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USB2MgrDevicePlugIn(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrDeviceUnplugPlug */
/* */
/* DESCRIPTION */
/* */
/* The function simulate usb plug in/out. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USB2MgrDeviceUnplugPlug(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrDeviceUnplugPlug */
/* */
/* DESCRIPTION */
/* */
/* The function simulate usb plug in/out for SD card. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USB2MgrDeviceUnplugPlug_SD(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrDeviceUnplugPlug_WebDav */
/* */
/* DESCRIPTION */
/* */
/* The function simulate usb plug in/out for WebDav. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USB2MgrDeviceUnplugPlug_WebDav(unsigned char enable);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrMassStorageEnable */
/* */
/* DESCRIPTION */
/* */
/* The function check whether mass storage is enable or not. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* None N/A */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
BOOL USB2MgrMassStorageEnable(void);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrChangeUsbMode */
/* */
/* DESCRIPTION */
/* */
/* The function change usb mode. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* mode usb mode */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
BOOL USB2MgrChangeUsbMode(char mode);
/*************************************************************************/
/* */
/* FUNCTION */
/* */
/* USB2MgrChangeUsbMode */
/* */
/* DESCRIPTION */
/* */
/* The function change usb mode. */
/* */
/* CALLED BY */
/* */
/* Application */
/* */
/* CALLS */
/* */
/* Application The application function */
/* */
/* INPUTS */
/* */
/* mode usb mode */
/* */
/* OUTPUTS */
/* */
/* None N/A */
/* */
/*************************************************************************/
void USBReEnumIndump(void);
#endif /* _USB_DESCRIPTOR_H_ */