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.

[参考译文] TDA4VH-Q1:tda4vh-PCIe REFCLK

Guru**** 2555630 points
Other Parts Discussed in Thread: TDA4VM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1283774/tda4vh-q1-tda4vh-pcie-refclk

器件型号:TDA4VH-Q1
主题中讨论的其他器件:TDA4VH、TDA4VM

您好、Champs:

客户希望 在 tda4vh-sdk8.6中输入100Mhz 的 REFCLK。 他使用了下面的补丁、但它不起作用。  

[常见问题解答] TDA4VM:TDA4VM/DRA829V:从外部路由 PCIe 参考时钟-处理器论坛-处理器- TI E2E 支持论坛





谢谢
此致
闪耀

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

    尊敬的 Shine:

    我看到 TDA4VH 就是在使用的 SoC。 您是否可以尝试使用以下补丁来使用内部 REFCLK?

    e2e.ti.com/.../enable_5F00_internal_5F00_ref_5F00_clock_5F00_out_5F00_pcie1_5F00_j784s4.patch

    此致、

    大沼市

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

    您好、  Takuma、

    非常感谢。

    diff --git a/board-support/linux-kernel/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts b/board-support/linux-kernel/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
    索引492975144..8a3f17450 100644
    ---a-board-support/linux-kernel/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
    ++ b/board-support/linux-kernel/arch/arm64/boot/dts/ti/k3-j784s4-evm.dts
    @@-729,7 +729,7 @@&serdes1{
    状态="可以";
    Serdes1_PCIe_link:phy@0{
    寄存器=<0>;
    - cdns, num-lannes =<2>;
    + CDN、num-Lanes =<4>;
    #phy-cells =<0>;
    CDN、phy-type = ;
    重置=<&SerDes_wiz1>、<&SerDes_wiz1 2>;
    @@-745,11 +745,14 @@&pcie0_RC{
    RESET-GPIO =<和 exp1 6 GPIO_ACTIVE_HIGH>;
    PHY =<&serdes1_pci_link>;
    phy-names ="PCIe-phy";
    +状态="可以";
    +
    };

    &pcie0_ep{
    PHY =<&serdes1_pci_link>;
    phy-names ="PCIe-phy";
    + status ="已禁用";
    };

    &pcie1_rc{
    @@-783、7 + 786、8 @@&SerDes_ln_ctrl{
    , ,
    , ,
    , ,
    - , ;
    + , ,
    + , ;
    };

    &main_udmass_inta{


    diff --git a/board-support/linux-kernel/drivers/phy/cadence/phy-cadence-torrent.c b/board-support/linux-kernel/drivers/phy/cadence-candence-torrent.c
    索引 f04619634..34b44c31f 100644
    --a-board-support/linux-kernel/drivers/phy/cadence/phy-cadence-torrent.c
    ++ b/board-support/linux-kernel/drivers/phy/cadence/phy-cadence-torrent.c
    @@-2780,6 +2780,27 @@静态 int cdns_torrent_phy_probe (struct platform_device *pdev)
    IF (RET)
    goto put_lnk_rst;

    +/*解锁分区7 : 8000h 到9FFFh */
    + writel (0x68EF3490、ioremap (0x011D008、0x4));/* LOCK7_KICK0 */
    + writel (0xD172BC5A、ioremap (0x011D00C、0x4));/* LOCK7_KICK1 */
    +/*解锁分区1 : 4000h 到5FFFh */
    + writel (0x68EF3490、ioremap (0x00105008、0x4));/* lock1_KICK0 */
    + writel (0xD172BC5A、ioremap (0x0010500C、0x4));/* lock1_KICK1 */
    +
    +/*解锁分区2 : 8000h 至9FFFh */
    + writel (0x68EF3490、ioremap (0x00109008、0x4));/* LOCK2_KICK0 */
    + writel (0xD172BC5A、ioremap (0x0010900C、0x4));/* LOCK2_KICK1 */
    +
    +
    +/*启用 ACSPCIe0 PAD 0和1 */
    + writel (0x01000000、ioremap (0x00118090、0x4));
    +/*启用 ACSPCIe1 PAD 0和1 */
    + writel (0x01000000、ioremap (0x00118094、0x4));
    +
    +/* PCIe_REFCLK0_CLKSEL:EN + MAIN_PLL2_HSDIV4_CLKOUT */
    + writel (0x00000101、ioremap (0x00108070、0x4));
    +/* PCIE_REFCLK1_CLKSEL:EN + MAIN_PLL2_HSDIV4_CLKOUT */
    + writel (0x00000101、ioremap (0x00108074、0x4));

    phy_provider = devm_of_phy_provider_register (dev、of_phy_simple_xlate);
    if (is_ERR (phy_provider)){

    测试  R860 R859、电压从0变为1.8V、频率正在变化、不接近100MHz

    注意:使用  VH EVM 板

    谢谢
    此致
    闪耀

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

    尊敬的 Shine:

    为了澄清、R860 R859是否已安装? 电压正在切换、而不是在100MHz 时、这种行为是否会发生?

    我需要几天时间来更深入地了解这一点。

    此致、

    大沼市

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

    您好、 Takuma、


    要澄清,是否安装了 R860 R859? [/报价]

     R860 R859未安装。

    以及是否看到电压正在切换但不在100MHz 上的行为?


    频率不正确。 波似乎是噪声波。

    e2e.ti.com/.../PCIE_5F00_REFCLK1_5F00_P_5F00_OUT.mp4

    振幅 变化是由于位24=1、如果设置为1、则为1.8V、如果设置为0、则为0V。  

    /* PCIe_REFCLK0_CLKSEL:EN + MAIN_PLL2_HSDIV4_CLKOUT */
    writel (0x00000101、ioremap (0x00108070、0x4));
    /* PCIe_REFCLK1_CLKSEL:EN + MAIN_PLL2_HSDIV4_CLKOUT */
    writel (0x00000101、ioremap (0x00108074、0x4));


    客户发现您选择的路径为 MAIN_PLL2_HSDIV4_CLKOUT,

    root 用户@j784s4-evm:~# devmem2 0x682090
    /dev/mem 打开。
    存储器映射在地址0xffb5d19000。
    在地址0x00682090 (0xFFfb5d19090)处读取:0x00008011
    root 用户@j784s4-evm:~# devmem2 0x682030
    /dev/mem 打开。
    存储器映射在地址0xffffff985cb000。
    在地址0x00682030 (0xFFff985cb030)处读取:0x0000005D
    root 用户@j784s4-evm:~# devmem2 0x682034
    /dev/mem 打开。
    存储器映射在地址0xffb9ec5000。
    在地址0x00682034 (0xffb9ec5034)处读取:0x00C00000
    root 用户@j784s4-evm:~#
    19.2M× 93.75=1800M
    1800M/18 = 100M
    MAIN_PLL2_HSDIV4_CLKOUT=100M
     PCIe_REFCLK1_P_OUT 是否与串行器/解串器相关?只是由系统输出?



    谢谢
    此致
    闪耀

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

    尊敬的 Shine:

    该补丁应做的是将内部时钟路由到为 PCIe 配置的 SERDES 的 REFCLK。 我需要一些时间来看看它。 由于电压电平发生变化、一些寄存器看起来是正确的、但并非所有寄存器都是正确的、因为看起来像是噪声、而不是实际时钟。

    此致、

    大沼市

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

    您好、 Takuma、

    非常感谢。

    SDK7.3补丁:
     /cfs-file/__key/communityserver-discussions-components-files/791/0001_2D00_route_2D00_clock_2D00_externally.patch

    SDK8.x 补丁:
    /cfs-file/__key/communityserver-discussions-components-files/791/pcie_2D00_ref_2D00_clock_2D00_out_5F00_sdk8.diff


    regmap_field_write (cdns_phy->phy_pma_CMN_ctrl_rcv_out_en、0x3);
    regmap_field_write (cdns_phy->cmn_plllc_clk1_en、0x1);
    regmap_field_write (cdns_phy->cmn_plllc_clk1outdiv、0x2e);


    根据代码、寄存器偏移量应为 e09a、但寄存器说明中未提及。 现在还不是公开的吗?




    谢谢
    此致
    闪耀

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

    尊敬的 Shine:

    某些寄存器可能不在 TRM 中、因为这些寄存器 直接取自 Cadence 的某些 IP 文档。

    不过、您引用的补丁适用于 TDA4VM、它具有称为 Sierra 的不同 SERDES、而 TDA4VH 具有 Torrent SERDES、因此两者的 SERDES 寄存器偏移会不同。 澄清一下、该器件是用作 TDA4VH 还是用作 TDA4VM?

    此致、

    大沼市

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

    您好、 Takuma、

    非常感谢。  

    客户执行了 TDA4VH 测试。 他参考了 TDA4VM TRM 寄存器描述、该描述比 VH TRM 详细。  

    如何配置串行器/解串器以获得100MHz? (上面提到的 pll2 hisdiv 4为100m)


    谢谢
    此致
    闪耀

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

    尊敬的 Shine:

    对延误深表歉意。 了解这项功能。

    此致、

    大沼市

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

    尊敬的 Shine:

    我现在再次回顾一些开放的旧线程。 该主题帖是否仍处于打开状态?

    如果是、我已经创建了一个常见问题解答、其中处理了第二个 PCIe 端口不输出100MHz REFCLK: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1230896/faq-j784s4xevm-how-to-enable-second-pcie-slot-for-two-ssd-cards

    如常见问题解答中所述、在9.0 SDK 及后续版本中、有一个补丁可以为第二个 PCIe 端口启用内部 REFCLK、以便为100MHz 端口提供 PCIe REFCLK、因此无需更改硬件。

    但是、如果您希望切换 PCIe0实例以使用内部时钟、则需要进行软件更改和硬件更改、因为端口在物理上连接到外部参考时钟而不是内部时钟。

    此致、

    大沼市