Lines Matching +full:pps +full:- +full:channel

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * PTP 1588 clock support - User space test program
35 #define CLOCK_INVALID -1
113 return t->sec * NSEC_PER_SEC + t->nsec; in pctns()
120 " -c query the ptp clock's capabilities\n" in usage()
121 " -d name device to open\n" in usage()
122 " -e val read 'val' external time stamp events\n" in usage()
123 " -f val adjust the ptp clock frequency by 'val' ppb\n" in usage()
124 " -F chan Enable single channel mask and keep device open for debugfs verification.\n" in usage()
125 " -g get the ptp clock time\n" in usage()
126 " -h prints this message\n" in usage()
127 " -i val index for event/trigger\n" in usage()
128 " -k val measure the time offset between system and phc clock\n" in usage()
130 " -l list the current pin configuration\n" in usage()
131 " -L pin,val configure pin index 'pin' with function 'val'\n" in usage()
132 " the channel index is taken from the '-i' option\n" in usage()
134 " 0 - none\n" in usage()
135 " 1 - external time stamp\n" in usage()
136 " 2 - periodic output\n" in usage()
137 " -n val shift the ptp clock time by 'val' nanoseconds\n" in usage()
138 " -o val phase offset (in nanoseconds) to be provided to the PHC servo\n" in usage()
139 " -p val enable output with a period of 'val' nanoseconds\n" in usage()
140 " -H val set output phase to 'val' nanoseconds (requires -p)\n" in usage()
141 " -w val set output pulse width to 'val' nanoseconds (requires -p)\n" in usage()
142 " -P val enable or disable (val=1|0) the system clock PPS\n" in usage()
143 " -r open the ptp clock in readonly mode\n" in usage()
144 " -s set the ptp clock time from the system time\n" in usage()
145 " -S set the system time from the ptp clock time\n" in usage()
146 " -t val shift the ptp clock time by 'val' seconds\n" in usage()
147 " -T val set the ptp clock time to 'val' seconds\n" in usage()
148 " -x val get an extended ptp clock time with the desired number of samples (up to %d)\n" in usage()
149 " -X get a ptp clock cross timestamp\n" in usage()
150 " -y val pre/post tstamp timebase to use {realtime|monotonic|monotonic-raw}\n" in usage()
151 " -z test combinations of rising/falling external time stamp flags\n", in usage()
189 int pin_index = -1, pin_func; in main()
190 int pps = -1; in main() local
194 int channel = -1; in main() local
199 int64_t perout_phase = -1; in main()
200 int64_t pulsewidth = -1; in main()
201 int64_t perout = -1; in main()
220 channel = atoi(optarg); in main()
242 return -1; in main()
255 pps = atoi(optarg); in main()
282 return -1; in main()
293 else if (!strcasecmp(optarg, "monotonic-raw")) in main()
297 "type needs to be realtime, monotonic or monotonic-raw; was given %s\n", in main()
299 return -1; in main()
312 return -1; in main()
319 return -1; in main()
325 return -1; in main()
346 caps.pps, in main()
371 tx.time.tv_sec -= 1; in main()
455 for (; extts; extts--) { in main()
497 puts("-w can only be specified together with -p"); in main()
498 return -1; in main()
502 puts("-H can only be specified together with -p"); in main()
503 return -1; in main()
509 return -1; in main()
537 if (pps != -1) { in main()
538 int enable = pps ? 1 : 0; in main()
542 puts("pps for system time request okay"); in main()
550 return -1; in main()
556 return -1; in main()
558 sysoff->n_samples = n_samples; in main()
565 pct = &sysoff->ts[0]; in main()
566 for (i = 0; i < sysoff->n_samples; i++) { in main()
570 interval = t2 - t1; in main()
571 offset = (t2 + t1) / 2 - tp; in main()
574 (pct+2*i)->sec, (pct+2*i)->nsec); in main()
576 (pct+2*i+1)->sec, (pct+2*i+1)->nsec); in main()
578 (pct+2*i+2)->sec, (pct+2*i+2)->nsec); in main()
591 return -1; in main()
594 soe->n_samples = getextended; in main()
595 soe->clockid = ext_clockid; in main()
607 i, soe->ts[i][0].sec, in main()
608 soe->ts[i][0].nsec); in main()
612 i, soe->ts[i][0].sec, in main()
613 soe->ts[i][0].nsec); in main()
616 printf("sample #%2d: monotonic-raw time before: %lld.%09u\n", in main()
617 i, soe->ts[i][0].sec, in main()
618 soe->ts[i][0].nsec); in main()
624 soe->ts[i][1].sec, soe->ts[i][1].nsec); in main()
628 soe->ts[i][2].sec, in main()
629 soe->ts[i][2].nsec); in main()
633 soe->ts[i][2].sec, in main()
634 soe->ts[i][2].nsec); in main()
637 printf(" monotonic-raw time after: %lld.%09u\n", in main()
638 soe->ts[i][2].sec, in main()
639 soe->ts[i][2].nsec); in main()
654 return -1; in main()
663 xts->device.sec, xts->device.nsec); in main()
665 xts->sys_realtime.sec, xts->sys_realtime.nsec); in main()
667 xts->sys_monoraw.sec, xts->sys_monoraw.nsec); in main()
673 if (channel >= 0) { in main()
676 } else if (ioctl(fd, PTP_MASK_EN_SINGLE, (unsigned int *)&channel)) { in main()
679 printf("Channel %d exclusively enabled. Check on debugfs.\n", channel); in main()