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.

[参考译文] AM625:VAR-AM62-AM62-AM62 SOM

Guru**** 2465930 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1471353/am625-var-som-am62

器件型号:AM625
主题中讨论的其他器件:SysConfig

工具与软件:

大家好!

我成功地在我的 SoM VAR-PTP-AM62-AM62中实施了 SOM。 现在我必须测试 pps。 为此、我安装了 testptp。
在电路板的器件树中、具有以下内容:


cpsw3g (&C){
状态="正常";
pinctrl-names ="默认值";
pinctrl-0 =<&MAIN_rgmii1_PINS_DEFAULT
&main_rgmii2_pins_default>;

CPTS@3d000{
/*将 HW3_TS_PUSH 映射到 GENF1 */
ti、pps =<2 1>;
};
};

#define K3_TS_OFFSET (PA、val)(0x4+(PA)* 4)(0x10000 | val)

&TIMESYNC_ROUTER{
状态="正常";
pinctrl-names ="默认值";
pinctrl-0 =<&cpsw_cpts>;

/*使用时间同步路由器将 GENF1输入映射到 HW3_TS_PUSH 输出*/
cpsw_cpts:cpsw-cpts{
PINCTL-SINGLE、PINS =<
/* pps [cpsw CPTS genef1] in17 -> out12 [cpsw CPTS HW3_PUSH]*
K3_TS_OFFSET (12、17)
/* pps [cpsw cpts genef1] in17 -> out22 [SYNC2_OUT 引脚]*/
K3_TS_OFFSET (22、17)

>;
};
};


&main_pmx0{

PPS_PINS_DEFAULT:PPS-DEFAULT-PINS{
PINCTL-SINGLE、PINS =<
AM62X_IOPAD (0x01d8、PIN_OUTPUT、3)/*(C15) MCAN0_TX.SYNC2_OUT */


>;
};
};

如您所见、我将 SYNC2_OUT 时间同步路由器配置为输出 GENF1的信号。 但我无法在 oszilloscop 上测量这个信号。  

testptp 程序的另一个问题:当我 想从 cpsw CPTS HW3_PUSH 中获得时间戳值时,我得到一个错误。 当我想测试我配置的 GENF1时、我会收到错误。

  • root@am62x-var-som:~# testptp -d /dev/ptp0 -p 500000000 -i 1.
    PTP_PEROUT_request:无效的参数(1表示我配置的 genF1)

  • root@am62x-var-som:~# testptp -d /dev/ptp0 -p 500000000 -i 0
    周期性输出请求正常(0是我未配置的 genf0)

  • root@am62x-var-som:~# testptp -d /dev/ptp0 -e 5 -i 2.
    PTP_EXTTS_REQUEST:无效的参数(2表示我配置的 HW3推送)
    PTP_EXTTS_REQUEST:参数无效

  • root@am62x-var-som:~# testptp -d /dev/ptp0 -e 5 -i 3.
    外部时间戳请求正常(3个是我没有配置的 HW4、它在这里挂起、没有发生其他任何情况)

这是 wierd、因为我使用 genf1而不是 genf0、而 CPT 的 HW3推针没有其他任何东西。  

有人能帮忙吗?

谢谢你  

BR

