器件型号: 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