Android UART问题解决

[Description]
敝司默认的蓝牙解决方案中,蓝牙的interface是使用UART3。但有时出于功能需要,会使用UART3来连接其他device,这样便需要将原本的UART3修改为其他UART port(通常是修改为UART2)

[Solution]
(1).Codegen.dws的修改
对于GB2/ICS/ICS2的软件版本:
选择UART2的GPIO pin,但是VarName需要仍然填选GPIO_UART_UTXD3_PIN和GPIO_UART_URXD3_PIN
对于JB的软件版本:
选择UART2的GPIO pin,VarName填选GPIO_COMBO_UTXD_PIN和GPIO_COMBO_URXD_PIN
(2).*.rc文件的修改
将如下.rc文件中的”ttyMT2”修改为”ttyMT1”:
alps/mediatek/config/[$Project]/init.project.rc
alps/mediatek/config/[$Project]/meta_init.rc
alps/mediatek/config/factory/etc/init.rc
(3).deep idle部分的修改
对应GB2/ICS/ICS2需要做如下修改:
/mediatek/kernel/drivers/combo/[common|common_mt66218]/platform/alps下的mtk_wcn_cmb_stub_alps.c文件的_mt_combo_plt_do_deep_idle()函数
disable_dpidle_by_bit(MT65XX_PDN_PERI_UART2);
enable_dpidle_by_bit(MT65XX_PDN_PERI_UART2);
修改为:
disable_dpidle_by_bit(MT65XX_PDN_PERI_UART1);
enable_dpidle_by_bit(MT65XX_PDN_PERI_UART1);
(4).UART2 DMA mode的修改
/alps/mediatek/platform/[mt6575|mt6577]/kernel/drivers/uart下的uart.c文件中修改为如下:
mtk_uart_default_settings[]=
{
… …
{
.tx_mode = UART_TX_VFIFO_DMA, .rx_mode = UART_RX_VFIFO_DMA, .dma_mode = UART_DMA_MODE_0,
.uart_base = UART2_BASE, .irq_num = UART2_IRQ_ID, .irq_sen = MT65xx_LEVEL_SENSITIVE,
… …
}
… …
}
(即:将UART2的设置修改为同UART3一致即可)
注:ALPS.ICS2.MP上MT6577可以申请ALPS00366695这个patch
ALPS.JB.MP上可以申请ALPS00393193这个patch
(5).UART2的suspend bit修改
/alps/mediatek/platform/[mt6575|mt6577]/kernel/drivers/uart下的uart.c文件中
mtk_uart_suspend_resume_en[]修改为如下:
mtk_uart_suspend_resume_en[] = {
1,
0,
0,
1,
};






















[DESCRIPTION]

通过preloader 修改uart log从哪个uart口印出来

[KEYWORDS]

uart log

[SOLUTION]

1.JB5.MP之前的版本
在alps\mediatek\custom\$project\preloader\inc\cust_bldr.h
修改#define CFG_UART_LOG 这个宏定义,例如uart log需要从uart 1 吐出来,则
#define CFG_UART_LOG (UART1)

2.JB5.MP之后的版本
在alps\mediatek\custom\$project\preloader\cust_bldr.mak
修改CFG_UART_LOG


如果修改后不吐uart log,请提交eService并提供以下信息:
1. 检查 UART 口的 GPIO 配置, 请提供 UART 所在的GPIO口
2. 请提供如下命令的输出:
adb shell "cat /sys/devices/virtual/misc/mtgpio/pin"
adb shell cat /proc/cmdline

注:User build 默认是不能吐Uart log

你可能感兴趣的:(android)