Zain

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

    您好、Zain、  

    [quote userid="622102" url="~/support/processors-group/processors/f/processors-forum/1471353/am625-var-som-am62这样您就看到我配置了 SYNC2_OUT OF TIME 同步路由器来输出 GENF1的信号。 但我无法在 oszilloscop 上测量这个信号。  [报价]

    首先有几个问题、  

    1.您使用的是哪个 Linux SDK 版本?

    2. 如何确定  out22与 SYNC2_OUT 引脚关联?  

    3.是否确保在 DTS 中正确配置了 SYNC2_OUT 引脚的引脚多路复用配置?

    4.我假设您有一些硬件平台可以为您正在测量的 SYNC2_OUT 引脚破孔?

    请注意、要在您测量的物理引脚上获取 PPS 信号、您通常需要运行类似"testptp -d /dev/ptp0 -P 1"的操作

    [报价 userid="622102" url="~/support/processors-group/processors/f/processors-forum/1471353/am625-var-som-am62 "]

    testptp 程序的另一个问题:当我 想从 cpsw CPTS HW3_PUSH 中获得时间戳值时,我得到一个错误。 当我想测试我配置的 GENF1时、我会收到错误。

    • root@am62x-var-som:~# testptp -d /dev/ptp0 -p 500000000 -i 1.
      PTP_PEROUT_request:无效的参数(1表示我配置的 genF1)

    • root@am62x-var-som:~# testptp -d /dev/ptp0 -p 500000000 -i 0
      周期性输出请求正常(0是我未配置的 genf0)

    • root@am62x-var-som:~# testptp -d /dev/ptp0 -e 5 -i 2.
      PTP_EXTTS_REQUEST:无效的参数(2表示我配置的 HW3推送)
      PTP_EXTTS_REQUEST:参数无效

    • root@am62x-var-som:~# testptp -d /dev/ptp0 -e 5 -i 3.
      外部时间戳请求正常(3个是我没有配置的 HW4、它在这里挂起、没有发生其他任何情况)
    [报价]

    关于 testptp 的-p、-i、-e 选项,我需要做一些额外的调查。 在 AM62x SKEVM 上使用最新的 SDK Linux 10.1 (内核6.6)进行测试时、我也看到了类似的结果。

    root@am62xx-evm:~# /usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -p 500000000 -i 1
    PTP_PEROUT_REQUEST: Invalid argument
    root@am62xx-evm:~# /usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -p 500000000 -i 0
    periodic output request okay
    root@am62xx-evm:~# /usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -e 5 -i 2        
    PTP_EXTTS_REQUEST: Invalid argument
    PTP_EXTTS_REQUEST: Invalid argument
    root@am62xx-evm:~# /usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -e 5 -i 3
    external time stamp request okay
    ^C
    root@am62xx-evm:~# uname -a
    Linux am62xx-evm 6.6.32-ti-g6de6e418c80e-dirty #1 SMP PREEMPT Fri Jul 26 14:32:20 UTC 2024 aarch64 GNU/Linux
    root@am62xx-evm:~# 

    我打算在下周星期二提供最新消息。 如果当时我尚未回复、请 ping 此线程。

    -道林

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

    您好、Daolin

    谢谢 Daolin。

    BR

    Zain

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

    尊敬的 Zain:  

    感谢回答我的问题。 我已经针对此问题创建了一个内部错误单、并将在星期三尝试与开发人员进行讨论。 我将在星期三提供最新情况。 如果我在星期三之前没有回复、请再次 ping 该主题。

    同时、尝试研究此问题的主文件包括 am65-cpts.c 驱动程序(drivers/net/ethernet/ti/)和 testptp.c 应用程序、您也希望在这段时间内尝试研究该应用程序。

    -道林

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

    您好、Daolin

    你有好消息吗?

    BR

    Zain

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

    最新动态:

    我最近与开发人员讨论过这个问题、在您的设备树中、使用以下配置似乎可以静态地设置 genF1和 HW3推送映射。 根据我们的开发人员,这意味着使用 testptp 和-i 和-e 选项测试 pps 是不正确的,因为它只处理动态测试用例。

    cpts@3d000 {
    /* MAP HW3_TS_PUSH to GENF1 */
    ti,pps = <2 1>;
    };
    };

    您应该尝试使用 Foundational_Components 文档中"PPS 每秒脉冲支持"部分的步骤测试 pps:https://software-dl.ti.com/processor-sdk-linux/esd/AM64X/latest/exports/docs/linux/Kernel_Drivers Network/CPSW-PTP.351/CPSW-PTP.html

    请尝试一下、如果有效、请告诉我们!

    -道林

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

    或者、您也可以尝试启用动态测试用例、方法是在 DTS 中注释掉"ti、pps"静态映射、并像以前一样使用-i 和-e 选项运行相同的 testptp 序列。

    对我的 SK-AM62x 板进行快速测试后、它似乎能够正常工作

    DTS 更改:

    diff --git a/arch/arm64/boot/dts/ti/k3-am625-sk.dts b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    index 910feb74c..532fbd83e 100644
    --- a/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    +++ b/arch/arm64/boot/dts/ti/k3-am625-sk.dts
    @@ -205,10 +205,10 @@ &cpsw3g {
           pinctrl-0 = <&main_rgmii1_pins_default
                        &main_rgmii2_pins_default>;
    
    -      cpts@3d000 {
    -              /* MAP HW3_TS_PUSH to GENF1 */
    -              ti,pps = <2 1>;
    -      };
    +      // cpts@3d000 {
    +      //     /* MAP HW3_TS_PUSH to GENF1 */
    +      //     ti,pps = <2 1>;
    +      // };
     };

    测试日志:

    root@am62xx-evm:~# /usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -p 500000000 -i 1
    periodic output request okay
    root@am62xx-evm:~# /usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -e 5 -i 2
    external time stamp request okay
    event index 2 at 103.500000012
    event index 2 at 104.000000012
    event index 2 at 104.500000012
    event index 2 at 105.000000012
    event index 2 at 105.500000012
    root@am62xx-evm:~# uname -a
    Linux am62xx-evm 6.6.32-ti-g6de6e418c80e-dirty #1 SMP PREEMPT Fri Jul 26 14:32:20 UTC 2024 aarch64 GNU/Linux
    root@am62xx-evm:~#  

    -道林

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

    你好、Daolin

    感谢您的回答。

    我已经在器件树中拥有 SDK 文档中所述的相同配置。

    但我注意到 pps 是使用 ppstest 进行测试的。 当我运行此命令时、我会得到 pps 工作的相应输出。 但为什么我不能测量任何 pps 信号上的 osiliscop ?

    BR

    Zain

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

    尊敬的 Zain:

    但我注意到 pps 是使用 ppstest 进行测试的。 当我运行此命令时、我会得到 pps 工作的相应输出。 但为什么我无法测量 osiliscop 上的任何 pps 信号?
    是的、我使用 SysConfig 进行配置、然后将 Pinmux 配置到 SoM 的评估板(交响乐板)的 dts 中

    您说要使用 SoM? 您能将我指向此 SoM 评估板的链接吗?  

    [报价 userid="622102" url="~/support/processors-group/processors/f/processors-forum/1471353/am625-var-som-am62 "]

    &main_pmx0{

    PPS_PINS_DEFAULT:PPS-DEFAULT-PINS{
    PINCTL-SINGLE、PINS =<
    AM62X_IOPAD (0x01d8、PIN_OUTPUT、3)/*(C15) MCAN0_TX.SYNC2_OUT */


    >;
    };
    };

    [报价]

    您是否在 DTS 中的某个位置启用了"pps_pins_default"引脚多路复用器? 我仅看到 pinmux 配置、但我看不到它在另一个 DTS 节点的"pinctrl-0"属性中的位置。

    -道林

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

    尊敬的 Daolin:

    我忘记在 pinctrl-o 属性中启用 pps 的 pinmux 配置。 我现在从示波器得到的信号很微弱

    是的、当我注释掉 ti、pps 属性时、它也适用于 genf1和 HW ts 3。

    但是、静态和动态映射是什么意思?

    谢谢 Daolin 轻微

    BR

    Zain

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

    尊敬的 Zain:

    但是静态和动态映射究竟是什么意思呢?

    我所说的"静态"映射是指通过 DTS 中的以下配置手动将硬件推送事件映射到 Genf 源。 通过"动态"映射、我的意思是使用 testptp 的-i 和-e 选项更改为不同的硬件推送事件至 Genf 映射、就像您在初始 POST 中尝试使用 testptp 测试 HW4推送和 genf0一样。 我知道您这样做是为了将行为与您看到的问题进行比较、但当进行以下"静态"映射时、似乎不支持-i 和-e 选项。

    cpts@3d000 {
    /* MAP HW3_TS_PUSH to GENF1 */
    ti,pps = <2 1>;
    };
    };

    我希望这有助于澄清任何困惑

    -道林