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:McASP EXT_REFCLK 的 Linux DTS 配置支持、作为 AHCLKX/R 的源

Guru**** 2463330 points
Other Parts Discussed in Thread: AM62P

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1551932/am625-linux-dts-configuration-support-for-mcasp-ext_refclk-as-a-source-for-ahclkx-r

器件型号:AM625
主题:AM62P 中讨论的其他器件

工具/软件:

Linux 是否有办法将 McASP EXT_REFCLK 配置为 AHCLKx/R 的源?  我们必须在 davanci_McASP.c 中添加一些自定义代码、以便为我们的特定用途配置该时钟模块。 我希望这会是一个新的 DTS 配置对话框块。  它应该是简单的,但它的缺失。  (我们已基于 BeaglePlay 和 PocketBeagle 2 开发了 Beagle Violet 设计、因此我们正在使用该 Linux 分支。)

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

    您好、Victor、

    请检查以下线程、其中我能够帮助另一个客户使用 AUDIO_EXT_REFCLK 获取 MCASP 作为主器件。

     https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1487650/am625-running-mcasp-as-master-with-external-audio_ext_refclk-of-24-576mhz 

    希望这有所帮助。

    此致、

    Suren

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

    谢谢。  老狗学习新的技巧。

    因此、在他的解决方案中、他指定了三个时钟:

    Assigned-clocks =<&K3_CLKS 192 9>、<&K3_CLKS 192 15>、<&K3_CLKS 192 27>;
    assigned-clock-paramers =<&k3_CLKS 192 12>、<&k3_CLKS 192 18>、<&k3_CLKS 192 30>;
    分配的时钟速率=<24576000>、<24576000>、<0>;

    从 我可以理解的是, 62X 和 62XP 使用不同的数字,因此,当他运行在 62X 时, 27 和 30 产生了错误消息:

    [   0.230788] ti-sci-clk 44043000.system-controller:clock-controller:对于 dev=192、clk=27、ret=–19、Recalc-rate 失败
    [   0.230964] ti-sci-clk 44043000.system-controller:clock-controller:对于 dev=192、clk=30、ret=–19、Recalc-rate 失败

    当然可以忽略哪些内容。  所以有三个小问题。  1) 驱动程序/dts 文件是否应尝试与 62X 和 62PX 兼容?  2) 什么是 62PX?  3) 为什么 62PX 相对于 62X 的数字会略有不同?

     

    现在来看主要问题。  他在他的第一个职位上已经基本上有了这种情况。  他有什么问题吗?  固定时钟规格是不是:

    FIXED_AUDIO_REFCLK:CLK-0{
    状态=“正常“;

    #clock-cells =<0>;
    兼容=“固定时钟“;
    时钟频率=<24576000>;

    当然、时钟摘要输出没有显示 McASP 分配的时钟的影响。   

    最后、我们添加了三行:

    Assigned-clocks =<&K3_CLKS 191 9>、<&K3_CLKS 191 15>、<&K3_CLKS 191 27>;
    assigned-clock-parter =<&k3_CLKS 191 13>、<&k3_CLKS 191 19>、<&k3_CLKS 191 31>;
    分配的时钟速率=<24576000>、<24576000>、<24576000>

    我们的驱动器非常适合用于 McASP1、并将 AUD_EXT_REFCLK1 作为我们的输入时钟。  就像我说的,老狗学习新的技巧。  我不得不向我的年轻同事解释计时对话的魔力。  他对这一切也感到困惑。  计时陈述是我们未理解或未触及的神秘层。

    谢谢你。

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

    一个开放方面是如何将时钟速率传递到使用 McASP 的声音驱动程序。  目前、我们正在使用“system-clock-frequency =<24576000>“强制执行时钟速率 、可能有一种更好的方法。  还是应该删除这一行?

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

    您好、Victor、

    [引述 userid=“666470" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1551932/am625-linux-dts-configuration-support-for-mcasp-ext_refclk-as-a-source-for-ahclkx-r/5974050

    Assigned-clocks =<&K3_CLKS 192 9>、<&K3_CLKS 192 15>、<&K3_CLKS 192 27>;
    assigned-clock-paramers =<&k3_CLKS 192 12>、<&k3_CLKS 192 18>、<&k3_CLKS 192 30>;
    分配的时钟速率=<24576000>、<24576000>、<0>;

    从 我可以理解的是, 62X 和 62XP 使用不同的数字,因此,当他运行在 62X 时, 27 和 30 产生了错误消息:

    [   0.230788] ti-sci-clk 44043000.system-controller:clock-controller:对于 dev=192、clk=27、ret=–19、Recalc-rate 失败
    [   0.230964] ti-sci-clk 44043000.system-controller:clock-controller:对于 dev=192、clk=30、ret=–19、Recalc-rate 失败

    当然可以忽略哪些内容。  所以有三个小问题。  1) 驱动程序/dts 文件是否应尝试与 62X 和 62PX 兼容?  2) 什么是 62PX?  3) 为什么 62PX 相对于 62X 的数字会略有不同?

    [/报价]

    AM62x 或 AM62P 的语法相似、但时钟 ID 不同。 有关时钟 ID、请参阅以下链接。  

    AM62 和 AM62P 是不同的 SoC。  

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

    在 AM62x 上、  指向 MCASP2  DEV_MCASP2_MCASP1_AHCLKR_PIN。

    时钟父级为 12、  在上面的代码片段中为 AUDIO_EXT_REFCLK0。

    另外、有关更多信息、请参阅有关使用 system-clock-frequency 或“Clocks"的“的内核文档。

    https://www.kernel.org/doc/Documentation/devicetree/bindings/sound/simple-card.txt

    此致、

    Suren