mt7621 openwrt19.07 打开uart3

感谢网络各路大神的慷慨分享,不然无门可入!

用于和STM片子通信的,单片机的uart很快搞好,openwrt的uart配置太绕,但是设备树(dts)似乎是linux老大推进的。弄呗。。

  1. 默认情况,dev下有ttyS0-2,但只有ttyS0用于console。启动log看不到其他tty信息。
  2. cat ttyS1会报错:read error: I/O error, 程序里open后发数据,tx3上看不到信号。
  3. 打开 uart3:target/linux/ramips/dts/mt7621.dtsi

注释一句:

                  uartlite3: uartlite3@e00 {

                            compatible = "ns16550a";

                            reg = <0xe00 0x100>;

                            clock-frequency = <50000000>;

                            interrupt-parent = <&gic>;

                            interrupts = <GIC_SHARED 28 IRQ_TYPE_LEVEL_HIGH>;

                            reg-shift = <2>;

                            reg-io-width = <4>;

                            pinctrl-names = "default";

                            pinctrl-0 = <&uart3_pins>;

                            //status = "disabled";

                   };

打开target/linux/ramips/dts/MT7621.dts,注释uart3的复用

&pinctrl {

         state_default: pinctrl0 {

                   gpio {

                            ralink,group = "i2c", "uart2", /*"uart3",*/ "rgmii2", "sdhci";

                            ralink,function = "gpio";

                   };

         };

};

查找资料,有说修改mt7621.c的代码中uart相关的部分,在这个版本里似乎并不需要修改。总之我没改,数据出来了,底层代码略生涩。。。

4.编译,下载

5.启动log中有了ttyS1的信息:

[    2.907721] console [ttyS0] disabled

[    2.914735] 1e000c00.uartlite: ttyS0 at MMIO 0x1e000c00 (irq = 22, base_baud = 3125000) is a 16550A

[    2.932740] console [ttyS0] enabled

[    2.932740] console [ttyS0] enabled

[    2.946502] bootconsole [early0] disabled

[    2.946502] bootconsole [early0] disabled

[    2.963194] 1e000e00.uartlite3: ttyS1 at MMIO 0x1e000e00 (irq = 23, base_baud = 3125000) is a 16550A

6. cat /dev/ttyS1不会报错,但也不能像console的ttyS0那样,输入什么就返回什么。

编程open ttyS1,写数据,则可以在tx3上看到数据波形。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值