ZHDA302 August 2026 TDA4AH-Q1 , TDA4AP-Q1 , TDA4VH-Q1 , TDA4VP-Q1
合规性码型 1 (CP1) 是一种时钟序列,以 USB 3.0 链路速率对应的奈奎斯特频率 (5Gbps ÷ 2 = 2.5GHz) 发送。
默认 TI SDK (11.02) 设备树源码 (DTS) 不会在 SERDES PLL 上启用展频时钟 (SSC)。由于 CP1 测试需要 SSC,因此必须对 k3-j784s4-j742s2-evm-common.dtsi 文件进行以下修改:
转到 <SDK_INSTALL_DIR>/board-support/ti-linux-kernel-<version>/arch/arm64/boot/dts/ti/ k3-j784s4-j742s2-evm-common.dtsi
将以下代码添加到 &serdes_wiz0 节点以启用 SSC,如图 5 所示:
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>;
ti,ssc-depth-per-mil = <5>; /* 0.5% depth */
将以下属性添加到 serdes0_usb_link: phy@0 节点,以将 SSC 配置为内部模式:
cdns,ssc-mode = <2>; /* 2 for SSC enabled (internal) */
图 3-6 修改设备树源码以启用 SSC 并强制 USB 处于主机模式编译 dts 文件以生成.dtb 文件,如下所示:
$cd /<sdk-install directory>/board-support/ti-linux-kernel-6.12.57+git-ti
$export CROSS_COMPILE=/< sdk-install directory >/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/aarch64-oe-linux/aarch64-oe-linux-
$export ARCH=arm64
$make dtbs.
将.dtb 文件复制到 SD 卡中:
$cd /< sdk-install directory > /board-support/ti-linux-kernel-6.12.57+git-ti/arch/arm64/boot/dts/ti/
$sudo cp k3-j784s4-evm.dtb /media/<username>/root/boot/dtb/ti/k3-j784s4-evm.dtb
$sudo eject /media/<username>/root/
在 EVM Teraterm 上:
第 1 步:断开负载板,然后重新启动:
$ reboot
第 2 步:强制合规性模式:
$ devmem2 0x06010490 w 0x0a010340
第 3 步:写入 USB PHY CP1 寄存器:
$ devmem2 0x0601812c w 0x18230c10
$ devmem2 0x05060340 w 0x86000002 /*PLL0_CLK_SEL_M0_PLL0_CTRL_M0 */
第 4 步:重新连接合规性负载板。观察到的信号:CP1 — 周期性 1010 交替码型,输出带 SSC 调制的 2.5GHz 波形。USB 寄存器写入,直接选择 CP1。
图 3-7 启用 SSC 后的 CP1 合规性码型