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.

TMDS64EVM: PPS out signal with high jitter

Part Number: TMDS64EVM

Tool/software:

Hello,

I'm trying to get an PPS output synchronized with PTP.

I will detail how I get my PPS signal:

I use a National Instrument platform that works as a PTP grandmaster. I can get the PPS signal from the NI board.

By ajusting the dtb file, I can get a PPS signal on SYNC1_OUT (header J12 of the EVM board).

/usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -P 1

The green signal is my PPS signal from NI board; the yellow signal is SYNC1_OUT.

After synchronizing the EVM with PTP from NI:

ptp4l -i eth0 -s -q -f /home/ptp.cfg -m > /home/ptp4l.log &
phc2sys -s eth0 -w -q -f /home/ptp.cfg -m > /home/phc2sys.log &

By disabling pps signal and re-enabling it, I get a PPS signal that seems synhcronized with NI PPS signal:

/usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -P 0
/usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -P 1

Synchronizing PTP seems to synchronize PPS signal but the yellow signal (SYNC1_OUT) has an offset of 30µs:

I guess this offset could be corrected by that command:

/usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -n -30000

Even if I am able to correct it, this offset was not expected. Am I doing something wrong?

Also, the jitter of the PPS signal from SYNC1_OUT is around 1,3µs which seems high to me:

How can I reduce this jitter?

