This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/PROCESSOR-SDK-AM335X:支持 BeagleBone Green Wireless 的 UART 端口

Guru**** 2538950 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579254/linux-processor-sdk-am335x-beaglebone-green-wireless-enabling-uart-ports

器件型号:PROCESSOR-SDK-AM335X

工具/软件:Linux

您好!

我已经使用 ti-processor-sdk-linux-am335x-evm-03.01.00.06为 BeagleBone Green Wireless (BBGW)板构建了 TI WiLink 网状驱动程序。 现在、我要启用 Cape 扩展头 P9.11和 P9.13上提供的 UART4。 根据 https://e2e.ti.com/support/embedded/linux/f/354/t/424616  链接上的答案、我需要在 AM335x-bone-common.dtsi 文件中为要启用的每个 UART 添加 pinmux 定义。 问题是我不知道引脚地址和其他多路复用模式等。需要为 BeagleBone Green 无线板设置的值。 我在互联网上找不到任何与 BBGW 相关的东西。 我相信 BeagleBone Black 和 BB Green Wireless 的价值是不同的。 我认为、TI 网站上提供的引脚多路复用器工具可提供 AM335X 的引脚分配、而不是 Cape 扩展引脚地址(不确定这一点)。  您能否提供一些有关如何继续启用 UART4器件的信息?

使用网状驱动程序构建 Linux 内核时、构建脚本会为 启用 UART3的 BBGW 添加 AM335x-bonegreen-wl1835.dtsi 和 AM335x-bonegreen-wireless.dTB 文件。 使用内置映像启动 BBGW 后,我可以在 dmesg 输出中的 ttyS3端口看到 UART3启用:

[0.371684]   在 MMIO 0x44e09000 (IRQ = 158、base_baud = 3000000)处的44e09000.serial: ttyS0是8250
[0.984412]   控制台[ttyS0]已启用
[0.989014]   481a6000.serial: tmio 0x481a6000处的 ttyS3 (IRQ = 159、base_baud = 3000000)是8250

但没有启用 ttyS3的消息。 因此、我不确定是否可以使用 UART3端口。 UART3是在此处启用还是必须执行其他操作才能使用 UART3端口?

互联网上有许多站点引用 bon_capemgr 和 dtso 文件来启用 UART、但 bon_capemgr 在基于 TI WiLink 源构建的 Linux 内核中不可用。 是否需要在配置文件中设置某种配置?

提前感谢。

此致、

Aditya Kamat。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    [报价]您能否提供一些有关如何继续启用 UART4器件的信息?[/报价]

    通过 BBGW 原理图、我看到在 P9.11和 P9.13上多路复用的 UART4_RXD 和 UART4_TXD 信号来自器件焊球 T17和 U17。 现在、您需要查看 AM335x 数据手册(www.ti.com/.../am3358.pdf)、表4-1。 引脚属性(ZCE 和 ZCZ 封装)、以查看您需要修改哪个 SoC 焊盘。 对于焊球 T17和 U17、焊盘的名称是:
    GPMC_WAIT0 (T17)=>可以看到多路复用模式6对应于 UART4_RXD 信号
    GPMC_WPN (U17)=>多路复用模式6对应于 UART4_TXD 信号

    器件焊盘名称对应于您需要修改的引脚多路复用器寄存器的名称。 可在 AM335x TRM (www.ti.com/.../spruh73o.pdf)中找到引脚多路复用寄存器

    CONF_GPMC_wait0 =>地址为0x44E10870
    CONF_GPMC_WPN =>地址为0x44E10874

    因此、对于 uart4 pinmux、您需要添加:
    uart4_pins:uart4_pins{
        pinctrl-single、pins =<
              0x70 (PIN_INPUT | MUX_MODE6)/*conf_GPMC_wait0.UART4_RXD*/
              0x74 (PIN_OUTPUT | MUX_MODE6)/*conf_GPMC_WPN.UART4_TXD*/
        >;
    };

    uart4{(&U)
         状态="正常";
         pinctrl-names ="default";
         pinctrl-0 =<uart4_PINs>;
    };

    对 uart3的修改是类似的。

    此致、
    Yordan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Yordan、您好!

    感谢您分享信息。

    向 AM335x-bone-common.dtsi 添加 uart4 pinmux 详细信息后、我能够在启动时在 dmesg 日志中看到 UART4端口:

    [0.000000]   内核命令行:console=ttyO0、115200n8 root=PARTUUID =0007a9fd-02 RW rootfstype=ext4 rootwait
    [0.000354]   警告:您的'console=ttyO0'已被'ttyS0'替代
    [0.371988]   44e09000.serial: tmio 0x44e09000处的 ttyS0 (IRQ = 158、base_baud = 3000000)是8250
    [0.984725]   控制台[ttyS0]已启用
    [0.989360]   481a6000.serial: tmio 0x481a6000处的 ttyS3 (IRQ = 159、base_baud = 3000000)是8250
    [0.999258]   481a8000.serial: tmio 0x481a8000 (IRQ = 160、base_baud = 3000000)处的 ttyS4是8250

    感谢你的帮助。

    此致、

    Aditya Kamat。