Initial import of NFC GNSS SDK project
This commit is contained in:
@@ -0,0 +1,649 @@
|
||||
#ifndef USB_INIT_H
|
||||
#define USB_INIT_H
|
||||
/*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
|
||||
|
||||
usb_init.h
|
||||
|
||||
|
||||
GENERAL DESCRIPTION
|
||||
|
||||
This file is for USB initialize.
|
||||
|
||||
EXTERNALIZED FUNCTIONS
|
||||
|
||||
INITIALIZATION AND SEQUENCING REQUIREMENTS
|
||||
|
||||
Copyright (c) 2011 by Marvell, 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
|
||||
-------- ------ ----------------------------------------------------------
|
||||
03/07/2013 zhoujin Created module
|
||||
===========================================================================*/
|
||||
|
||||
|
||||
/*===========================================================================
|
||||
|
||||
INCLUDE FILES FOR MODULE
|
||||
|
||||
===========================================================================*/
|
||||
|
||||
#include "utils.h"
|
||||
#include "usb_device.h"
|
||||
#include "usbTrace.h"
|
||||
#include "usb_macro.h"
|
||||
#include "diag_nvm.h"
|
||||
#include "rndis.h"
|
||||
#include "platform.h"
|
||||
#include "mvUsbStorage.h"
|
||||
|
||||
/*===========================================================================
|
||||
|
||||
LOCAL MACRO
|
||||
===========================================================================*/
|
||||
|
||||
/* Usb normal mode */
|
||||
#define USB_NORMAL_MODE 0x00
|
||||
|
||||
/* WIFI Calibration mode */
|
||||
#define USB_WIFI_CALIBRATION_MODE 0x01
|
||||
|
||||
/* RNDIS/ECM only mode */
|
||||
#define USB_RNDIS_ECM_ONLY_MODE 0x02
|
||||
|
||||
/* RNDIS/ECM + Modem mode */
|
||||
#define USB_RNDIS_ECM_MODEM_MODE 0x03
|
||||
|
||||
/* Diag PDU check mode */
|
||||
#define USB_DIAG_PDU_CHECK_MODE 0x10
|
||||
|
||||
/*===========================================================================
|
||||
|
||||
LOCAL DEFINITIONS AND DECLARATIONS FOR MODULE
|
||||
|
||||
===========================================================================*/
|
||||
|
||||
/* Usb descriptor information. */
|
||||
typedef struct
|
||||
{
|
||||
char UsbMode;
|
||||
PlatformUsbDescType DefaultDesc;
|
||||
PlatformUsbDescType ReConfigDesc;
|
||||
PlatformUsbDescType CurrentDesc;
|
||||
} mvUsbDescriptorInfo;
|
||||
|
||||
/*===========================================================================
|
||||
|
||||
EXTERN FUNCTION DECLARATIONS
|
||||
|
||||
===========================================================================*/
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* GetUsbMode */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function Get the usb mode. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern char GetUsbMode(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* CheckIf32MNOR */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* If Manfactur ID = 0xXX19, this is 32M Nor Flash. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern BOOL CheckIf32MNOR(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* UsbDriverGetSetting */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function read usb configuration from NVM files. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern void UsbDriverGetSetting(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* diagCfgUseIntIfType */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function read diag configuration from NVM files. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern BOOL diagCfgUseIntIfType(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* diagPhase2Init */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function initialize usb diag device. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern void diagPhase2Init(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 */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern BOOL USB2IsAutoInstallEnable(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* mvUsbModemInitialize */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function initialize usb modem device. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern void mvUsbModemInitialize(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* sdcard_is_insert */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function check whether the SD card is insert or not. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern BOOL sdcard_is_insert(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* diagCommSdLogEnable */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function check whether the Diag SD logging is enable or not. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern BOOL diagCommSdLogEnable(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* diag_online_sdl_enable */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function check whether the online sd log is enable or not. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
//extern BOOL diag_online_sdl_enable(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* GetUsbDriverConfig */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function get the usb driver configuration. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* Usb_DriverS Driver configuration. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern Usb_DriverS *GetUsbDriverConfig(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* 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 */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern void USB2MgrUpdateDescriptor(PlatformUsbDescType desc, char mode);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* 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 */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
extern mvUsbDescriptorInfo *USB2GetDescriptorInfo(void);
|
||||
|
||||
/*===========================================================================
|
||||
|
||||
INTERNAL FUNCTION DECLARATIONS
|
||||
|
||||
===========================================================================*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* mvUsbCheckProdctionMode */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function check whether the production mode is enable or not. */
|
||||
/* When uAP KEY is pressdown, The 'PRMD' flag is set in memory. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* TRUE Flag is set. */
|
||||
/* FALSE Flag is not set. */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
BOOL mvUsbCheckProdctionMode( void );
|
||||
|
||||
#ifdef MV_USB2_MASS_STORAGE
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* 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 */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
void mvUsbStorageConfigure(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* mvUsbMassStorageInit */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function initialize the mass storage deivce. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
void mvUsbMassStorageInit(void);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* mvUsbStorageRead */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function read data from mass storage. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
BOOL mvUsbStorageRead(unsigned int address, unsigned int length, unsigned char *buf, unsigned char lun);
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* mvUsbStorageWrite */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function write data to mass storage. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
BOOL mvUsbStorageWrite(unsigned int address, unsigned int length, unsigned char *buf, unsigned char lun);
|
||||
|
||||
#endif /* MV_USB2_MASS_STORAGE */
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION */
|
||||
/* */
|
||||
/* usb_device_init */
|
||||
/* */
|
||||
/* DESCRIPTION */
|
||||
/* */
|
||||
/* The function initialize the usb devices. */
|
||||
/* */
|
||||
/* CALLED BY */
|
||||
/* */
|
||||
/* Application */
|
||||
/* */
|
||||
/* CALLS */
|
||||
/* */
|
||||
/* Application The application function */
|
||||
/* */
|
||||
/* INPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/* OUTPUTS */
|
||||
/* */
|
||||
/* None N/A */
|
||||
/* */
|
||||
/*************************************************************************/
|
||||
void usb_device_init(void );
|
||||
#endif /* USB_INIT_H */
|
||||
Reference in New Issue
Block a user