Files

249 lines
7.2 KiB
C

/*------------------------------------------------------------
(C) Copyright [2006-2008] Marvell International Ltd.
All Rights Reserved
------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------
INTEL CONFIDENTIAL
Copyright 2006 Intel Corporation All Rights Reserved.
The source code contained or described herein and all documents related to the source code ("Material") are owned
by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or
its suppliers and licensors. The Material contains trade secrets and proprietary and confidential information of
Intel or its suppliers and licensors. The Material is protected by worldwide copyright and trade secret laws and
treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted,
transmitted, distributed, or disclosed in any way without Intel's prior express written permission.
No license under any patent, copyright, trade secret or other intellectual property right is granted to or
conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement,
estoppel or otherwise. Any license under such intellectual property rights must be express and approved by
Intel in writing.
-------------------------------------------------------------------------------------------------------------------*/
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* File name: diag_nvm.c *
* Programmer: Anton Eidelman *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Create Date: February, 2004 *
* *
* Description: DIAG NVM CONFIGURATION DEFINITIONS *
* *
* Notes: *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#if !defined (_DIAG_NVM_H_)
#define _DIAG_NVM_H_
/* PHS Add DIAG Setting */
#define DIAG_CFG_FILE "diagCfg.nvm"
/*
* NVM access
*/
typedef enum
{
nvhsOK,
nvhsFileTooShort,
nvhsStructNameMismatch,
nvhsStructFormat
} NVM_Header_Status_te;
//ICAT EXPORTED ENUM
typedef enum {
DIAG_INT_IFC,
DIAG_EXT_IFC
} DIAG_IF_TYPE;
//ICAT EXPORTED ENUM
typedef enum {
DIAG_DEV_USB,
DIAG_DEV_SD,
DIAG_DEV_FS,
DIAG_DEV_UART,
DIAG_DEV_SPI,
DIAG_DEV_RAM,
DIAG_DEV_NONE
} DIAG_DEV_TYPE;
//ICAT EXPORTED ENUM
typedef enum {
SULOG_DEV_USB,
SULOG_DEV_SD
} SULOG_DEV_TYPE;
//ICAT EXPORTED ENUM
typedef enum {
EEH_DUMP_DEV_USB_SD,
EEH_DUMP_DEV_SPI
} EEH_DUMP_DEV_TYPE;
//ICAT EXPORTED ENUM
typedef enum {
DIAG_START_PS_OFF,
DIAG_START_PS_ON
} DIAG_START_PS_TYPE;
//ICAT EXPORTED ENUM
typedef enum {
DIAG_UART_SPEED_921600, //for CP UART
DIAG_UART_SPEED_1842000,
DIAG_UART_SPEED_3000000,
DIAG_UART_DISABLE,
DIAG_AP_UART_SPEED_921600, //for AP UART
DIAG_AP_UART_SPEED_1842000,
DIAG_AP_UART_SPEED_3000000,
} DIAG_UART_SPEED_TYPE;
//ICAT EXPORTED STRUCT
typedef struct {
DIAG_IF_TYPE useIntIf; /* use internal interface or external interface */
DIAG_UART_SPEED_TYPE useHighSpeedUART; /* high speed UART(460800) or low speed UART(115200)*/
//DIAG_MEM_SWITCH diagMemSwitch;
BOOL GLFeatureFlag;
DIAG_START_PS_TYPE diagStartPS;
DIAG_DEV_TYPE diagDevType;
SULOG_DEV_TYPE sulogDevType;
EEH_DUMP_DEV_TYPE eehDumpDevType;
//DIAG_MEM_SWITCH diagMemSwitch;
BOOL usbUserMode;
} diagCfgDataS;
//ICAT EXPORTED STRUCT
typedef struct
{
UINT32 dbID;
UINT32 filterBitLength;
UINT32 reserved[6];
}DIAG_Nvm_Filter_File_Header_t;
//ICAT EXPORTED ENUM
typedef enum
{
LOG_DISABLE = 0x0,
UART_LOG_ENABLE = 0x1,
ACAT_LOG_ENABLE = 0x2
} Log_ConfigE;
//ICAT EXPORTED ENUM
typedef enum
{
MSG_DISABLE = 0x0,
ACAT_MSG_ENABLE = 0x1
} Msg_ConfigE;
//ICAT EXPORTED ENUM
typedef enum
{
RTI_LOG_DISABLE = 0x0,
RTI_DUMP_ENABLE = 0x1,
RTI_TASK_ENABLE = 0x2,
RTI_MIPS_ENABLE = 0x3
} RTI_ConfigE;
#if 0
//ICAT EXPORTED ENUM
typedef enum
{
MASS_STORAGE_DISABLE = 0x0,
MASS_STORAGE_ENABLE = 0x1
} MassStorage_ConfigE;
#endif
//ICAT EXPORTED STRUCT
typedef struct {
Log_ConfigE log_cfg;
Msg_ConfigE msg_cfg;
RTI_ConfigE rti_cfg;
} Log_ConfigS;
//ICAT EXPORTED ENUM
typedef enum
{
YMODEM_DISABLE = 0x0,
YMODEM_ENABLE = 0x1
} Ymodem_Dump_config;
//ICAT EXPORTED STRUCT
typedef struct {
Ymodem_Dump_config config;
} Ymodem_Dump_type;
//ICAT EXPORTED ENUM
typedef enum
{
/* MIFI driver*/
USB_GENERIC_MIFI_DRIVER = 0x0,
USB_MARVELL_MIFI_DRIVER = 0x1,
USB_ASR_MIFI_DRIVER = 0x2,
USB_GENERIC_MOD_DRIVER = 0x10,
USB_GENERIC_MOD_ECM_DRIVER = 0x12,
#ifdef QUEC_USB_ENABLE
USB_CDC_ACM_ONLY_DRIVER = 0x13,
#endif
USB_DIAG_UAC_DRIVER = 0x14,
#ifdef QUEC_USB_ENABLE
USB_QUEC_CUST_DRIVER = 0X15,
#endif
/* MBIM driver*/
USB_MBIM_ONLY_DRIVER = 0x40,
USB_MBIM_GENERIC_DRIVER = 0x41,
USB_MBIM_MAX_DRIVER = 0x4F,
/* Other driver*/
USB_CDROM_ONLY_DRIVER = 0x91,
USB_CDROM_DIAG_DRIVER = 0x92,
USB_DIAG_ONLY_DRIVER = 0x93,
USB_MODEM_ONLY_DRIVER = 0x94,
USB_MODEM_DIAG_DRIVER = 0x95,
USB_MAX_DRIVER = 0xFF
} Usb_driver_typeE;
//ICAT EXPORTED ENUM
typedef enum
{
MASS_STORAGE_DISABLE = 0x0,
MASS_STORAGE_ENABLE = 0x1
} MassStorage_ConfigE;
//ICAT EXPORTED ENUM
typedef enum
{
USB_AUTO_INSTALL_DISABLE = 0x0,
USB_AUTO_INSTALL_ENABLE = 0x1
} Usb_auto_install_type;
//ICAT EXPORTED ENUM
typedef enum
{
USB_OS_DETECT_DISABLE = 0x0,
USB_OS_DETECT_ENABLE = 0x1
} Usb_OS_detect_type;
//ICAT EXPORTED STRUCT
typedef struct {
Usb_driver_typeE usb_driver;
MassStorage_ConfigE mass_storage;
Usb_auto_install_type auto_install;
Usb_OS_detect_type os_detect;
} Usb_DriverS;
//fix build warnning
BOOL getUsbUserMode(void);
void diagCfgDevInit(void);
UINT8 Sulog2SDCard(void);
void setDiagDevType(DIAG_DEV_TYPE type);
void setSulogDevType(SULOG_DEV_TYPE type);
DIAG_DEV_TYPE diagGetDevType(void);
int diag_level_filter_set_file(void);
int diag_level_filter_enable_all(void);
int diag_level_filter_disable_all(void);
int signal_level_filter_set_file(void);
int signal_level_filter_enable_all(void);
void change_diag_level(UINT32 level); //level=0, output all logs; level=1; filter logs by singal.bin and diag.bin
#endif //_DIAG_NVM_H_