硬件平台:
mt6582
软件平台:KK1
碰到一个问题,在projectconfig.mk 中设置了MTK_LCM_PHYSICAL_ROTATION=180
然后new, 开机LK的图片还是反了180度,而kernel开始都显示正常了。
这个问题可以做如下修改:
alps\mediatek\platform\mt6582\lk\mt_logo.c
void init_fb_screen()
{
dprintf(INFO, "[lk logo: %s %d]\n",__FUNCTION__,__LINE__);
unsigned int fb_size = mt_get_fb_size();
logo_addr = mt_get_logo_db_addr();
phical_screen.width = CFG_DISPLAY_WIDTH;
phical_screen.height = CFG_DISPLAY_HEIGHT;
phical_screen.fb_size = fb_size;
phical_screen.fill_dst_bits = MTK_FB_ALIGNMENT;
// in JB2.MP need to allign width and height to 32 ,but jb5.mp needn't
phical_screen.needAllign = 1;
phical_screen.allignWidth = ALIGN_TO(CFG_DISPLAY_WIDTH, MTK_FB_ALIGNMENT);
/* In GB, no need to adjust 180 showing logo ,for fb driver dealing the change */
/* but in JB, need adjust it for screen 180 roration */
phical_screen.need180Adjust = 1; // need sync with chip driver
//
phical_screen.need180Adjust = 0;
dprintf(INFO, "[lk logo: %s %d]MTK_LCM_PHYSICAL_ROTATION = %s\n",__FUNCTION__,__LINE__, MTK_LCM_PHYSICAL_ROTATION);
if(0 == strncmp(MTK_LCM_PHYSICAL_ROTATION, "270", 3))
{
phical_screen.rotation = 270;
} else if(0 == strncmp(MTK_LCM_PHYSICAL_ROTATION, "90", 2)){
phical_screen.rotation = 90;
} else if(0 == strncmp(MTK_LCM_PHYSICAL_ROTATION, "180", 3) && (phical_screen.need180Adjust == 1)){
phical_screen.rotation = 180;
} else {
phical_screen.rotation = 0;
}
sync_anim_version();
if (show_animationm_ver == 1)
{
unsigned int logonum;
unsigned int *db_addr = logo_addr;
unsigned int *pinfo = (unsigned int*)db_addr;
logonum = pinfo[0];
dprintf(INFO, "[lk logo: %s %d]pinfo[0]=0x%08x, pinfo[1]=0x%08x, pinfo[2]=%d\n", __FUNCTION__,__LINE__,
pinfo[0], pinfo[1], pinfo[2]);
dprintf(INFO, "[lk logo: %s %d]define ANIMATION_NEW:show new animation with capacity num\n",__FUNCTION__,__LINE__);
dprintf(INFO, "[lk logo: %s %d]CAPACITY_LEFT =%d, CAPACITY_TOP =%d \n",__FUNCTION__,__LINE__,(CAPACITY_LEFT) ,(CAPACITY_TOP) );
dprintf(INFO, "[lk logo: %s %d]LCM_HEIGHT=%d, LCM_WIDTH=%d \n",__FUNCTION__,__LINE__,(CAPACITY_RIGHT),(CAPACITY_BOTTOM));
if(logonum < 6)
{
show_animationm_ver = 0 ;
} else {
show_animationm_ver = 1 ;
}
}
}
文章出自:http://bbs.16rd.com/blog-4-1053.html