1. 参考
[FAQ11409]通过预设在nvram里的数据实现lcm兼容的方案
2. 可以利用MTK工具SP_META去修改nvram分区,(注意:SP_META工具选择的数据库文件路径如下)
3. mtk的FAQ修改方法只适用Android4.x版本的。下面是MT6735-Android5.1上,自己实现的具体修改记录
bootable修改:
通过mtk SP_META去修改nvram分区(该分区包括了64字节的barcode、40字节IMEI),现在开辟了跟在barcode和IMEI的4个字节作为lcd识别区,不过只用了一个字节去区别屏,例如0x30就调用lcd0、0x31就调用lcd1...
diff --git a/bootloader/lk/dev/lcm/LT8911B_1080/LT8911B_1080.c b/bootloader/lk/dev/lcm/LT8911B_1080/LT8911B_1080.c
index aacf94e..0bd2416 100755
--- a/bootloader/lk/dev/lcm/LT8911B_1080/LT8911B_1080.c
+++ b/bootloader/lk/dev/lcm/LT8911B_1080/LT8911B_1080.c
@@ -1308,9 +1308,22 @@ resume_again_lk1:
}
}
-
+extern u8 match_lcm[4];
static void lcm_init(void)
{
+#if 1
+ // int i;
+ // for(i=0; i<5; i++){
+ // printf("BSK-lcm: %x \n",match_lcm[i]);
+ // }
+ if(match_lcm[0] == 0x30){
+ printf("BSK-lcm: match LT8911B_1080 succeed!\n");
+ }else{
+ printf("BSK-lcm: not match LT8911B_1080!\n");
+ return;
+ }
+#endif
+
#if 1
unsigned int num = 0;
#ifdef BUILD_LK
@@ -1407,7 +1420,16 @@ lcm_init();
static unsigned int lcm_compare_id(void)
{
int ret;
- ret=LT8911_ChipID();
+ //ret=LT8911_ChipID();
+#if 1
+ if(match_lcm[0] == 0x30){
+ ret = 1;
+ printf("BSK-lcm: match LT8911B_1080 succeed!\n");
+ }else{
+ ret = 0;
+ printf("BSK-lcm: not match LT8911B_1080!\n");
+ }
+#endif
return (ret == 1)?1:0;
}
diff --git a/bootloader/lk/dev/lcm/LT8911EXB_1080/LT8911EXB_1080.c b/bootloader/lk/dev/lcm/LT8911EXB_1080/LT8911EXB_1080.c
index 9802e7a..1d1b7e0 100755
--- a/bootloader/lk/dev/lcm/LT8911EXB_1080/LT8911EXB_1080.c
+++ b/bootloader/lk/dev/lcm/LT8911EXB_1080/LT8911EXB_1080.c
@@ -855,9 +855,22 @@ void lcm_init_exb(void)
}
}
-
+extern u8 match_lcm[4];
static void lcm_init(void)
{
+#if 1
+ // int i;
+ // for(i=0; i<5; i++){
+ // printf("BSK-lcm: %x \n",match_lcm[i]);
+ // }
+ if(match_lcm[0] == 0x31){
+ printf("BSK-lcm: match LT8911EXB_1080 succeed!\n");
+ }else{
+ printf("BSK-lcm: not match LT8911EXB_1080!\n");
+ return;
+ }
+#endif
+
#if 1
unsigned int num = 0;
@@ -942,7 +955,16 @@ lcm_init();
static unsigned int lcm_compare_id(void)
{
int ret;
- ret=LT8911_ChipID();
+ //ret=LT8911_ChipID();
+#if 1
+ if(match_lcm[0] == 0x31){
+ ret = 1;
+ printf("BSK-lcm: match LT8911EXB_1080 succeed!\n");
+ }else{
+ ret = 0;
+ printf("BSK-lcm: not match LT8911EXB_1080!\n");
+ }
+#endif
return (ret == 1)?1:0;
}
diff --git a/bootloader/lk/dev/lcm/LT9211EXB_1920_540/LT9211EXB_1920_540.c b/bootloader/lk/dev/lcm/LT9211EXB_1920_540/LT9211EXB_1920_540.c
index f8f6342..1711f99 100755
--- a/bootloader/lk/dev/lcm/LT9211EXB_1920_540/LT9211EXB_1920_540.c
+++ b/bootloader/lk/dev/lcm/LT9211EXB_1920_540/LT9211EXB_1920_540.c
@@ -87,7 +87,7 @@ static LCM_UTIL_FUNCS lcm_util = {0};
#define UDELAY(n) (lcm_util.udelay(n))
#define MDELAY(n) (lcm_util.mdelay(n))
-void printdec_u32(int temp)
+static void printdec_u32(int temp)
{
printf("%d\n",temp);
}
@@ -1091,8 +1091,22 @@ void LT9211_Pattern_Config(void)
LT9211_VideoCheckDebug();
}
+extern u8 match_lcm[4];
static void lcm_init(void)
{
+#if 1
+ // int i;
+ // for(i=0; i<5; i++){
+ // printf("BSK-lcm: %x \n",match_lcm[i]);
+ // }
+ if(match_lcm[0] == 0x32){
+ printf("BSK-lcm: match LT9211EXB_1920_540 succeed!\n");
+ }else{
+ printf("BSK-lcm: not match LT9211EXB_1920_540!\n");
+ return;
+ }
+#endif
+
#if 1
unsigned int num = 0;
@@ -1155,7 +1169,16 @@ lcm_init();
static unsigned int lcm_compare_id(void)
{
int ret;
- ret=LT9211_ChipID();
+ //ret=LT9211_ChipID();
+#if 1
+ if(match_lcm[0] == 0x32){
+ ret = 1;
+ printf("BSK-lcm: match LT9211EXB_1920_540 succeed!\n");
+ }else{
+ ret = 0;
+ printf("BSK-lcm: not match LT9211EXB_1920_540!\n");
+ }
+#endif
return (ret == 1)?1:0;
}
diff --git a/bootloader/lk/kernel/main.c b/bootloader/lk/kernel/main.c
old mode 100644
new mode 100755
index d2f957c..a2740fa
--- a/bootloader/lk/kernel/main.c
+++ b/bootloader/lk/kernel/main.c
@@ -39,7 +39,11 @@
#include <platform/mtk_ir_lk_core.h>
#endif
-
+#if(1)
+#include <platform/boot_mode.h>
+BOOT_ARGUMENT *g_boot_arg;
+//BOOT_ARGUMENT boot_addr;
+#endif
extern void *__ctor_list;
extern void *__ctor_end;
@@ -71,6 +75,7 @@ static void call_constructors(void)
}
}
+u8 match_lcm[4] = {0};
/* called from crt0.S */
void kmain(void) __NO_RETURN __EXTERNALLY_VISIBLE;
void kmain(void)
@@ -96,7 +101,14 @@ void kmain(void)
target_early_init();
dprintf(INFO, "welcome to lk\n\n");
-
+#if(1)
+ //strncpy(lcm_name,g_boot_arg->flag,5);
+ int i = 0;
+ for(i=0; i<4; i++){
+ *(match_lcm+i) = g_boot_arg->match_lcm[i];
+ dprintf(INFO, "BSK-lcm: %x \n",*(match_lcm+i));
+ }
+#endif
// deal with any static constructors
dprintf(SPEW, "calling constructors\n");
call_constructors();
diff --git a/bootloader/lk/platform/mt6735/include/platform/boot_mode.h b/bootloader/lk/platform/mt6735/include/platform/boot_mode.h
old mode 100644
new mode 100755
index 4625775..d27bf2f
--- a/bootloader/lk/platform/mt6735/include/platform/boot_mode.h
+++ b/bootloader/lk/platform/mt6735/include/platform/boot_mode.h
@@ -154,6 +154,7 @@ typedef struct {
u32 kernel_boot_opt;
u32 non_secure_sram_addr;
u32 non_secure_sram_size;
+ u8 match_lcm[4];
} BOOT_ARGUMENT;
@@ -308,6 +309,12 @@ struct boot_tag_sram_info {
u32 non_secure_sram_size;
};
+/* sram lcm-info */
+#define BOOT_TAG_LCM_INFO 0x88610013
+struct boot_tag_lcm_info {
+ u8 match_lcm[4];
+};
+
struct boot_tag_header {
u32 size;
u32 tag;
@@ -334,6 +341,7 @@ struct boot_tag {
struct boot_tag_boot_opt boot_opt;
struct boot_tag_sram_info sram_info;
struct boot_tag_ptp ptp_volt;
+ struct boot_tag_lcm_info lcm_info;
} u;
};
diff --git a/bootloader/lk/platform/mt6735/platform.c b/bootloader/lk/platform/mt6735/platform.c
old mode 100644
new mode 100755
index 6e49b3b..783aaf8
--- a/bootloader/lk/platform/mt6735/platform.c
+++ b/bootloader/lk/platform/mt6735/platform.c
@@ -192,6 +192,9 @@ int dram_init(void)
case BOOT_TAG_PTP:
memcpy(&g_boot_arg->ptp_volt_info, &tags->u.ptp_volt.ptp_volt_info, sizeof(ptp_info_t));
break;
+ case BOOT_TAG_LCM_INFO:
+ for(i=0; i<4; i++)
+ g_boot_arg->match_lcm[i] = tags->u.lcm_info.match_lcm[i];
default:
break;
}
@@ -567,6 +570,8 @@ int kernel_charging_boot(void)
}
#endif
+extern u8 match_lcm[4];
+extern void LT9211_Config(void);
void platform_init(void)
{
#ifdef LK_PROFILING
@@ -859,6 +864,11 @@ void platform_init(void)
#ifdef LK_PROFILING
dprintf(INFO, "[PROFILE] ------- platform_init takes %d ms -------- \n", (int)get_timer(time_platform_init));
#endif
+
+ if(match_lcm[0] == 0x32){
+ dprintf(INFO,"BSK-lcm: Register LT9211EXB_1920_540-LT9211 I2c Config \n");
+ LT9211_Config();
+ }
}
void platform_uninit(void)
diff --git a/bootloader/lk/project/aeon6735_65c_s_l1.mk b/bootloader/lk/project/aeon6735_65c_s_l1.mk
index ed00161..13a42bd 100755
--- a/bootloader/lk/project/aeon6735_65c_s_l1.mk
+++ b/bootloader/lk/project/aeon6735_65c_s_l1.mk
@@ -11,7 +11,7 @@ DEFINES += MTK_NEW_COMBO_EMMC_SUPPORT
MTK_KERNEL_POWER_OFF_CHARGING = no
MTK_LCM_PHYSICAL_ROTATION = 0
#CUSTOM_LK_LCM="hx8392a_dsi_cmd"
-CUSTOM_LK_LCM=LT8911B_1080 LT8911EXB_1080
+CUSTOM_LK_LCM=LT8911B_1080 LT8911EXB_1080 LT9211EXB_1920_540
#hx8392a_dsi_cmd = yes
#FASTBOOT_USE_G_ORIGINAL_PROTOCOL = yes
diff --git a/bootloader/preloader/platform/mt6735/src/core/main.c b/bootloader/preloader/platform/mt6735/src/core/main.c
old mode 100644
new mode 100755
index ff407d8..7b79fdc
--- a/bootloader/preloader/platform/mt6735/src/core/main.c
+++ b/bootloader/preloader/platform/mt6735/src/core/main.c
@@ -134,6 +134,86 @@ static void bldr_pre_process(void)
BOOTING_TIME_PROFILING_LOG("Sec lib init");
}
+u8 match_lcm[4] = {0};
+static bool bldr_read_proinfo(void)
+{
+/*默认屏选择*/
+#define BSK_NVRAM_LCM_DATA 1
+#if (BSK_NVRAM_LCM_DATA == 0)//LT8911B_1080
+ u8 w_buf[4] = {0x30,0,0,0};
+#elif (BSK_NVRAM_LCM_DATA == 1)//LT8911EXB_1080
+ u8 w_buf[4] = {0x31,0,0,0};
+#elif (BSK_NVRAM_LCM_DATA == 2)//LT9211EXB_1920_540
+ u8 w_buf[4] = {0x32,0,0,0};
+#elif (BSK_NVRAM_LCM_DATA == 3)//xxx
+ u8 w_buf[4] = {0x33,0,0,0};
+#else
+ u8 w_buf[4] = {0x30,0,0,0};
+#endif
+
+ u8 i = 0;
+
+ /*read subarea head info*/
+ blkdev_t *bootdev;
+ if (NULL == (bootdev = blkdev_get(CFG_BOOT_DEV))) {
+ print("BSK-lcm: %s can't find boot device(%d)\n", MOD, CFG_BOOT_DEV);
+ /* FIXME, should change to global error code */
+ return -1;
+ }
+
+ char *name = "proinfo";
+ part_t *part = part_get(name);
+ if (NULL == part) {
+ print("BSK-lcm: %s %s partition not found\n", MOD, name);
+ return -1;
+ }
+
+ /*read nvram*/
+ u8 buf[120] = {0};
+ u32 offset = 0;
+ u64 src = (u64)(part->start_sect * bootdev->blksz) + offset;
+ if (blkdev_read(bootdev, src, sizeof(buf), buf, part->part_id) != 0){
+ printf("BSK-lcm: [%s] bootdev(%d) read error (%s)\n", MOD, bootdev->type, part->info->name);
+ return -1;
+ }
+
+ /*判断nvRAM是否有值,如果没有就使用默认屏*/
+ for(i=0;i<4;i++)
+ *(match_lcm+i) = buf[104+i];//barcode:64 + IMEI:40
+
+ if(match_lcm[0] == 0 && match_lcm[1] == 0 && match_lcm[2] == 0 && match_lcm[3] == 0){
+ printf("BSK-lcm: user default value");
+
+ /*write nvram => must 4byte align!!!*/
+ offset = 104;//barcode:64 + IMEI:40 + x
+ src = (u64)(part->start_sect * bootdev->blksz) + offset;
+ if(blkdev_write(bootdev, src, sizeof(w_buf), w_buf, part->part_id) != 0){
+ printf("BSK-lcm: [%s] bootdev(%d) write error (%s)\n", MOD, bootdev->type, part->info->name);
+ }
+
+ offset = 0;
+ src = (u64)(part->start_sect * bootdev->blksz) + offset;
+ if (blkdev_read(bootdev, src, sizeof(buf), buf, part->part_id) != 0){
+ printf("BSK-lcm: [%s] bootdev(%d) read error (%s)\n", MOD, bootdev->type, part->info->name);
+ return -1;
+ }
+ }
+
+ /*print dispose data*/
+#if(0)
+ i = 0;
+ while( i < sizeof(buf)){
+ print("BSK-lcm: %x %x %x %x %x %x %x %x\n", buf[i], buf[i+1], buf[i+2],
+ buf[i+3], buf[i+4], buf[i+5], buf[i+6], buf[i+7]);
+ i += 8;
+ }
+#endif
+
+ //memcpy(lcm_name, &buf[104], 5);
+ for(i=0;i<4;i++)
+ *(match_lcm+i) = buf[104+i];//barcode:64 + IMEI:40
+}
+
static void bldr_post_process(void)
{
platform_post_init();
@@ -736,7 +816,7 @@ void main(u32 *arg)
print("%s Second Bootloader Load Failed\n", MOD);
goto error;
}
-
+ bldr_read_proinfo();
bldr_post_process();
#ifdef SLT
mt_usb_phy_recover();
diff --git a/bootloader/preloader/platform/mt6735/src/drivers/inc/platform.h b/bootloader/preloader/platform/mt6735/src/drivers/inc/platform.h
old mode 100644
new mode 100755
index 3e2e4a5..01ac6bc
--- a/bootloader/preloader/platform/mt6735/src/drivers/inc/platform.h
+++ b/bootloader/preloader/platform/mt6735/src/drivers/inc/platform.h
@@ -288,6 +288,7 @@ typedef struct {
u32 kernel_boot_opt;
u32 non_secure_sram_addr;
u32 non_secure_sram_size;
+ u8 match_lcm[4];
} boot_arg_t;
typedef enum {
@@ -469,6 +470,12 @@ struct boot_tag_sram_info {
u32 non_secure_sram_size;
};
+/* sram lcm-info */
+#define BOOT_TAG_LCM_INFO 0x88610013
+struct boot_tag_lcm_info {
+ u8 match_lcm[4];
+};
+
struct boot_tag_header {
u32 size;
u32 tag;
@@ -494,6 +501,7 @@ typedef struct {
struct boot_tag_boot_opt boot_opt;
struct boot_tag_sram_info sram_info;
struct boot_tag_ptp ptp_volt;
+ struct boot_tag_lcm_info lcm_info;
} u;
}boot_tag;
diff --git a/bootloader/preloader/platform/mt6735/src/drivers/platform.c b/bootloader/preloader/platform/mt6735/src/drivers/platform.c
old mode 100644
new mode 100755
index 1cbed1f..d8b119a
--- a/bootloader/preloader/platform/mt6735/src/drivers/platform.c
+++ b/bootloader/preloader/platform/mt6735/src/drivers/platform.c
@@ -405,6 +405,7 @@ void platform_vusb_on(void)
return;
}
+extern u8 match_lcm[4];
#if CFG_BOOT_ARGUMENT_BY_ATAG
void platform_set_boot_args_by_atag(unsigned *ptr)
{
@@ -574,6 +575,18 @@ void platform_set_boot_args_by_atag(unsigned *ptr)
print("NONSEC SRAM Addr: 0x%x\n", tags->u.sram_info.non_secure_sram_addr);
print("NONSEC SRAM Size: 0x%x\n", tags->u.sram_info.non_secure_sram_size);
+#if(1)
+ tags = ptr;
+ tags->hdr.size = boot_tag_size(boot_tag_lcm_info);
+ tags->hdr.tag = BOOT_TAG_LCM_INFO;
+
+ for(i=0; i<4; i++){
+ tags->u.lcm_info.match_lcm[i] = *(match_lcm+i);
+ print("BSK-lcm: %x \n",tags->u.lcm_info.match_lcm[i]);
+ }
+ ptr += tags->hdr.size;
+#endif
+
/* END */
*ptr++ = 0;
*ptr++ = 0;
kernel-3.10修改:
主要是兼容3个屏的驱动
diff --git a/arch/arm64/configs/aeon6735_65c_s_l1_defconfig b/arch/arm64/configs/aeon6735_65c_s_l1_defconfig
index f083049..e628750 100755
--- a/arch/arm64/configs/aeon6735_65c_s_l1_defconfig
+++ b/arch/arm64/configs/aeon6735_65c_s_l1_defconfig
@@ -1036,8 +1036,8 @@ CONFIG_CUSTOM_KERNEL_GLANCE_GESTURE_SENSOR=""
CONFIG_CUSTOM_KERNEL_IMGSENSOR="hm2131_mipi_yuv pr2000_mipi_yuv"
CONFIG_CUSTOM_KERNEL_CAM_CAL_DRV=""
#CONFIG_CUSTOM_KERNEL_LCM="hx8392a_dsi_cmd"
-#CONFIG_CUSTOM_KERNEL_LCM="LT8911B_1080"
-CONFIG_CUSTOM_KERNEL_LCM="LT8911B_1080 LT8911EXB_1080"
+#CONFIG_CUSTOM_KERNEL_LCM="LT8911B_1080"
+CONFIG_CUSTOM_KERNEL_LCM="LT8911B_1080 LT8911EXB_1080 LT9211EXB_1920_540"
CONFIG_CUSTOM_KERNEL_FLASHLIGHT="constant_flashlight"
CONFIG_CUSTOM_KERNEL_EXTMD=""
CONFIG_CUSTOM_KERNEL_SSW="ssw_single_v2"
diff --git a/drivers/misc/mediatek/lcm/LT9211EXB_1920_540/LT9211EXB_1920_540.c b/drivers/misc/mediatek/lcm/LT9211EXB_1920_540/LT9211EXB_1920_540.c
index 1cffe1b..52a4b77 100755
--- a/drivers/misc/mediatek/lcm/LT9211EXB_1920_540/LT9211EXB_1920_540.c
+++ b/drivers/misc/mediatek/lcm/LT9211EXB_1920_540/LT9211EXB_1920_540.c
@@ -64,8 +64,10 @@ struct video_timing video_1920x720_60Hz ={148, 44, 88,1920, 2200, 28, 5, 1
extern int lt9211_i2c_write(u8 addr, u8 data);
extern int lt9211_i2c_read(u8 addr, u8 *data);
#define LT9211_LOG printk
- #define LT9211_REG_WRITE(add, data) k_lt9211b_write_byte(add, data)
- #define LT9211_REG_READ(add) k_lt9211b_read_byte(add)
+ #define LT9211_REG_WRITE(add, data) //k_lt9211b_write_byte(add, data)
+ #define LT9211_REG_READ(add) //k_lt9211b_read_byte(add)
+ #define LT9211_REG_READ(add) lcm_lt9211_i2c_read(add)
+
extern int lcm_i2c_suspend(void);
extern int lcm_i2c_resume(void);
@@ -282,7 +284,7 @@ static u32 lcm_lt9211_i2c_read(u8 addr)
u8 u4Reg = 0;
u8 ret_code = 0;
- ret_code = lt9211_i2c_read(addr, &u4Reg); //kernel need
+ //ret_code = lt9211_i2c_read(addr, &u4Reg); //kernel need
if (ret_code != 0)
{
return ret_code;
@@ -293,7 +295,7 @@ static u32 lcm_lt9211_i2c_read(u8 addr)
#endif
-#if 1
+#if 0
void LT9211_Config(void);
static void lcd_reset(unsigned char enabled);
@@ -1364,7 +1366,7 @@ void LT9211_Pattern_Config(void)
static void lcm_init(void)
{
-#if 1
+#if 0
unsigned int num = 0;
int ret;
diff --git a/drivers/misc/mediatek/lcm/mt65xx_lcm_list.c b/drivers/misc/mediatek/lcm/mt65xx_lcm_list.c
index ca46dea..27c98c7 100755
--- a/drivers/misc/mediatek/lcm/mt65xx_lcm_list.c
+++ b/drivers/misc/mediatek/lcm/mt65xx_lcm_list.c
@@ -17,9 +17,6 @@
#else
#define LCD_DEBUG(fmt) printk(fmt)
#endif
-extern LCM_DRIVER LT8911B_1080_lcm_drv;
-extern LCM_DRIVER LT8911EXB_1080_lcm_drv;
-extern LCM_DRIVER LT9211EXB_1920_540_lcm_drv;
extern LCM_DRIVER otm1282a_hd720_dsi_vdo_60hz_lcm_drv;
extern LCM_DRIVER otm1282a_hd720_dsi_vdo_lcm_drv;
extern LCM_DRIVER vvx10f008b00_wuxga_dsi_vdo_lcm_drv;
@@ -241,6 +238,11 @@ extern LCM_DRIVER st7789h2_dbi_lcm_drv;
extern LCM_DRIVER K11_WXGA_JD9362_QCH_lcm_drv;
+extern LCM_DRIVER LT8911B_1080_lcm_drv;
+extern LCM_DRIVER LT8911EXB_1080_lcm_drv;
+extern LCM_DRIVER LT9211EXB_1920_540_lcm_drv;
+
+
LCM_DRIVER* lcm_driver_list[] =
{
#if defined(OTM1284A_HD720_DSI_VDO_TM)
@@ -1089,20 +1091,22 @@ LCM_DRIVER* lcm_driver_list[] =
#if defined(ST7789H2_DBI)
&st7789h2_dbi_lcm_drv,
#endif
-#if defined(LT8911EXB_1080)
- <8911EXB_1080_lcm_drv,
-#endif
-
-#if defined(LT9211EXB_1920_540)
- <9211EXB_1920_540_lcm_drv,
-#endif
#if defined(K11_WXGA_JD9362_QCH)
&K11_WXGA_JD9362_QCH_lcm_drv,
#endif
+
#if defined(LT8911B_1080)
<8911B_1080_lcm_drv,
-#endif
+#endif
+
+#if defined(LT8911EXB_1080)
+ <8911EXB_1080_lcm_drv,
+#endif
+
+#if defined(LT9211EXB_1920_540)
+ <9211EXB_1920_540_lcm_drv,
+#endif
};
#define LCM_COMPILE_ASSERT(condition) LCM_COMPILE_ASSERT_X(condition, __LINE__)
diff --git a/drivers/misc/mediatek/videox/mt6735/disp_lcm.c b/drivers/misc/mediatek/videox/mt6735/disp_lcm.c
old mode 100644
new mode 100755
index 225114c..44c0c94
--- a/drivers/misc/mediatek/videox/mt6735/disp_lcm.c
+++ b/drivers/misc/mediatek/videox/mt6735/disp_lcm.c
@@ -216,11 +216,13 @@ disp_lcm_handle* disp_lcm_probe(char* plcm_name, LCM_INTERFACE_ID lcm_id)
for(i=0;i<_lcm_count();i++)
{
lcm_drv = lcm_driver_list[i];
+ DISPCHECK("BSK-lcm: support lcm_driver_list[%d] = %s\n",i,lcm_drv->name);
if(!strcmp(lcm_drv->name, plcm_name))
{
isLCMFound = true;
isLCMInited = true;
lcmindex = i;
+ DISPCHECK("BSK-lcm: match Succeed => lcm_driver_list[%d] = %s\n",i,lcm_drv->name);
break;
}
}
vendor修改:
使用和剩余nvram分区大小修改:
diff --git a/mediatek/proprietary/custom/aeon6735_65c_s_l1/cgen/cfgfileinc/CFG_PRODUCT_INFO_File.h b/mediatek/proprietary/custom/aeon6735_65c_s_l1/cgen/cfgfileinc/CFG_PRODUCT_INFO_File.h
index 1f2e100..8e6a78c 100644
--- a/mediatek/proprietary/custom/aeon6735_65c_s_l1/cgen/cfgfileinc/CFG_PRODUCT_INFO_File.h
+++ b/mediatek/proprietary/custom/aeon6735_65c_s_l1/cgen/cfgfileinc/CFG_PRODUCT_INFO_File.h
@@ -73,7 +73,8 @@ typedef struct
typedef struct{
unsigned char barcode[64];
nvram_ef_imei_imeisv_struct IMEI[4];
- unsigned char reserved[1024-40-64];
+ unsigned char match_lcm[4];
+ unsigned char reserved[1024-40-64-4];
}PRODUCT_INFO;
//the record size and number of PRODUCT_INFO nvram file