OpenWRT (RT5350) 使能兩個串口


OpenWRT(RT5350) 默認使能一個串口(uartlite) ,當做console口了,另外一個串口(uartf)與gpio復用。

在查找資料的過程中,發現在新的內核中使用到了設備樹(device tree)的概念,使用dts文件描述SOC的所有資源。

針對RT5350平台,系統相關配置文件有如下幾個:

1、~/openwrt/build_dir/target-mispel_24kec+dsp_musl-1.1.10/linux-ramips_rt305x/linux-3.10.49/arch/mips/ralink/rt305x.c

2、~/openwrt/build_dir/target-mispel_24kec+dsp_musl-1.1.10/linux-ramips_rt305x/linux-3.10.49/drivers/pinctrl/pinctrl-rt2880.c

3、~/openwrt/target/linux/ramips/dts/rt5350.dtsi

4、~/openwrt/target/linux/ramips/dts/MPRA2.dts

兩個C文件主要是針對硬件平台相關接口寄存器定義,與dts文件密切相關,添加調試信息做了跟蹤,並不需要修改。

兩個dts文件主要是對接口的配置,如系統啟動輸出串口設置,gpio口,spi,i2c接口設置等;

下面開始配置串口,使能兩個串口:(關鍵的修改在兩個dts文件)

1、MPRA2.dts中將state_default從以下內容:

gpio {

ralink,group = "i2c", "jtag", "rgmii", "mdio", "uartf";

ralink,function = "gpio";

};

 修改成:

gpio {

ralink,group = "i2c", "jtag", "rgmii", "mdio";

ralink,function = "gpio";

};

uartf {

ralink,group = "uartf";

ralink,function = "gpio uartf";

};

2、MPRA2.dts中注釋掉該文件最后gpio_export的所有內容。

3、rt5350.dtsi需要修改bootargs以使uartlite仍然作為console:

(開啟uartf之前,uartlite為ttyS0作為console的,開啟uartf之后,uartf成為ttyS0,uartlite變為ttyS1)

chosen {

bootargs = "console=ttyS1,57600";

};

4、rt5350.dtsi中釋掉uart@500中的status = “disabled”;

// status = "disabled";

 

至此,兩個串口使能完畢!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM