Sfoglia il codice sorgente

X5: import X5 preloader project

Signed-off-by: svoboda18 <dev.svoboda18@gmail.com>
svoboda18 2 anni fa
parent
commit
177082275a

+ 27 - 0
custom/X5/X5.mk

@@ -0,0 +1,27 @@
+# Common
+TARGET=X5
+MTK_PLATFORM=MT6580
+MTK_SEC_CHIP_SUPPORT=yes	
+MTK_SEC_USBDL=ATTR_SUSBDL_ENABLE
+MTK_SEC_BOOT=ATTR_SBOOT_ENABLE
+MTK_SEC_MODEM_AUTH=no
+MTK_SEC_SECRO_AC_SUPPORT=yes
+# Platform
+MTK_MT6333_SUPPORT=no
+MTK_FAN5405_SUPPORT=no
+MTK_EMMC_SUPPORT=yes
+MTK_MT8193_SUPPORT=no
+MTK_SECURITY_SW_SUPPORT=yes
+MTK_FACTORY_LOCK_SUPPORT=no
+CUSTOM_SEC_AUTH_SUPPORT=no
+MTK_KERNEL_POWER_OFF_CHARGING=yes
+MTK_EMMC_SUPPORT_OTP=yes
+MTK_COMBO_NAND_SUPPORT=no
+MTK_DISABLE_POWER_ON_OFF_VOLTAGE_LIMITATION=no
+MTK_BQ24160_SUPPORT=no
+MTK_SEC_VIDEO_PATH_SUPPORT=no
+MTK_TEE_SUPPORT=no
+TRUSTONIC_TEE_SUPPORT=no
+MTK_GOOGLE_TRUSTY_SUPPORT=no
+CUSTOM_CONFIG_MAX_DRAM_SIZE=0x40000000
+export MTK_PLATFORM MTK_MT6333_SUPPORT MTK_FAN5405_SUPPORT MTK_EMMC_SUPPORT MTK_8193_SUPPORT MTK_SECURITY_SW_SUPPORT MTK_SEC_CHIP_SUPPORT MTK_SEC_USBDL MTK_SEC_BOOT MTK_SEC_MODEM_AUTH MTK_SEC_SECRO_AC_SUPPORT CUSTOM_SEC_AUTH_SUPPORT MTK_KERNEL_POWER_OFF_CHARGING MTK_EMMC_SUPPORT_OTP MTK_COMBO_NAND_SUPPORT MTK_DISABLE_POWER_ON_OFF_VOLTAGE_LIMITATION MTK_BQ24160_SUPPORT MTK_SEC_VIDEO_PATH_SUPPORT MTK_FACTORY_LOCK_SUPPORT MTK_TEE_SUPPORT TRUSTONIC_TEE_SUPPORT MICROTRUST_TEE_SUPPORT MTK_GOOGLE_TRUSTY_SUPPORT CUSTOM_CONFIG_MAX_DRAM_SIZE

+ 58 - 0
custom/X5/cust_bldr.mak

@@ -0,0 +1,58 @@
+###################################################################
+# Include Project Feautre  (cust_bldr.h)
+###################################################################
+
+ifeq ("$(MTK_EMMC_SUPPORT)","yes")
+CFG_BOOT_DEV :=BOOTDEV_SDMMC
+else
+CFG_BOOT_DEV :=BOOTDEV_NAND
+endif
+
+#for NAND project only
+#CFG_PMT_SUPPORT :=1
+
+
+
+
+##### TEE >PLEASE ADD CONFIGS ABOVE THIS LINE< TEE #####
+ifeq ($(strip $(MTK_TEE_SUPPORT)),yes)
+  CFG_TEE_SUPPORT = 1
+  ifeq ($(strip $(TRUSTONIC_TEE_SUPPORT)),yes)
+    CFG_TRUSTONIC_TEE_SUPPORT = 1
+  else
+    CFG_TRUSTONIC_TEE_SUPPORT = 0
+  endif
+  ifeq ($(strip $(WATCHDATA_TEE_SUPPORT)),yes)
+    CFG_WATCHDATA_TEE_SUPPORT = 1
+  else
+    CFG_WATCHDATA_TEE_SUPPORT = 0
+  endif
+  ifeq ($(strip $(MICROTRUST_TEE_SUPPORT)),yes)
+    CFG_MICROTRUST_TEE_SUPPORT = 1
+  else
+    CFG_MICROTRUST_TEE_SUPPORT = 0
+  endif
+  ifeq ($(strip $(MICROTRUST_TEE_LITE_SUPPORT)),yes)
+    CFG_MICROTRUST_TEE_LITE_SUPPORT = 1
+  else
+    CFG_MICROTRUST_TEE_LITE_SUPPORT = 0
+  endif
+  ifeq ($(strip $(MTK_GOOGLE_TRUSTY_SUPPORT)),yes)
+    CFG_GOOGLE_TRUSTY_SUPPORT = 1
+  else
+    CFG_GOOGLE_TRUSTY_SUPPORT = 0
+  endif
+else
+  CFG_TEE_SUPPORT = 0
+  CFG_TRUSTONIC_TEE_SUPPORT = 0
+  CFG_WATCHDATA_TEE_SUPPORT = 0
+  CFG_MICROTRUST_TEE_SUPPORT = 0
+  CFG_MICROTRUST_TEE_LITE_SUPPORT = 0
+  CFG_GOOGLE_TRUSTY_SUPPORT = 0
+endif
+$(warning CFG_TEE_SUPPORT=$(CFG_TEE_SUPPORT))
+$(warning CFG_TRUSTONIC_TEE_SUPPORT=$(CFG_TRUSTONIC_TEE_SUPPORT))
+$(warning CFG_WATCHDATA_TEE_SUPPORT=$(CFG_WATCHDATA_TEE_SUPPORT))
+$(warning CFG_MICROTRUST_TEE_SUPPORT=$(CFG_MICROTRUST_TEE_SUPPORT))
+$(warning CFG_MICROTRUST_TEE_LITE_SUPPORT=$(CFG_MICROTRUST_TEE_LITE_SUPPORT))
+$(warning CFG_GOOGLE_TRUSTY_SUPPORT=$(CFG_GOOGLE_TRUSTY_SUPPORT))

+ 87 - 0
custom/X5/cust_msdc.c

