MTK平台uart log 抓取及8 秒重启、开机震动功能总结

MTK平台串口log抓取

作为一名驱动工程师,有时候必须要抓取uart log来分析故障,查找及验证后,发现一下方法确认能够稳定及正常抓取MTK平台uart log。

1.preloader 中配置串口号
bootable/bootloader/preloader/custom/aus6753_65u_l1/cust_bldr.mak
如:
CFG_UART_LOG :=UART1
CFG_UART_META :=UART1
改为:(修改成需要的串口号码,并在PCB上将对应串口Tx引出)
CFG_UART_LOG :=UART3
CFG_UART_META :=UART3
2.lk中设置cmdline里不去关串口
bootable/bootloader/lk/app/mt_boot/mt_boot.c
int boot_linux_fdt(void *kernel, unsigned *tags,
                   char *cmdline, unsigned machtype,
                   void *ramdisk, unsigned ramdisk_size)
{ ......
#ifdef USER_BUILD
        //sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=1"); //默认是这句配置,关闭uart
        sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0"); //default open uart log by zhangliang
#else
        sprintf(cmdline,"%s%s",cmdline," printk.disable_uart=0 ddebug_query=\"file *mediatek* +p ; file *gpu* =_\"");
#endif
......
}
3.让kernel中到console后不去关闭串口log
kernel-3.10/kernel/printk.c
inline void mt_disable_uart(void)
{
    if (mt_need_uart_console == 0) {
        printk("<< printk console disable >>\n");
        printk_disable_uart = 1; //0: uart log always on,改为0 即串口log常开
    } else {
        printk("<< printk console can't be disabled >>\n");
    }
}


MTK 平台添加开机震动功能

在bootable\bootloader\lk\platform\mt6735\platform.c中的 platform_init()函数里面添加下面代码。 
                vibr_Enable_HW();
                mdelay(300);
                vibr_Disable_HW();          
开机能够振动。但关机后再开机不会振动,原因在于开启了快速开机(IPO)功能。     
解决方案:上层修改,将快速开机功能默认关闭,底层在LK中添加开机震动代码。


MTK 平台添加 8 秒重启功能

main/kernel-3.10/drivers/misc/mediatek/mach/mt6735/len6753_66t_vo/keypad/mtk_kpd.h文件中,修成如下代码:
 //#define ONEKEY_REBOOT_NORMAL_MODE
//#define TWOKEY_REBOOT_NORMAL_MODE
#define ONEKEY_REBOOT_OTHER_MODE
//#define TWOKEY_REBOOT_OTHER_MODE
 /* KPD_PMIC_RSTKEY_MAP is defined in cust_kpd.h */
 #define KPD_PMIC_LPRST_TD 1 /* timeout period. 0: 8sec; 1: 11sec; 2: 14sec; 3: 5sec */
然后从新 build load、先format,然后再download即可

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值