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.

[参考译文] DRA821U:支持 J7200 SDK 11.02.00.04 上的 PCIe SERDES 配置

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1646211/dra821u-support-required-for-pcie-serdes-configuration-on-j7200-sdk-11-02-00-04

器件型号: DRA821U
主题: DRA821 中讨论的其他器件

尊敬的团队:

我们将 DRA821 定制板使用 PROCESSOR-SDK-LINUX J7200 版本 11.02.00.04。

我们正在尝试使用 SERDES0 Lane0 和 Lane1 启用 PCIe、PCI 器件应从内部 SERDES 时钟源接收 100MHz 参考时钟。

通过包含 k3-j7200-main.dtsi、在定制 DTS 中添加了以下 PCI 更改:

&SERDES_REFCLK{
    时钟频率=<1000000>;
};

&SERDES_wiz0{
    状态=“正常“;
};

{&S serdes0}{
    状态=“正常“;

    serdes0_pcie_link:PHY@0{
        reg =<0>;
        CDN、num-lanes =<2>;
        #phy-cells =<0>;
        CDN、phy-type = ;
        RESET =<&SERDES_wiz0 1>、<&SERDES_wiz0 2>;
    };
};

&pcie1_rc{
    状态=“正常“;
    PHY =<&S serdes0_pcie_link>;
    PHY-NAMES =“PCIe-phy“;
    num-lanes =<2>;
};

&SERDES_ln_ctrl{
    空闲状态= 、
           、
           、
           ;
};

引导后、会观察到以下日志:

dmesg | grep -i “pci“

[0.582079]  PCI:CLS 0 字节、默认值 64
[ 17.166116] j721e-PCIe 2910000.PCIE:主机桥/BUS@10000/PCIe@2910000 范围:
[ 17.173621] j721e-PCIe 2910000.PCIE:   IO 0x4100001000..0x4100100fff -> 0x0000001000
[ 17.181711] j721e-PCIe 2910000.PCIE:   MEM 0x4100101000..0x41ffffffff -> 0x0000101000
[ 17.189797] j721e-PCIe 2910000.PCIE: IB MEM 0x0000000000..0xffffffffff -> 0x0000000000
[ 18.201861] j721e-PCIe 2910000.PCIE:PCI 主机桥接至总线 0000:00
[ 18.208179] pci_bus 0000:00:根总线资源[bus 00-ff]
[ 18.213658] PCI_BUS 0000:00:根 总线资源[IO 0x0000-0xfffff](总线地址[0x1000-0x100fff])
[ 18.222686] pci_bus 0000:00:根总线资源[mem 0x4100101000-0x41ffffffff](总线地址[0x00101000-0xffffffff])
[ 18.233211] PCI 0000:00:00.0:[104C:b00f]类型 01 类 0x060400 PCIe 根端口
[18.240520] PCI 0000:00:00.0:PCI 桥接至[总线 00]
[ 18.245476] PCI 0000:00:00.0: 桥接窗口[IO 0x0000-0x0fff]
[ 18.251559] PCI 0000:00:00.0: 桥接窗口[mem 0x00000000-0x000fffff]
[ 18.258339] PCI 0000:00:00.0: 桥接窗口[mem 0x00000000-0x000fff 64bit pref]
[ 18.266134] PCI 0000:00:00.0:支持 D1
[ 18.270136] PCI 0000:00:00.0:D0 D1 D3hot 支持 PME#
[ 18.277060] PCI 0000:00:00.0:桥接配置无效 ([bus 00-00])、重新配置
[ 18.285156] PCI_BUS 0000:01:BUSn_RES:[BUS 01-ff] end 更新为 01
[18.291773] PCI 0000:00:00.0:PCI 桥接至[bus 01]
[ 18.296736] pci_bus 0000:00:资源 4 [io 0x0000-0xfffff]
[ 18.302382] pci_bus 0000:00:资源 5 [mem 0x4100101000-0x41ffffffff]
[18.309052] pcieport 0000:00:00.0:of_IRQ_parse_pci:失败、RC=–22
[ 18.315861] pcieport 0000:00:00.0:PME:IRQ 534 信令
[18.321888] pcieport 0000:00:00.0:AER:启用 IRQ 534