@@ -0,0 +1,87 @@
+/*****************************************************************************
+*  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) 2010
+*
+*  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).
+*
+*****************************************************************************/
+
+#include "cust_msdc.h"
+#include "msdc.h"
+
+
+struct msdc_cust msdc_cap[MSDC_MAX_NUM] =
+{
+    {
+        MSDC0_CLKSRC_DEFAULT, /* host clock source           */
+        MSDC_SMPL_RISING,   /* command latch edge            */
+        MSDC_SMPL_RISING,   /* data latch edge               */
+        MSDC_DRVN_GEAR2,    /* clock pad driving             */
+        MSDC_DRVN_GEAR2,    /* command pad driving           */
+        MSDC_DRVN_GEAR2,    /* data pad driving              */
+        MSDC_DRVN_GEAR2,    /* rst pad driving               */
+        MSDC_DRVN_GEAR2,    /* ds pad driving                */
+        MSDC_DRVN_DONT_CARE,/* clock pad driving on 1.8V     */
+        MSDC_DRVN_DONT_CARE,/* command pad driving on 1.8V   */
+        MSDC_DRVN_DONT_CARE,/* data pad driving on 1.8V      */
+        8,                  /* data pins                     */
+        0,                  /* data address offset           */
+#if defined(MMC_MSDC_DRV_CTP)
+        MSDC_HIGHSPEED | MSDC_HS200 | MSDC_RST_PIN_EN | MSDC_DDR
+#else
+        MSDC_HIGHSPEED// | MSDC_DDR
+#endif
+    }
+
+#if (defined(MMC_MSDC_DRV_CTP) && !defined(FPGA_PLATFORM))
+    ,
+    {
+        MSDC1_CLKSRC_DEFAULT, /* host clock source           */
+        MSDC_SMPL_RISING,   /* command latch edge            */
+        MSDC_SMPL_RISING,   /* data latch edge               */
+        MSDC_DRVN_GEAR1,    /* clock pad driving             */
+        MSDC_DRVN_GEAR1,    /* command pad driving           */
+        MSDC_DRVN_GEAR1,    /* data pad driving              */
+        MSDC_DRVN_DONT_CARE,/* no need for not-emmc card     */
+        MSDC_DRVN_DONT_CARE,/* no need for not-emmc card     */
+        MSDC_DRVN_GEAR1,    /* clock pad driving on 1.8V     */
+        MSDC_DRVN_GEAR1,    /* command pad driving on 1.8V   */
+        MSDC_DRVN_GEAR1,    /* data pad driving on 1.8V      */
+        4,                  /* data pins                     */
+        0,                  /* data address offset           */
+
+        /* hardware capability flags     */
+        MSDC_HIGHSPEED | MSDC_UHS1 | MSDC_DDR //|MSDC_UHS1|MSDC_SDIO_IRQ|MSDC_DDR
+    }
+#endif
+};
+
+
+

+ 50 - 0
custom/X5/cust_part.c

@@ -0,0 +1,50 @@
+/* Copyright Statement:
+ *
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein
+ * is confidential and proprietary to MediaTek Inc. and/or its licensors.
+ * Without the prior written permission of MediaTek inc. and/or its licensors,
+ * any reproduction, modification, use or disclosure of MediaTek Software,
+ * and information contained herein, in whole or in part, shall be strictly prohibited.
+ */
+/* MediaTek Inc. (C) 2012. All rights reserved.
+ *
+ * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+ * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+ * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER 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 RECEIVER AGREES TO LOOK ONLY TO SUCH
+ * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
+ * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
+ * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
+ * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+ * STANDARD OR OPEN FORUM. RECEIVER'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 RECEIVER TO
+ * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+ *
+ * The following software/firmware and/or related documentation ("MediaTek Software")
+ * have been modified by MediaTek Inc. All revisions are subject to any receiver's
+ * applicable license agreements with MediaTek Inc.
+ */
+
+#include "typedefs.h"
+#include "platform.h"
+#include "blkdev.h"
+#include "partition.h"
+#include "partition_define.h"
+
+static part_t platform_parts[PART_MAX_COUNT];
+
+void cust_part_init(void){}
+
+part_t *cust_part_tbl(void)
+{
+	 return &platform_parts[0];
+}
+

BIN
custom/X5/dct/dct/codegen.dws


+ 85 - 0
custom/X5/inc/cust_bldr.h

@@ -0,0 +1,85 @@
+/* Copyright Statement:
+ *
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein
+ * is confidential and proprietary to MediaTek Inc. and/or its licensors.
+ * Without the prior written permission of MediaTek inc. and/or its licensors,
+ * any reproduction, modification, use or disclosure of MediaTek Software,
+ * and information contained herein, in whole or in part, shall be strictly prohibited.
+ */
+/* MediaTek Inc. (C) 2010. All rights reserved.
+ *
+ * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+ * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+ * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER 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 RECEIVER AGREES TO LOOK ONLY TO SUCH
+ * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
+ * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
+ * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
+ * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+ * STANDARD OR OPEN FORUM. RECEIVER'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 RECEIVER TO
+ * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+ *
+ * The following software/firmware and/or related documentation ("MediaTek Software")
+ * have been modified by MediaTek Inc. All revisions are subject to any receiver's
+ * applicable license agreements with MediaTek Inc.
+ */
+
+#ifndef CUST_BLDR_H
+#define CUST_BLDR_H
+
+#include "boot_device.h"
+#include "uart.h"
+
+/* cust_bldr.h is not used any more, please refer to cust_bldr.mak */
+
+#if 0
+/*=======================================================================*/
+/* Pre-Loader Features                                                   */
+/*=======================================================================*/
+#define CFG_FPGA_PLATFORM           (1)
+
+#if CFG_FPGA_PLATFORM
+#define CFG_BOOT_DEV                (BOOTDEV_SDMMC)
+#else
+#ifdef MTK_EMMC_SUPPORT
+#define CFG_BOOT_DEV                (BOOTDEV_SDMMC)
+#else
+#define CFG_BOOT_DEV                (BOOTDEV_NAND)
+#endif
+#endif
+
+#define CFG_BATTERY_DETECT          (0)
+
+#define CFG_UART_TOOL_HANDSHAKE     (1)
+#define CFG_USB_TOOL_HANDSHAKE      (1)
+#define CFG_USB_DOWNLOAD            (1)
+#define CFG_PMT_SUPPORT             (0)
+
+#define CFG_LOG_BAUDRATE            (921600)
+#define CFG_META_BAUDRATE           (115200)
+#define CFG_UART_LOG                (UART1)
+#define CFG_UART_META               (UART1)
+
+#define CFG_EMERGENCY_DL_SUPPORT    (0)
+#define CFG_EMERGENCY_DL_TIMEOUT_MS (1000 * 60 * 5) /* 5 mins */
+
+#define CFG_SWITCH_USB_UART_SUPPORT (0)
+#define CFG_SWITCH_FORCE_USB        (0) // only active when CFG_SWITCH_USB_UART_SUPPORT is (1)
+#define CFG_SWITCH_FORCE_UART       (0) // only active when CFG_SWITCH_USB_UART_SUPPORT is (1)
+
+/*=======================================================================*/
+/* Misc Options                                                          */	
+/*=======================================================================*/
+#define FEATURE_MMC_ADDR_TRANS
+#endif
+
+#endif /* CUST_BLDR_H */

+ 87 - 0
custom/X5/inc/cust_msdc.h

