Step1:查找gpio datasheet《MTXXXX_GPIO_Formal_Application_Spec V1.0.xlsx》,看哪组pin可以复用为uart2.
也可以通过/vendor/mediatek/proprietary/tools/dct/MT6789.fig确认
GPIO88 = MODE4(UTXD2)
GPIO89 = MODE4(URXD2)
所以需要在dws中将gpio 88,gpio 89配置成mode4
验证dws是否配置生效:
tb6789p1_64:/proc/mtk_gpio # cat soc.pinctrl
pins base: 290
PIN: (MODE)(DIR)(DOUT)(DIN)(DRIVE)(SMT)(IES)(PULL_EN)(PULL_SEL)(R1 R0)
。。。。
088: 4001000100
089: 4001000111Step2:在平台dts文件中增加节点
1)增加uart2节点
uart2: serial@11004000 {
compatible = "mediatek,mt6577-uart";
reg = <0 0x11004000 0 0x1000>;
interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&clk26m>, <&infracfg_ao_clk CLK_IFRAO_UART2>;
clock-names = "baud", "bus";
dmas = <&apdma 4 &apdma 5>;
dma-names = "tx", "rx";
status = "okay";
};
Step2:在平台dts文件中增加节点
2)DMA设置
apdma: dma-controller@10217800 {
compatible = "mediatek,mt6779-uart-dma";
reg = <0 0x10217800 0 0x80>,
<0 0x10217880 0 0x80>,
<0 0x10217900 0 0x80>,
<0 0x10217980 0 0x80>,
<0 0x10218000 0 0x80>,
<0 0x10218080 0 0x80>;
interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 180 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH 0>,
<GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&infracfg_ao_clk CLK_IFRAO_AP_DMA>;
clock-names = "apdma";
- dma-requests = <4>;
- dma-requests = <6>;
#dma-cells = <1>;
};
Step3:log中出现下面打印说明tty终端和uart口绑定成功,uart配置成功
T1700001 init: name:serial_core\&11004000.serial: ttyS2 at MMIO 0x11004000 (irq = 85, base_baud = 1625000) is a ST16650V2
Thanks!
Android ttyS2无法打开该如何配置 + ttyS0和ttyS1可以
顾北川_野2025-07-10 23:36
相关推荐
NamoAmitabha1281 小时前
ARM 不懂寄存器,它只懂内存地址--deepseek好的佩奇9 小时前
蓝牙之通信架构FlightYe9 小时前
视界原理之3D视频(四):裸眼、眼镜和头显诸神黄昏EX11 小时前
Android fw BatteryServicealexhilton11 小时前
提升 Android Compose 页面的流畅度撩得Android一次心动12 小时前
Android中Gradle网络下载超时、更改存放位置(解决方案)HQL_seven13 小时前
【Activity】Android Activity详解AI2中文网14 小时前
安卓 15/16 手机软键盘遮挡输入框、布局顶不上去?已解决:重新编译即可字节暗面14 小时前
Android APP 加固横评记录:爱加密、梆梆、网易易盾与腾讯 ACE落魄Android在线炒饭14 小时前
Android 实战问题反推 OpenGL 概念(上)