ZHDA261 August   2026 AM6411 , AM6412 , AM6421 , AM6422 , AM6441 , AM6442

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2SERDES PLL SSC - Linux SDK 配置
    1. 2.1 SSC 的 DTS 配置
    2. 2.2 DTS 编译
    3. 2.3 将器件树 Blob (DTB) 复制到 SKEVM 启动 SD 卡
  6. 3低频周期信令 (LFPS)
  7. 4CP0 - CP1 发送码型设置
  8. 5总结
  9. 6参考资料

SSC 的 DTS 配置

AM64x USB3.0 物理接口原生支持 SSC,但 Linux SDK 版本:12.00.00.07.04 及更早版本默认未使能 SSC。这一遗漏可能是由于早期芯片调试活动需要旁路 SERDES PLL SSC。在处理器 Linux SDK 中,AM64x USB3.0 子系统的集成通过配置器件树源文件 (DTS) 来完成。要在 SK-AM64B 入门套件板上为 USB3.0 SERDES PLL 使能 SSC,需要修改以下位置的 k3-am642-sk.dts。

<SDK_INSTALL_DIR>/board-support/ti-linux-kernel-<version>/arch/arm64/boot/dts/ti/k3-am642-sk.dts

根据 USB 3.0 规范,USB 3.1 Gen 1 SSC 要求规定调制速率在 30 至 33kHz 之间,采用三角波调制,并且下展频调制深度在 0.4% 至 0.5% 之间,如下图所示。


 采用 SSC 调制的 5Gbps 载波频率

图 2-1 采用 SSC 调制的 5Gbps 载波频率

要实现这些更改,需要在 DTS 的 SERDES 向导封装器 (WIZ) 节点 &serdes_wiz0 中添加以下代码。

ti,core-clk-sel = <1>;   /* Select internal ref clock */ 
ti,ssc-enable;     /* Enable SSC */ 
ti,ssc-type = <1>;  /* 1 for Downspread */ 
ti,ssc-frequency-hz = <33000>; /* 33kHz fmod */
ti,ssc-depth-per-mil = <5>; /* 0.5% depth */

还需要将以下内容添加到 serdes0_usb_link: phy@0 节点。

cdns,ssc-mode = <2>;   /* 2 for SSC enabled (internal) */

下图显示了更新后的配置,该配置使用三角波 SSC 调制曲线和下展频调制输出来使能 SSC。


 为 USBSS 使能 SERDES PLL SSC 而进行的 DTS 更改

图 2-2 为 USBSS 使能 SERDES PLL SSC 而进行的 DTS 更改