將普通串口修改為高速串口


模塊: EC20CEFAG

芯片: MDM9607

linux version: 

Linux mdm9607-perf 3.18.20 #1 PREEMPT Wed Oct 10 14:47:50 CST 2018 armv7l GNU/Linux

前提摘要:有個TBOX客戶,在使用串口接收車機端can數據的時候,發現串口接收數據老是出錯。波特率是460800,已經是很高的速率了,但是還是不夠,最后把串口改成高速串口解決了這個問題。

修改說明:

1.修改文件mdm9607.dtsi,如下:
將下面:
blsp1_uart2: serial@78b0000 {
compatible = "qcom,msm-lsuart-v14";
reg = <0x78b0000 0x200>;

interrupts = <0 108 0>;

clock-names = "core_clk", "iface_clk";
clocks = <&clock_gcc clk_gcc_blsp1_uart2_apps_clk>,
<&clock_gcc clk_gcc_blsp1_ahb_clk>;

qcom,msm-bus,name = "blsp1_uart2";
qcom,msm-bus,num-cases = <2>;
qcom,msm-bus,num-paths = <1>;
qcom,msm-bus,vectors-KBps =
<86 512 0 0>,
<86 512 500 800>;
status = "ok";
}

改為:
blsp1_uart2: uart@78b0000 {
compatible = "qcom,msm-hsuart-v14";
reg = <0x78b0000 0x200>,
<0x7884000 0x2b000>;
reg-names = "core_mem", "bam_mem";
interrupt-names = "core_irq", "bam_irq";
#address-cells = <0>;
interrupt-parent = <&blsp1_uart2>;
interrupts = <0 1>;
#interrupt-cells = <1>;
interrupt-map-mask = <0xffffffff>;
interrupt-map = <0 &intc 0 108 0
1 &intc 0 238 0>;

qcom,bam-tx-ep-pipe-index = <2>;
qcom,bam-rx-ep-pipe-index = <3>;
qcom,master-id = <86>;
clock-names = "core_clk", "iface_clk";
clocks = <&clock_gcc clk_gcc_blsp1_uart2_apps_clk>,
<&clock_gcc clk_gcc_blsp1_ahb_clk>;
pinctrl-names = "sleep", "default";
pinctrl-0 = <&blsp1_uart2_sleep>;
pinctrl-1 = <&blsp1_uart2_active>;
qcom,msm-bus,name = "blsp1_uart2";
qcom,msm-bus,num-cases = <2>;
qcom,msm-bus,num-paths = <1>;
qcom,msm-bus,vectors-KBps =
<86 512 0 0>,
<86 512 500 800>;
status = "ok";
};


2.修改文件mdm9607-mtp.dtsi,如下:
將下面:
&blsp1_uart2 {
status = "ok"; //if need, user can enable by themselves

pinctrl-names ="sleep", "default";

pinctrl-0 = <&blsp1_uart2_sleep>;

pinctrl-1 = <&blsp1_uart2_active>;

};

改為:
&blsp1_uart2 {
status = "ok"; //if need, user can enable by themselves

};


3.修改文件mdm9607.dtsi,添加如下語句:
aliases {
/* smdtty devices */

smd7 = &smdtty_data1;

smd8 = &smdtty_data4;

smd9 = &smdtty_data2;

/*smd11 = &smdtty_data11;*/ /*modified by max.tang@20160118. del Data11 from APP to be used by second USB AT port*/

smd21 = &smdtty_data21;

smd36 = &smdtty_loopback;


+ /* uart device */
+ uart0 = &blsp1_uart3; //main uart
+ uart1 = &blsp1_uart2;

/* spi device */

/*spi1 = &spi_1;*///2016-01-19, comment out by jun.wu, remove spi from device tree

spi6 = &spi_6;

i2c2 = &i2c_2;

i2c4 = &i2c_4; //add zahi.song

sdhc2 = &sdhc_2; /* SDC2 SD card slot */
};

 

注意:修改完后, blsp1_uart2 對應的設備是/dev/ttyHS1

 


免責聲明!

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



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