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.

[参考译文] AM6442:AM64x PCIe 抖动–有关勘误表 i2241 和 i2326 权变措施实现的阐释

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1616554/am6442-am64x-pcie-jitter-clarification-on-errata-i2241-and-i2326-workaround-implementation

器件型号: AM6442

您好、

我们在 A53 内核上运行 Linux(内核版本 6.6.32)时在 AM64x 器件上观察到 PCIe 基准时钟抖动。  我们目前正在使用 Processor SDK Linux 10.00.07.04。
如 AM64x 器件勘误表 i2241 中的建议、解决此 PCIe 抖动问题的建议权变措施是对 CMN_PDIAG_PLL0_CP_PADJ_M0 = 0x0128 进行编程  
 

我们正在使用 probe 函数内的 regmap_common_cdb 从 Cadence Torrent PHY 驱动程序 (drivers/phy/cadency/phy-cadence-torrent.c) 访问此寄存器、如下所示:   

U32 Tess_val = 0;

if (cdns_phy->regmap_common_cdb) {
	regmap_read(cdns_phy->regmap_common_cdb,
		    CMN_PDIAG_PLL0_CP_PADJ_M0,
		    &tess_val);

	regmap_write(cdns_phy->regmap_common_cdb,
		     CMN_PDIAG_PLL0_CP_PADJ_M0,
		     0x0128);
regmap_read(cdns_phy->regmap_common_cdb,
		    CMN_PDIAG_PLL0_CP_PADJ_M0,
		    &tess_val);
}

此外、根据勘误表 i2326、我们修改了 PLL0_CTRL 寄存器、以通过设置 DAC_EN 和 DSM_EN(位 0 和 1)来配置整数模式。 这是使用以下公式完成的:

devmem2 0x00680020 w 0x00018010

尽管应用了勘误表中所述的这两种权变措施、但我们仍然在观察 PCIe 参考时钟抖动。  

您能否证实上述实施方法是否正确?

此外、我们无法CMN_PDIAG_PLL0_CP_PADJ_M0在技术参考手册中找到该寄存器的详细信息。 由于 TRM 中未记录该寄存器、您能否说明可以从何处获取此寄存器的详细描述?

谢谢、
Anjana

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

    尊敬的团队:

    对此有任何更新?

    此致、

    Shwetha Nayak