高通linux-串口笔记「建议收藏」

2022-10-02 15:39:20 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

  1. 概述

驱动:

drivers/tty/serial/

msm_serial_hs_lite.c: 低速版本, 设备树内容配置为compatible = “qcom,msm-lsuart-v14”;

msm_serial_hs.c: 高速版本, 设备树内容配置为compatible = “qcom,msm-hsuart-v14”;

2. 分析

  1. 设备树内容

uart_console_active2: uart_console_active2 {

mux {

pins = “gpio20”, “gpio21”;

function = “blsp_uart2”;

};

config {

pins = “gpio20”, “gpio21”;

drive-strength = <2>;

bias-disable;

};

};

uart_console_sleep2: uart_console_sleep2 {

mux {

pins = “gpio20”, “gpio21”;

function = “blsp_uart2”;

};

config {

pins = “gpio20”, “gpio21”;

drive-strength = <2>;

bias-pull-down;

};

};

&blsp1_uart2 {

status = “ok”;

pinctrl-names = “default”;

pinctrl-0 = <&uart_console_sleep2>;

};

blsp1_uart2_hs: uart@78b0000 {

compatible = “qcom,msm-hsuart-v14”;

reg = <0x78b0000 0x200>,

<0x7884000 0x1f000>;

reg-names = “core_mem”, “bam_mem”;

interrupt-names = “core_irq”, “bam_irq”, “wakeup_irq”;

#address-cells = <0>;

interrupt-parent = <&blsp1_uart2_hs>;

interrupts = <0 1 2>;

#interrupt-cells = <1>;

interrupt-map-mask = <0xffffffff>;

interrupt-map = <0 &intc 0 108 0

1 &intc 0 238 0

2 &msm_gpio 21 0>;

qcom,inject-rx-on-wakeup;

qcom,rx-char-to-inject = <0xfd>;

qcom,master-id = <86>;

clock-names = “core_clk”, “iface_clk”;

clocks = <&clock_gcc 0xf8a61c96>,

<&clock_gcc 0x8caa5b4f>;

pinctrl-names = “sleep”, “default”;

pinctrl-0 = <&blsp1_uart2_tx_sleep>, <&blsp1_uart2_rxcts_sleep>,

<&blsp1_uart2_rfr_sleep>;

pinctrl-1 = <&blsp1_uart2_tx_active>,

<&blsp1_uart2_rxcts_active>, <&blsp1_uart2_rfr_active>;

qcom,bam-tx-ep-pipe-index = <2>;

qcom,bam-rx-ep-pipe-index = <3>;

qcom,msm-bus,name = “blsp1_uart2_hs”;

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 = “disabled”;

};

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/194204.html原文链接:https://javaforall.cn

0 人点赞