@@ -0,0 +1,87 @@
+/*****************************************************************************
+*  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) 2010
+*
+*  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).
+*
+*****************************************************************************/
+
+#ifndef CUST_MSDC_H
+#define CUST_MSDC_H
+
+#include "msdc_cfg.h"
+
+#if (defined(MMC_MSDC_DRV_CTP) && !defined(FPGA_PLATFORM))
+#define MSDC_MAX_NUM            (2)
+#else
+#define MSDC_MAX_NUM            (1)
+#endif
+
+#define MSDC_CD_PIN_EN      (1 << 0)  /* card detection pin is wired   */
+#define MSDC_WP_PIN_EN      (1 << 1)  /* write protection pin is wired */
+#define MSDC_RST_PIN_EN     (1 << 2)  /* emmc reset pin is wired       */
+#define MSDC_SDIO_IRQ       (1 << 3)  /* use internal sdio irq (bus)   */
+#define MSDC_EXT_SDIO_IRQ   (1 << 4)  /* use external sdio irq         */
+#define MSDC_REMOVABLE      (1 << 5)  /* removable slot                */
+#define MSDC_SYS_SUSPEND    (1 << 6)  /* suspended by system           */
+#define MSDC_HIGHSPEED      (1 << 7)  /* high-speed mode support       */
+#define MSDC_UHS1           (1 << 8)  /* uhs-1 mode support            */
+#define MSDC_DDR            (1 << 9)  /* ddr mode support              */
+#define MSDC_HS200          (1 << 10) /* hs200 mode support(eMMC4.5)   */
+#define MSDC_HS400          (1 << 11) /* hs200 mode support(eMMC5.0)   */
+
+#define MSDC_SMPL_RISING        (0)
+#define MSDC_SMPL_FALLING       (1)
+#define MSDC_SMPL_SEPERATE      (2)
+
+
+struct msdc_cust {
+    unsigned char  clk_src;           /* host clock source             */
+    unsigned char  cmd_edge;          /* command latch edge            */
+    unsigned char  data_edge;         /* data latch edge               */
+    unsigned char  clk_drv;           /* clock pad driving             */
+    unsigned char  cmd_drv;           /* command pad driving           */
+    unsigned char  dat_drv;           /* data pad driving              */
+    unsigned char  rst_drv;           /* reset pin pad driving         */
+    unsigned char  ds_drv;            /* ds pad driving                */
+    unsigned char  clk_18v_drv;       /* clock pad driving             */
+    unsigned char  cmd_18v_drv;       /* command pad driving on 1.8V   */
+    unsigned char  dat_18v_drv;       /* data pad driving on 1.8V      */
+    unsigned char  data_pins;         /* data pins on 1.8V             */
+    unsigned int   data_offset;       /* data address offset           */
+    unsigned int   flags;             /* hardware capability flags     */
+};
+
+extern struct msdc_cust msdc_cap[MSDC_MAX_NUM];
+
+
+
+#endif /* end of _MSDC_CUST_H_ */
+

+ 100 - 0
custom/X5/inc/cust_nand.h

@@ -0,0 +1,100 @@
+/* Copyright Statement:
+ *
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein
+ * is confidential and proprietary to MediaTek Inc. and/or its licensors.
+ * Without the prior written permission of MediaTek inc. and/or its licensors,
+ * any reproduction, modification, use or disclosure of MediaTek Software,
+ * and information contained herein, in whole or in part, shall be strictly prohibited.
+ */
+/* MediaTek Inc. (C) 2010. All rights reserved.
+ *
+ * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+ * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+ * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER 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 RECEIVER AGREES TO LOOK ONLY TO SUCH
+ * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
+ * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
+ * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
+ * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+ * STANDARD OR OPEN FORUM. RECEIVER'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 RECEIVER TO
+ * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+ *
+ * The following software/firmware and/or related documentation ("MediaTek Software")
+ * have been modified by MediaTek Inc. All revisions are subject to any receiver's
+ * applicable license agreements with MediaTek Inc.
+ */
+
+#ifndef CUST_NAND_H 
+#define CUST_NAND_H
+
+#include "typedefs.h"
+
+#if 0
+#define RAMDOM_READ 1<<0
+#define CACHE_READ  1<<1
+
+typedef struct
+{
+   u16 id;          //deviceid+menuid
+   u8  addr_cycle;
+   u8  iowidth;
+   u16 totalsize;   
+   u16 blocksize;
+   u16 pagesize;
+   u32 timmingsetting;
+   char devciename[14];
+   u32 advancedmode;   //
+}flashdev_info,*pflashdev_info;
+
+static const flashdev_info g_FlashTable[]={
+	//micro
+	{0xAA2C,  5,  8,  256,  128,  2048,  0x01113,  "MT29F2G08ABD",  0},
+	{0xB12C,  4,  16, 128,  128,  2048,  0x01113,  "MT29F1G16ABC",  0},
+	{0xBA2C,  5,  16, 256,  128,  2048,  0x01113,  "MT29F2G16ABD",  0},	
+	{0xAC2C,  5,  8,  512,	128,  2048,  0x01113,  "MT29F4G08ABC",	0},
+    {0xA12C,  4,  8,  128,  128,  2048,  0x01113,  "MT29F1G08ABB",	0},
+    {0xBC2C,  5,  16, 512, 128,  2048,  0x01112,  "MT29F4G16ABBDA",	0},
+	//samsung 
+	{0xBAEC,  5,  16, 256,  128,  2048,  0x01123,  "K522H1GACE",    0},
+	{0xBCEC,  5,  16, 512,  128,  2048,  0x01123,  "K524G2GACB",    RAMDOM_READ},
+	{0xDAEC,  5,  8,  256,  128,  2048,  0x33222,  "K9F2G08U0A",    RAMDOM_READ},
+	{0xF1EC,  4,  8,  128,  128,  2048,  0x01123,  "K9F1G08U0A",    RAMDOM_READ},
+	{0xAAEC,  5,  8,  256,  128,  2048,  0x01123,  "K9F2G08R0A",    0},
+    //hynix
+	{0xD3AD,  5,  8,  1024, 256,  2048,  0x44333,  "HY27UT088G2A",  0},
+	{0xA1AD,  4,  8,  128,  128,  2048,  0x01123,  "H8BCSOPJOMCP",  0},
+	{0xBCAD,  5,  16, 512,  128,  2048,  0x01123,  "H8BCSOUNOMCR",  0},
+	{0xBAAD,  5,  16, 256,  128,  2048,  0x01123,  "H8BCSOSNOMCR",  0},
+	//toshiba
+	{0x9598,  5,  16, 816,  128,  2048,  0x00113,  "TY9C000000CMG", 0},
+	{0x9498,  5,  16, 375,  128,  2048,  0x00113,  "TY9C000000CMG", 0},
+    {0xBC98,  5,  16, 512, 128,  2048,  0x02113,  "TY58NYG2S8E",	0},
+	{0xC198,  4,  16, 128,  128,  2048,  0x44333,  "TC58NWGOS8C",   0},
+	{0xBA98,  5,  16, 256,  128,  2048,  0x02113,  "TC58NYG1S8C",   0},
+	//st-micro
+	{0xBA20,  5,  16, 256,  128,  2048,  0x01123,  "ND02CGR4B2DI6", 0},
+
+	// elpida
+	{0xBC20,  5,  16, 512,  128,  2048,  0x01123,  "04GR4B2DDI6",   0},
+	{0x0000,  0,  0,  0,	0,	  0,	 0, 	   "xxxxxxxxxxxxx", 0}
+};
+#endif
+
+#define NFI_DEFAULT_ACCESS_TIMING        (0x44333)
+
+//preloader only support 1 cs
+//#define NFI_CS_NUM                  	(2)
+#define NFI_DEFAULT_CS				(0)
+
+#define USE_AHB_MODE                	(0)
+
+#endif

+ 50 - 0
custom/X5/inc/cust_rtc.h

