LCM:
首先确认硬件板子或者机器正常能开机,获取屏相关资料(包括datasheet和屏驱动、初始化序列灯),注意屏供电使能和复位脚等,3lane还是4lane的pin,修改添加初始化代码到驱动中。
lk目录:
1.1 vim vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm/mt65xx_lcm_list.c
#define LCD_DEBUG(fmt) printk(fmt)
#endif
+extern LCM_DRIVER st7703s_hd720_dsi_vdo_drv;
extern LCM_DRIVER along_rm68200_hd720_dsi_vdo_drv;
extern LCM_DRIVER otm1282a_hd720_dsi_vdo_60hz_lcm_drv;
@@ -353,6 +354,10 @@ extern LCM_DRIVER jd9365_pbt101wxb40i072_wxga_boe_lcm_drv;
LCM_DRIVER *lcm_driver_list[] = {
+#if defined(ST7703S_HD720_DSI_VDO) //ST7703S_HD720_DSI_VDO这个应该跟defconfig里面定义的CONFIG_CUSTOM_KERNEL_LCM一致,小写大写
+ &st7703s_hd720_dsi_vdo_drv,
+#endif
+
1.2 vim vendor/mediatek/proprietary/bootable/bootloader/lk/project/alongk37mv1_64_bsp.mk
MTK_KERNEL_POWER_OFF_CHARGING = yes
#MTK_PUMP_EXPRESS_SUPPORT := yes
MTK_LCM_PHYSICAL_ROTATION = 0
#CUSTOM_LK_LCM="hx8392a_dsi_cmd_qhd"
-CUSTOM_LK_LCM="along_rm68200_hd720_dsi_vdo"
+CUSTOM_LK_LCM="st7703s_hd720_dsi_vdo along_rm68200_hd720_dsi_vdo"
#nt35590_hd720_dsi_cmd_auo = yes
1.3 把lcm驱动放到对应目录:vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm
kernel目录:
1.1 修改defconfig(两个defconfig文件都改一下,在不确定用debug还是非debug的情况下):
文件:
kernel-3.18/arch/arm/configs/alongk37mv1_bsp_debug_defconfig
kernel-3.18/arch/arm/configs/alongk37mv1_bsp_defconfig
-CONFIG_CUSTOM_KERNEL_LCM=“along_rm68200_hd720_dsi_vdo”
+CONFIG_CUSTOM_KERNEL_LCM=“st7703s_hd720_dsi_vdo along_rm68200_hd720_dsi_vdo”
1.2 修改:vim kernel-3.18/drivers/misc/mediatek/lcm/mt65xx_lcm_list.c
在lcm_driver_list添加(+号去掉)
+#if defined(ST7703S_HD720_DSI_VDO)
+ &st7703s_hd720_dsi_vdo_drv,
+#endif
+
1.3 添加代码:vim kernel-3.18/drivers/misc/mediatek/lcm/mt65xx_lcm_list.h
+extern LCM_DRIVER st7703s_hd720_dsi_vdo_drv; //st7703s_hd720_dsi_vdo_drv这个应该跟lcm驱动里面的函数名一致
extern LCM_DRIVER along_rm68200_hd720_dsi_vdo_drv;
1.4 lcm驱动放到对应目录:kernel-3.18/drivers/misc/mediatek/lcm/
问1:如何做同IC屏的兼容,id一致情况下?
答1:同IC的屏兼容:可以通过一个id脚来判断,拉高是一个屏,拉低是另一个屏。