Android ttyS2无法打开该如何配置 + ttyS0和ttyS1可以

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: 4001000111

Step2:在平台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!

相关推荐
QuantumLeap丶16 分钟前
《Flutter全栈开发实战指南:从零到高级》- 13 -状态管理GetX
android·flutter·ios·前端框架
百锦再26 分钟前
第15章 并发编程
android·java·开发语言·python·rust·django·go
Propeller1 小时前
【Android】模板化解决复杂场景的滑动冲突问题
android·java
byte轻骑兵2 小时前
Rust赋能Android蓝牙协议栈:从C++到安全高效的重构之路
android·c++·rust
從南走到北4 小时前
JAVA国际版二手车交易二手车市场系统源码支持Android+IOS+H5+APP
android·java·ios
江上清风山间明月4 小时前
Android 系统中进程和线程的区别
android·python·线程·进程
czhaii4 小时前
51的DSP来了, 100MHz, STC32G144K246
stm32·单片机·fpga开发
2501_940094025 小时前
mig烧录卡资源 Mig-Switch游戏合集 烧录卡 1.75T
android·游戏·安卓·switch
渡我白衣5 小时前
深入理解 OverlayFS:用分层的方式重新组织 Linux 文件系统
android·java·linux·运维·服务器·开发语言·人工智能
2501_915106325 小时前
iOS性能调优的系统化实践,从架构分层到多工具协同的全流程优化指南(开发者深度版)
android·ios·小程序·架构·uni-app·iphone·webview