@@ -0,0 +1,50 @@
+/* Copyright Statement:
+ *
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein
+ * is confidential and proprietary to MediaTek Inc. and/or its licensors.
+ * Without the prior written permission of MediaTek inc. and/or its licensors,
+ * any reproduction, modification, use or disclosure of MediaTek Software,
+ * and information contained herein, in whole or in part, shall be strictly prohibited.
+ */
+/* MediaTek Inc. (C) 2010. All rights reserved.
+ *
+ * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+ * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+ * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER 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 RECEIVER AGREES TO LOOK ONLY TO SUCH
+ * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
+ * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
+ * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
+ * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+ * STANDARD OR OPEN FORUM. RECEIVER'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 RECEIVER TO
+ * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+ *
+ * The following software/firmware and/or related documentation ("MediaTek Software")
+ * have been modified by MediaTek Inc. All revisions are subject to any receiver's
+ * applicable license agreements with MediaTek Inc.
+ */
+
+#ifndef __CUST_RTC_H__
+#define __CUST_RTC_H__
+
+/*
+ * Default values for RTC initialization
+ * Year (YEA)        : 1970 ~ 2037
+ * Month (MTH)       : 1 ~ 12
+ * Day of Month (DOM): 1 ~ 31
+ */
+#define RTC_DEFAULT_YEA		2010
+#define RTC_DEFAULT_MTH		1
+#define RTC_DEFAULT_DOM		1
+#define RTC_2SEC_REBOOT_ENABLE  1
+#define RTC_2SEC_MODE		2
+#endif /* __CUST_RTC_H__ */

+ 241 - 0
custom/X5/inc/cust_sec_ctrl.h