Julien

  • Hello Julien,

    The expert is out of office this week and will return next week. Please expect a delayed response. Ping this thread by Thursday next week if you haven't received a response.


  • Hello Julien,

    First, I have some initial questions

    1. Which SDK version are you using?

    2. Are you using the TMDS64EVM or a custom EVM built with AM64x SoC?

    Synchronizing PTP seems to synchronize PPS signal but the yellow signal (SYNC1_OUT) has an offset of 30µs

    Is the offset always 30µs every time you synchronize the PPS signal?

    Can you see the same offset when running the below ptp4l command? I also provided my gPTP.cfg configuration file. The main point is to change "priority1" to a smaller value than the grandmaster gPTP.cfg configuration file to ensure the EVM is configured as a clock follower.

    ptp4l -P -2 -H -i eth0 -f gPTP.cfg --step_threshold=1 -m -q -p /dev/ptp0 > /dev/null &

    # 802.1AS example configuration containing those attributes which
    # differ from the defaults. See the file, default.cfg, for the
    # complete list of available options.
    #
    [global]
    gmCapable              1
    priority1              240
    priority2              248
    logAnnounceInterval    0
    logSyncInterval        -3
    syncReceiptTimeout     3
    neighborPropDelayThresh 800
    min_neighbor_prop_delay -20000000
    assume_two_step        1
    path_trace_enabled     1
    follow_up_info         1
    transportSpecific      0x1
    ptp_dst_mac            01:80:C2:00:00:0E
    network_transport      L2
    delay_mechanism        P2P
    ingressLatency         88
    egressLatency          288 


    Also, the jitter of the PPS signal from SYNC1_OUT is around 1,3µs which seems high to me

    I am trying to see if I can observe the same result. Are you triggering the rising edge of the PPS signal?

    -Daolin

  • Hello,

    Thank you for your reply.

    1. Which SDK version are you using?

    I am using the SDK 10_00_07_04.

    2. Are you using the TMDS64EVM or a custom EVM built with AM64x SoC?

    I am working on the TMDS64EVM.

    Is the offset always 30µs every time you synchronize the PPS signal?

    After repeating the same commands today, the offset is about 5µs.

    Can you see the same offset when running the below ptp4l command? I also provided my gPTP.cfg configuration file. The main point is to change "priority1" to a smaller value than the grandmaster gPTP.cfg configuration file to ensure the EVM is configured as a clock follower.

    I do not have any change on the PPS signal using your command and config file.The PPS signal doesn't seem to synchronize with that command.

    I have tried changing the priority in the gPTP.cfg to lower values since my grandmaster has priority1=128 and priority2=128. This doesn't seem to change anything.

    By using the command

    ptp4l -P -2 -H -i eth0 -f gPTP.cfg --step_threshold=1 -m -q -p /dev/ptp0

    and looking at the output messages:

    ptp4l[2472.182]: port 1 (eth0): INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[2472.182]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[2472.182]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[2475.809]: selected local clock 1c6349.fffe.1ad210 as best master

    The selected local clock is the eth0 clock, which is not my grandmaster clock. My PPS signal is not synchronized with the grandmaster.

    There are no more message coming after the selected local clock.

    Are all the lines in the gPTP.cfg mandatory?

    "gmCapable" line seems odd since I want my board to be in client mode.

    I tried to remove this line and to lower the priority values but the ptp4l command still selects the local clock (eth0).

    Are you triggering the rising edge of the PPS signal?

    I trigger on the rising edge of my grandmaster PPS signal.

    Julien

  • Hi Julien,

    >I have tried changing the priority in the gPTP.cfg to lower values since my grandmaster has priority1=128 and priority2=128. This doesn't seem to change anything.

    To configure as grandmaster the priority1 parameter should be a lower value than the priority1 parameter values for the clock follower devices. Therefore you should be changing the priority1 value to a higher number than what was configured for your grandmaster device.

    The selected local clock is the eth0 clock, which is not my grandmaster clock. My PPS signal is not synchronized with the grandmaster.

    This would happen because based on your explanation of how you configured the priority1 parameters, your TMD64EVM was assuming the grandmaster role. You need to change the priority1 value to a higher value than the one configured on your grandmaster.

    I haven't gotten a chance to measure the PPS signal jitter on my setup today, I will try to do so sometime this week.

    -Daolin

  • Hi Daolin,

    This would happen because based on your explanation of how you configured the priority1 parameters, your TMD64EVM was assuming the grandmaster role. You need to change the priority1 value to a higher value than the one configured on your grandmaster.

    Using the gPTP.cfg you shared, with priority1 parameter higher than my grandmaster parameter, I have the same result.

    I did not manage to run ptp4l and obtain a PPS signal synchronize with my PTP grandmaster

  • Hi Julien, 

    Just to be clear, your test topology is the below?

    NI Device (grandmaster clock) <--ethernet cable--> (eth0) 1x TMDS64EVM

    Give me some time as I will try to run the ptp4l test on my setup (2 connected TMDS64EVMs) to verify 

    1. The synchronization works with the command I shared

    2. The scale of the jitter of the PPS

    I plan to respond with an update later today or by tomorrow.

    -Daolin

  • Update:

    I am able to synchronize the clocks with my setup topology: TMDS64EVM (grandmaster clock) eth0 <--> eth0 TMDS64EVM (follower clock)

    Below are the console logs containing the command I used, the ptp4l output, and the gPTP.cfg of both EVMs. What was the exact value you configured for priority1 on your GM (grandmaster) device and your TMDS64EVM (follower) device?

    Grandmaster clock TMDS64EVM

    root@am64xx-evm:~# ptp4l -P -2 -H -i eth0 -f gPTP.cfg --step_threshold=1 -m -q -p /dev/ptp0
    ptp4l[1160.160]: selected /dev/ptp0 as PTP clock
    ptp4l[1160.183]: port 1 (eth0): INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[1160.183]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[1160.184]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[1163.284]: port 1 (eth0): LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
    ptp4l[1163.284]: selected local clock 3408e1.fffe.80a7ad as best master
    ptp4l[1163.284]: port 1 (eth0): assuming the grand master role
    ptp4l[1170.214]: port 1 (eth0): new foreign master 1c6349.fffe.1ad8aa-1
    ptp4l[1172.214]: selected best master clock 1c6349.fffe.1ad8aa
    ptp4l[1172.215]: port 1 (eth0): assuming the grand master role
    ptp4l[1210.063]: port 1 (eth0): assuming the grand master role
    ptp4l[1221.695]: port 1 (eth0): assuming the grand master role
    ^Croot@am64xx-evm:~#  

    # 802.1AS example configuration containing those attributes which
    # differ from the defaults. See the file, default.cfg, for the
    # complete list of available options.
    #
    [global]
    gmCapable              1
    priority1              100
    priority2              248
    logAnnounceInterval    0
    logSyncInterval        -3
    syncReceiptTimeout     3
    neighborPropDelayThresh 800
    min_neighbor_prop_delay -20000000
    assume_two_step        1
    path_trace_enabled     1
    follow_up_info         1
    transportSpecific      0x1
    ptp_dst_mac            01:80:C2:00:00:0E
    network_transport      L2
    delay_mechanism        P2P
    ingressLatency         88
    egressLatency          288

    Follower clock TMDS64EVM

    Save New Duplicate & Edit Just Text Twitter
    root@am64xx-evm:~# ptp4l -P -2 -H -i eth0 -f gPTP.cfg --step_threshold=1 -m -q -p /dev/ptp0
    ptp4l[1146.386]: selected /dev/ptp0 as PTP clock
    ptp4l[1146.416]: port 1 (eth0): INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[1146.416]: port 0 (/var/run/ptp4l): INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[1146.417]: port 0 (/var/run/ptp4lro): INITIALIZING to LISTENING on INIT_COMPLETE
    ptp4l[1149.983]: port 1 (eth0): LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
    ptp4l[1149.983]: selected local clock 1c6349.fffe.1ad8aa as best master
    ptp4l[1149.983]: port 1 (eth0): assuming the grand master role
    ptp4l[1150.056]: port 1 (eth0): new foreign master 3408e1.fffe.80a7ad-1
    ptp4l[1152.056]: selected best master clock 3408e1.fffe.80a7ad
    ptp4l[1152.057]: port 1 (eth0): MASTER to UNCALIBRATED on RS_SLAVE
    ptp4l[1152.559]: port 1 (eth0): UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED
    ptp4l[1153.310]: rms   87 max  113 freq  -3239 +/-  60 delay    35 +/-   0
    ptp4l[1154.311]: rms   16 max   26 freq  -3188 +/-  21 delay    35 +/-   0
    ptp4l[1155.186]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1155.436]: rms   26 max   28 freq  -3141 +/-  11 delay    36 +/-   0
    ptp4l[1156.437]: rms   22 max   25 freq  -3121 +/-   5 delay    35 +/-   0
    ptp4l[1156.687]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1157.187]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1157.687]: rms   11 max   21 freq  -3121 +/-   6 delay    35 +/-   0
    ptp4l[1158.188]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1158.813]: rms    2 max    3 freq  -3132 +/-   3 delay    36 +/-   0
    ptp4l[1158.954]: port 1 (eth0): received PDELAY_REQ without timestamp
    ptp4l[1159.814]: rms    6 max   10 freq  -3143 +/-   2 delay    35 +/-   0
    ptp4l[1160.564]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1160.939]: rms    5 max    9 freq  -3145 +/-   3 delay    36 +/-   0
    ptp4l[1161.940]: rms    3 max    3 freq  -3136 +/-   2 delay    36 +/-   0
    ptp4l[1162.940]: rms    3 max    5 freq  -3140 +/-   4 delay    36 +/-   0
    ptp4l[1163.941]: rms    3 max    6 freq  -3142 +/-   3 delay    35 +/-   0
    ptp4l[1164.941]: rms    4 max    7 freq  -3146 +/-   4 delay    35 +/-   0
    ptp4l[1165.942]: rms    3 max    7 freq  -3148 +/-   3 delay    35 +/-   0
    ptp4l[1166.943]: rms    4 max    6 freq  -3146 +/-   5 delay    35 +/-   0
    ptp4l[1167.943]: rms    3 max    5 freq  -3142 +/-   4 delay    35 +/-   0
    ptp4l[1168.944]: rms    5 max    6 freq  -3133 +/-   1 delay    35 +/-   0
    ptp4l[1169.945]: rms    3 max    5 freq  -3140 +/-   3 delay    35 +/-   0
    ptp4l[1170.945]: rms    2 max    2 freq  -3136 +/-   1 delay    35 +/-   0
    ptp4l[1171.946]: rms    2 max    2 freq  -3134 +/-   0 delay    35 +/-   0
    ptp4l[1172.946]: rms    3 max    8 freq  -3136 +/-   4 delay    35 +/-   0
    ptp4l[1173.947]: rms    3 max    6 freq  -3142 +/-   2 delay    35 +/-   0
    ptp4l[1174.947]: rms    3 max    6 freq  -3142 +/-   4 delay    35 +/-   0
    ptp4l[1175.948]: rms    2 max    3 freq  -3137 +/-   3 delay    34 +/-   0
    ptp4l[1176.948]: rms    3 max    5 freq  -3142 +/-   2 delay    35 +/-   0
    ptp4l[1177.949]: rms    3 max    5 freq  -3141 +/-   4 delay    35 +/-   0
    ptp4l[1178.950]: rms    2 max    3 freq  -3137 +/-   2 delay    35 +/-   0
    ptp4l[1179.950]: rms    3 max    6 freq  -3135 +/-   4 delay    35 +/-   0
    ptp4l[1180.951]: rms    2 max    4 freq  -3140 +/-   2 delay    35 +/-   0
    ptp4l[1181.952]: rms    4 max    5 freq  -3137 +/-   5 delay    36 +/-   0
    ptp4l[1182.953]: rms    3 max    7 freq  -3141 +/-   3 delay    36 +/-   0
    ptp4l[1183.419]: port 1 (eth0): received PDELAY_RESP without timestamp
    ptp4l[1183.953]: rms    2 max    5 freq  -3142 +/-   3
    ptp4l[1184.328]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1185.079]: rms    6 max   10 freq  -3151 +/-   5 delay    36 +/-   0
    ptp4l[1185.454]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1186.205]: rms    4 max   10 freq  -3152 +/-   4 delay    36 +/-   0
    ptp4l[1186.705]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1187.331]: rms    5 max    7 freq  -3142 +/-   4 delay    36 +/-   0
    ptp4l[1187.956]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1188.456]: rms    4 max    5 freq  -3138 +/-   3 delay    36 +/-   0
    ptp4l[1188.581]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1188.706]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1188.832]: port 1 (eth0): SLAVE to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
    ptp4l[1188.832]: selected local clock 1c6349.fffe.1ad8aa as best master
    ptp4l[1188.832]: port 1 (eth0): assuming the grand master role
    ptp4l[1189.832]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1190.058]: selected best master clock 3408e1.fffe.80a7ad
    ptp4l[1190.058]: port 1 (eth0): MASTER to UNCALIBRATED on RS_SLAVE
    ptp4l[1190.458]: port 1 (eth0): UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED
    ptp4l[1191.333]: rms    6 max   11 freq  -3151 +/-   4 delay    36 +/-   0
    ptp4l[1192.334]: rms    4 max    5 freq  -3141 +/-   4 delay    35 +/-   0
    ptp4l[1193.335]: rms    3 max    5 freq  -3141 +/-   4 delay    35 +/-   0
    ptp4l[1193.585]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1194.460]: rms    4 max    5 freq  -3134 +/-   1 delay    35 +/-   0
    ptp4l[1194.960]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1195.586]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1195.711]: rms    2 max    3 freq  -3133 +/-   1 delay    35 +/-   0
    ptp4l[1196.712]: rms    4 max    7 freq  -3141 +/-   3 delay    35 +/-   0
    ptp4l[1197.712]: rms    1 max    2 freq  -3137 +/-   2 delay    35 +/-   0
    ptp4l[1198.588]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1198.838]: rms    2 max    2 freq  -3134 +/-   0 delay    35 +/-   0
    ptp4l[1199.838]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1199.963]: rms    5 max    9 freq  -3127 +/-   4 delay    35 +/-   0
    ptp4l[1200.213]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1200.338]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1200.463]: port 1 (eth0): SLAVE to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
    ptp4l[1200.464]: selected local clock 1c6349.fffe.1ad8aa as best master
    ptp4l[1200.464]: port 1 (eth0): assuming the grand master role
    ptp4l[1202.059]: selected best master clock 3408e1.fffe.80a7ad
    ptp4l[1202.059]: port 1 (eth0): MASTER to UNCALIBRATED on RS_SLAVE
    ptp4l[1202.465]: port 1 (eth0): UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED
    ptp4l[1203.215]: rms    2 max    4 freq  -3128 +/-   2 delay    35 +/-   0
    ptp4l[1204.216]: rms    2 max    3 freq  -3133 +/-   1 delay    35 +/-   0
    ptp4l[1205.217]: rms    3 max    6 freq  -3128 +/-   3 delay    35 +/-   0
    ptp4l[1206.217]: rms    2 max    3 freq  -3134 +/-   1 delay    35 +/-   0
    ptp4l[1207.092]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1207.343]: rms    3 max    6 freq  -3129 +/-   4 delay    35 +/-   0
    ptp4l[1208.343]: rms    2 max    2 freq  -3133 +/-   1 delay    35 +/-   0
    ptp4l[1209.344]: rms    6 max   10 freq  -3142 +/-   4 delay    35 +/-   0
    ptp4l[1210.344]: rms    2 max    3 freq  -3139 +/-   2 delay    35 +/-   0
    ptp4l[1211.345]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1211.470]: rms    2 max    2 freq  -3135 +/-   0 delay    35 +/-   0
    ptp4l[1212.345]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1212.596]: rms    6 max    9 freq  -3125 +/-   3 delay    36 +/-   0
    ptp4l[1213.596]: rms    5 max    8 freq  -3123 +/-   4 delay    35 +/-   0
    ptp4l[1214.597]: rms    3 max    4 freq  -3128 +/-   4 delay    36 +/-   0
    ptp4l[1215.597]: rms    4 max    5 freq  -3136 +/-   1 delay    35 +/-   0
    ptp4l[1216.598]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1216.723]: rms    3 max    5 freq  -3129 +/-   3 delay    35 +/-   0
    ptp4l[1217.724]: rms    2 max    3 freq  -3134 +/-   2 delay    36 +/-   0
    ptp4l[1218.224]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1218.849]: rms    4 max    7 freq  -3127 +/-   3 delay    36 +/-   0
    ptp4l[1218.974]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1219.975]: rms    2 max    4 freq  -3128 +/-   3 delay    36 +/-   0
    ptp4l[1220.958]: port 1 (eth0): received PDELAY_REQ without timestamp
    ptp4l[1220.975]: port 1 (eth0): received SYNC without timestamp
    ptp4l[1221.100]: rms    4 max    6 freq  -3133 +/-   5 delay    36 +/-   0
    ptp4l[1222.101]: rms    3 max    4 freq  -3137 +/-   1 delay    35 +/-   0
    ptp4l[1223.102]: rms    5 max    9 freq  -3140 +/-   5 delay    35 +/-   0
    ptp4l[1224.102]: rms    4 max    7 freq  -3143 +/-   4 delay    35 +/-   0
    ptp4l[1225.103]: rms    3 max    6 freq  -3144 +/-   3 delay    35 +/-   0
    ptp4l[1226.103]: rms    2 max    4 freq  -3141 +/-   3 delay    35 +/-   0
    ptp4l[1227.104]: rms    3 max    4 freq  -3140 +/-   4 delay    35 +/-   0
    ptp4l[1228.105]: rms    3 max    4 freq  -3136 +/-   2 delay    35 +/-   0
    ptp4l[1229.106]: rms    3 max    5 freq  -3140 +/-   4 delay    35 +/-   0
    ptp4l[1230.106]: rms    3 max    6 freq  -3142 +/-   4 delay    35 +/-   0
    ptp4l[1231.107]: rms    4 max    8 freq  -3147 +/-   4 delay    35 +/-   0
    ptp4l[1232.107]: rms    3 max    5 freq  -3146 +/-   4 delay    35 +/-   0
    ptp4l[1233.107]: rms    2 max    5 freq  -3147 +/-   3 delay    35 +/-   0
    ptp4l[1234.108]: rms    3 max    5 freq  -3149 +/-   3 delay    35 +/-   0
    ptp4l[1235.109]: rms    3 max    5 freq  -3150 +/-   4 delay    35 +/-   0
    ptp4l[1236.109]: rms    3 max    6 freq  -3152 +/-   4 delay    35 +/-   0
    ptp4l[1237.110]: rms    5 max    8 freq  -3159 +/-   3 delay    35 +/-   0
    ptp4l[1238.110]: rms    3 max    6 freq  -3160 +/-   3 delay    35 +/-   0
    ptp4l[1239.111]: rms    3 max    5 freq  -3160 +/-   3 delay    35 +/-   0
    ^Croot@am64xx-evm:~# 

    # 802.1AS example configuration containing those attributes which
    # differ from the defaults. See the file, default.cfg, for the
    # complete list of available options.
    #
    [global]
    gmCapable              1
    priority1              240
    priority2              248
    logAnnounceInterval    0
    logSyncInterval        -3
    syncReceiptTimeout     3
    neighborPropDelayThresh 800
    min_neighbor_prop_delay -20000000
    assume_two_step        1
    path_trace_enabled     1
    follow_up_info         1
    transportSpecific      0x1
    ptp_dst_mac            01:80:C2:00:00:0E
    network_transport      L2
    delay_mechanism        P2P
    ingressLatency         88
    egressLatency          288

    Can you explain how the grandmaster clock is setup on the NI device? You mentioned also using the gPTP.cfg file as well on the NI device. 

    Also, since the previous command provided did not seem to work for you can try the below instead? The difference is to use software timestamping instead of hardware timestamping.

    ptp4l -P -2 -S -i eth0 -f gPTP.cfg --step_threshold=1 -m -q -p /dev/ptp0 > /dev/null &

    -Daolin
  • Hi Daolin,

    Just to be clear, your test topology is the below?

    NI Device (grandmaster clock) <--ethernet cable--> (eth0) 1x TMDS64EVM

    Yes, that's right.

    Thanks to your inputs, I managed to use the command and synchronize the TMDS64EVM as a follower clock. Some configurations of the grandmaster were not the same as those of the TMDS64EVM.

    However, the PPS signal generated on SYNC1_OUT is not synchronize with the PPS signal from my grandmaster.

    I expected this signal to be synchronize since it is generated from PTP. Am I wrong?

    Also, this signal has a jitter of about 1µs, which seems high to me for my purposes. I wanted to use this signal (PPS) to synchronize time every second on another platform from the clock follower.

    GrandMaster clock <-ethernet-> Clock follower (TMDS64EVM )  <-PPS signal-> Platform that can't manage PTP

    When I boot the TMDS64EVM I got this message:

    [FAILED] Failed to start Synchronize System and HW clocks.

    Should I be concerned? Is it a configuration fault in the dts file?

    Regards,

    Julien

  • Hi Julien,

    Glad that you were able to synchronize the TMDS64EVM as a follower clock. 

    However, the PPS signal generated on SYNC1_OUT is not synchronize with the PPS signal from my grandmaster.

    I expected this signal to be synchronize since it is generated from PTP. Am I wrong?

    You're not wrong, as long as the ptp4l program is running before the testptp program runs, the PPS signal should be synchronized since it's source from the ptp clock.

    When I boot the TMDS64EVM I got this message:

    [FAILED] Failed to start Synchronize System and HW clocks.

    Should I be concerned? Is it a configuration fault in the dts file?

    This message is unexpected, can you share your entire TMDS64EVM boot log that includes this message? Have you also enabled any start up programs that are running upon boot up (e.g. systemd or initd services) that aren't from the default SDK 10_00_07_04 Linux Image? 

    I expect to see the following messages show up in the boot log:

    root@am64xx-evm:~# dmesg | grep ptp  
    [   1.673482] pps pps0: new PPS source ptp0
    [  14.148792] pps pps1: new PPS source ptp2

    -Daolin

  • Hi Daolin,

    Have you also enabled any start up programs that are running upon boot up (e.g. systemd or initd services) that aren't from the default SDK 10_00_07_04 Linux Image? 

    No changes have been made.

    This message is unexpected, can you share your entire TMDS64EVM boot log that includes this message?

    Here it is:

    U-Boot SPL 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
    Resetting on cold boot to workaround ErrataID:i2331
    Please resend tiboot3.bin in case of UART/DFU boot
    resetting ...
    
    U-Boot SPL 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL initial stack usage: 13392 bytes
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    Loading Environment from MMC... *** Warning - No MMC card found, using default environment
    
    Authentication passed
    Authentication passed
    Starting ATF on ARM64 core...
    
    NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
    NOTICE:  BL31: Built : 16:09:05, Feb  9 2024
    I/TC:
    I/TC: OP-TEE version: 4.2.0-dev (gcc version 13.3.0 (GCC)) #1 Fri Apr 12 09:51:21 UTC 2024 aarch64
    I/TC: WARNING: This OP-TEE configuration might be insecure!
    I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html
    I/TC: Primary CPU initializing
    I/TC: GIC redistributor base address not provided
    I/TC: Assuming default GIC group status and modifier
    I/TC: SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    I/TC: HUK Initialized
    I/TC: Activated SA2UL device
    I/TC: Enabled firewalls for SA2UL TRNG device
    I/TC: SA2UL TRNG initialized
    I/TC: SA2UL Drivers initialized
    I/TC: Primary CPU switching to normal world boot
    
    U-Boot SPL 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
    SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    Trying to boot from MMC2
    Authentication passed
    Authentication passed
    
    
    U-Boot 2024.04-ti-gfda88f8bcea3 (Jul 26 2024 - 11:00:12 +0000)
    
    SoC:   AM64X SR2.0 HS-FS
    Model: Texas Instruments AM642 EVM
    Board: AM64-EVM rev C
    DRAM:  2 GiB
    Core:  98 devices, 31 uclasses, devicetree: separate
    NAND:  0 MiB
    MMC:   mmc@fa10000: 0, mmc@fa00000: 1
    Loading Environment from nowhere... OK
    In:    serial@2800000
    Out:   serial@2800000
    Err:   serial@2800000
    Net:   eth0: ethernet@8000000port@1, eth2: icssg1-eth-port@0
    Hit any key to stop autoboot:  0
    switch to partitions #0, OK
    mmc1 is current device
    SD/MMC found on device 1
    574 bytes read in 40 ms (13.7 KiB/s)
    Loaded env from uEnv.txt
    Importing environment from mmc1 ...
    16155136 bytes read in 669 ms (23 MiB/s)
    65880 bytes read in 47 ms (1.3 MiB/s)
    Working FDT set to 88000000
    ## Flattened Device Tree blob at 88000000
       Booting using the fdt blob at 0x88000000
    Working FDT set to 88000000
       Loading Device Tree to 000000008feec000, end 000000008fffffff ... OK
    Working FDT set to 8feec000
    
    Starting kernel ...
    
    [    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
    [    0.000000] Linux version 6.6.32-rt32-ti-rt-g04a9ad081f0f-dirty (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.3.0, GNU ld (GNU Binutils) 2.42.0.20240716) #1 SMP PREEMPT_RT Fri Jul 26 14:42:37 UTC 2024
    [    0.000000] Machine model: Texas Instruments AM642 EVM
    [    0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '')
    [    0.000000] printk: legacy bootconsole [ns16550a0] enabled
    [    0.000000] efi: UEFI not found.
    [    0.000000] OF: reserved mem: 0x000000009e800000..0x000000009fffffff (24576 KiB) nomap non-reusable optee@9e800000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a0000000..0x00000000a00fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a0000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a0100000..0x00000000a0ffffff (15360 KiB) nomap non-reusable r5f-memory@a0100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a1000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a1000000..0x00000000a10fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a1000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a1100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a1100000..0x00000000a1ffffff (15360 KiB) nomap non-reusable r5f-memory@a1100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a2000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a2000000..0x00000000a20fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a2000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a2100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a2100000..0x00000000a2ffffff (15360 KiB) nomap non-reusable r5f-memory@a2100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-dma-memory@a3000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a3000000..0x00000000a30fffff (1024 KiB) nomap non-reusable r5f-dma-memory@a3000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node r5f-memory@a3100000, compatible id shared-dma-pool
    [ I/  T C0:. 0S0e0c0o0nd0]a rOyF :CP Ur e1s eirnviedt imalemiz:i 0nxg0
    o00I/00T0C:0 a3S1e0co00n0d0a.r.y0 Cx0P0U0 010 0s0w0iatc3fhfifngff tfo ( 1n5o3rm60a lK iwBor) lndo bmoapo tn
     n-reusable r5f-memory@a3100000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-dma-memory@a4000000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a4000000..0x00000000a40fffff (1024 KiB) nomap non-reusable m4f-dma-memory@a4000000
    [    0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB
    [    0.000000] OF: reserved mem: initialized node m4f-memory@a4100000, compatible id shared-dma-pool
    [    0.000000] OF: reserved mem: 0x00000000a4100000..0x00000000a4ffffff (15360 KiB) nomap non-reusable m4f-memory@a4100000
    [    0.000000] OF: reserved mem: 0x00000000a5000000..0x00000000a57fffff (8192 KiB) nomap non-reusable ipc-memories@a5000000
    [    0.000000] Zone ranges:
    [    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000]   DMA32    empty
    [    0.000000]   Normal   empty
    [    0.000000] Movable zone start for each node
    [    0.000000] Early memory node ranges
    [    0.000000]   node   0: [mem 0x0000000080000000-0x000000009e7fffff]
    [    0.000000]   node   0: [mem 0x000000009e800000-0x00000000a57fffff]
    [    0.000000]   node   0: [mem 0x00000000a5800000-0x00000000ffffffff]
    [    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff]
    [    0.000000] cma: Reserved 32 MiB at 0x00000000fbe00000 on node -1
    [    0.000000] psci: probing for conduit method from DT.
    [    0.000000] psci: PSCIv1.1 detected in firmware.
    [    0.000000] psci: Using standard PSCI v0.2 function IDs
    [    0.000000] psci: Trusted OS migration not required
    [    0.000000] psci: SMC Calling Convention v1.4
    [    0.000000] percpu: Embedded 21 pages/cpu s46464 r8192 d31360 u86016
    [    0.000000] Detected VIPT I-cache on CPU0
    [    0.000000] CPU features: detected: GIC system register CPU interface
    [    0.000000] CPU features: kernel page table isolation disabled by kernel configuration
    [    0.000000] CPU features: detected: ARM erratum 845719
    [    0.000000] alternatives: applying boot alternatives
    [    0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 omap2-nand.0:2m(NAND.tiboot3),2m(NAND.tispl),2m(NAND.tiboot3.backup),4m(NAND.u-boot),256k(NAND.u-boot-env),256k(NAND.u-boot-env.backup),-(NAND.file-system) root=PARTUUID=076c4a2a-02 rw rootfstype=ext4 rootwait
    [    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
    [    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
    [    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 516096
    [    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
    [    0.000000] software IO TLB: area num 2.
    [    0.000000] software IO TLB: mapped [mem 0x00000000f7c00000-0x00000000fbc00000] (64MB)
    [    0.000000] Memory: 1830716K/2097152K available (10048K kernel code, 1184K rwdata, 2408K rodata, 2048K init, 421K bss, 233668K reserved, 32768K cma-reserved)
    [    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
    [    0.000000] rcu: Preemptible hierarchical RCU implementation.
    [    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2.
    [    0.000000] rcu:     RCU_SOFTIRQ processing moved to rcuc kthreads.
    [    0.000000]  No expedited grace period (rcu_normal_after_boot).
    [    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
    [    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
    [    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
    [    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
    [    0.000000] GICv3: 256 SPIs implemented
    [    0.000000] GICv3: 0 Extended SPIs implemented
    [    0.000000] Root IRQ handler: 0xffff8000800100c0
    [    0.000000] GICv3: GICv3 features: 16 PPIs
    [    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001840000
    [    0.000000] ITS [mem 0x01820000-0x0182ffff]
    [    0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS
    [    0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19
    [    0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0)
    [    0.000000] ITS: using cache flushing for cmd queue
    [    0.000000] GICv3: using LPI property table @0x0000000080030000
    [    0.000000] GIC: using cache flushing for LPI property table
    [    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080040000
    [    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
    [    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys).
    [    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
    [    0.000001] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
    [    0.000290] Console: colour dummy device 80x25
    [    0.000351] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=200000)
    [    0.000364] pid_max: default: 32768 minimum: 301
    [    0.000443] LSM: initializing lsm=capability,integrity
    [    0.000609] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.000635] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
    [    0.009032] rcu: Hierarchical SRCU implementation.
    [    0.009045] rcu:     Max phase no-delay instances is 400.
    [    0.049037] Platform MSI: msi-controller@1820000 domain created
    [    0.049374] PCI/MSI: /bus@f4000/interrupt-controller@1800000/msi-controller@1820000 domain created
    [    0.049535] EFI services will not be available.
    [    0.125451] smp: Bringing up secondary CPUs ...
    [    0.294616] Detected VIPT I-cache on CPU1
    [    0.294720] GICv3: CPU1: found redistributor 1 region 0:0x0000000001860000
    [    0.294737] GICv3: CPU1: using allocated LPI pending table @0x0000000080050000
    [    0.294798] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
    [    0.334369] smp: Brought up 1 node, 2 CPUs
    [    0.334377] SMP: Total of 2 processors activated.
    [    0.334383] CPU features: detected: 32-bit EL0 Support
    [    0.334389] CPU features: detected: CRC32 instructions
    [    0.384729] CPU: All CPU(s) started at EL2
    [    0.384733] alternatives: applying system-wide alternatives
    [    0.388300] devtmpfs: initialized
    [    0.403012] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
    [    0.403043] futex hash table entries: 512 (order: 9267] usbcore: registered new interface driver usb-storage
    [    1.130155] i2c_dev: i2c /dev entries driver
    [    1.131030] sdhci: Secure Digital Host Controller Interface driver
    [    1.131039] sdhci: Copyright(c) Pierre Ossman
    [    1.131291] sdhci-pltfm: SDHCI platform and OF driver helper
    [    1.132536] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
    [    1.133632] usbcore: registered new interface driver usbhid
    [    1.133644] usbhid: USB HID core driver
    [    1.134069] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fc9100
    [    1.134395] omap-mailbox 29040000.mailbox: omap mailbox rev 0x66fc9100
    [    1.134585] omap-mailbox 29060000.mailbox: omap mailbox rev 0x66fc9100
    [    1.136019] optee: probing for conduit method.
    [    1.136058] optee: revision 4.2 (12d7c4ee)
    [    1.169066] optee: dynamic shared memory is enabled
    [    1.170370] random: crng init done
    [    1.170508] optee: initialized driver
    [    1.173269] NET: Registered PF_PACKET protocol family
    [    1.173488] Key type dns_resolver registered
    [    1.185248] Loading compiled-in X.509 certificates
    [    1.202557] ti-sci 44043000.system-controller: ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    [    1.351179] omap-gpmc 3b000000.memory-controller: GPMC revision 6.0
    [    1.351204] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000
    [    1.354333] pca953x 0-0038: supply vcc not found, using dummy regulator
    [    1.354518] pca953x 0-0038: using no AI
    [    1.367159] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz
    [    1.369464] pca953x 1-0022: supply vcc not found, using dummy regulator
    [    1.369658] pca953x 1-0022: using AI
    [    1.382722] omap_i2c 20010000.i2c: bus 1 rev0.12 at 400 kHz
    [    1.383185] ti-sci-intr bus@f4000:interrupt-controller@a00000: Interrupt Router 3 domain created
    [    1.383645] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created
    [    1.387515] ti-udma 485c0100.dma-controller: Number of rings: 68
    [    1.389794] ti-udma 485c0100.dma-controller: Channels: 24 (bchan: 12, tchan: 6, rchan: 6)
    [    1.392283] ti-udma 485c0000.dma-controller: Number of rings: 288
    [    1.407057] ti-udma 485c0000.dma-controller: Channels: 44 (tchan: 29, rchan: 15)
    [    1.413627] printk: console [ttyS2] disabled
    [    1.557027] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 317, base_baud = 3000000) is a 8250
    [    1.565938] printk: console [ttyS2] enabled
    [    1.565946] printk: legacy bootconsole [ns16550a0] disabled
    [    1.581939] spi-nor spi0.0: s28hs512t (65536 Kbytes)
    [    1.582130] 7 fixed-partitions partitions found on MTD device fc40000.spi.0
    [    1.582143] Creating 7 MTD partitions on "fc40000.spi.0":
    [    1.582153] 0x000000000000-0x000000100000 : "ospi.tiboot3"
    [    1.583979] 0x000000100000-0x000000300000 : "ospi.tispl"
    [    1.585619] 0x000000300000-0x000000700000 : "ospi.u-boot"
    [    1.587200] 0x000000700000-0x000000740000 : "ospi.env"
    [    1.588784] 0x000000740000-0x000000780000 : "ospi.env.backup"
    [    1.590339] 0x000000800000-0x000003fc0000 : "ospi.rootfs"
    [    1.591911] 0x000003fc0000-0x000004000000 : "ospi.phypattern"
    [    1.603701] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode
    [    1.638334] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000
    [    1.641028] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867
    [    1.641092] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:00000006
    [    1.641427] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.4
    [    1.641435] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512
    [    1.642210] pps pps0: new PPS source ptp0
    [    1.642676] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1
    [    1.706256] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 16
    [    1.713822] am65-cpts 39000000.cpts: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0
    [    1.715958] mmc1: CQHCI version 5.10
    [    1.722269] mmc0: CQHCI version 5.10
    [    1.734678] j721e-pcie f102000.pcie: host bridge /bus@f4000/pcie@f102000 ranges:
    [    1.734771] j721e-pcie f102000.pcie:       IO 0x0068001000..0x0068010fff -> 0x0068001000
    [    1.734796] j721e-pcie f102000.pcie:      MEM 0x0068011000..0x006fffffff -> 0x0068011000
    [    1.734820] j721e-pcie f102000.pcie:   IB MEM 0x0000000000..0x0fffffffff -> 0x0000000000
    [    1.760068] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit
    [    1.760110] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit
    [    1.814124] mmc1: new ultra high speed SDR104 SDHC card at address aaaa
    [    1.815050] mmcblk1: mmc1:aaaa SB16G 14.8 GiB
    [    1.820397]  mmcblk1: p1 p2
    [    1.839384] mmc0: Command Queue Engine enabled
    [    1.839449] mmc0: new HS200 MMC card at address 0001
    [    1.840357] mmcblk0: mmc0:0001 S0J56X 14.8 GiB
    [    1.842716] mmcblk0boot0: mmc0:0001 S0J56X 31.5 MiB
    [    1.844375] mmcblk0boot1: mmc0:0001 S0J56X 31.5 MiB
    [    1.845835] mmcblk0rpmb: mmc0:0001 S0J56X 4.00 MiB, chardev (239:0)
    [    2.734735] j721e-pcie f102000.pcie: PCI host bridge to bus 0000:00
    [    2.734819] pci_bus 0000:00: root bus resource [bus 00-ff]
    [    2.734832] pci_bus 0000:00: root bus resource [io  0x0000-0xffff] (bus address [0x68001000-0x68010fff])
    [    2.734841] pci_bus 0000:00: root bus resource [mem 0x68011000-0x6fffffff]
    [    2.734883] pci 0000:00:00.0: [104c:b010] type 01 class 0x060400
    [    2.734904] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0xfffffffff 64bit pref]
    [    2.734987] pci 0000:00:00.0: supports D1
    [    2.734994] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
    [    2.737758] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
    [    2.738032] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
    [    2.738070] pci 0000:00:00.0: BAR 0: no space for [mem size 0x1000000000 64bit pref]
    [    2.738080] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x1000000000 64bit pref]
    [    2.738090] pci 0000:00:00.0: PCI bridge to [bus 01]
    [    2.738285] pcieport 0000:00:00.0: of_irq_parse_pci: failed with rc=-22
    [    2.739000] pcieport 0000:00:00.0: PME: Signaling with IRQ 521
    [    2.739445] pcieport 0000:00:00.0: AER: enabled with IRQ 521
    [    2.745194] clk: Disabling unused clocks
    [    2.773078] ALSA device list:
    [    2.773093]   No soundcards found.
    [    3.029857] EXT4-fs (mmcblk1p2): recovery complete
    [    3.030908] EXT4-fs (mmcblk1p2): mounted filesystem c24eaf39-b51a-4a64-b464-646aef520afa r/w with ordered data mode. Quota mode: none.
    [    3.031026] VFS: Mounted root (ext4 filesystem) on device 179:2.
    [    3.031673] devtmpfs: mounted
    [    3.033116] Freeing unused kernel memory: 2048K
    [    3.033205] Run /sbin/init as init process
    [    3.271701] systemd[1]: System time before build time, advancing clock.
    [    3.331947] NET: Registered PF_INET6 protocol family
    [    3.333388] Segment Routing with IPv6
    [    3.333426] In-situ OAM (IOAM) with IPv6
    [    3.357765] systemd[1]: systemd 255.4^ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -TPM2 -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
    [    3.357849] systemd[1]: Detected architecture arm64.
    
    Welcome to Arago 2023.10!
    
    [    3.403457] systemd[1]: Hostname set to <am64xx-evm>.
    [    3.889912] systemd[1]: /usr/lib/systemd/system/bt-enable.service:9: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
    [    4.045686] systemd[1]: /etc/systemd/system/sync-clocks.service:11: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
    [    4.136874] systemd[1]: Queued start job for default target Graphical Interface.
    [    4.165527] systemd[1]: Created slice Slice /system/getty.
    [  OK  ] Created slice Slice /system/getty.
    [    4.181285] systemd[1]: Created slice Slice /system/modprobe.
    [  OK  ] Created slice Slice /system/modprobe.
    [    4.197286] systemd[1]: Created slice Slice /system/serial-getty.
    [  OK  ] Created slice Slice /system/serial-getty.
    [    4.212613] systemd[1]: Created slice User and Session Slice.
    [  OK  ] Created slice User and Session Slice.
    [    4.227069] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
    [  OK  ] Started Dispatch Password Requests to Console Directory Watch.
    [    4.247046] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
    [  OK  ] Started Forward Password Requests to Wall Directory Watch.
    [    4.263788] systemd[1]: Expecting device /dev/ttyS2...
             Expecting device /dev/ttyS2...
    [    4.276810] systemd[1]: Reached target Path Units.
    [  OK  ] Reached target Path Units.
    [    4.287666] systemd[1]: Reached target Remote File Systems.
    [  OK  ] Reached target Remote File Systems.
    [    4.301683] systemd[1]: Reached target Slice Units.
    [  OK  ] Reached target Slice Units.
    [    4.314721] systemd[1]: Reached target Swaps.
    [  OK  ] Reached target Swaps.
    [    4.326165] systemd[1]: Listening on RPCbind Server Activation Socket.
    [  OK  ] Listening on RPCbind Server Activation Socket.
    [    4.341706] systemd[1]: Reached target RPC Port Mapper.
    [  OK  ] Reached target RPC Port Mapper.
    [    4.367079] systemd[1]: Listening on Process Core Dump Socket.
    [  OK  ] Listening on Process Core Dump Socket.
    [    4.382115] systemd[1]: Listening on initctl Compatibility Named Pipe.
    [  OK  ] Listening on initctl Compatibility Named Pipe.
    [    4.399218] systemd[1]: Listening on Journal Audit Socket.
    [  OK  ] Listening on Journal Audit Socket.
    [    4.414618] systemd[1]: Listening on Journal Socket (/dev/log).
    [  OK  ] Listening on Journal Socket (/dev/log).
    [    4.430717] systemd[1]: Listening on Journal Socket.
    [  OK  ] Listening on Journal Socket.
    [    4.445839] systemd[1]: Listening on Network Service Netlink Socket.
    [  OK  ] Listening on Network Service Netlink Socket.
    [    4.469930] systemd[1]: Listening on udev Control Socket.
    [  OK  ] Listening on udev Control Socket.
    [    4.484557] systemd[1]: Listening on udev Kernel Socket.
    [  OK  ] Listening on udev Kernel Socket.
    [    4.499596] systemd[1]: Listening on User Database Manager Socket.
    [  OK  ] Listening on User Database Manager Socket.
    [    4.526806] systemd[1]: Mounting Huge Pages File System...
             Mounting Huge Pages File System...
    [    4.549876] systemd[1]: Mounting POSIX Message Queue File System...
             Mounting POSIX Message Queue File System...
             Mounting Kernel Debug File System...
    [    4.572662] systemd[1]: Mounting Kernel Debug File System...
    [    4.588299] systemd[1]: Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing).
    [    4.613910] systemd[1]: Mounting Temporary Directory /tmp...
             Mounting Temporary Directory /tmp...
    [    4.642410] systemd[1]: Starting Create List of Static Device Nodes...
             Starting Create List of Static Device Nodes...
    [    4.672267] systemd[1]: Starting Load Kernel Module configfs...
             Starting Load Kernel Module configfs...
    [    4.699153] systemd[1]: Starting Load Kernel Module drm...
             Starting Load Kernel Module drm...
             Starting Load Kernel Module fuse...
    [    4.723228] systemd[1]: Starting Load Kernel Module fuse...
    [    4.751737] systemd[1]: Starting RPC Bind...
             Starting RPC Bind...
    [    4.763100] systemd[1]: File System Check on Root Device was skipped because of an unmet condition check (ConditionPathIsReadWrite=!/).
    [    4.765739] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
    [    4.765771] systemd[1]: systemd-journald.service: (This warning is only shown for the first unit using IP firewalling.)
    [    4.805922] systemd[1]: Starting Journal Service...
             Starting Journal Service...
    [    4.832684] fuse: init (API version 7.39)
    [    4.837992] systemd[1]: Starting Load Kernel Modules...
             Starting Load Kernel Modules...
    [    4.860809] systemd[1]: Starting Generate network units from Kernel command line...
             Starting Generate network units from Kernel command line...
    [    4.905915] systemd[1]: Starting Remount Root and Kernel File Systems...
             Starting Remount Root and Kernel File Systems...
    [    4.946088] cryptodev: loading out-of-tree module taints kernel.
    [    4.961573] systemd[1]: Starting Coldplug All udev Devices...
    [    4.962685] cryptodev: driver 1.13 loaded.
             Starting Coldplug All udev Devices...
    [    5.005827] systemd-journald[123]: Collecting audit messages is enabled.
    [    5.024369] systemd[1]: Started RPC Bind.
    [  OK  ] Started RPC Bind.
    [    5.035285] systemd[1]: Mounted Huge Pages File System.
    [  OK  ] Mounted Huge Pages File System.
    [    5.053700] EXT4-fs (mmcblk1p2): re-mounted c24eaf39-b51a-4a64-b464-646aef520afa r/w. Quota mode: none.
    [    5.062703] systemd[1]: Mounted POSIX Message Queue File System.
    [  OK  ] Mounted POSIX Message Queue File System.
    [    5.078955] systemd[1]: Mounted Kernel Debug File System.
    [  OK  ] Mounted Kernel Debug File System.
    [    5.096503] systemd[1]: Mounted Temporary Directory /tmp.
    [  OK  ] Mounted Temporary Directory /tmp.
    [    5.113574] systemd[1]: Finished Create List of Static Device Nodes.
    [  OK  ] Finished Create List of Static Device Nodes.
    [    5.134469] systemd[1]: modprobe@configfs.service: Deactivated successfully.
    [    5.136640] systemd[1]: Finished Load Kernel Module configfs.
    [  OK  ] Finished Load Kernel Module configfs.
    [    5.159414] systemd[1]: modprobe@drm.service: Deactivated successfully.
    [    5.162555] systemd[1]: Finished Load Kernel Module drm.
    [  OK  ] Finished Load Kernel Module drm.
    [    5.184466] systemd[1]: modprobe@fuse.service: Deactivated successfully.
    [    5.185713] systemd[1]: Finished Load Kernel Module fuse.
    [  OK  ] Finished Load Kernel Module fuse.
    [    5.208526] systemd[1]: Started Journal Service.
    [  OK  ] Started Journal Service.
    [  OK  ] Finished Load Kernel Modules.
    [  OK  ] Finished Generate network units from Kernel command line.
    [  OK  ] Finished Remount Root and Kernel File Systems.
             Mounting FUSE Control File System...
             Mounting Kernel Configuration File System...
             Starting Flush Journal to Persistent Storage...
             Starting Apply Kernel Variables...
             Starting Create Static Device Nodes in /dev gracefully...
    [  OK  ] Mounted FUSE Control File System.
    [  OK  ] Mounted Kernel Configuration File System.
    [    5.494940] systemd-journald[123]: Received client request to flush runtime journal.
    [  OK  ] Finished Flush Journal to Persistent Storage.
    [  OK  ] Finished Apply Kernel Variables.
    [  OK  ] Finished Create Static Device Nodes in /dev gracefully.
             Starting Create Static Device Nodes in /dev...
    [  OK  ] Finished Create Static Device Nodes in /dev.
    [  OK  ] Reached target Preparation for Local File Systems.
             Mounting /var/volatile...
             Starting Rule-based Manager for Device Events and Files...
    [  OK  ] Mounted /var/volatile.
             Starting Load/Save OS Random Seed...
    [  OK  ] Reached target Local File Systems.
             Starting Create Volatile Files and Directories...
    [  OK  ] Finished Load/Save OS Random Seed.
    [  OK  ] Finished Create Volatile Files and Directories.
    [  OK  ] Started Rule-based Manager for Device Events and Files.
             Starting Network Name Resolution...
             Starting Network Time Synchronization...
             Starting Record System Boot/Shutdown in UTMP...
             Starting User Database Manager...
    [  OK  ] Finished Record System Boot/Shutdown in UTMP.
    [  OK  ] Finished Coldplug All udev Devices.
    [  OK  ] Started User Database Manager.
    [  OK  ] Found device /dev/ttyS2.
    [  OK  ] Started Network Time Synchronization.
    [  OK  ] Started Network Name Resolution.
    [  OK  ] Reached target Host and Network Name Lookups.
    [  OK  ] Reached target System Initialization.
    [  OK  ] Started Timer service to update the IP on OLED each 10s.
    [  OK  ] Started Daily Cleanup of Temporary Directories.
    [  OK  ] Reached target System Time Set.
    [  OK  ] Started Daily rotation of log files.
    [  OK  ] Reached target Timer Units.
    [  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
    [  OK  ] Listening on D-Bus System Message Bus Socket.
             Starting Docker Socket for the API...
    [  OK  ] Listening on dropbear.socket.
    [  OK  ] Listening on PC/SC Smart Card Daemon Activation Socket.
             Starting D-Bus System Message Bus...
             Starting Reboot and dump vmcore via kexec...
    [  OK  ] Listening on Docker Socket for the API.
    [  OK  ] Finished Reboot and dump vmcore via kexec.
    [  OK  ] Started D-Bus System Message Bus.
    [    9.251638] at24 0-0050: supply vcc not found, using dummy regulator
    [    9.312450] at24 0-0050: 131072 byte 24c1024 EEPROM, writable, 1 bytes/write
    [    9.340951] dbus-broker-lau[354]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set
    [    9.534517] k3-m4-rproc 5000000.m4fss: assigned reserved memory node m4f-dma-memory@a4000000
    [    9.544256] k3-m4-rproc 5000000.m4fss: configured M4 for remoteproc mode
    [    9.565488] k3-m4-rproc 5000000.m4fss: local reset is deasserted for device
    [    9.599216] remoteproc remoteproc0: 5000000.m4fss is available
    [    9.604768] davinci_mdio 300b2400.mdio: Configuring MDIO in manual mode
    [    9.626937] remoteproc remoteproc0: powering up 5000000.m4fss
    [    9.627021] remoteproc remoteproc0: Booting fw image am64-mcu-m4f0_0-fw, size 88248
    [    9.628253] platform 78000000.r5f: configured R5F for remoteproc mode
    [    9.628778] platform 78000000.r5f: assigned reserved memory node r5f-dma-memory@a0000000
    [    9.661191] rproc-virtio rproc-virtio.0.auto: assigned reserved memory node m4f-dma-memory@a4000000
    [    9.680624] remoteproc remoteproc1: 78000000.r5f is available
    [    9.687273] remoteproc remoteproc1: powering up 78000000.r5f
    [    9.687377] remoteproc remoteproc1: Booting fw image am64-main-r5f0_0-fw, size 86352
    [    9.711399] davinci_mdio 300b2400.mdio: davinci mdio revision 1.7, bus freq 1000000
    [    9.722386] virtio_rpmsg_bus virtio0: rpmsg host is online
    [    9.722498] rproc-virtio rproc-virtio.0.auto: registered virtio0 (type 7)
    [    9.722509] remoteproc remoteproc0: remote processor 5000000.m4fss is now up
    [    9.722604] virtio_rpmsg_bus virtio0: creating channel ti.ipc4.ping-pong addr 0xd
    [    9.722831] virtio_rpmsg_bus virtio0: creating channel rpmsg_chrdev addr 0xe
    [    9.726590] rproc-virtio rproc-virtio.1.auto: assigned reserved memory node r5f-dma-memory@a0000000
    [    9.727351] platform 78200000.r5f: configured R5F for remoteproc mode
    [    9.732230] platform 78200000.r5f: assigned reserved memory node r5f-dma-memory@a1000000
    [    9.742589] remoteproc remoteproc2: 78200000.r5f is available
    [    9.750665] virtio_rpmsg_bus virtio1: rpmsg host is online
    [    9.750724] rproc-virtio rproc-virtio.1.auto: registered virtio1 (type 7)
    [    9.750735] remoteproc remoteproc1: remote processor 78000000.r5f is now up
    [    9.751006] virtio_rpmsg_bus virtio1: creating channel rpmsg_chrdev addr 0xe
    [    9.757678] remoteproc remoteproc2: powering up 78200000.r5f
    [    9.757709] remoteproc remoteproc2: Booting fw image am64-main-r5f0_1-fw, size 141772
    [    9.775471] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node r5f-dma-memory@a1000000
    [    9.778939] virtio_rpmsg_bus virtio2: rpmsg host is online
    [    9.778999] rproc-virtio rproc-virtio.2.auto: registered virtio2 (type 7)
    [    9.779010] remoteproc remoteproc2: remote processor 78200000.r5f is now up
    [    9.779178] virtio_rpmsg_bus virtio2: creating channel rpmsg_chrdev addr 0xe
    [    9.816044] platform 78400000.r5f: configured R5F for remoteproc mode
    [    9.816833] platform 78400000.r5f: assigned reserved memory node r5f-dma-memory@a2000000
    [    9.824621] remoteproc remoteproc3: 78400000.r5f is available
    [    9.850589] davinci_mdio 300b2400.mdio: phy[15]: device 300b2400.mdio:0f, driver TI DP83869
    [    9.901030] remoteproc remoteproc3: powering up 78400000.r5f
    [    9.901120] remoteproc remoteproc3: Booting fw image am64-main-r5f1_0-fw, size 93260
    [    9.910665] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node r5f-dma-memory@a2000000
    [    9.912767] virtio_rpmsg_bus virtio3: rpmsg host is online
    [    9.912824] rproc-virtio rproc-virtio.3.auto: registered virtio3 (type 7)
    [    9.912834] remoteproc remoteproc3: remote processor 78400000.r5f is now up
    [    9.912843] virtio_rpmsg_bus virtio3: creating channel rpmsg_chrdev addr 0xe
    [    9.912897] platform 78600000.r5f: configured R5F for remoteproc mode
    [    9.913667] platform 78600000.r5f: assigned reserved memory node r5f-dma-memory@a3000000
    [    9.915491] remoteproc remoteproc4: 78600000.r5f is available
    [    9.931108] remoteproc remoteproc4: powering up 78600000.r5f
    [    9.931141] remoteproc remoteproc4: Booting fw image am64-main-r5f1_1-fw, size 91520
    [    9.943516] rproc-virtio rproc-virtio.4.auto: assigned reserved memory node r5f-dma-memory@a3000000
    [    9.951534] virtio_rpmsg_bus virtio4: rpmsg host is online
    [    9.951605] rproc-virtio rproc-virtio.4.auto: registered virtio4 (type 7)
    [    9.951615] remoteproc remoteproc4: remote processor 78600000.r5f is now up
    [    9.951943] virtio_rpmsg_bus virtio4: creating channel rpmsg_chrdev addr 0xe
    [  OK  ] Reached target Socket Units.
    [  OK  ] Reached target Basic System.
    [  OK  ] Started Job spooling tools.
             Starting Avahi mDNS/DNS-SD Stack...
    [  OK  ] Started Periodic Command Scheduler.
             Starting Print notice about GPLv3 packages...
    [   10.346738] remoteproc remoteproc5: 3000a000.txpru is available
    [   10.361029] remoteproc remoteproc6: 3000c000.txpru is available
    [   10.370513] remoteproc remoteproc7: 3008a000.txpru is available
    [   10.375450] remoteproc remoteproc8: 3008c000.txpru is available
    [   10.400863] gpio-mux mux-controller: 2-way mux-controller registered
             Starting IPv6 Packet Filtering Framework...
             Starting IPv4 Packet Filtering Framework...
    [  OK  ] Started irqbalance daemon.
             Starting Telephony service...
             Starting Expand the rootfs partiti…to full size of the boot device....
             Starting User Login Management...
             Starting Telnet Server...
    [  OK  ] Finished IPv6 Packet Filtering Framework.
    [  OK  ] Finished IPv4 Packet Filtering Framework.
    [  OK  ] Finished Telnet Server.
    [  OK  ] Started Telephony service.
    [  OK  ] Reached target Preparation for Network.
    [   11.333293] Bluetooth: Core ver 2.22
    [   11.342640] NET: Registered PF_BLUETOOTH protocol family
    [   11.342656] Bluetooth: HCI device and connection manager initialized
    [   11.342683] Bluetooth: HCI socket layer initialized
    [   11.342695] Bluetooth: L2CAP socket layer initialized
    [   11.342718] Bluetooth: SCO socket layer initialized
             Starting Network Configuration...
    [  OK  ] Started Avahi mDNS/DNS-SD Stack.
    [   11.527214] remoteproc remoteproc9: 30038000.pru is available
    [   11.533449] remoteproc remoteproc10: 30006000.rtu is available
    [   11.591996] remoteproc remoteproc11: 300b8000.pru is available
    [   11.600391] remoteproc remoteproc12: 30086000.rtu is available
    [   11.611509] remoteproc remoteproc13: 30034000.pru is available
             Starting Virtual Console Setup...
    [   11.631435] remoteproc remoteproc14: 300b4000.pru is available
    [   11.645516] remoteproc remoteproc15: 30084000.rtu is available
    [   11.661955] remoteproc remoteproc16: 30004000.rtu is available
    [   11.728247] TI DP83869 300b2400.mdio:0f: attached PHY driver (mii_bus:phy_addr=300b2400.mdio:0f, irq=POLL)
    [   11.734370] icssg-prueth icssg1-eth: TI PRU ethernet driver initialized: single EMAC mode
    [  OK  ] Finished Expand the rootfs partition to full size of the boot device..
    [  OK  ] Created slice Slice /system/systemd-fsck.
             Expecting device /dev/mmcblk1p1...
    [  OK  ] Started User Login Management.
    [  OK  ] Finished Virtual Console Setup.
    [   12.591622] cfg80211: Loading compiled-in X.509 certificates for regulatory database
    [  OK  ] Found device /dev/mmcblk1p1.
    [  OK  ] Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.
             Starting File System Check on /dev/mmcblk1p1...
    [   12.741729] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
    [   12.755985] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
    [  OK  ] Started Network Configuration.
    [  OK  ] Reached target Network.
             Starting Enable and configure wl18xx bluetooth stack...
    [   13.031218] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL)
    [   13.031711] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode
    [   13.081760] am65-cpsw-nuss 8000000.ethernet eth1: PHY [mdio_mux-0.1:03] driver [TI DP83869] (irq=POLL)
    [   13.091851] am65-cpsw-nuss 8000000.ethernet eth1: configuring for phy/rgmii-rxid link mode
             Starting containerd container runtime...
    [  OK  ] Started Netperf Benchmark Server.
    [   13.164418] remoteproc remoteproc14: powering up 300b4000.pru
    [   13.168932] remoteproc remoteproc14: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, size 39464
    [   13.168979] remoteproc remoteproc14: unsupported resource 5
    [   13.169009] remoteproc remoteproc14: remote processor 300b4000.pru is now up
    [   13.169057] remoteproc remoteproc15: powering up 30084000.rtu
    [   13.177553] remoteproc remoteproc15: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 31140
    [   13.177617] remoteproc remoteproc15: remote processor 30084000.rtu is now up
    [   13.177659] remoteproc remoteproc7: powering up 3008a000.txpru
    [   13.183438] remoteproc remoteproc7: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 39068
    [   13.183505] remoteproc remoteproc7: remote processor 3008a000.txpru is now up
    [   13.185233] pps pps1: new PPS source ptp2
             Starting Simple Network Management Protocol (SNMP) Daemon....
             Starting Wait for Network to be Configured...
             Starting Permit User Sessions...
    [  OK  ] Finished File System Check on /dev/mmcblk1p1.
    [  OK  ] Finished Enable and configure wl18xx bluetooth stack.
    [  OK  ] Finished Permit User Sessions.
             Mounting /run/media/boot-mmcblk1p1...
    [  OK  ] Started Getty on tty1.
    [  OK  ] Started Serial Getty on ttyS2.
    [  OK  ] Reached target Login Prompts.
             Starting Synchronize System and HW clocks...
    [FAILED] Failed to start Synchronize System and HW clocks.
    See 'systemctl status sync-clocks.service' for details.
    [  OK  ] Mounted /run/media/boot-mmcblk1p1.
    [  OK  ] Started Simple Network Management Protocol (SNMP) Daemon..
    [  OK  ] Started containerd container runtime.
    ***************************************************************
    ***************************************************************
    NOTICE: This file system contains the following GPL-3.0 packages:
            adwaita-icon-theme-symbolic
            autoconf
            bash-dev
            bash
            bc
            binutils
            cifs-utils
            coreutils-stdbuf
            coreutils
            cpio
            cpp-symlinks
            cpp
            dosfstools
            elfutils
            findutils
            g++-symlinks
            g++
            gawk
            gcc-symlinks
            gcc
            gdb
            gdbserver
            gettext
            glmark2
            gnu-config
            grub-common
            grub-editenv
            grub-efi
            gzip
            hidapi
            kbd-dev
            kbd-keymaps-pine
            less
            libasm1
            libatomic-dev
            libatomic1
            libbfd
            libdebuginfod1
            libdw1
            libelf1
            libgcc-s-dev
            libgcc1
            libgdbm-compat4
            libgdbm-dev
            libgdbm6
            libgettextlib
            libgettextsrc
            libgmp10
            libidn2-0
            libmpc3
            libmpfr6
            libopcodes
            libqt5charts-examples
            libqt5charts-plugins
            libqt5charts-qmlplugins
            libqt5charts5
            libqt5serialport-examples
            libqt5serialport-plugins
            libqt5serialport-qmlplugins
            libqt5serialport5
            libqt5svg-examples
            libqt5svg-plugins
            libqt5svg-qmlplugins
            libqt5svg5
            libqt5virtualkeyboard-plugins
            libqt5virtualkeyboard-qmlplugins
            libqt5virtualkeyboard5
            libreadline-dev
            libreadline8
            libstdc++-dev
            libstdc++6
            libunistring5
            m4
            make
            nettle
            parted
            piglit
            qt3d-plugins
            qt3d-qmlplugins
            qt3d
            qtbase-examples
            qtbase-plugins
            qtbase-qmlplugins
            qtbase
            qtconnectivity-plugins
            qtconnectivity-qmlplugins
            qtconnectivity
            qtdeclarative-plugins
            qtdeclarative-qmlplugins
            qtdeclarative-tools
            qtdeclarative
            qtgraphicaleffects-qmlplugins
            qtlocation-examples
            qtlocation-plugins
            qtlocation-qmlplugins
            qtlocation
            qtmultimedia-examples
            qtmultimedia-plugins
            qtmultimedia-qmlplugins
            qtmultimedia
            qtquics-qmlplugins.control
            qtquics2-plugins.control
            qtquics2-qmlplugins.control
            qtquics2.control
            qtscript-examples
            qtscript-plugins
            qtscript-qmlplugins
            qtscript
            qtwayland-examples
            qtwayland-plugins
            qtwayland-qmlplugins
            qtwayland
            tar
            which
    
    If you do not wish to distribute GPL-3.0 components please remove
    the above packages prior to distribution.  This can be done using
    the opkg remove command.  i.e.:
        opkg remove <package>
    Where <package> is the name printed in the list above
    
    NOTE: If the package is a dependency of another package you
          will be notified of the dependent packages.  You should
          use the --force-removal-of-dependent-packages option to
          also remove the dependent packages as well
    ***************************************************************
    ***************************************************************
    [  OK  ] Finished Print notice about GPLv3 packages.
    [   17.126510] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    
     _____                    _____           _         _
    |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
    |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
    |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
                  |___|                    |___|
    
    Arago Project am64xx-evm ttyS2
    
    Arago 2023.10 am64xx-evm ttyS2
    
    am64xx-evm login: root
    [   32.880475] audit: type=1006 audit(1733384256.029:2): pid=929 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=1 res=1
    [   32.880612] audit: type=1300 audit(1733384256.029:2): arch=c00000b7 syscall=64 success=yes exit=1 a0=8 a1=ffffccd74578 a2=1 a3=1 items=0 ppid=1 pid=929 auid=0 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=1 comm="(systemd)" exe="/usr/lib/systemd/systemd-executor" key=(null)
    [   32.880682] audit: type=1327 audit(1733384256.029:2): proctitle="(systemd)"
    root@am64xx-evm:~# dmesg | grep ptp
    [    1.642210] pps pps0: new PPS source ptp0
    [   13.185233] pps pps1: new PPS source ptp2

    I tried with the SD card delivered with the TMDS64EVM (Linux 6.1.33-g40c32565ca) and I got the same result:

    [FAILED] Failed to start Synchronize System and HW clocks.

    I tried it on 2 separate boards (both TMDS64EVM).

    In order to get my PPS signal on header J12, I modified the dts file:

    // SPDX-License-Identifier: GPL-2.0
    /*
     * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
     */
    
    /dts-v1/;
    
    #include <dt-bindings/phy/phy.h>
    #include <dt-bindings/leds/common.h>
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/net/ti-dp83867.h>
    #include "k3-am642.dtsi"
    
    #include "k3-serdes.h"
    
    / {
    	compatible = "ti,am642-evm", "ti,am642";
    	model = "Texas Instruments AM642 EVM";
    
    	chosen {
    		stdout-path = &main_uart0;
    	};
    
    	aliases {
    		serial0 = &mcu_uart0;
    		serial1 = &main_uart1;
    		serial2 = &main_uart0;
    		serial3 = &main_uart3;
    		i2c0 = &main_i2c0;
    		i2c1 = &main_i2c1;
    		mmc0 = &sdhci0;
    		mmc1 = &sdhci1;
    		ethernet0 = &cpsw_port1;
    		ethernet1 = &cpsw_port2;
    		ethernet2 = &icssg1_emac0;
    	};
    
    	memory@80000000 {
    		bootph-all;
    		device_type = "memory";
    		/* 2G RAM */
    		reg = <0x00000000 0x80000000 0x00000000 0x80000000>;
    	};
    
    	reserved-memory {
    		#address-cells = <2>;
    		#size-cells = <2>;
    		ranges;
    
    		secure_ddr: optee@9e800000 {
    			reg = <0x00 0x9e800000 0x00 0x01800000>; /* for OP-TEE */
    			alignment = <0x1000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_dma_memory_region: r5f-dma-memory@a0000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core0_memory_region: r5f-memory@a0100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa0100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_dma_memory_region: r5f-dma-memory@a1000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss0_core1_memory_region: r5f-memory@a1100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa1100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_dma_memory_region: r5f-dma-memory@a2000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core0_memory_region: r5f-memory@a2100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa2100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_dma_memory_region: r5f-dma-memory@a3000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3000000 0x00 0x100000>;
    			no-map;
    		};
    
    		main_r5fss1_core1_memory_region: r5f-memory@a3100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa3100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		mcu_m4fss_dma_memory_region: m4f-dma-memory@a4000000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4000000 0x00 0x100000>;
    			no-map;
    		};
    
    		mcu_m4fss_memory_region: m4f-memory@a4100000 {
    			compatible = "shared-dma-pool";
    			reg = <0x00 0xa4100000 0x00 0xf00000>;
    			no-map;
    		};
    
    		rtos_ipc_memory_region: ipc-memories@a5000000 {
    			reg = <0x00 0xa5000000 0x00 0x00800000>;
    			alignment = <0x1000>;
    			no-map;
    		};
    	};
    
    	evm_12v0: regulator-0 {
    		/* main DC jack */
    		bootph-all;
    		compatible = "regulator-fixed";
    		regulator-name = "evm_12v0";
    		regulator-min-microvolt = <12000000>;
    		regulator-max-microvolt = <12000000>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vsys_5v0: regulator-1 {
    		/* output of LM5140 */
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_5v0";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		vin-supply = <&evm_12v0>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vsys_3v3: regulator-2 {
    		/* output of LM5140 */
    		bootph-all;
    		compatible = "regulator-fixed";
    		regulator-name = "vsys_3v3";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		vin-supply = <&evm_12v0>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vdd_mmc1: regulator-3 {
    		/* TPS2051BD */
    		bootph-all;
    		compatible = "regulator-fixed";
    		regulator-name = "vdd_mmc1";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		regulator-boot-on;
    		enable-active-high;
    		vin-supply = <&vsys_3v3>;
    		gpio = <&exp1 6 GPIO_ACTIVE_HIGH>;
    	};
    
    	vddb: regulator-4 {
    		compatible = "regulator-fixed";
    		regulator-name = "vddb_3v3_display";
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		vin-supply = <&vsys_3v3>;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	vtt_supply: regulator-5 {
    		bootph-all;
    		compatible = "regulator-fixed";
    		regulator-name = "vtt";
    		pinctrl-names = "default";
    		pinctrl-0 = <&ddr_vtt_pins_default>;
    		regulator-min-microvolt = <3300000>;
    		regulator-max-microvolt = <3300000>;
    		gpio = <&main_gpio0 12 GPIO_ACTIVE_HIGH>;
    		vin-supply = <&vsys_3v3>;
    		enable-active-high;
    		regulator-always-on;
    		regulator-boot-on;
    	};
    
    	leds {
    		compatible = "gpio-leds";
    
    		led-0 {
    			label = "am64-evm:red:heartbeat";
    			gpios = <&exp1 16 GPIO_ACTIVE_HIGH>;
    			linux,default-trigger = "heartbeat";
    			function = LED_FUNCTION_HEARTBEAT;
    			default-state = "off";
    		};
    	};
    
    	mdio_mux: mux-controller {
    		compatible = "gpio-mux";
    		#mux-control-cells = <0>;
    
    		mux-gpios = <&exp1 12 GPIO_ACTIVE_HIGH>;
    	};
    
    	mdio_mux_1: mdio-mux-1 {
    		compatible = "mdio-mux-multiplexer";
    		mux-controls = <&mdio_mux>;
    		mdio-parent-bus = <&cpsw3g_mdio>;
    		#address-cells = <1>;
    		#size-cells = <0>;
    
    		mdio@1 {
    			reg = <0x1>;
    			#address-cells = <1>;
    			#size-cells = <0>;
    
    			cpsw3g_phy3: ethernet-phy@3 {
    				reg = <3>;
    			};
    		};
    	};
    
    	transceiver1: can-phy0 {
    		compatible = "ti,tcan1042";
    		#phy-cells = <0>;
    		max-bitrate = <5000000>;
    		standby-gpios = <&exp1 8 GPIO_ACTIVE_HIGH>;
    	};
    
    	transceiver2: can-phy1 {
    		compatible = "ti,tcan1042";
    		#phy-cells = <0>;
    		max-bitrate = <5000000>;
    		standby-gpios = <&exp1 9 GPIO_ACTIVE_HIGH>;
    	};
    
    	icssg1_eth: icssg1-eth {
    		compatible = "ti,am642-icssg-prueth";
    		pinctrl-names = "default";
    		pinctrl-0 = <&icssg1_rgmii1_pins_default>;
    		sram = <&oc_sram>;
    		ti,prus = <&pru1_0>, <&rtu1_0>, <&tx_pru1_0>, <&pru1_1>, <&rtu1_1>, <&tx_pru1_1>;
    		firmware-name = "ti-pruss/am64x-sr2-pru0-prueth-fw.elf",
    				"ti-pruss/am64x-sr2-rtu0-prueth-fw.elf",
    				"ti-pruss/am64x-sr2-txpru0-prueth-fw.elf",
    				"ti-pruss/am64x-sr2-pru1-prueth-fw.elf",
    				"ti-pruss/am64x-sr2-rtu1-prueth-fw.elf",
    				"ti-pruss/am64x-sr2-txpru1-prueth-fw.elf";
    
    		ti,pruss-gp-mux-sel = <2>,	/* MII mode */
    				      <2>,
    				      <2>,
    				      <2>,	/* MII mode */
    				      <2>,
    				      <2>;
    		ti,mii-g-rt = <&icssg1_mii_g_rt>;
    		ti,mii-rt = <&icssg1_mii_rt>;
    		ti,iep = <&icssg1_iep0>,  <&icssg1_iep1>;
    		ti,pa-stats = <&icssg1_pa_stats>;
    		interrupt-parent = <&icssg1_intc>;
    		interrupts = <24 0 2>, <25 1 3>;
    		interrupt-names = "tx_ts0", "tx_ts1";
    		dmas = <&main_pktdma 0xc200 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc201 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc202 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc203 15>, /* egress slice 0 */
    		       <&main_pktdma 0xc204 15>, /* egress slice 1 */
    		       <&main_pktdma 0xc205 15>, /* egress slice 1 */
    		       <&main_pktdma 0xc206 15>, /* egress slice 1 */
    		       <&main_pktdma 0xc207 15>, /* egress slice 1 */
    		       <&main_pktdma 0x4200 15>, /* ingress slice 0 */
    		       <&main_pktdma 0x4201 15>; /* ingress slice 1 */
    		dma-names = "tx0-0", "tx0-1", "tx0-2", "tx0-3",
    			    "tx1-0", "tx1-1", "tx1-2", "tx1-3",
    			    "rx0", "rx1";
    
    		ethernet-ports {
    			#address-cells = <1>;
    			#size-cells = <0>;
    			icssg1_emac0: port@0 {
    				reg = <0>;
    				phy-handle = <&icssg1_phy1>;
    				phy-mode = "rgmii-id";
    				/* Filled in by bootloader */
    				local-mac-address = [00 00 00 00 00 00];
    			};
    			icssg1_emac1: port@1 {
    				reg = <1>;
    				/* Filled in by bootloader */
    				local-mac-address = [00 00 00 00 00 00];
    				status = "disabled";
    			};
    		};
    	};
    };
    
    &main_pmx0 {
    	main_mmc1_pins_default: main-mmc1-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0294, PIN_INPUT_PULLUP, 0) /* (J19) MMC1_CMD */
    			AM64X_IOPAD(0x028c, PIN_INPUT_PULLDOWN, 0) /* (L20) MMC1_CLK */
    			AM64X_IOPAD(0x0288, PIN_INPUT_PULLUP, 0) /* (K21) MMC1_DAT0 */
    			AM64X_IOPAD(0x0284, PIN_INPUT_PULLUP, 0) /* (L21) MMC1_DAT1 */
    			AM64X_IOPAD(0x0280, PIN_INPUT_PULLUP, 0) /* (K19) MMC1_DAT2 */
    			AM64X_IOPAD(0x027c, PIN_INPUT_PULLUP, 0) /* (K18) MMC1_DAT3 */
    			AM64X_IOPAD(0x0298, PIN_INPUT_PULLUP, 0) /* (D19) MMC1_SDCD */
    			AM64X_IOPAD(0x029c, PIN_INPUT, 0) /* (C20) MMC1_SDWP */
    			AM64X_IOPAD(0x0290, PIN_INPUT, 0) /* MMC1_CLKLB */
    		>;
    	};
    
    	main_uart1_pins_default: main-uart1-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0248, PIN_INPUT, 0)		/* (D16) UART1_CTSn */
    			AM64X_IOPAD(0x024c, PIN_OUTPUT, 0)		/* (E16) UART1_RTSn */
    			AM64X_IOPAD(0x0240, PIN_INPUT, 0)		/* (E15) UART1_RXD */
    			AM64X_IOPAD(0x0244, PIN_OUTPUT, 0)		/* (E14) UART1_TXD */
    		>;
    	};
    
    	main_uart0_pins_default: main-uart0-default-pins {
    		bootph-all;
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0238, PIN_INPUT, 0) /* (B16) UART0_CTSn */
    			AM64X_IOPAD(0x023c, PIN_OUTPUT, 0) /* (A16) UART0_RTSn */
    			AM64X_IOPAD(0x0230, PIN_INPUT, 0) /* (D15) UART0_RXD */
    			AM64X_IOPAD(0x0234, PIN_OUTPUT, 0) /* (C16) UART0_TXD */
    		>;
    	};
    
    	main_spi0_pins_default: main-spi0-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0210, PIN_INPUT, 0) /* (D13) SPI0_CLK */
    			AM64X_IOPAD(0x0208, PIN_OUTPUT, 0) /* (D12) SPI0_CS0 */
    			AM64X_IOPAD(0x0214, PIN_OUTPUT, 0) /* (A13) SPI0_D0 */
    			AM64X_IOPAD(0x0218, PIN_INPUT, 0) /* (A14) SPI0_D1 */
    		>;
    	};
    
    	main_i2c0_pins_default: main-i2c0-default-pins {
    		bootph-all;
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0260, PIN_INPUT_PULLUP, 0) /* (A18) I2C0_SCL */
    			AM64X_IOPAD(0x0264, PIN_INPUT_PULLUP, 0) /* (B18) I2C0_SDA */
    		>;
    	};
    
    	main_i2c1_pins_default: main-i2c1-default-pins {
    		bootph-all;
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0268, PIN_INPUT_PULLUP, 0) /* (C18) I2C1_SCL */
    			AM64X_IOPAD(0x026c, PIN_INPUT_PULLUP, 0) /* (B19) I2C1_SDA */
    		>;
    	};
    
    	mdio1_pins_default: mdio1-default-pins {
    		bootph-all;
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x01fc, PIN_OUTPUT, 4) /* (R2) PRG0_PRU1_GPO19.MDIO0_MDC */
    			AM64X_IOPAD(0x01f8, PIN_INPUT, 4) /* (P5) PRG0_PRU1_GPO18.MDIO0_MDIO */
    		>;
    	};
    
    	rgmii1_pins_default: rgmii1-default-pins {
    		bootph-all;
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x01cc, PIN_INPUT, 4) /* (W5) PRG0_PRU1_GPO7.RGMII1_RD0 */
    			AM64X_IOPAD(0x01d4, PIN_INPUT, 4) /* (Y5) PRG0_PRU1_GPO9.RGMII1_RD1 */
    			AM64X_IOPAD(0x01d8, PIN_INPUT, 4) /* (V6) PRG0_PRU1_GPO10.RGMII1_RD2 */
    			AM64X_IOPAD(0x01f4, PIN_INPUT, 4) /* (V5) PRG0_PRU1_GPO17.RGMII1_RD3 */
    			AM64X_IOPAD(0x0188, PIN_INPUT, 4) /* (AA5) PRG0_PRU0_GPO10.RGMII1_RXC */
    			AM64X_IOPAD(0x0184, PIN_INPUT, 4) /* (W6) PRG0_PRU0_GPO9.RGMII1_RX_CTL */
    			AM64X_IOPAD(0x0124, PIN_OUTPUT, 4) /* (V15) PRG1_PRU1_GPO7.RGMII1_TD0 */
    			AM64X_IOPAD(0x012c, PIN_OUTPUT, 4) /* (V14) PRG1_PRU1_GPO9.RGMII1_TD1 */
    			AM64X_IOPAD(0x0130, PIN_OUTPUT, 4) /* (W14) PRG1_PRU1_GPO10.RGMII1_TD2 */
    			AM64X_IOPAD(0x014c, PIN_OUTPUT, 4) /* (AA14) PRG1_PRU1_GPO17.RGMII1_TD3 */
    			AM64X_IOPAD(0x00e0, PIN_OUTPUT, 4) /* (U14) PRG1_PRU0_GPO10.RGMII1_TXC */
    			AM64X_IOPAD(0x00dc, PIN_OUTPUT, 4) /* (U15) PRG1_PRU0_GPO9.RGMII1_TX_CTL */
    		>;
    	};
    
           rgmii2_pins_default: rgmii2-default-pins {
    		bootph-all;
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0108, PIN_INPUT, 4) /* (W11) PRG1_PRU1_GPO0.RGMII2_RD0 */
    			AM64X_IOPAD(0x010c, PIN_INPUT, 4) /* (V11) PRG1_PRU1_GPO1.RGMII2_RD1 */
    			AM64X_IOPAD(0x0110, PIN_INPUT, 4) /* (AA12) PRG1_PRU1_GPO2.RGMII2_RD2 */
    			AM64X_IOPAD(0x0114, PIN_INPUT, 4) /* (Y12) PRG1_PRU1_GPO3.RGMII2_RD3 */
    			AM64X_IOPAD(0x0120, PIN_INPUT, 4) /* (U11) PRG1_PRU1_GPO6.RGMII2_RXC */
    			AM64X_IOPAD(0x0118, PIN_INPUT, 4) /* (W12) PRG1_PRU1_GPO4.RGMII2_RX_CTL */
    			AM64X_IOPAD(0x0134, PIN_OUTPUT, 4) /* (AA10) PRG1_PRU1_GPO11.RGMII2_TD0 */
    			AM64X_IOPAD(0x0138, PIN_OUTPUT, 4) /* (V10) PRG1_PRU1_GPO12.RGMII2_TD1 */
    			AM64X_IOPAD(0x013c, PIN_OUTPUT, 4) /* (U10) PRG1_PRU1_GPO13.RGMII2_TD2 */
    			AM64X_IOPAD(0x0140, PIN_OUTPUT, 4) /* (AA11) PRG1_PRU1_GPO14.RGMII2_TD3 */
    			AM64X_IOPAD(0x0148, PIN_OUTPUT, 4) /* (Y10) PRG1_PRU1_GPO16.RGMII2_TXC */
    			AM64X_IOPAD(0x0144, PIN_OUTPUT, 4) /* (Y11) PRG1_PRU1_GPO15.RGMII2_TX_CTL */
    		>;
    	};
    
    	main_usb0_pins_default: main-usb0-default-pins {
    		bootph-all;
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (E19) USB0_DRVVBUS */
    		>;
    	};
    
    	ospi0_pins_default: ospi0-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0000, PIN_OUTPUT, 0) /* (N20) OSPI0_CLK */
    			AM64X_IOPAD(0x002c, PIN_OUTPUT, 0) /* (L19) OSPI0_CSn0 */
    			AM64X_IOPAD(0x000c, PIN_INPUT, 0) /* (M19) OSPI0_D0 */
    			AM64X_IOPAD(0x0010, PIN_INPUT, 0) /* (M18) OSPI0_D1 */
    			AM64X_IOPAD(0x0014, PIN_INPUT, 0) /* (M20) OSPI0_D2 */
    			AM64X_IOPAD(0x0018, PIN_INPUT, 0) /* (M21) OSPI0_D3 */
    			AM64X_IOPAD(0x001c, PIN_INPUT, 0) /* (P21) OSPI0_D4 */
    			AM64X_IOPAD(0x0020, PIN_INPUT, 0) /* (P20) OSPI0_D5 */
    			AM64X_IOPAD(0x0024, PIN_INPUT, 0) /* (N18) OSPI0_D6 */
    			AM64X_IOPAD(0x0028, PIN_INPUT, 0) /* (M17) OSPI0_D7 */
    			AM64X_IOPAD(0x0008, PIN_INPUT, 0) /* (N19) OSPI0_DQS */
    		>;
    	};
    
    	//main_ecap0_pins_default: main-ecap0-default-pins {
    	//	pinctrl-single,pins = <
    	//		AM64X_IOPAD(0x0270, PIN_INPUT, 0) /* (D18) ECAP0_IN_APWM_OUT */
    	//	>;
    	//};
    
    	main_mcan0_pins_default: main-mcan0-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0254, PIN_INPUT, 0) /* (B17) MCAN0_RX */
    			AM64X_IOPAD(0x0250, PIN_OUTPUT, 0) /* (A17) MCAN0_TX */
    		>;
    	};
    
    	main_mcan1_pins_default: main-mcan1-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x025c, PIN_INPUT, 0) /* (D17) MCAN1_RX */
    			AM64X_IOPAD(0x0258, PIN_OUTPUT, 0) /* (C17) MCAN1_TX */
    		>;
    	};
    	
    	ddr_vtt_pins_default: ddr-vtt-default-pins {
    		bootph-all;
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0030, PIN_OUTPUT_PULLUP, 7) /* (L18) OSPI0_CSN1.GPIO0_12 */
    		>;
    	};
    
    	icssg1_mdio1_pins_default: icssg1-mdio1-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x015c, PIN_OUTPUT, 0) /* (Y6) PRG1_MDIO0_MDC */
    			AM64X_IOPAD(0x0158, PIN_INPUT, 0) /* (AA6) PRG1_MDIO0_MDIO */
    		>;
    	};
    
    	icssg1_rgmii1_pins_default: icssg1-rgmii1-default-pins{
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x00b8, PIN_INPUT, 2) /* (Y7) PRG1_PRU0_GPO0.PRG1_RGMII1_RD0 */
    			AM64X_IOPAD(0x00bc, PIN_INPUT, 2) /* (U8) PRG1_PRU0_GPO1.PRG1_RGMII1_RD1 */
    			AM64X_IOPAD(0x00c0, PIN_INPUT, 2) /* (W8) PRG1_PRU0_GPO2.PRG1_RGMII1_RD2 */
    			AM64X_IOPAD(0x00c4, PIN_INPUT, 2) /* (V8) PRG1_PRU0_GPO3.PRG1_RGMII1_RD3 */
    			AM64X_IOPAD(0x00d0, PIN_INPUT, 2) /* (AA7) PRG1_PRU0_GPO6.PRG1_RGMII1_RXC */
    			AM64X_IOPAD(0x00c8, PIN_INPUT, 2) /* (Y8) PRG1_PRU0_GPO4.PRG1_RGMII1_RX_CTL */
    			AM64X_IOPAD(0x00e4, PIN_INPUT, 2) /* (AA8) PRG1_PRU0_GPO11.PRG1_RGMII1_TD0 */
    			AM64X_IOPAD(0x00e8, PIN_INPUT, 2) /* (U9) PRG1_PRU0_GPO12.PRG1_RGMII1_TD1 */
    			AM64X_IOPAD(0x00ec, PIN_INPUT, 2) /* (W9) PRG1_PRU0_GPO13.PRG1_RGMII1_TD2 */
    			AM64X_IOPAD(0x00f0, PIN_INPUT, 2) /* (AA9) PRG1_PRU0_GPO14.PRG1_RGMII1_TD3 */
    			AM64X_IOPAD(0x00f8, PIN_INPUT, 2) /* (V9) PRG1_PRU0_GPO16.PRG1_RGMII1_TXC */
    			AM64X_IOPAD(0x00f4, PIN_INPUT, 2) /* (Y9) PRG1_PRU0_GPO15.PRG1_RGMII1_TX_CTL */
    		>;
    	};
    
    	icssg1_iep0_pins_default: icssg1-iep0-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0104, PIN_OUTPUT, 2) /* (W7) PRG1_PRU0_GPO19.PRG1_IEP0_EDC_SYNC_OUT0 */
    			AM64X_IOPAD(0x0270, PIN_OUTPUT, 1) /* (D18) ECAP0_IN_APWM_OUT.SYNCOUT */
    		>;
    	};
    	
    	mygpio2_pins_default: mygpio2-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0164, PIN_INPUT, 7) /* (R4) PRG0_PRU0_GPO1.GPIO1_1 */
    			AM64X_IOPAD(0x0174, PIN_INPUT, 7) /* (R3) PRG0_PRU0_GPO5.GPIO1_5 */
    			AM64X_IOPAD(0x0178, PIN_INPUT, 7) /* (T3) PRG0_PRU0_GPO6.GPIO1_6 */
    			AM64X_IOPAD(0x019c, PIN_INPUT, 7) /* (T5) PRG0_PRU0_GPO15.GPIO1_15 */
    			AM64X_IOPAD(0x01b0, PIN_INPUT, 7) /* (Y2) PRG0_PRU1_GPO0.GPIO1_20 */
    			AM64X_IOPAD(0x01b8, PIN_INPUT, 7) /* (V3) PRG0_PRU1_GPO2.GPIO1_22 */
    			AM64X_IOPAD(0x01c4, PIN_INPUT, 7) /* (P4) PRG0_PRU1_GPO5.GPIO1_25 */
    			AM64X_IOPAD(0x01c8, PIN_INPUT, 7) /* (R5) PRG0_PRU1_GPO6.GPIO1_26 */
    			AM64X_IOPAD(0x01dc, PIN_INPUT, 7) /* (W4) PRG0_PRU1_GPO11.GPIO1_31 */
    			AM64X_IOPAD(0x0220, PIN_INPUT, 7) /* (D14) SPI1_CS1.GPIO1_48 */
    			AM64X_IOPAD(0x0254, PIN_INPUT, 7) /* (B17) MCAN0_RX.GPIO1_61 */
    			AM64X_IOPAD(0x0258, PIN_INPUT, 7) /* (C17) MCAN1_TX.GPIO1_62 */
    			AM64X_IOPAD(0x0278, PIN_INPUT, 7) /* (C19) EXTINTn.GPIO1_70 */
    		>;
    	};
    	
    	mygpio1_pins_default: mygpio1-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0034, PIN_INPUT, 7) /* (K17) OSPI0_CSn2.GPIO0_13 */
    			AM64X_IOPAD(0x0150, PIN_INPUT, 7) /* (Y13) PRG1_PRU1_GPO18.GPIO0_20 */
    			AM64X_IOPAD(0x00d8, PIN_INPUT, 7) /* (W13) PRG1_PRU0_GPO8.GPIO0_53 */
    			AM64X_IOPAD(0x0128, PIN_INPUT, 7) /* (U12) PRG1_PRU1_GPO8.GPIO0_73 */
    		>;
    	};
    	
    	mygpmc1_pins_default: mygpmc1-default-pins {
    		pinctrl-single,pins = <
    			AM64X_IOPAD(0x0168, PIN_OUTPUT, 9) /* (U2) PRG0_PRU0_GPO2.GPMC0_A0 */
    			AM64X_IOPAD(0x0170, PIN_OUTPUT, 9) /* (AA2) PRG0_PRU0_GPO4.GPMC0_A1 */
    			AM64X_IOPAD(0x01ec, PIN_OUTPUT, 9) /* (U5) PRG0_PRU1_GPO15.GPMC0_A10 */
    			AM64X_IOPAD(0x01f0, PIN_OUTPUT, 9) /* (AA4) PRG0_PRU1_GPO16.GPMC0_A11 */
    			AM64X_IOPAD(0x0200, PIN_OUTPUT, 9) /* (P2) PRG0_MDIO0_MDIO.GPMC0_A12 */
    			AM64X_IOPAD(0x0204, PIN_OUTPUT, 9) /* (P3) PRG0_MDIO0_MDC.GPMC0_A13 */
    			AM64X_IOPAD(0x0190, PIN_OUTPUT, 9) /* (AA3) PRG0_PRU0_GPO12.GPMC0_A14 */
    			AM64X_IOPAD(0x0194, PIN_OUTPUT, 9) /* (R6) PRG0_PRU0_GPO13.GPMC0_A15 */
    			AM64X_IOPAD(0x0180, PIN_OUTPUT, 9) /* (T2) PRG0_PRU0_GPO8.GPMC0_A2 */
    			AM64X_IOPAD(0x0198, PIN_OUTPUT, 9) /* (V4) PRG0_PRU0_GPO14.GPMC0_A3 */
    			AM64X_IOPAD(0x01a0, PIN_OUTPUT, 9) /* (U4) PRG0_PRU0_GPO16.GPMC0_A4 */
    			AM64X_IOPAD(0x01a8, PIN_OUTPUT, 9) /* (V1) PRG0_PRU0_GPO18.GPMC0_A5 */
    			AM64X_IOPAD(0x01ac, PIN_OUTPUT, 9) /* (W1) PRG0_PRU0_GPO19.GPMC0_A6 */
    			AM64X_IOPAD(0x01e0, PIN_OUTPUT, 9) /* (Y4) PRG0_PRU1_GPO12.GPMC0_A7 */
    			AM64X_IOPAD(0x01e4, PIN_OUTPUT, 9) /* (T6) PRG0_PRU1_GPO13.GPMC0_A8 */
    			AM64X_IOPAD(0x01e8, PIN_OUTPUT, 9) /* (U6) PRG0_PRU1_GPO14.GPMC0_A9 */
    			AM64X_IOPAD(0x003c, PIN_INPUT, 0) /* (T20) GPMC0_AD0 */
    			AM64X_IOPAD(0x0040, PIN_INPUT, 0) /* (U21) GPMC0_AD1 */
    			AM64X_IOPAD(0x0064, PIN_INPUT, 0) /* (R16) GPMC0_AD10 */
    			AM64X_IOPAD(0x0068, PIN_INPUT, 0) /* (W20) GPMC0_AD11 */
    			AM64X_IOPAD(0x006c, PIN_INPUT, 0) /* (W21) GPMC0_AD12 */
    			AM64X_IOPAD(0x0070, PIN_INPUT, 0) /* (V18) GPMC0_AD13 */
    			AM64X_IOPAD(0x0074, PIN_INPUT, 0) /* (Y21) GPMC0_AD14 */
    			AM64X_IOPAD(0x0078, PIN_INPUT, 0) /* (Y20) GPMC0_AD15 */
    			AM64X_IOPAD(0x0044, PIN_INPUT, 0) /* (T18) GPMC0_AD2 */
    			AM64X_IOPAD(0x0048, PIN_INPUT, 0) /* (U20) GPMC0_AD3 */
    			AM64X_IOPAD(0x004c, PIN_INPUT, 0) /* (U18) GPMC0_AD4 */
    			AM64X_IOPAD(0x0050, PIN_INPUT, 0) /* (U19) GPMC0_AD5 */
    			AM64X_IOPAD(0x0054, PIN_INPUT, 0) /* (V20) GPMC0_AD6 */
    			AM64X_IOPAD(0x0058, PIN_INPUT, 0) /* (V21) GPMC0_AD7 */
    			AM64X_IOPAD(0x005c, PIN_INPUT, 0) /* (V19) GPMC0_AD8 */
    			AM64X_IOPAD(0x0060, PIN_INPUT, 0) /* (T17) GPMC0_AD9 */
    			AM64X_IOPAD(0x0098, PIN_INPUT, 0) /* (W19) GPMC0_WAIT0 */
    			AM64X_IOPAD(0x0094, PIN_OUTPUT, 0) /* (T19) GPMC0_BE1n */
    			AM64X_IOPAD(0x00a8, PIN_OUTPUT, 0) /* (R19) GPMC0_CSn0 */
    			AM64X_IOPAD(0x007c, PIN_OUTPUT, 0) /* (R17) GPMC0_CLK */
    			AM64X_IOPAD(0x0084, PIN_OUTPUT, 0) /* (P16) GPMC0_ADVn_ALE */
    			AM64X_IOPAD(0x0088, PIN_OUTPUT, 0) /* (R18) GPMC0_OEn_REn */
    			AM64X_IOPAD(0x008c, PIN_OUTPUT, 0) /* (T21) GPMC0_WEn */
    			AM64X_IOPAD(0x0090, PIN_OUTPUT, 0) /* (P17) GPMC0_BE0n_CLE */
    		>;
    	};
    };
    
    &main_uart0 {
    	bootph-all;
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart0_pins_default>;
    	current-speed = <115200>;
    };
    
    /* main_uart1 is reserved for firmware usage */
    &main_uart1 {
    	status = "reserved";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart1_pins_default>;
    };
    
    &main_i2c0 {
    	bootph-all;
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c0_pins_default>;
    	clock-frequency = <400000>;
    
    	gpio@38 {
    		/* TCA9554 */
    		compatible = "nxp,pca9554";
    		reg = <0x38>;
    		gpio-controller;
    		#gpio-cells = <2>;
    		gpio-line-names = "HSE_DETECT";
    	};
    
    	eeprom@50 {
    		/* AT24CM01 */
    		compatible = "atmel,24c1024";
    		reg = <0x50>;
    	};
    };
    
    &main_i2c1 {
    	bootph-all;
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_i2c1_pins_default>;
    	clock-frequency = <400000>;
    
    	exp1: gpio@22 {
    		bootph-all;
    		compatible = "ti,tca6424";
    		reg = <0x22>;
    		gpio-controller;
    		#gpio-cells = <2>;
    		gpio-line-names = "GPIO_eMMC_RSTn", "CAN_MUX_SEL",
    				  "GPIO_CPSW1_RST", "GPIO_RGMII1_RST",
    				  "GPIO_RGMII2_RST", "GPIO_PCIe_RST_OUT",
    				  "MMC1_SD_EN", "FSI_FET_SEL",
    				  "MCAN0_STB_3V3", "MCAN1_STB_3V3",
    				  "CPSW_FET_SEL", "CPSW_FET2_SEL",
    				  "PRG1_RGMII2_FET_SEL", "TEST_GPIO2",
    				  "GPIO_OLED_RESETn", "VPP_LDO_EN",
    				  "TEST_LED1", "TP92", "TP90", "TP88",
    				  "TP87", "TP86", "TP89", "TP91";
    	};
    
    	/* osd9616p0899-10 */
    	display@3c {
    		compatible = "solomon,ssd1306fb-i2c";
    		reg = <0x3c>;
    		reset-gpios = <&exp1 14 GPIO_ACTIVE_LOW>;
    		vbat-supply = <&vddb>;
    		solomon,height = <16>;
    		solomon,width = <96>;
    		solomon,com-seq;
    		solomon,com-invdir;
    		solomon,page-offset = <0>;
    		solomon,prechargep1 = <2>;
    		solomon,prechargep2 = <13>;
    	};
    };
    
    &main_gpio0 {
    	bootph-all;
    };
    
    /* mcu_gpio0 and mcu_gpio_intr are reserved for mcu firmware usage */
    &mcu_gpio0 {
    	status = "reserved";
    };
    
    &mcu_gpio_intr {
    	status = "reserved";
    };
    
    &main_spi0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_spi0_pins_default>;
    	ti,pindir-d0-out-d1-in;
    	eeprom@0 {
    		compatible = "microchip,93lc46b";
    		reg = <0>;
    		spi-max-frequency = <1000000>;
    		spi-cs-high;
    		data-size = <16>;
    	};
    };
    
    /* eMMC */
    &sdhci0 {
    	status = "okay";
    	non-removable;
    	ti,driver-strength-ohm = <50>;
    	disable-wp;
    	bootph-all;
    };
    
    /* SD/MMC */
    &sdhci1 {
    	bootph-all;
    	status = "okay";
    	vmmc-supply = <&vdd_mmc1>;
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mmc1_pins_default>;
    	disable-wp;
    };
    
    &usbss0 {
    	bootph-all;
    	ti,vbus-divider;
    	ti,usb2-only;
    };
    
    &usb0 {
    	bootph-all;
    	dr_mode = "otg";
    	maximum-speed = "high-speed";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_usb0_pins_default>;
    };
    
    &cpsw3g {
    	bootph-all;
    	pinctrl-names = "default";
    	pinctrl-0 = <&rgmii1_pins_default>, <&rgmii2_pins_default>;
    
    	/* Map HW8_TS_PUSH to GENF1 */
    	cpts@3d000 {
    		ti,pps = <7 1>;
    	};
    };
    
    &cpsw_port1 {
    	bootph-all;
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy0>;
    };
    
    &cpsw_port2 {
    	phy-mode = "rgmii-rxid";
    	phy-handle = <&cpsw3g_phy3>;
    };
    
    &cpsw3g_mdio {
    	bootph-all;
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&mdio1_pins_default>;
    
    	cpsw3g_phy0: ethernet-phy@0 {
    		bootph-all;
    		reg = <0>;
    		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
    		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
    	};
    };
    
    &tscadc0 {
    	/* ADC is reserved for R5 usage */
    	status = "reserved";
    };
    
    &ospi0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&ospi0_pins_default>;
    
    	flash@0 {
    		compatible = "jedec,spi-nor";
    		reg = <0x0>;
    		spi-tx-bus-width = <8>;
    		spi-rx-bus-width = <8>;
    		spi-max-frequency = <25000000>;
    		cdns,tshsl-ns = <60>;
    		cdns,tsd2d-ns = <60>;
    		cdns,tchsh-ns = <60>;
    		cdns,tslch-ns = <60>;
    		cdns,read-delay = <4>;
    
    		partitions {
    			compatible = "fixed-partitions";
    			#address-cells = <1>;
    			#size-cells = <1>;
    
    			partition@0 {
    				label = "ospi.tiboot3";
    				reg = <0x0 0x100000>;
    			};
    
    			partition@100000 {
    				label = "ospi.tispl";
    				reg = <0x100000 0x200000>;
    			};
    
    			partition@300000 {
    				label = "ospi.u-boot";
    				reg = <0x300000 0x400000>;
    			};
    
    			partition@700000 {
    				label = "ospi.env";
    				reg = <0x700000 0x40000>;
    			};
    
    			partition@740000 {
    				label = "ospi.env.backup";
    				reg = <0x740000 0x40000>;
    			};
    
    			partition@800000 {
    				label = "ospi.rootfs";
    				reg = <0x800000 0x37c0000>;
    			};
    
    			partition@3fc0000 {
    				label = "ospi.phypattern";
    				reg = <0x3fc0000 0x40000>;
    			};
    		};
    	};
    };
    
    &mailbox0_cluster2 {
    	status = "okay";
    
    	mbox_main_r5fss0_core0: mbox-main-r5fss0-core0 {
    		ti,mbox-rx = <0 0 2>;
    		ti,mbox-tx = <1 0 2>;
    	};
    
    	mbox_main_r5fss0_core1: mbox-main-r5fss0-core1 {
    		ti,mbox-rx = <2 0 2>;
    		ti,mbox-tx = <3 0 2>;
    	};
    };
    
    &mailbox0_cluster4 {
    	status = "okay";
    
    	mbox_main_r5fss1_core0: mbox-main-r5fss1-core0 {
    		ti,mbox-rx = <0 0 2>;
    		ti,mbox-tx = <1 0 2>;
    	};
    
    	mbox_main_r5fss1_core1: mbox-main-r5fss1-core1 {
    		ti,mbox-rx = <2 0 2>;
    		ti,mbox-tx = <3 0 2>;
    	};
    };
    
    &mailbox0_cluster6 {
    	status = "okay";
    
    	mbox_m4_0: mbox-m4-0 {
    		ti,mbox-rx = <0 0 2>;
    		ti,mbox-tx = <1 0 2>;
    	};
    };
    
    &main_r5fss0_core0 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
    	memory-region = <&main_r5fss0_core0_dma_memory_region>,
    			<&main_r5fss0_core0_memory_region>;
    };
    
    &main_r5fss0_core1 {
    	mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core1>;
    	memory-region = <&main_r5fss0_core1_dma_memory_region>,
    			<&main_r5fss0_core1_memory_region>;
    };
    
    &main_r5fss1_core0 {
    	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core0>;
    	memory-region = <&main_r5fss1_core0_dma_memory_region>,
    			<&main_r5fss1_core0_memory_region>;
    };
    
    &main_r5fss1_core1 {
    	mboxes = <&mailbox0_cluster4 &mbox_main_r5fss1_core1>;
    	memory-region = <&main_r5fss1_core1_dma_memory_region>,
    			<&main_r5fss1_core1_memory_region>;
    };
    
    &mcu_m4fss {
    	mboxes = <&mailbox0_cluster6 &mbox_m4_0>;
    	memory-region = <&mcu_m4fss_dma_memory_region>,
    			<&mcu_m4fss_memory_region>;
    	status = "okay";
    };
    
    &serdes_ln_ctrl {
    	idle-states = <AM64_SERDES0_LANE0_PCIE0>;
    };
    
    &serdes0 {
    	serdes0_pcie_link: phy@0 {
    		reg = <0>;
    		cdns,num-lanes = <1>;
    		#phy-cells = <0>;
    		cdns,phy-type = <PHY_TYPE_PCIE>;
    		resets = <&serdes_wiz0 1>;
    	};
    };
    
    &pcie0_rc {
    	status = "okay";
    	reset-gpios = <&exp1 5 GPIO_ACTIVE_HIGH>;
    	phys = <&serdes0_pcie_link>;
    	phy-names = "pcie-phy";
    	num-lanes = <1>;
    };
    
    //&ecap0 {
    //	status = "okay";
    //	/* PWM is available on Pin 1 of header J12 */
    //	pinctrl-names = "default";
    //	pinctrl-0 = <&main_ecap0_pins_default>;
    //};
    
    &main_mcan0 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcan0_pins_default>;
    	phys = <&transceiver1>;
    };
    
    &main_mcan1 {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_mcan1_pins_default>;
    	phys = <&transceiver2>;
    };
    
    &icssg1_mdio {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&icssg1_mdio1_pins_default>;
    
    	icssg1_phy1: ethernet-phy@f {
    		reg = <0xf>;
    		tx-internal-delay-ps = <250>;
    		rx-internal-delay-ps = <2000>;
    	};
    };
    
    #define TS_OFFSET(pa, val)     (0x4+(pa)*4) (0x10000 | val)
    
    &timesync_router {
    	status = "okay";
    	pinctrl-names = "default";
    	pinctrl-0 = <&cpsw_cpts_pps>;
    
    	/*
    	 * Use Time Sync Router to map GENF1 input to HW8_TS_PUSH output as well
    	 * as the PRU ICSSG0 SYNC1 output.
    	 */
    	cpsw_cpts_pps: cpsw-cpts-pps {
    		pinctrl-single,pins = <
    			/* pps [cpts genf1] in22 -> out37 [cpts hw8_push] */
    			TS_OFFSET(37, 22)
    			/* pps [cpts genf1] in22 -> out26 [SYNC1_OUT pin] */
    			TS_OFFSET(24, 22)
    			>;
    	};
    };
    
    &icssg1_iep0 {
    	pinctrl-names = "default";
    	pinctrl-0 = <&icssg1_iep0_pins_default>;
    };
    

    The main modification is on line 942 so that my PPS is on header J12.

    I added D18 to the icssg1_iep0_pins_default definition and removed the ecap0 definition which used this pin.

    After booting the TMDS64EVM, I synchronize the board with the ptp grandmaster and use the following command to enable the pps signal:

    root@am64xx-evm:~# /usr/kernel-selftest/ptp/testptp -d /dev/ptp0 -P 1
    pps for system time request okay

    Let me know if I am doing anything wrong.

    Julien

  • Hi Julien,

    This message is unexpected, can you share your entire TMDS64EVM boot log that includes this message?

    I want to correct my previous statement about this message. In fact, I also see this message in my boot log. I think this error message is a result of the systemd service "sync-clocks.service". Because on my setup, the PPS signal does synchronize between the two TMDS64EVM, I don't think this message has to do with the issue you are seeing.

    The main modification is on line 942 so that my PPS is on header J12.

    I added D18 to the icssg1_iep0_pins_default definition and removed the ecap0 definition which used this pin.

    After booting the TMDS64EVM, I synchronize the board with the ptp grandmaster and use the following command to enable the pps signal

    Thanks to your inputs, I managed to use the command and synchronize the TMDS64EVM as a follower clock. Some configurations of the grandmaster were not the same as those of the TMDS64EVM.

    These steps are what I used to synchronize the PPS signals on my setup. Can you clarify which command did you end up using to synchronize the board with the ptp grandmaster? (i.e. did you use the software timestamping configuration or the hardware timestamping configuration?)

    What offset do you see between the PPS signals? Is it the same/similar behavior as you saw with your steps in the original E2E post?

    I tried it on 2 separate boards (both TMDS64EVM).

    You mention that you have two TMDS64EVMs, can you check that you get the same results as I did with two TMDS64EVMs (one as grandmaster and one as follower)?

    -Daolin