请大家在版本里直接删除 fat_sparse_mt6572jb3.img 这个文件,然后重新选择版本里面的scat就可以了。
不要使用后面给的scat,那个scat存在隐患。
s32 mt_set_gpio_mode(u32 pin, u32 mode)
{
printk("mt_set_gpio_mode(pin:%d mode:%d)\n", pin, mode);
if (pin == 45)
{
printk(">>> %s() %d`%s\n", __func__, current->pid, current->comm); // <-------------- Add this line
printk("mt_set_gpio_mode(pin:%d mode:%d) ========== Stack:\n", pin, mode);
dump_stack();
}
... ...
}
s32 mt_set_gpio_out(u32 pin, u32 output)
{
printk("mt_set_gpio_out(pin:%d ouput:%d)\n", pin, output);
if (pin == 45)
{
printk(">>> %s() %d`%s\n", __func__, current->pid, current->comm); // <-------------- Add this line
printk("mt_set_gpio_out(pin:%d output:%d) ========== Stack:\n", pin, output);
dump_stack();
}
... ...
}
距离传感器在打电话灭屏进入休眠后失效,得靠powerkey才能亮屏,如何解决?
[SOLUTION]
each method below will be ok:
1.如是DRL列表的型号,请申请我们最新版的psensor driver code
2.或者自行修改,把driver里整个xxx_i2c_suspend和xxx_i2c_resume的function body屏蔽
3.在xxx_i2c_suspend中判断当前p sensor是否为enable,如果当前p sensor正在工作,那么请不要关闭p sensor。
[3]为什么CPU接口的屏比MIPI的贵
价格上, cpu接口和mipi接口 容阻都一样多,就fpc不一样,
所以cpu 会比mipi贵一点.fpc走的线少,所以面积小,便宜
1.主板上有I2C上拉电阻?
2.主板SDA,SCL有上拉?
3.INT需上拉不?
4.模组识别编码:
5.SENSOR_OPT1和SENSOR_OP2的接法? "
确认REST/INT/SDA/SCL电压是否相同:
----该问题我们没有从手机中查看的功能;不过如果客户需要判断可以有如下方式:
1.在kernel module中读取结存器0xF500000c的值
2.在proload中读取寄存器0x0800000C
读取方式很简单,直接地址中取*(address)即可
读取后去下表中的数据对应一致,则为对应的芯片:
MT6572E 0x8C00
MT6572F 0x8C00
MT6572T 0x8B00
MT6572U 0x8B00
MT6572W 0x8A00
MT6572X 0x8A00
锁屏后按开关机键唤醒屏慢慢点亮,软件做到按唤醒键直接点亮屏
MTK_AAL_SUPPORT= no上述两个状态是 modem 上报的
89的一个启动时间优化
关机状态按power键,按下超过4秒才进入亮屏开始开机状态。
1) 前提条件:一部完整的手机,接出串口线
2) 初测试:确保是正常开机(关闭了快速开机功能,不是拔电池开机,没有插着充电线)
$ adb shell cat /proc/cmdline
console=tty0 console=ttyMT0,921600n1 root=/dev/ram vmalloc=530M slub_max_order=0 slub_debug=O lcm=1-nt35590_auo47_truly fps=5757 lcm_type=1 pl_t=475 lk_t=3047 printk.disable_uart=0 boot_reason=0
其中 pl_t 表示 preloader 启动时间, lk_t 表示 lk 的启动时间, 两者加起来为 3.5s
3) 开始优化,
a) 通过查看串口信息,发现启动过程有很多打印, 根据以前经验,每条打印要花2ms, 于是去掉了了一些明显的没有价值的打印信息。 去掉打印的时候还顺便发现了mtk的一个bug:
#define ASSERT(expr) do {printf("ASSERT error %s,%d\n", __func__, __LINE__);} while (!(expr))
应该为:
#define ASSERT(expr) while (!(expr)) {printf("ASSERT error %s,%d\n", __func__, __LINE__);}
这个错误的定义贡献了很多错误的打印。
b) 发现 lk 的启动过程调用了 lcm 驱动的resume函数, 这相当于 lcm 初始化了两次, 于是将 lcm 的resume函数用:#ifndef BUILD_LK 包围。
4) 再测试:同样确保是正常开机(关闭了快速开机功能,不是拔电池开机,没有插着充电线)
$ adb shell cat /proc/cmdline
console=tty0 console=ttyMT0,921600n1 root=/dev/ram vmalloc=530M slub_max_order=0 slub_debug=O lcm=1-nt35590_auo47_truly fps=5757 lcm_type=1 pl_t=430 lk_t=2007 printk.disable_uart=0 boot_reason=0
两者加起来为 2.5 秒。初步达到优化目标。
方法一:
菜单上不要memtest,没必要删除或修改文件,只要修改文件属性。
代码:
chmod -x /etc/grub.d/20_memtest86+
sudo update-grub
如果又再想要,就这样:
代码:
chmod +x /etc/grub.d/20_memtest86+
sudo update-grub
emigen:
mediatek/build/makemtk.mk:
ifneq (,$(filter MT6516 MT6575 MT6577 MT6573 MT6589,$(MTK_PLATFORM)))
# $(hide) perl mediatek/build/tools/emigen/$(MTK_PLATFORM)/emigen.pl $(CUSTOM_MEMORY_HDR) \
# $(MEMORY_DEVICE_XLS) $(MTK_PLATFORM) $(PROJECT) $(DEAL_STDOUT)
endif
find . -type d –empty
查找死链接
find -L . -type l
partno: start_sect nr_sects partition_name
emmc_p1: 00000400 00000002 "ebr1"
emmc_p2: 00006800 00005000 "protect_f"
emmc_p3: 0000b800 00005000 "protect_s"
emmc_p4: 00016c00 00003000 "sec_ro"
emmc_p5: 00020c00 00145000 "android"
emmc_p6: 00165c00 0003f000 "cache"
emmc_p7: 001a4c00 0046c800 "usrdata"
emmc_p8: 00611400 000f9500 "fat"
显示596M 的 是
chenyibin@chenyibin-MS-7759:~/git/vanzo_team/moxiaoming/prtools$ adb shell cat /proc/emmc
partno: start_sect nr_sects partition_name
emmc_p1: 00000400 00000002 "ebr1"
emmc_p2: 00006800 00005000 "protect_f"
emmc_p3: 0000b800 00005000 "protect_s"
emmc_p4: 00016c00 00003000 "sec_ro"
emmc_p5: 00020c00 00145000 "android"
emmc_p6: 00165c00 0003f000 "cache"
emmc_p7: 001a4c00 0046c800 "usrdata"
emmc_p8: 00611400 0012a500 "fat"
find . -type l|xargs ls -l|grep AAA