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.

[参考译文] AM625:如何在 Linux 中的 UART5上支持1.333 (1333000) MHzbps

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1514902/am625-how-to-support-1-333-1333000-mhz-bps-on-uart5-in-linux

器件型号:AM625

工具/软件:

您好、  

我的工程使用 AM6251 SoC、我们必须在* Linux*内核的 UART5上支持1333000bps 的波特率。  Linux 版本是11、我认为它应该来自 TI 的 SDK。 我找到了一些讨论如何支持1333000bps (1.333 MHz) bps 的论坛文章、但这些文章适用于 MCU + SDK、而不适用于 Linux。

根据我的理解、一个可能有效的解决方案是将 UART5_CLK_CTRL 从默认值/4更改为/1、然后馈送到 UART5的 fclk 将变为192 MHz / 1 = 192 MHz、而不是默认的48 MHz。 当新的 fclk = 192 MHz 时、如果使用除数= 9和 MODE = 16x、它应该会产生192 MHz / 16 / 9 = 1.333 MHz。

但我不知道如何在 Linux 中存档此文件。  我检查了8250_OMAP-Lc UART 驱动程序源代码 、但没有 找到导通 Linux 内核的线索、可能通过在器件树中添加一些属性来更改 UART5_CLK_CTRL 值。

请帮我们解决问题。

KR、

很棒

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

    您好、Woody、

    我没有对此进行测试、但在器件树中的&MAIN_uart5节点中添加以下器件树更改应将 uart5 fclk 设置为192MHz。

    &MAIN_uart5{
           ...
           Assigned-clocks =<&K3_CLKS 156 0>;
           assigned-clock-parter =<&k3_CLKS 156 1>;
           分配的时钟速率=<192000000>;
           ...
    };

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

    感谢 Bin 的支持。 我将尝试您建议的 DTS 更改并报告结果。  在这里、我想进一步了解一点、我可以从哪个文件(DTS 或驱动程序源代码)中查看/检查有关单个 k3_CLKS 的信息、例如<156 0>和<156 1>? 从 k3-am62p-main.dtsi 中、我看到 k3_CLKS 仅定义为:

    k3_CLKS:时钟控制器{
    compatible ="ti、k2g-sci-clk";
    #clock-cells =<2>;
    全部引导;
    };

    但没有信息表明<156 0>和<156 1>是什么意思。 魔法是如何发生的?

    提前感谢!   

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

    尊敬的 Di:

    内核器件树绑定 doc:documentation/devicetree/bindings/clock/ti、sci-clk.txt 解释了这些数字是什么:

    -#时钟单元:应为2。
     在时钟使用者中、此单元格表示 PM 固件提供的器件 ID 和时钟 ID。

    以下链接中列出了 AM62x 器件的器件 ID 和时钟 ID。

    https://software-dl.ti.com/tisci/esd/latest/5_soc_doc/am62x/clocks.html