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.

[参考译文] TDA4VM-Q1:PCIe CLKREQ信号是否必须来自内部PCIeX_CLKREQn?

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1087253/tda4vm-q1-does-pcie-clkreq-signal-have-to-be-from-the-internal-pciex_clkreqn

部件号:TDA4VM-Q1

我正在尝试处理PCIe CLKREQn与我们需要的某些MMC1信号之间的冲突。

问题是- MMC1_SDCD (卡检测)与PCIe2_CLKREQn的针脚相同,并且没有其它选择针脚来路由PCIe2_CLKREQn。 我们需要CD才能有可插拔microSD卡插槽。

此外,MMC1_SDWP与PCIe3_CLKREQn冲突。 我们需要这样才能对microSD卡进行写保护。

我刚刚浏览了TI的Linux 5.10 .y内核代码,发现除了一些通用REFCLK启用/禁用代码之外,没有任何代码写入寄存器以请求时钟。

问题是我在DTS中没有看到针对REFCLK的分配,也没有看到用于处理CLKREQ的TI PCIe驱动程序中的代码。

我认为PCIe RC默认使用内部时钟:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/100.4565万/faq-tda4vm-tda4vm-dra829v-routing-pcie-reference-clock-externally?tisearch=e2e

PCIe驱动程序如何与PCIeX_CLKREQn信号配合使用? 这是在更深层的代码层中完成的,还是全部通过PCIe硬件块控制?

是否可以使用不同的GPIO作为PCIe CLKREQn信号?

谢谢!

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

    您好,

    当前的PCIe驱动程序不支持时钟PM,这就是为什么在驱动程序中看不到控制CLKREQ#的任何内容。  

    因此,如果您要为将来的实施保留选项,您可以将引脚专用于MMC,或者使用EVM中类似的机械原理来具有板级IO解释器输出来控制引脚功能。  

    此致

    Jian

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

    好的。 谢谢。 因此,我们可以将这些用于MMC1功能,并保留其他开放GPIO用作CLKREQ#吗?

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

    如果您不想在将来使用时钟PM (您必须实施自己的支持,但鉴于这是TDA4设备,我认为节能可能不会很明显)。  

    否则,您可能需要使用GPIO来控制板级mux,在SDCD和CLKREQ之间进行选择。 在活动状态期间,您可以将引脚用作SDCD,在低功率下,用于PCIe状态转换。 我认为您不能使用GPIO作为CLKREQ,因为PCIe内核中有寄存器控件来控制CLKREQ。  

    此致

    Jian

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

    谢谢Jian。 听起来,如果我们不打算添加时钟PM支持(我们必须自己完成),我们最好将其用作MMC1 SDCD和SDWP。

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

    是的。