AM62L: Request for AM62Lx PTP PPS Timesync Router Configuration

Part Number: AM62L

Hi Team,

I am testing the AM62Lx PTP test case using SDK version 11.01.16.13.

While reviewing the PTP test case documentation for PPS (Pulse Per Second) support, I referred to the following guide:

CPSW-PTP: PTP with Ordinary Clock MAC Mode
As checked in the https://software-dl.ti.com/processor-sdk-linux/esd/AM62LX/11_01_16_13/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/Network/CPSW-PTP.html PTP test case.

However, I could not find the "timesync_router" configuration details specific to AM62Lx.

Could you please share the exact configuration required for enabling PPS support on AM62Lx?

Thanks. 

Regards,
J Janani

  • Hi Team,
    Any update?

  • Hello, 

    Apologies for the delayed response.

    I am testing the AM62Lx PTP test case using SDK version 11.01.16.13.

    Are you testing on the TI AM62L EVM or a custom designed board?

    However, I could not find the "timesync_router" configuration details specific to AM62Lx.

    Thanks for the bringing this to our attention, it looks like the full config steps are missing for "PPS Pulse Per Second Support" in the AM62Lx SDK documentation, we will update this for future SDK releases. For now, you would need to add something like the below (example from AM62x documentation) in your DTS. However, please give me some time as I need to identify the correct indices for AM62Lx.

    /* Include following header file */
    #include <dt-bindings/timesync/k3-timesync-router.h>
    
    &timesync_router {
       /* Use Time Sync Router to map CPTS GENF outputs to HW_TS_PUSH inputs */
       mux-reg-masks-state = <
                /* pps [cpsw cpts genf1] in17 -> out12 [cpsw cpts hw3_push] */
                K3_TS_OFFSET(12, 0x0001ffff, 17)
       >;
       status = "okay";
    };

    -Daolin

  • Update:

    Please give the below a try. Note that I did not get a chance to test this out on my end so please do let us know if it worked or did not work.

    /* Include following header file */
    #include <dt-bindings/timesync/k3-timesync-router.h>
    
    &timesync_router {
       /* Use Time Sync Router to map CPTS GENF outputs to HW_TS_PUSH inputs */
       mux-reg-masks-state = <
                /* pps [cpsw cpts genf1] in9 -> out12 [cpsw cpts hw2_push] */
                K3_TS_OFFSET(12, 0x0001ffff, 9)
       >;
       status = "okay";
    };

    -Daolin

  • Dear Daolin,

    It appears that the kernel source does not include the dt-bindings/timesync/k3-timesync-router.h header file. Additionally, there is no timesync_router node present in the DTS.

    Could you please check on this and update?

  • Hi Janani, 

    It appears that the kernel source does not include the dt-bindings/timesync/k3-timesync-router.h header file. Additionally, there is no timesync_router node present in the DTS.

    Is your kernel source from the official TI SDK https://www.ti.com/tool/download/AM62L-LINUX-SDK/11.01.16.13 ?

    If so, k3-timesync-router.h should be available in arch/arm64/boot/dts/ti/k3-timesync-router.h

    I do see that the timesync_router node is missing from the am62l main dtsi file, which should have been present. For now, can you try inserting the below into the k3-am62l-main.dtsi file? 

    timesync_router: pinctrl@a40000 {
        compatible = "pinctrl-single";
        reg = <0x0 0xa40000 0x0 0x800>;
        #pinctrl-cells = <1>;
        pinctrl-single,register-width = <32>;
        pinctrl-single,function-mask = <0x000107ff>;
    }; 

    Also, are you able to move to SDK 12.0 or is there a specific reason to remain on SDK 11.01?

    -Daolin