@@ -0,0 +1,241 @@
+/* Copyright Statement:
+*
+* This software/firmware and related documentation ("MediaTek Software") are
+* protected under relevant copyright laws. The information contained herein
+* is confidential and proprietary to MediaTek Inc. and/or its licensors.
+* Without the prior written permission of MediaTek inc. and/or its licensors,
+* any reproduction, modification, use or disclosure of MediaTek Software,
+* and information contained herein, in whole or in part, shall be strictly prohibited.
+*/
+/* MediaTek Inc. (C) 2011. All rights reserved.
+*
+* BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER 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 RECEIVER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
+* THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
+* CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
+* SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+* STANDARD OR OPEN FORUM. RECEIVER'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 RECEIVER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* The following software/firmware and/or related documentation ("MediaTek Software")
+* have been modified by MediaTek Inc. All revisions are subject to any receiver's
+* applicable license agreements with MediaTek Inc.
+*/
+
+
+#ifndef CUST_SEC_CTRL_H
+#define CUST_SEC_CTRL_H
+
+#include "typedefs.h"
+#include "proj_cfg.h"
+#include "keypad.h"
+
+/**************************************************************************
+ * [ROM INFO]
+ **************************************************************************/
+#define PROJECT_NAME                        "CUST"
+#define PLATFORM_NAME                       "MT6752"
+
+
+/**************************************************************************
+ * [CRYPTO SEED]
+ **************************************************************************/
+#define CUSTOM_CRYPTO_SEED_SIZE             (16)
+#define CUSTOM_CRYPTO_SEED                  "1A52A367CB12C458"
+
+/**************************************************************************
+ * [SML AES KEY CONTROL]
+ **************************************************************************/
+/* It can be enabled only if SUSBDL is turned on */
+/* Please make sure SUSBDL is on before enabling this flag */
+//#define SML_AES_KEY_ANTICLONE_EN
+
+/**************************************************************************
+ * [S-USBDL]
+ **************************************************************************/
+/* S-USBDL Attribute */
+#define ATTR_SUSBDL_DISABLE                 0x00
+#define ATTR_SUSBDL_ENABLE                  0x11
+#define ATTR_SUSBDL_ONLY_ENABLE_ON_SCHIP    0x22
+/* S-USBDL Control */
+#define SEC_USBDL_CFG                       CUSTOM_SUSBDL_CFG
+/**************************************************************************
+ * [FLASHTOOL SECURE CONFIG for (for both of SLA and NON-SLA mode], 32bits
+ * It's not recommended to use 32 bits (v3) mode now. Please use FLASHTOOL_SEC_CFG_64 instead
+ **************************************************************************/
+//#define FLASHTOOL_SEC_CFG
+//#define BYPASS_CHECK_IMAGE_0_NAME           ""
+//#define BYPASS_CHECK_IMAGE_0_OFFSET         0x0
+//#define BYPASS_CHECK_IMAGE_0_LENGTH         0x0
+//#define BYPASS_CHECK_IMAGE_1_NAME           ""
+//#define BYPASS_CHECK_IMAGE_1_OFFSET         0x0
+//#define BYPASS_CHECK_IMAGE_1_LENGTH         0x0
+//#define BYPASS_CHECK_IMAGE_2_NAME           ""
+//#define BYPASS_CHECK_IMAGE_2_OFFSET         0x0
+//#define BYPASS_CHECK_IMAGE_2_LENGTH         0x0
+
+/**************************************************************************
+ * [FLASHTOOL SECURE CONFIG (for both of SLA and NON-SLA mode], 64 bits for v4 sign format
+ **************************************************************************/
+//#define FLASHTOOL_SEC_CFG_64
+#ifdef FLASHTOOL_SEC_CFG_64
+#define BYPASS_CHECK_IMAGE_0_NAME           ""
+#define BYPASS_CHECK_IMAGE_0_OFFSET         0x0
+#define BYPASS_CHECK_IMAGE_1_NAME           ""
+#define BYPASS_CHECK_IMAGE_1_OFFSET         0x0
+#define BYPASS_CHECK_IMAGE_2_NAME           ""
+#define BYPASS_CHECK_IMAGE_2_OFFSET         0x0
+#endif
+/**************************************************************************
+ * [FLASHTOOL FORBIT DOWNLOAD CONFIG (for NSLA mode only)] , 32 bits
+ * It's not recommended to use 32 bits (v3) mode now. Please use FLASHTOOL_FORBID_DL_NSLA_CFG_64 instead
+ **************************************************************************/
+//#define FLASHTOOL_FORBID_DL_NSLA_CFG
+//#define FORBID_DL_IMAGE_0_NAME              ""
+//#define FORBID_DL_IMAGE_0_OFFSET            0x0
+//#define FORBID_DL_IMAGE_0_LENGTH            0x0
+//#define FORBID_DL_IMAGE_1_NAME              ""
+//#define FORBID_DL_IMAGE_1_OFFSET            0x0
+//#define FORBID_DL_IMAGE_1_LENGTH            0x0
+
+/**************************************************************************
+ * [FLASHTOOL FORBIT DOWNLOAD CONFIG (for NSLA mode only)], 64 bits for v4 sign format
+ **************************************************************************/
+//#define FLASHTOOL_FORBID_DL_NSLA_CFG_64
+#ifdef FLASHTOOL_FORBID_DL_NSLA_CFG_64
+#define FORBID_DL_IMAGE_0_NAME              ""
+#define FORBID_DL_IMAGE_0_OFFSET            0x0
+#define FORBID_DL_IMAGE_1_NAME              ""
+#define FORBID_DL_IMAGE_1_OFFSET            0x0
+#endif
+
+#define SEC_USBDL_WITHOUT_SLA_ENABLE
+
+#ifdef SEC_USBDL_WITHOUT_SLA_ENABLE
+//#define USBDL_DETECT_VIA_KEY
+/* if com port wait key is enabled, define the key*/
+#ifdef USBDL_DETECT_VIA_KEY
+#define COM_WAIT_KEY    KPD_DL_KEY3
+#endif
+//#define USBDL_DETECT_VIA_AT_COMMAND
+#endif
+
+/**************************************************************************
+ * [S-BOOT]
+ **************************************************************************/
+/* S-BOOT Attribute */
+#define ATTR_SBOOT_DISABLE                  0x00
+#define ATTR_SBOOT_ENABLE                   0x11
+#define ATTR_SBOOT_ONLY_ENABLE_ON_SCHIP     0x22
+/* S-BOOT Control */
+#define SEC_BOOT_CFG                        CUSTOM_SBOOT_CFG
+
+/* Customized Secure Boot */
+//#define CUSTOMIZED_SECURE_PARTITION_SUPPORT
+#ifdef CUSTOMIZED_SECURE_PARTITION_SUPPORT
+#define SBOOT_CUST_PART1    ""
+#define SBOOT_CUST_PART2    ""
+#endif
+
+/* For Custom Partition Verification*/
+#define VERIFY_PART_CUST                   (FALSE)
+#define VERIFY_PART_CUST_NAME              ""
+
+/* 
+    RSA2048 public key for verifying mtee image
+    It should be the same as AUTH_PARAM_N in alps\mediatek\custom\mt6752_evb\trustzone\TRUSTZONE_IMG_PROTECT_CFG.ini
+*/
+#define MTEE_IMG_VFY_PUBK_SZ 256
+
+#define MTEE_IMG_VFY_PUBK 0xDA, 0xCD, 0x8B, 0x5F, 0xDA, 0x8A, 0x76, 0x6F, 0xB7, 0xBC, 0xAA, 0x43, 0xF0, 0xB1, 0x69, 0x15, \
+                          0xCE, 0x7B, 0x47, 0x71, 0x4F, 0x13, 0x95, 0xFD, 0xEB, 0xCF, 0x12, 0xA2, 0xD4, 0x11, 0x55, 0xB0, \
+                          0xFB, 0x58, 0x7A, 0x51, 0xFE, 0xCC, 0xCB, 0x4D, 0xDA, 0x1C, 0x8E, 0x5E, 0xB9, 0xEB, 0x69, 0xB8, \
+                          0x6D, 0xAF, 0x2C, 0x62, 0x0F, 0x6C, 0x27, 0x35, 0x21, 0x5A, 0x5F, 0x22, 0xC0, 0xB6, 0xCE, 0x37, \
+                          0x7A, 0xA0, 0xD0, 0x7E, 0xB3, 0x8E, 0xD3, 0x40, 0xB5, 0x62, 0x9F, 0xC2, 0x89, 0x04, 0x94, 0xB0, \
+                          0x78, 0xA6, 0x3D, 0x6D, 0x07, 0xFD, 0xEA, 0xCD, 0xBE, 0x3E, 0x7F, 0x27, 0xFD, 0xE4, 0xB1, 0x43, \
+                          0xF4, 0x9D, 0xB4, 0x97, 0x14, 0x37, 0xE6, 0xD0, 0x0D, 0x9E, 0x18, 0xB5, 0x6F, 0x02, 0xDA, 0xBE, \
+                          0xB0, 0x00, 0x0B, 0x6E, 0x79, 0x51, 0x6D, 0x0C, 0x80, 0x74, 0xB5, 0xA4, 0x25, 0x69, 0xFD, 0x0D, \
+                          0x91, 0x96, 0x65, 0x5D, 0x2A, 0x40, 0x30, 0xD4, 0x2D, 0xFE, 0x05, 0xE9, 0xF6, 0x48, 0x83, 0xE6, \
+                          0xD5, 0xF7, 0x9A, 0x5B, 0xFA, 0x3E, 0x70, 0x14, 0xC9, 0xA6, 0x28, 0x53, 0xDC, 0x1F, 0x21, 0xD5, \
+                          0xD6, 0x26, 0xF4, 0xD0, 0x84, 0x6D, 0xB1, 0x64, 0x52, 0x18, 0x7D, 0xD7, 0x76, 0xE8, 0x88, 0x6B, \
+                          0x48, 0xC2, 0x10, 0xC9, 0xE2, 0x08, 0x05, 0x9E, 0x7C, 0xAF, 0xC9, 0x97, 0xFD, 0x2C, 0xA2, 0x10, \
+                          0x77, 0x5C, 0x1A, 0x5D, 0x9A, 0xA2, 0x61, 0x25, 0x2F, 0xB9, 0x75, 0x26, 0x8D, 0x97, 0x0C, 0x62, \
+                          0x73, 0x38, 0x71, 0xD5, 0x78, 0x14, 0x09, 0x8A, 0x45, 0x3D, 0xF9, 0x2B, 0xC6, 0xCA, 0x19, 0x02, \
+                          0x5C, 0xD9, 0xD4, 0x30, 0xF0, 0x2E, 0xE4, 0x6F, 0x80, 0xDE, 0x6C, 0x63, 0xEA, 0x80, 0x2B, 0xEF, \
+                          0x90, 0x67, 0x3A, 0xAC, 0x4C, 0x66, 0x67, 0xF2, 0x88, 0x3F, 0xB4, 0x50, 0x1F, 0xA7, 0x74, 0x55
+/* OEM_PUBK is set as the same as MTEE public key for convenience, but they can be different */
+/* OEM_PUBK will be used to verify oemkeystore, and use oemkeystore to verify images */
+#define OEM_PUBK_SZ 256
+
+#define OEM_PUBK          0xDA, 0xCD, 0x8B, 0x5F, 0xDA, 0x8A, 0x76, 0x6F, 0xB7, 0xBC, 0xAA, 0x43, 0xF0, 0xB1, 0x69, 0x15, \
+                          0xCE, 0x7B, 0x47, 0x71, 0x4F, 0x13, 0x95, 0xFD, 0xEB, 0xCF, 0x12, 0xA2, 0xD4, 0x11, 0x55, 0xB0, \
+                          0xFB, 0x58, 0x7A, 0x51, 0xFE, 0xCC, 0xCB, 0x4D, 0xDA, 0x1C, 0x8E, 0x5E, 0xB9, 0xEB, 0x69, 0xB8, \
+                          0x6D, 0xAF, 0x2C, 0x62, 0x0F, 0x6C, 0x27, 0x35, 0x21, 0x5A, 0x5F, 0x22, 0xC0, 0xB6, 0xCE, 0x37, \
+                          0x7A, 0xA0, 0xD0, 0x7E, 0xB3, 0x8E, 0xD3, 0x40, 0xB5, 0x62, 0x9F, 0xC2, 0x89, 0x04, 0x94, 0xB0, \
+                          0x78, 0xA6, 0x3D, 0x6D, 0x07, 0xFD, 0xEA, 0xCD, 0xBE, 0x3E, 0x7F, 0x27, 0xFD, 0xE4, 0xB1, 0x43, \
+                          0xF4, 0x9D, 0xB4, 0x97, 0x14, 0x37, 0xE6, 0xD0, 0x0D, 0x9E, 0x18, 0xB5, 0x6F, 0x02, 0xDA, 0xBE, \
+                          0xB0, 0x00, 0x0B, 0x6E, 0x79, 0x51, 0x6D, 0x0C, 0x80, 0x74, 0xB5, 0xA4, 0x25, 0x69, 0xFD, 0x0D, \
+                          0x91, 0x96, 0x65, 0x5D, 0x2A, 0x40, 0x30, 0xD4, 0x2D, 0xFE, 0x05, 0xE9, 0xF6, 0x48, 0x83, 0xE6, \
+                          0xD5, 0xF7, 0x9A, 0x5B, 0xFA, 0x3E, 0x70, 0x14, 0xC9, 0xA6, 0x28, 0x53, 0xDC, 0x1F, 0x21, 0xD5, \
+                          0xD6, 0x26, 0xF4, 0xD0, 0x84, 0x6D, 0xB1, 0x64, 0x52, 0x18, 0x7D, 0xD7, 0x76, 0xE8, 0x88, 0x6B, \
+                          0x48, 0xC2, 0x10, 0xC9, 0xE2, 0x08, 0x05, 0x9E, 0x7C, 0xAF, 0xC9, 0x97, 0xFD, 0x2C, 0xA2, 0x10, \
+                          0x77, 0x5C, 0x1A, 0x5D, 0x9A, 0xA2, 0x61, 0x25, 0x2F, 0xB9, 0x75, 0x26, 0x8D, 0x97, 0x0C, 0x62, \
+                          0x73, 0x38, 0x71, 0xD5, 0x78, 0x14, 0x09, 0x8A, 0x45, 0x3D, 0xF9, 0x2B, 0xC6, 0xCA, 0x19, 0x02, \
+                          0x5C, 0xD9, 0xD4, 0x30, 0xF0, 0x2E, 0xE4, 0x6F, 0x80, 0xDE, 0x6C, 0x63, 0xEA, 0x80, 0x2B, 0xEF, \
+                          0x90, 0x67, 0x3A, 0xAC, 0x4C, 0x66, 0x67, 0xF2, 0x88, 0x3F, 0xB4, 0x50, 0x1F, 0xA7, 0x74, 0x55
+
+/**************************************************************************
+ * [DEFINITION CHECK]
+ **************************************************************************/
+#ifdef SML_AES_KEY_ANTICLONE_EN
+#ifndef SECRO_IMG_ANTICLONE_EN
+#error "SML_AES_KEY_ANTICLONE_EN is defined. Should also enable SECRO_IMG_ANTICLONE_EN"
+#endif
+#endif
+
+#if MTK_SECURITY_SW_SUPPORT
+#ifndef SEC_USBDL_CFG
+#error "MTK_SECURITY_SW_SUPPORT is NOT disabled. Should define SEC_USBDL_CFG "
+#endif
+#endif
+
+#if MTK_SECURITY_SW_SUPPORT
+#ifndef SEC_BOOT_CFG
+#error "MTK_SECURITY_SW_SUPPORT is NOT disabled. Should define SEC_BOOT_CFG"
+#endif
+#endif
+
+#if MTK_SECURITY_SW_SUPPORT
+#ifndef SEC_USBDL_WITHOUT_SLA_ENABLE
+#error "MTK_SECURITY_SW_SUPPORT is NOT disabled. Should define SEC_USBDL_WITHOUT_SLA_ENABLE"
+#endif
+#endif
+
+#ifdef USBDL_DETECT_VIA_KEY
+#ifndef SEC_USBDL_WITHOUT_SLA_ENABLE
+#error "USBDL_DETECT_VIA_KEY can only be enabled when SEC_USBDL_WITHOUT_SLA_ENABLE is enabled"
+#endif
+#ifndef COM_WAIT_KEY
+#error "COM_WAIT_KEY is not defined!!"
+#endif
+#endif
+
+#ifdef USBDL_DETECT_VIA_AT_COMMAND
+#ifndef SEC_USBDL_WITHOUT_SLA_ENABLE
+#error "USBDL_DETECT_VIA_AT_COMMAND can only be enabled when SEC_USBDL_WITHOUT_SLA_ENABLE is enabled"
+#endif
+#endif
+
+
+#endif   /* CUST_SEC_CTRL_H */

