Files
banban/ql-bootloader/updater/inc/usb/usb_descriptor.h
T

403 lines
23 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)
/*===========================================================================
Struct definition.
===========================================================================*/
/* Type definition for USB Descriptor. */
typedef enum
{
USB_GENERIC_MIFI_DESCRIPTOR = 27,
USB_MARVELL_MIFI_DESCRIPTOR = 30,
USB_RNDIS_ONLY_DESCRIPTOR = 33,
USB_ASR_MIFI_DESCRIPTOR = 34,
USB_MARVELL_ECM_DESCRIPTOR = 40,
USB_MBIM_DESCRIPTOR = 56,
USB_MODEM_DIAG_DESCRIPTOR = 57,
USB_MODEM_ONLY_DESCRIPTOR = 58,
USB_CDROM_ONLY_DESCRIPTOR = 66,
USB_CDROM_DIAG_DESCRIPTOR = 67,
USB_DIAG_ONLY_DESCRIPTOR = 68,
USB_GENERIC_MOD_ECM_DESCRIPTOR = 69,
USB_GENERIC_MOD_DESCRIPTOR = 70,
USB_MAX_DESCRIPTOR_TYPE
}PlatformUsbDescType;
/*===========================================================================
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 */
/* */
/* eeGetSystemAssertFlag */
/* */
/* 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 eeGetSystemAssertFlag(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 */
/* */
/* 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);
/*===========================================================================
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);
/*************************************************************************/
/* */
/* 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);
#endif /* _USB_DESCRIPTOR_H_ */