| /***************************************************************************** | |
| * 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) 2006 | |
| * | |
| * 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: | |
| * --------- | |
| * custom_img_config.h | |
| * | |
| * Project: | |
| * -------- | |
| * Maui_Software | |
| * | |
| * Description: | |
| * ------------ | |
| * This Module defines the FOTA (Firmware Over the Air) related setting. | |
| * | |
| * Author: | |
| * ------- | |
| * Carlos Yeh (mtk02377) system auto generatorm0.25 + scatFrame m0.01 + sysGenUtility m0.10 | |
| * | |
| *============================================================================ | |
| * HISTORY | |
| * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!! | |
| *------------------------------------------------------------------------------ | |
| * $Revision$ | |
| * $Modtime$ | |
| * $Log$ | |
| * | |
| * 01 20 2015 raymondwt.chen | |
| * [MOLY00091518] [System Service][MOLY Kernel Internal Request] Clean build warning | |
| * .Remove and organize bootloader/security code | |
| * | |
| * 08 07 2013 peiwen.qing | |
| * [MOLY00032860] Set max size of MOLY image to 16MB | |
| * . | |
| * | |
| * | |
| *------------------------------------------------------------------------------ | |
| * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!! | |
| *============================================================================ | |
| ****************************************************************************/ | |
| #ifndef __CUSTOM_IMG_CONFIG_H__ | |
| #define __CUSTOM_IMG_CONFIG_H__ | |
| #include "kal_general_types.h" | |
| #include "custom_FeatureConfig.h" | |
| /**************************************************************************** | |
| Following definitions are used to configure flash memory arrangement for Bootloader image | |
| Item 1. the maximum size of FOTA bootloader image | |
| ****************************************************************************/ | |
| #define BL_IMG_MAX_SIZE (0x40000) | |
| /**************************************************************************** | |
| Following definitions are used to configure flash memory arrangement for FOTA Engine image | |
| Item 1. the base address of FOTA update engine image | |
| Item 2. the maximum available flash memory size for update engine image | |
| Item 3. the maximum available flash memory size for update engine image back up | |
| Item 4. the maximum flash memory area for bootloader to search update engine image | |
| Item 5. the execution start address for bootloader to place update engine image | |
| Note: This value MUST be the same with scatter file setting | |
| ****************************************************************************/ | |
| #define FOTA_UE_FLASH_BASE_ADDRESS (0) //[_IMG_CFG_H_Gen_FOTA_UE_BASE] | |
| #define FOTA_UE_RESIDENT_FLASH_SPACE_SIZE (0) //[_IMG_CFG_H_Gen_FOTA_UE_RESIDENT_SIZE] | |
| #define FOTA_UE_BACKUP_FLASH_SPACE_SIZE (0) //[_IMG_CFG_H_Gen_FOTA_UE_BACKUP_SIZE] | |
| #define FOTA_UE_SEARCH_RANGE_SIZE (0x400000) | |
| #define FOTA_UE_EXECUTION_BASE (0) // [_IMG_CFG_H_Gen_FOTA_UE_EXECUTION_BASE] | |
| /**************************************************************************** | |
| Following definitions are used to configure flash memory arrangement for MAUI image | |
| Item 1. the number of MAUI image binary parts | |
| Item 2. the start address and maximum available flash memory size for each MAUI image | |
| Note: This maximum available value specifies the size of flash memory that a image can | |
| occupy except reserved flash blocks specified in Item 7. The start address should | |
| be synchronized with the begin address of each image binary during update/delta | |
| package generation process. | |
| Item 3. the start address of flash storage reserved for update package | |
| Item 4. the size of flash storage reserved for update package | |
| Item 5. the start address of back up area for update purpose | |
| Item 6. the maximum flash block number in update package area | |
| Item 7. the size of back up area for update purpose | |
| Note: Certain FOTA solution, like RedBend, requires a dedicate flash space to back up flash | |
| content during update process. In contrast, some colution, such as Bitfone, would use | |
| leftover flash blocks that are not occupied by firmware image as back up area. In this case, | |
| the value of maximum available flash memory has to be increased to compensate back up | |
| requirement. | |
| Item 8. the flash blocks reserved for flash management | |
| Note: This value specifies the amount of blocks that must be reseerved from | |
| the gap between maximum avilable flash size, Item2, and the flash memory size | |
| really occupied by firmware image. | |
| ****************************************************************************/ | |
| #define FOTA_MAUI_IMAGE_AMOUNT (1) | |
| #if defined(_NAND_FLASH_BOOTING_) || defined(__EMMC_BOOTING__) | |
| #define MAX_LENGTH_ROM (0x01000000) | |
| #define MAX_LENGTH_SECONDARY_ROM (0xFFFFFFFF) | |
| #define MAX_LENGTH_DEMAND_PAGING_ROM0 (0xFFFFFFFF) | |
| #define MAX_LENGTH_DSP_ROM (0xFFFFFFFF) | |
| #else /* _NAND_FLASH_BOOTING_ || __EMMC_BOOTING__ */ | |
| #define MAX_LENGTH_ROM (0xFFFFFFFF) | |
| #endif /* _NAND_FLASH_BOOTING_ || __EMMC_BOOTING__ */ | |
| //[_IMG_CFG_H_Gen_IMG_DEFINITION] + | |
| #if defined(__MTK_TARGET__) | |
| #define MAUI_LOAD_ADDRESS_ROM ((kal_uint32)0) | |
| #else /* __MTK_TARGET__ */ | |
| #define MAUI_LOAD_ADDRESS_ROM ((kal_uint32)0) | |
| #endif /* __MTK_TARGET__ */ | |
| #define FOTA_MAUI_FLASH_SPACE { {MAUI_LOAD_ADDRESS_ROM, MAX_LENGTH_ROM, 0x0}, \ | |
| END_MAUI_INFO} | |
| //[_IMG_CFG_H_Gen_IMG_DEFINITION] - | |
| #define FOTA_PACKAGE_STORAGE_BASE (0) //[_IMG_CFG_H_Gen_PKG_STORAGE_BASE] | |
| #define FOTA_PACKAGE_STORAGE_SIZE (0) //[_IMG_CFG_H_Gen_PKG_STORAGE_SIZE] | |
| #define FOTA_PACKAGE_BLOCK_NUMBER (0) //[_IMG_CFG_H_Gen_PKG_BLOCK_NUM] | |
| #define FOTA_BACKUP_STORAGE_BASE (0) //[_IMG_CFG_H_Gen_BACKUP_STORAGE_BASE] | |
| #define FOTA_BACKUP_STORAGE_SIZE (0) //[_IMG_CFG_H_Gen_BACKUP_STORAGE_SIZE] | |
| #define FOTA_RESERVED_FLASH_BLOCKS (5) | |
| /**************************************************************************** | |
| Following definitions are used for MAUI image manageemt | |
| Item 1. the size of mapping table for MAUI ROM image | |
| Item 2. the size of mapping table for FUE ROM image | |
| ****************************************************************************/ | |
| #define FOTA_MAUI_MAPPING_TABLE_SIZE (0x800) | |
| /**************************************************************************** | |
| Following definitions are used for NAND flash device configuration | |
| Item 1. the maximum page size of supported NAND flash device | |
| ****************************************************************************/ | |
| #define FOTA_FLASH_MAX_PAGE_SIZE (0x800) | |
| /**************************************************************************** | |
| Following definitions are used for FUE update process | |
| Item 1. the maximum heap size for FUE | |
| ****************************************************************************/ | |
| #define FOTA_CUSTOM_POOL_SIZE (0x200000) | |
| /**************************************************************************** | |
| Following definitions are used for FOTA update package certification flow | |
| Item 1. the maximum length of message authentication code (in bytes) | |
| Item 2. the maximum length of key to encrypt message authentication code (in bytes) | |
| ****************************************************************************/ | |
| #define FOTA_CUSTOM_PACKAGE_MAC_SIZE (20) | |
| #define FOTA_CUSTOM_PACKAGE_SIG_SIZE (128) | |
| #define FOTA_CUSTOM_PACKAGE_KEY_MAX_LEN (128) | |
| #define FOTA_EXTRA_RESERVED_BLOCKS (5) | |
| /* Following data structure should be modified according to requirements in adoption of third partys solution */ | |
| #define __FUE_DUMMY_UPDATE_SUPPORT__ | |
| #if defined(__FUE_DUMMY_UPDATE_SUPPORT__) | |
| /* | |
| * !CAUTION! size of FOTA_Custom_Update_Info MUST be equal to 88 bytes | |
| */ | |
| typedef struct { | |
| kal_uint32 FOTA_test_info1; | |
| kal_uint32 FOTA_test_info2; | |
| kal_uint32 FOTA_test_info3; | |
| kal_uint32 FOTA_test_info4; | |
| kal_uint32 FOTA_test_padding[18]; | |
| } FOTA_Custom_Update_Info; | |
| #elif defined(__FUE_HP_SUPPORT__) | |
| #include "Hp_update.h" | |
| #elif defined(__FUE_REDBEND_SUPPORT__) | |
| #include "RedBend_update.h" | |
| #else | |
| #error "Unsupported FOTA update information!!" | |
| #endif /* __FUE_DUMMY_UPDATE_SUPPORT__ */ | |
| typedef struct { | |
| kal_uint32 m_pkg_mod_key_len; | |
| kal_char m_pkg_mod_key[(FOTA_CUSTOM_PACKAGE_KEY_MAX_LEN<<1)+1]; | |
| kal_uint32 m_pkg_exp_key_len; | |
| kal_char m_pkg_exp_key[(FOTA_CUSTOM_PACKAGE_KEY_MAX_LEN<<1)+1]; | |
| } FOTA_Custom_Package_Certificate_st; | |
| /**************************************************************************** | |
| Following definitions are used for CBR region attribute | |
| Item 1. the block used for store CBR data. Each Normal block will occupy 2 physical blocks | |
| Item 2. the block used for bad block replacement on NAND flash. For the device, it should be zero | |
| Total blocks occupied by CBR will be CBR_REGION_NORMAL_BLOCK_NUM*2+CBR_REGION_SPARE_BLOCK_NUM | |
| ****************************************************************************/ | |
| #define CBR_REGION_NORMAL_BLOCK_NUM [AUTOGEN_IMG_CFG_H_Gen_CBR_NORMAL_BLOCK_NUM] | |
| #define CBR_REGION_SPARE_BLOCK_NUM [AUTOGEN_IMG_CFG_H_Gen_CBR_SPARE_BLOCK_NUM] | |
| /**************************************************************************** | |
| Following definitions are used for searching MAUI ROM in the flash | |
| Item 1. The address in the flash where MAUI binary resides | |
| Item 2. The address in the flash where Factory binary resides | |
| ****************************************************************************/ | |
| #define MAUI_ROM_START_ADDR 0x00020000 | |
| #define FACTORY_ROM_START_ADDR 0x00010000 | |
| #endif /* __CUSTOM_IMG_CONFIG_H__ */ |