+ 52 - 0
custom/X5/inc/cust_usb.h

@@ -0,0 +1,52 @@
+/* Copyright Statement:
+ *
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein
+ * is confidential and proprietary to MediaTek Inc. and/or its licensors.
+ * Without the prior written permission of MediaTek inc. and/or its licensors,
+ * any reproduction, modification, use or disclosure of MediaTek Software,
+ * and information contained herein, in whole or in part, shall be strictly prohibited.
+ */
+/* MediaTek Inc. (C) 2010. All rights reserved.
+ *
+ * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+ * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+ * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER 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 RECEIVER AGREES TO LOOK ONLY TO SUCH
+ * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
+ * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
+ * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
+ * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+ * STANDARD OR OPEN FORUM. RECEIVER'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 RECEIVER TO
+ * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+ *
+ * The following software/firmware and/or related documentation ("MediaTek Software")
+ * have been modified by MediaTek Inc. All revisions are subject to any receiver's
+ * applicable license agreements with MediaTek Inc.
+ */
+
+
+#ifndef CUST_USB_H
+#define CUST_USB_H
+
+
+/*=======================================================================*/
+/* USB Control                                                           */	
+/*=======================================================================*/
+#define USBD_MANUFACTURER               "MediaTek"
+#define USBD_PRODUCT_NAME               "MT65xx Preloader"
+#define USBD_VENDORID                   (0x0E8D)
+#define USBD_PRODUCTID                  (0x2000)
+
+#define CFG_USB_HANDSHAKE_TIMEOUT_EN    (1)
+#define CFG_USB_ENUM_TIMEOUT_EN         (1)
+
+#endif   /*_CUST_USBDL_FLOW_H*/

+ 117 - 0
custom/X5/inc/custom_MemoryDevice.h

@@ -0,0 +1,117 @@
+/* Copyright Statement:
+ *
+ * This software/firmware and related documentation ("MediaTek Software") are
+ * protected under relevant copyright laws. The information contained herein
+ * is confidential and proprietary to MediaTek Inc. and/or its licensors.
+ * Without the prior written permission of MediaTek inc. and/or its licensors,
+ * any reproduction, modification, use or disclosure of MediaTek Software,
+ * and information contained herein, in whole or in part, shall be strictly prohibited.
+ *
+ * MediaTek Inc. (C) 2010. All rights reserved.
+ *
+ * BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+ * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+ * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER 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 RECEIVER AGREES TO LOOK ONLY TO SUCH
+ * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
+ * THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
+ * CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
+ * SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+ * STANDARD OR OPEN FORUM. RECEIVER'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 RECEIVER TO
+ * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+ *
+ * The following software/firmware and/or related documentation ("MediaTek Software")
+ * have been modified by MediaTek Inc. All revisions are subject to any receiver's
+ * applicable license agreements with MediaTek Inc.
+ */
+
+/*****************************************************************************
+*  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) 2008
+*
+*  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).
+*
+*****************************************************************************/
+
+#ifndef __CUSTOM_MEMORYDEVICE__
+#define __CUSTOM_MEMORYDEVICE__
+
+/*
+ ****************************************************************************
+ [README , VERY IMPORTANT NOTICE]
+ --------------------------------
+ After user configured this C header file, not only C compiler compile it but
+ also auto-gen tool parse user's configure setting.
+ Here are recommend configure convention to make both work fine.
+
+ 1. All configurations in this file form as #define MACRO_NAME MACRO_VALUE format.
+    Note the #define must be the first non-space character of a line
+
+ 2. To disable the optional configurable item. Please use // before #define,
+    for example: //#define MEMORY_DEVICE_TYPE
+
+ 3. Please don't use #if , #elif , #else , #endif conditional macro key word here.
+    Such usage might cause compile result conflict with auto-gen tool parsing result.
+    Auto-Gen tool will show error and stop.
+    3.1.  any conditional keyword such as #if , #ifdef , #ifndef , #elif , #else detected.
+          execpt this #ifndef __CUSTOM_MEMORYDEVICE__
+    3.2.  any duplicated MACRO_NAME parsed. For example auto-gen tool got 
+          2nd MEMORY_DEVICE_TYPE macro value.
+ ****************************************************************************
+*/
+
+/*
+ ****************************************************************************
+ Step 1: Specify memory device type and its complete part number
+         Possible memory device type: LPSDRAM (SDR, DDR)
+ ****************************************************************************
+*/
+
+#define BOARD_ID                MT6580_EVB
+
+// DDR3
+#define CS_PART_NUMBER[0]      H8G1e
+#define CS_PART_NUMBER[1]      FNX2MB
+#define CS_PART_NUMBER[2]      H8G4
+#define CS_PART_NUMBER[3]      F722MB
+#define CS_PART_NUMBER[4]      Biwin
+
+#define CS_PART_NUMBER[5]      S10004
+#define CS_PART_NUMBER[6]      V10008
+//#define CS_PART_NUMBER[7]      H8G1e_DDR2
+#endif /* __CUSTOM_MEMORYDEVICE__ */

