Lines Matching +full:pulse +full:- +full:per +full:- +full:clock

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * PTP 1588 clock support - User space test program
35 #define CLOCK_INVALID -1
98 * The 'freq' field in the 'struct timex' is in parts per in ppb_to_scaled_ppm()
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 " -E val enable rising (1), falling (2), or both (3) edges\n" in usage()
124 " -f val adjust the ptp clock frequency by 'val' ppb\n" in usage()
125 " -F chan Enable single channel mask and keep device open for debugfs verification.\n" in usage()
126 " -g get the ptp clock time\n" in usage()
127 " -h prints this message\n" in usage()
128 " -i val index for event/trigger\n" in usage()
129 " -k val measure the time offset between system and phc clock\n" in usage()
131 " -l list the current pin configuration\n" in usage()
132 " -L pin,val configure pin index 'pin' with function 'val'\n" in usage()
133 " the channel index is taken from the '-i' option\n" in usage()
135 " 0 - none\n" in usage()
136 " 1 - external time stamp\n" in usage()
137 " 2 - periodic output\n" in usage()
138 " -n val shift the ptp clock time by 'val' nanoseconds\n" in usage()
139 " -o val phase offset (in nanoseconds) to be provided to the PHC servo\n" in usage()
140 " -p val enable output with a period of 'val' nanoseconds\n" in usage()
141 " -H val set output phase to 'val' nanoseconds (requires -p)\n" in usage()
142 " -w val set output pulse width to 'val' nanoseconds (requires -p)\n" in usage()
143 " -P val enable or disable (val=1|0) the system clock PPS\n" in usage()
144 " -r open the ptp clock in readonly mode\n" in usage()
145 " -s set the ptp clock time from the system time\n" in usage()
146 " -S set the system time from the ptp clock time\n" in usage()
147 " -t val shift the ptp clock time by 'val' seconds\n" in usage()
148 " -T val set the ptp clock time to 'val' seconds\n" in usage()
149 " -x val get an extended ptp clock time with the desired number of samples (up to %d)\n" in usage()
150 " -X get a ptp clock cross timestamp\n" in usage()
151 " -y val pre/post tstamp timebase to use {realtime|monotonic|monotonic-raw}\n" in usage()
152 " -z test combinations of rising/falling external time stamp flags\n", in usage()
191 int pin_index = -1, pin_func; in main()
192 int pps = -1; in main()
196 int channel = -1; in main()
201 int64_t perout_phase = -1; in main()
202 int64_t pulsewidth = -1; in main()
203 int64_t perout = -1; in main()
249 return -1; in main()
289 return -1; in main()
300 else if (!strcasecmp(optarg, "monotonic-raw")) in main()
304 "type needs to be realtime, monotonic or monotonic-raw; was given %s\n", in main()
306 return -1; in main()
319 return -1; in main()
326 return -1; in main()
331 fprintf(stderr, "failed to read clock id\n"); in main()
332 return -1; in main()
344 " %d pulse per second\n" in main()
378 tx.time.tv_sec -= 1; in main()
405 printf("clock time: %ld.%09ld or %s", in main()
462 for (; extts; extts--) { in main()
504 puts("-w can only be specified together with -p"); in main()
505 return -1; in main()
509 puts("-H can only be specified together with -p"); in main()
510 return -1; in main()
516 return -1; in main()
544 if (pps != -1) { in main()
557 return -1; in main()
563 return -1; in main()
565 sysoff->n_samples = n_samples; in main()
570 puts("system and phc clock time offset request okay"); in main()
572 pct = &sysoff->ts[0]; in main()
573 for (i = 0; i < sysoff->n_samples; i++) { in main()
577 interval = t2 - t1; in main()
578 offset = (t2 + t1) / 2 - tp; in main()
581 (pct+2*i)->sec, (pct+2*i)->nsec); in main()
583 (pct+2*i+1)->sec, (pct+2*i+1)->nsec); in main()
585 (pct+2*i+2)->sec, (pct+2*i+2)->nsec); in main()
586 printf("system/phc clock time offset is %" PRId64 " ns\n" in main()
587 "system clock time delay is %" PRId64 " ns\n", in main()
598 return -1; in main()
601 soe->n_samples = getextended; in main()
602 soe->clockid = ext_clockid; in main()
614 i, soe->ts[i][0].sec, in main()
615 soe->ts[i][0].nsec); in main()
619 i, soe->ts[i][0].sec, in main()
620 soe->ts[i][0].nsec); in main()
623 printf("sample #%2d: monotonic-raw time before: %lld.%09u\n", in main()
624 i, soe->ts[i][0].sec, in main()
625 soe->ts[i][0].nsec); in main()
631 soe->ts[i][1].sec, soe->ts[i][1].nsec); in main()
635 soe->ts[i][2].sec, in main()
636 soe->ts[i][2].nsec); in main()
640 soe->ts[i][2].sec, in main()
641 soe->ts[i][2].nsec); in main()
644 printf(" monotonic-raw time after: %lld.%09u\n", in main()
645 soe->ts[i][2].sec, in main()
646 soe->ts[i][2].nsec); in main()
661 return -1; in main()
670 xts->device.sec, xts->device.nsec); in main()
672 xts->sys_realtime.sec, xts->sys_realtime.nsec); in main()
674 xts->sys_monoraw.sec, xts->sys_monoraw.nsec); in main()