PCIe 根端口正在初始化、但未检测到连接的 PCIe 端点器件。

请求您的支持人员提供以下项所需的正确 DTS 配置:

  • 使用 SERDES0 通道 0 和通道 1 的 PCIe x2
  • 内部 100MHz SERDES 参考时钟配置
  • SDK 11.02.00.04 需要的 wiz/PLL 时钟节点配置

此致、
Ashwini

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

    尊敬的 Ashwini:

    指定的工程师已不在办公室、因此请预计此主题的响应将延迟到下周。

    此致

    Suman

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

    HII Suman,

    对上述问题的任何更新。

    应届毕业生、

    Ashwini

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

    HII 团队、

    为什么在 6.12.47 Linux 中从 PCI1_RC 节点中删除这些 IRQ

    pcie1_rc:pcie@2910000{

                   #interrupt-cells =<1>;
                   中断映射屏蔽=<0 0 0 7>;
                   Interrupt-map =<0 0 0 1 &pcie1_INTC 0>、/* INT A */
    <0 0 2 &pcie1_INTC 0>、/* INT B */
    <0 0 3 &pcie1_INTC 0>、/* INT C */
    <0 0 4 &pcie1_INTC 0>;/* INT D */

     

                   pcie1_inTC:中断控制器{
                           中断控制器;
                           #interrupt-cells =<1>;
                           #address-cells =<0>;
                           interrupt-parent =<&gic500>;
                           中断= ;
                   };
    };

     

    我们看到这些错误打印“pcieport 0000:00:00.0:of_irq_parse_pci:failed with rc=–22“

    此致、

    Ashwini  

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

    尊敬的 Ashwini:

    [引述 userid=“684563“ url=“~/support/processors-group/processors/f/processors-forum/1646211/dra821u-support-required-for-pcie-serdes-configuration-on-j7200-sdk-11-02-00-04/6352597

    为什么在 6.12.47 Linux 中从 PCI1_RC 节点中删除这些 IRQ

    [/报价]

    传统中断有器件勘误表、因此已将其删除。 可以忽略这些错误、也可以应用此修补程序来删除错误日志: https://patchwork.kernel.org/project/linux-pci/patch/20240726135903.1255825-1-s-vadapalli@ti.com/

    对于 J7200 的内部基准时钟、您能否尝试以下补丁:

    e2e.ti.com/.../1425.0001_2D00_HACK_2D00_Enable_2D00_internal_2D00_PCIe_2D00_reference_2D00_clock_2D00_for_2D00_J7200.patch

    此致、

    Takuma

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

    亲爱的 Takuma

    感谢您的答复。 应用给定补丁后问题已解决:


    /cfs-file/__key/communityserver-discussions-components-files/791/1425.0001_2D00_HACK_2D00_Enable_2D00_internal_2D00_PCIe_2D00_reference_2D00_clock_2D00_for_2D00_J7200.patch


    添加此补丁后、我会收到以下日志消息:
    of:/bus@10000/wiz@5060000/SerDes@5060000:无法获取/bus@10000/wiz@5060000 的#clock-cells

    如果我添加 #clock-cells =<1>;属性在 /bus@10000/wiz@5060000/  
    [ 1.730781] CDNs-torrent-phy 5060000.serdes:无 derived_refclk 的父时钟
    [ 1.738149] CDNs-torrent-phy 5060000.serdes:未能注册衍生的 REFCLK

    此错误打印即将出现

    您能不能告诉我此设置是否需要任何额外的时钟配置?

    此致、

    Ashwini  

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

    尊敬的 Ashwini:

    补丁的主要变化应为 write (0xf1000000、ioremap (0x0506040c、0x4));

    不应需要额外的时钟配置。  

    此致、

    Takuma