+ 63 - 0
custom/X5/inc/memory.h

@@ -0,0 +1,63 @@
+/* Copyright Statement:
+*
+* This software/firmware and related documentation ("MediaTek Software") are
+* protected under relevant copyright laws. The information contained herein
+* is confidential and proprietary to MediaTek Inc. and/or its licensors.
+* Without the prior written permission of MediaTek inc. and/or its licensors,
+* any reproduction, modification, use or disclosure of MediaTek Software,
+* and information contained herein, in whole or in part, shall be strictly prohibited.
+*/
+/* MediaTek Inc. (C) 2010. All rights reserved.
+*
+* BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER 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 RECEIVER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
+* THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
+* CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
+* SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+* STANDARD OR OPEN FORUM. RECEIVER'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 RECEIVER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* The following software/firmware and/or related documentation ("MediaTek Software")
+* have been modified by MediaTek Inc. All revisions are subject to any receiver's
+* applicable license agreements with MediaTek Inc.
+*/
+
+#ifndef MT6516_MEMORY_H
+#define MT6516_MEMORY_H
+
+/**************************************************************************
+*  DEBUG CONTROL
+**************************************************************************/
+#define MEM_TEST                (1)
+
+// do not change the test size !!!!
+#define MEM_TEST_SIZE           (0x2000)
+
+/**************************************************************************
+*  DRAM SIZE 
+**************************************************************************/
+#define E1_DRAM_SIZE            (0x10000000)
+#define E2_DRAM_SIZE            (0x08000000)
+
+/**************************************************************************
+*  EXPOSED API
+**************************************************************************/
+extern u32 mt6516_get_hardware_ver (void);
+extern void mt6516_mem_init (void);
+
+#if MEM_TEST
+extern int complex_mem_test (unsigned int start, unsigned int len);
+#endif
+
+#endif

+ 112 - 0
custom/X5/inc/nand_device_list.h

@@ -0,0 +1,112 @@
+
+#ifndef __NAND_DEVICE_LIST_H__
+#define __NAND_DEVICE_LIST_H__
+
+#define NAND_MAX_ID		5
+#define CHIP_CNT		2
+#define P_SIZE		2048
+#define P_PER_BLK		64
+#define C_SIZE		512
+#define RAMDOM_READ		(1<<0)
+#define CACHE_READ		(1<<1)
+
+#define RAND_TYPE_SAMSUNG 0
+#define RAND_TYPE_TOSHIBA 1
+#define RAND_TYPE_NONE 2
+
+#define READ_RETRY_MAX 10
+struct gFeature
+{
+	u32 address;
+	u32 feature;
+};
+
+enum readRetryType
+{
+	RTYPE_FEATURE,
+	RTYPE_PRECMD,
+	RTYPE_PARAPAGE,
+	RTYPE_HYNIX_16NM,
+	RTYPE_HYNIX
+};
+
+struct gFeatureSet
+{
+	u8 sfeatureCmd;
+	u8 gfeatureCmd;
+	u8 readRetryPreCmd;
+	u8 readRetryCnt;
+	u32 readRetryAddress;
+	u32 readRetryDefault;
+	u32 readRetryStart;
+	enum readRetryType rtype;
+	struct gFeature Interface;
+	struct gFeature Async_timing;
+};
+
+struct gRandConfig
+{
+	u8 type;
+	u32 seed[6];
+};
+
+enum pptbl
+{
+	MICRON_8K,
+	HYNIX_8K,
+	SANDISK_16K,
+};
+
+struct MLC_feature_set
+{
+	enum pptbl ptbl_idx;
+	struct gFeatureSet 	 FeatureSet;
+	struct gRandConfig   randConfig;
+};
+
+enum flashdev_vendor
+{
+	VEND_SAMSUNG,
+	VEND_MICRON,
+	VEND_TOSHIBA,
+	VEND_HYNIX,
+	VEND_SANDISK,
+	VEND_NONE,
+};
+
+enum flashdev_IOWidth
+{
+	IO_8BIT = 8,
+	IO_16BIT = 16,
+	IO_TOGGLEDDR = 9,
+	IO_TOGGLESDR = 10,
+	IO_ONFI = 12,
+};
+
+typedef struct
+{
+   u8 id[NAND_MAX_ID];
+   u8 id_length;
+   u8 addr_cycle;
+   enum flashdev_IOWidth iowidth;
+   u16 totalsize;
+   u16 blocksize;
+   u16 pagesize;
+   u16 sparesize;
+   u32 timmingsetting;
+   u32 s_acccon;
+   u32 s_acccon1;
+   u32 freq;
+   enum flashdev_vendor vendor;
+   u16 sectorsize;
+   u8 devciename[30];
+   u32 advancedmode;
+   struct MLC_feature_set feature_set;
+}flashdev_info,*pflashdev_info;
+
+static const flashdev_info gen_FlashTable[]={
+	{{0xAD,0xBC,0x90,0x55,0x54}, 5,5,IO_16BIT,512,128,2048,64,0x21014133, 0,0,0,VEND_NONE,512, "H9DA4GH4JJAMCR_4EM",0}, 
+	{{0xAD,0xBC,0x90,0x55,0x56}, 5,5,IO_16BIT,512,128,2048,64,0x21014133, 0,0,0,VEND_NONE,512, "H9TA4GH2GDMCPR ",0}, 
+};
+
+#endif

+ 68 - 0
custom/X5/makefile

