blob: 40e482a48b6fd3ed555a6247848f2199e1299c8d [file] [log] [blame]
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2018
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*******************************************************************************
* Filename:
* ---------
* mcf_defs.h
*
* Project:
* --------
* UMOLYA
*
* Description:
* ------------
* MD Configuration Framework internal configuration and data structure definition.
*
* Author:
* -------
* -------
*
*==============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*==============================================================================
*******************************************************************************/
#ifndef __INC_MCF_DEFS_H
#define __INC_MCF_DEFS_H
#include "kal_public_api.h"
#include "mcf_ut.h"
#include "mcf_utfwk.h"
/*------------------------------------------------------------------------------
* Configuration.
*----------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
* Helper Macro.
*----------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
* Constant definition.
*----------------------------------------------------------------------------*/
#define MCF_MAX_TAG_LEN 32
/* OTA/TLV-OTA file related definition */
#define MCF_FILE_TYPE_OTA "OTA"
#define MCF_FILE_TYPE_TLVOTA "TLV-OTA"
#define MCF_FILE_TYPE_INI "INI"
#define MCF_FILE_MAX_TAG_LEN 256
#define MCF_FILE_MAX_ARRAY_TAG_LEN 64
/* CCCIFS related definition */
#if defined(__MTK_TARGET__)
#define MCF_FS_DEFAULT_FOLDER_PATH "T:" // AP: "/vendor/etc/mdota"
#else
#define MCF_FS_DEFAULT_FOLDER_PATH "..\\..\\WIN32FS\\mdota" // MoDIS: "WIN32FS\\mdota"
#endif
#define MCF_FS_DEFAULT_OTA_FILE_NAME "MTK_OTA.mcfota"
#define MCF_FS_DEFAULT_TLVOTA_FILE_NAME "MTK_OPOTA.mcfopota"
#define MCF_FS_CUSTOM_FOLDER_PATH "S:\\mdota" // AP: "/vendor/nvcfg/mdota"
#define MCF_FS_GENERAL_TLVOTA_FILE_NAME "MTK_OPOTA_GENERAL.mcfopota"
#define MCF_FS_TLVOTA_FILE_PREFIX "MTK_OPOTA_SBPID"
#define MCF_FS_DEFAULT_INI_FILE_NAME "MTK_MD_OTA_CONFIG.ini"
#define MCF_FS_DEFAULT_DUMP_FOLDER_NAME "MTK_LAST_DUMP_FOLDER_NAME.txt"
#define MCF_FS_DEFAULT_AT_CMD_RESULT "MTK_READ_WRITE_RESULT.txt"
#define MCF_FS_DEFAULT_OTA_MERGED_FILE_NAME "MTK_OTA_MERGED.mcfota"
#define MCF_FS_DEFAULT_TLVOTA_MERGED_FILE_NAME "MTK_OPOTA_MERGED.mcfopota"
#define MCF_FS_GENERAL_TLVOTA_MERGED_FILE_NAME "MTK_OPOTA_GENERAL_MERGED.mcfopota"
#define MCF_FS_DEFAULT_TLVOTA_MERGED_FILE_PREFIX "MTK_OPOTA_MERGED"
/* MCF_BOOT_TRACE_F_XXXX is used in init stage trace */
#define MCF_BOOT_TRACE_F_FULL_OTA_SUCCESS 0x00000001UL
#define MCF_BOOT_TRACE_F_FULL_OTA_FAIL 0x00000002UL
#define MCF_BOOT_TRACE_F_CUSTOM_FOLDER_EXIST 0x00000004UL
#define MCF_BOOT_TRACE_F_CREATE_CUSTOM_FOLDER_FAIL 0x00000008UL
#define MCF_BOOT_TRACE_F_READ_OTA_FILE_FAIL 0x00000010UL
#define MCF_BOOT_TRACE_F_OTA_FILE_OVERSIZE 0x00000020UL
#define MCF_BOOT_TRACE_F_READ_TLVOTA_FILE_FAIL 0x00000040UL
#define MCF_BOOT_TRACE_F_TLVOTA_FILE_OVERSIZE 0x00000080UL
#define MCF_BOOT_TRACE_F_READ_FILE_LID_FAIL 0x00000100UL
#define MCF_BOOT_TRACE_F_WRITE_FILE_LID_FAIL 0x00000200UL
#define MCF_BOOT_TRACE_F_READ_ITEM_LID_FAIL 0x00000400UL
#define MCF_BOOT_TRACE_F_WRITE_ITEM_LID_FAIL 0x00000800UL
#define MCF_BOOT_TRACE_F_READ_SW_INFO_LID_FAIL 0x00001000UL
#define MCF_BOOT_TRACE_F_WRITE_SW_INFO_LID_FAIL 0x00002000UL
#define MCF_BOOT_TRACE_F_NO_NEED 0x00004000UL
#define MCF_BOOT_TRACE_F_INVALID_FILE 0x00008000UL
#define MCF_BOOT_TRACE_F_TAKE_READ_LOCK_FAIL 0x00010000UL
#define MCF_BOOT_TRACE_F_TAKE_WRITE_LOCK_FAIL 0x00020000UL
#define MCF_BOOT_TRACE_F_DECRYPTION_FAIL 0x00040000UL
#define MCF_BOOT_TRACE_F_DIGEST_FAIL 0x00400000UL
#define MCF_BOOT_TRACE_F_CHECKSUM_ERROR 0x00080000UL
#define MCF_BOOT_TRACE_F_READ_INT_INFO_LID_FAIL 0x00100000UL
#define MCF_BOOT_TRACE_F_WRITE_INT_INFO_LID_FAIL 0x00200000UL
#define MCF_BOOT_TRACE_F_OPERATION_MASK_FAIL 0x00800000UL
/* MCF object related definition */
#define MCF_W_LOCK_OBJECT_SLEEP_TICKS KAL_TICKS_10_MSEC_REAL
#define MCF_DEL_OBJECT_SLEEP_TICKS KAL_TICKS_10_MSEC_REAL
#define MCF_LOCK_NAME "MCF_LOCK"
#define MCF_UTFWK_LOCK_NAME "MCF_UTFWK_LOCK"
/* MCF dump related definition */
#define MCF_DUMP_FOLDER_PREFIX "MCF_DUMP"
#define MCF_DUMP_FILE_PREFIX "MCF_DUMP_LID"
#define MCF_DUMP_FILE_POSTFIX ".dump"
#define MCF_DUMP_LID_HEADER_SIZE 32 // MUST lager than sizeof(mcf_dump_lid_header_struct)
#define MCF_DUMP_LID_SYNC_TOKEN "NV_RAW"
#define MCF_DUMP_LID_HEADER_VERSION 2
/*------------------------------------------------------------------------------
* Internal data structure defintion.
*----------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
* Global variables.
*----------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
* Internal function prototype.
*----------------------------------------------------------------------------*/
#endif /* __INC_MCF_DEFS_H */