2. lcm调试日志

零、点亮新lcm
	1. 修改vendor\mediatek\proprietary\bootable\bootloader\lk\project\len6737m_35_m0.mk
			CUSTOM_LK_LCM="rm68200_hd720_dsi_vdo"(该为指定LCM)

	2. 修改kernel-3.18\arch\arm\configs\len6737m_35_m0_debug_defconfig、len6737m_35_m0_defconfig
			CONFIG_CUSTOM_KERNEL_LCM="rm68200_hd720_dsi_vdo"(该为指定LCM)
			CONFIG_LCM_HEIGHT="1280"
			CONFIG_LCM_WIDTH="720"

	3. 修改Y:\code2\mtk6737_pb5_1_0_cmcc\device\alibaba\b905_lezhou\ProjectConfig.mk
			CONFIG_LCM_HEIGHT="1280"
			CONFIG_LCM_WIDTH="720"

	4. 添加驱动代码,放到kernel-3.18\drivers\misc\mediatek\lcm目录
		创建文件夹rm68200_dsi_vdo_common文件夹中包含 rm68200_dsi_vdo_common.c、Makefile
		
	5. 添加驱动代码,放到vendor\mediatek\proprietary\bootable\bootloader\lk\dev\lcm\目录
		创建文件夹rm68200_dsi_vdo_common文件夹中包含 rm68200_dsi_vdo_common.c、Makefile
		
	6. 修改kernel-3.18\drivers\misc\mediatek\lcm\mt65xx_lcm_list.h
			+   extern LCM_DRIVER rm68200_hd720_dsi_vdo_lcm_drv;
			
		修改kernel-3.18\drivers\misc\mediatek\lcm\mt65xx_lcm_list.c
			
			+  #if defined(RM68200_HD720_DSI_VDO)
			+ 		&rm68200_hd720_dsi_vdo_lcm_drv,
			+  #endif
	
	7. 修改vendor\mediatek\proprietary\bootable\bootloader\lk\dev\lcm\mt65xx_lcm_list.c
			+  extern LCM_DRIVER rm68200_hd720_dsi_vdo_lcm_drv;
			
			+  #if defined(RM68200_HD720_DSI_VDO)
			+		&rm68200_hd720_dsi_vdo_lcm_drv,
			+  #endif

	8. 修改驱动代码...\lcm\rm68200_dsi_vdo_common\rm68200_dsi_vdo_common.c
		通常客户只给一个初始化代码,需要将其修改成数组格式 - 使用Emeditor,正则表达式
		8.1 客户给的格式:
			GP_COMMAD_PA(3);			//下面SPI_WriteData()三次
			SPI_WriteData(0xed);SPI_WriteData(0x60);SPI_WriteData(0x10);
		
		8.2 改成我们需要的格式(SPI_WriteData 先写地址再写数据,跟I2C一样):
			{0xed, 2,{0x60, 0x10}},
			
		8.3 ---->以下不改
			{0x11,1,{0x00}},		// sleep-out
			{REGFLAG_DELAY, 120, {}},  
			{0x29,1,{0x00}},		// display-on
			{REGFLAG_DELAY, 10, {}},  
			{REGFLAG_END_OF_TABLE, 0x00, {}}
			
		8.4 修改mipi通道数
			params->dsi.LANE_NUM = LCM_THREE_LANE; // LCM_FOUR_LANE; -- 根据实际模组打样来配置(询问FAE得知)
			-- 通常fwvga为2 hd为3/4,fhd为4(分辨率高的mipi通道数多)
			-- 同为hd,3路mipi要比4路mipi的时钟高一些
			
		8.5 屏的参数
			以下为常修改值--FAE提供--可以由数据手册算出
			params->dsi.vertical_sync_active				= 3;
			params->dsi.vertical_backporch					= 12; 	//后沿 
			params->dsi.vertical_frontporch					= 8;  	//前沿
			params->dsi.vertical_active_line				= FRAME_HEIGHT; 

			params->dsi.horizontal_sync_active				= 2;  
			params->dsi.horizontal_backporch				= 28; 	// 修改前后沿也能影响闪屏效果
			params->dsi.horizontal_frontporch				= 50; 
			params->dsi.horizontal_active_pixel				= FRAME_WIDTH;
		
		8.6	兼容
			-- 系统通过读ID进行兼容,如果只配了一个屏则不读ID
			-- 点亮新屏的时候,可以先不兼容,或先把读ID函数写死return 1
			#define LCM_ID 0x6820
			lcm_compare_id(void){
				...
				return (LCM_ID == id)?1:0;		// 点新屏时可写死 return 1;
			}


一、常用调试方法:
	1. 查看机器中lcm型号:
		adb shell
		cat /proc/cmdline		// androidN 没有
		// 自行添加
		alps/vendor/mediatek/proprietary/bootable/bootloader/lk/app/mt_boot/mt_boot.c
		-	//#define SERIAL_NUM_FROM_BARCODE
		+	#define SERIAL_NUM_FROM_BARCODE

			int boot_linux_from_storage(void)
		+		snprintf(cmdline_tmpbuf, CMDLINE_TMP_CONCAT_SIZE, "lcm=%1d-%s", DISP_IsLcmFound(), mt_disp_get_lcm_id());
		+		cmdline_append(cmdline_tmpbuf);
		+		snprintf(cmdline_tmpbuf, CMDLINE_TMP_CONCAT_SIZE, "fps=%1d", mt_disp_get_lcd_time());
		+		cmdline_append(cmdline_tmpbuf);
		+		snprintf(cmdline_tmpbuf, CMDLINE_TMP_CONCAT_SIZE, "vram=%1d", DISP_GetVRamSize());
		+		cmdline_append(cmdline_tmpbuf);
		
	2. 查看系统分辨率	
		cat /system/build.prop | grep lcd_density // 得“240”
		
	3. 修改系统分辨率
		device\lentek\len6737t_35g_m0\system.prop
		ro.sf.lcd_density=240	// 240就是系统的分辨率--可以通过修改这个值(参考其他工程)
	
	4. 闪屏
		修改kernel-3.18\drivers\misc\mediatek\lcm\rm68200_dsi_vdo_common\rm68200_dsi_vdo_common.c
		params->dsi.PLL_CLOCK = 200;   //200~240;修改这个值
	
	
		
二、屏的分辨率
	fwvga		--  856*480
	hd/hd720	-- 1280*720
	fhd			-- 1920*1080
	驱动中
	#define FRAME_WIDTH  	(720)
	#define FRAME_HEIGHT 	(1280)

三、相同ic的lcm做兼容 - 不通模组厂的模组可以通过内置电阻不通,而使lcm的ID脚输出电压不同,把ID脚接到PMU上,lcm_compare_id()时通过PMU读取电压值,根据电压值做判断
		0 		- 0v
		470k	- 0.2~0.3v
		150k	- 0.7~0.8v
		51k		- 1.2~1.3v
	
	1. 查看硬件原理图࿰
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值