@@ -0,0 +1,68 @@
+# Copyright Statement:
+#
+# This software/firmware and related documentation ("MediaTek Software") are
+# protected under relevant copyright laws. The information contained herein
+# is confidential and proprietary to MediaTek Inc. and/or its licensors.
+# Without the prior written permission of MediaTek inc. and/or its licensors,
+# any reproduction, modification, use or disclosure of MediaTek Software,
+# and information contained herein, in whole or in part, shall be strictly prohibited.
+
+# MediaTek Inc. (C) 2010. All rights reserved.
+#
+# BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+# THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+# RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER 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 RECEIVER AGREES TO LOOK ONLY TO SUCH
+# THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
+# THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
+# CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
+# SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+# STANDARD OR OPEN FORUM. RECEIVER'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 RECEIVER TO
+# MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+#
+# The following software/firmware and/or related documentation ("MediaTek Software")
+# have been modified by MediaTek Inc. All revisions are subject to any receiver's
+# applicable license agreements with MediaTek Inc.
+
+
+###################################################################
+# flag
+###################################################################
+
+MOD_SRC  =
+MOD_OBJ  = $(PRELOADER_OUT)/obj
+
+###################################################################
+# source files
+# - add your file here !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+###################################################################
+
+# these code are not generated by tool
+MOD_SRC  := \
+cust_msdc.c
+#cust_gpio.c
+
+ifeq ("$(MTK_EMMC_SUPPORT)","no")
+MOD_SRC += \
+cust_part.c
+endif
+
+# these code are generated by tool
+ifneq ($(CFG_FPGA_PLATFORM),1)
+MOD_SRC_PLUS := \
+#custom_emi.c
+endif
+
+###################################################################
+# target
+###################################################################
+
+include $(COMMON_FILE_MK)

+ 6 - 0
custom/X5/security/chip_config/s/cfg/CHIP_CONFIG.ini

@@ -0,0 +1,6 @@
+PLATFORM=MT6582
+SECURE_SUPPORT=TRUE
+SECURE_VERSION=1
+SECURE_CUSTOM_NAME=
+SECURE_ANTICLONE_BY_CHIP=FALSE
+SECURE_ANTICLONE_BY_KEY=FALSE

+ 1 - 0
custom/X5/security/chip_config/s/cfg/SECURE_JTAG_CONFIG.ini

@@ -0,0 +1 @@
+SECURE_JTAG_ENABLE=TRUE

+ 36 - 0
custom/X5/security/chip_config/s/gfh/GFH_CONFIG.ini

@@ -0,0 +1,36 @@
+[CHIP]
+version = "6580"
+[GFH_FILE_INFO]
+version = "1"
+start_addr = "0x00201000"
+flash_dev  = "emmc"
+sig_type = "SINGLE_AND_PHASH"
+max_size = "0x00040000"
+sig_len = "292"
+attr = "0"
+[GFH_BL_INFO]
+version = "1"
+attr = "0x00000001"
+[GFH_BROM_CFG]
+version = "3"
+usbdl_auto_detect_dis = "1"
+usbdl_by_auto_detect_timeout_en = "0"
+usbdl_by_auto_detect_timeout_ms = "0x00000000"
+usbdl_by_kcol0_timeout_en = "1"
+usbdl_by_kcol0_timeout_ms = "0x00001388"
+usbdl_by_flag_timeout_en = "1"
+usbdl_by_flag_timeout_ms = "0"
+[GFH_BL_SEC_KEY]
+version = "1"
+[GFH_ANTI_CLONE]
+version = "1"
+ac_b2k = "0"
+ac_b2c = "0"
+ac_offset = "0x00000010"
+ac_len = "0x00000080"
+[GFH_BROM_SEC_CFG]
+version = "1"
+customer_name = ""
+jtag_en = "0"
+debug_en = "0"
+

+ 23 - 0
custom/X5/security/chip_config/s/key/CHIP_TEST_KEY.ini

@@ -0,0 +1,23 @@
+; #################################
+; Code Signature Key
+; #################################
+
+[Code Sig Key]
+; Hex format
+private_key_d = "00D57BCF5934CE1A035F4598B42DAD4BC8AE7577FB6D81FA232317E8EE7C4FBB33772EFE378DF7DFE5369BB9ACAB1008FA1CFBA737890012A883B372B15932335B689B46A32F1B383B75F0DE2E1B5B0B9F4E1C3E780C2AB0CD3671EB4E34F30BB4C630A60D168CA124810D0F91A1ACC8EFDCEE52D4762BB35813BCC93878E1D15B750561B78006B4C13A8F76B5F10C941E5776C21192357A9B9D7E02C0FC812D2B154671863DE97CE3ED07F90624A0CADD04079E145168A3558A64786820192F5B638354DA69520288B976296961C337FB18A90120F2B6B365C0E1A57CE4119AE8BC718E08FDA33F1F42AA1C91AED090EC6B5656A66C246F89FDE5FD41A76671"
+private_key_n = "01C6B6A1DDF05E818E3DFE16101C5DF65939F352EAB8AACA91CB5BFEC15A1989DD7553343683BC30BB38E45F15BF17BCCAB16A41D695A4318F26504675FE83E92EE21C991C0FBA705395B4A34C331842D8A6F69846B58CC67306E3DE27B05666A6C4372E3FC0D92F314805EDD5B1CB7D25BF3CF9CA9C33C36D97B0B37DA8A44A7A1CA651679D8D680557740C7C1CA25D84BDD12136C2930432808F28265D1E33E667389E4806D865F3CC06329534F7A11861EB688545DCCCEF0B04E96735A08368FA31A1F3260073B31299B216192E620B8D1EA468925ADBD627C49EFC3623658F3CF8AD6D8556272E48FA7711E650287DA19196610F036B6C0D394E42C121D1"
+public_key_e  = "00010001"
+public_key_n  = "01C6B6A1DDF05E818E3DFE16101C5DF65939F352EAB8AACA91CB5BFEC15A1989DD7553343683BC30BB38E45F15BF17BCCAB16A41D695A4318F26504675FE83E92EE21C991C0FBA705395B4A34C331842D8A6F69846B58CC67306E3DE27B05666A6C4372E3FC0D92F314805EDD5B1CB7D25BF3CF9CA9C33C36D97B0B37DA8A44A7A1CA651679D8D680557740C7C1CA25D84BDD12136C2930432808F28265D1E33E667389E4806D865F3CC06329534F7A11861EB688545DCCCEF0B04E96735A08368FA31A1F3260073B31299B216192E620B8D1EA468925ADBD627C49EFC3623658F3CF8AD6D8556272E48FA7711E650287DA19196610F036B6C0D394E42C121D1"
+
+[Install Sig Key]
+public_key_e  = "00010001"
+public_key_n  = "01C6B6A1DDF05E818E3DFE16101C5DF65939F352EAB8AACA91CB5BFEC15A1989DD7553343683BC30BB38E45F15BF17BCCAB16A41D695A4318F26504675FE83E92EE21C991C0FBA705395B4A34C331842D8A6F69846B58CC67306E3DE27B05666A6C4372E3FC0D92F314805EDD5B1CB7D25BF3CF9CA9C33C36D97B0B37DA8A44A7A1CA651679D8D680557740C7C1CA25D84BDD12136C2930432808F28265D1E33E667389E4806D865F3CC06329534F7A11861EB688545DCCCEF0B04E96735A08368FA31A1F3260073B31299B216192E620B8D1EA468925ADBD627C49EFC3623658F3CF8AD6D8556272E48FA7711E650287DA19196610F036B6C0D394E42C121D1"
+
+; #################################
+; Anticlone key
+; #################################
+
+[Anticlone key]
+; Customer's anticlone key in BB chip
+; Hex format
+anticlone_key = "0x11111111, 0x22222222, 0x33333333, 0x44444444"

BIN
tools/emigen/MT6580/MemoryDeviceList_MT6580.xls