概述
现象:
驱动调试好基本功能后,由系统调整方向。目前机器默认为竖屏模式。但是开机logo ,动画,显示界面都是倒置180度。
1.首先修改默认的方向
kernel-4.4/arch/arm/configs/XXX_defconfig
kernel-4.4/arch/arm/configs/XXX_debug_defconfig
CONFIG_MTK_LCM_PHYSICAL_ROTATION="90" // 此处原来是270,故现在应该设置 为90
同理,lk中需要同样修改:
vendor/mediatek/proprietary/bootable/bootloader/lk/project/XXX.mk
MTK_LCM_PHYSICAL_ROTATION = 90
另外 project中也得修改:
device/emdoor/XXX/ProjectConfig.mk
MTK_LCM_PHYSICAL_ROTATION = 90
2.以上修改后,默认方向正确,触摸方向会倒置,需要修改对应的touch文件。
kernel-4.4/drivers/misc/mediatek/mach/mt8167/XXX/touchpanel/touch.h
//#define TPD_ROTATION_SUPPORT
/*
** 由于此处定义了touch的旋转方向。只有90 180 270。而定义的值为180
** 而此时需要touch为倒180.所以需要设置默认0
** 故而去掉改定义,就是默认0
*/
#ifdef TPD_ROTATION_SUPPORT
enum TPD_ROTATION_TYPE {
TPD_ROTATION_90 = 0,
TPD_ROTATION_180 = 1,
TPD_ROTATION_270 = 2,
};
int tpd_rotation_type = TPD_ROTATION_180;
#endif
3.上述修改后就还有一个问题,机器旋转时,gsensor旋转xy相仿。故继续修改gSensor方向。
kernel-4.4/drivers/misc/mediatek/sensors-1.0/hwmon/hwmsen/hwmsen_helper.c
// 通过以下定义的表来调整方向
struct hwmsen_convert map[] = {
/*0*/ {{ 1, 1, 1},{1,0,2}},
/*1*/ {{-1, 1, 1},{1,0,2}},
/*2*/ {{ 1,-1, 1},{1,0,2}},
/*3*/ {{ 1, 1,-1},{1,0,2}},
/*4*/ {{-1,-1, 1},{1,0,2}},
/*5*/ {{-1, 1,-1},{1,0,2}},
/*6*/ {{ 1,-1,-1},{1,0,2}},
/*7*/ {{-1,-1,-1},{1,0,2}},
/*8*/ {{ 1, 1, 1},{0,1,2}},
/*9*/ {{-1, 1, 1},{0,1,2}},
/*10*/ {{ 1,-1, 1},{0,1,2}},
/*11*/ {{ 1, 1,-1},{0,1,2}},
/*12*/ {{-1,-1, 1},{0,1,2}},
/*13*/ {{-1, 1,-1},{0,1,2}},
/*14*/ {{ 1,-1,-1},{0,1,2}},
/*15*/ {{-1,-1,-1},{0,1,2}},
};
kernel-4.4/arch/arm/boot/dts/XXX.dts
gsensor@18 {
compatible = "mediatek,gsensor";
reg = <0x18>;
direction = <14>;//此时为14,由于需要XY相反,故对应到 13,修改为13后方向旋转正常
power_id = <0xffff>;
power_vol = <0>;
firlen = <8>;
};
至此问题解决。
最后
以上就是舒服巨人为你收集整理的android P 平板默认方向修改 MTK平台的全部内容,希望文章能够帮你解决android P 平板默认方向修改 MTK平台所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复