Werner Almesberger
66080fe72e
ubb-patgen/ubb-patgen.c: support trigger sequences, e.g., 01 for a rising edge
2013-01-16 04:45:49 -03:00
Werner Almesberger
4729d00b30
ubb-patgen/ubb-patgen.c: run at realtime priority while waiting for trigger
2013-01-16 03:56:17 -03:00
Werner Almesberger
6d749fafb8
ubb-patgen/ubb-patgen.c (main): sort options alphabetically in "switch" statement
2013-01-16 03:45:22 -03:00
Werner Almesberger
2161341267
ubb-patgen/ubb-patgen.c: new option -w to add delay before sending the pattern
2013-01-16 03:44:30 -03:00
Werner Almesberger
0129a59f86
ubb-patgen/ubb-patgen.c: new option -d to debounce the trigger
2013-01-16 03:30:04 -03:00
Werner Almesberger
39f4e48f8d
ubb-patgen/ubb-patgen.c: new option -i to select frequency by cycle time
2013-01-16 01:58:16 -03:00
Werner Almesberger
c124e1a819
ubb-patgen/ubb-patgen.c: accept SI suffixes and a unit for durations as well
2013-01-16 01:11:57 -03:00
Werner Almesberger
9930ae6576
ubb-patgen/ubb-patgen.c: move frequency difference warning into select_freq
...
This way, all frequency selections print a warning when there's a difference.
2013-01-15 23:48:57 -03:00
Werner Almesberger
ff38f1c249
ubb-patgen/ubb-patgen.c (send_buffer): use physmem_flush instead of cacheflush
2013-01-15 23:31:30 -03:00
Werner Almesberger
752a77f015
ubb-patgen/ubb-patgen.c (show_frequencies): show duplicate entries only one
...
This only affects "quiet" operation since entries with the same frequency
differ in the why it's calculated in non-quiet operation.
2013-01-15 23:14:25 -03:00
Werner Almesberger
0bb711e625
ubb-patgen/ubb-patgen.c: new option -t 0|1 to start pattern on TRIGGER/CLK
...
The trigger delay is typically in the order of 2 us but, since we're not
disabling interrupts or such, could also be much larger.
2013-01-15 18:40:16 -03:00
Werner Almesberger
1c76cab66c
ubb-patgen/ubb-patgen.c: new option -m MASK to choose which DATx lines to use
2013-01-15 17:40:49 -03:00
Werner Almesberger
d60ef14022
ubb-patgen/ubb-patgen.c: new option -p to force interpretation as pattern
...
In the unlikely event that we have a file with the same name.
2013-01-15 17:09:08 -03:00
Werner Almesberger
69aba6ae19
ubb-patgen/ubb-patgen.c: accept file (- for standard input) as pattern source
2013-01-15 17:05:33 -03:00
Werner Almesberger
1aedd4b57b
ubb-patgen/ubb-patgen.c: option -q when dumping frequencies suppressed details
...
... and avoids pretty-printing.
2013-01-15 16:10:14 -03:00
Werner Almesberger
eedb0f0106
ubb-patgen/ubb-patgen.c: "ubb-patgen -f FREQ" calculates the frequency
...
This can then be used by generators to generate an oversampled pattern.
2013-01-15 14:42:00 -03:00
Werner Almesberger
1111156a97
ubb-patgen/ubb-patgen.c: remove pattern frequency and use -f for bus clock
...
Let's leave fancy oversampling calculations to the user.
2013-01-15 14:24:00 -03:00
Werner Almesberger
6e6767175f
ubb-patgen/ubb-patgen.c: clean up usage (-c selects clkout only; -C to monitor)
...
... and active_s is no longer used with a pattern.
2013-01-15 14:08:38 -03:00
Werner Almesberger
a5fbf55419
ubb-patgen/ubb-patgen.c: clean up section structure
2013-01-15 13:02:19 -03:00
Werner Almesberger
dad97398d3
ubb-patgen/ubb-patgen.c (dma_pattern): mlockall (before address translation and DMA)
2013-01-14 23:32:37 -03:00
Werner Almesberger
c6306ff591
ubb-patgen/ubb-patgen.c: DMA works now. Get rid of the PIO option.
2013-01-14 23:29:23 -03:00
Werner Almesberger
b6ee672266
ubb-patgen/: flush dcache and write buffer before doing DMA
2013-01-14 23:26:24 -03:00
Werner Almesberger
908b0631d1
ubb-patgen/ubb-patgen.c: DMA has mystery glitches. Use PIO for now.
2013-01-14 22:18:46 -03:00
Werner Almesberger
3febc9072a
ubb-patgen/ubb-patgen.c (dma_pattern): move pattern parser to parse_pattern
...
... and introduce pattern multipliers <hex>{<repetitions>}
2013-01-14 19:26:15 -03:00
Werner Almesberger
e5cb1c98ea
ubb-patgen/ubb-patgen.c: describe the pattern transfer logic
2013-01-14 17:01:13 -03:00
Werner Almesberger
fa8b5b6324
ubb-patgen/ubb-patgen.c: clean up pattern generation and boundaries
...
The main change is to use only a single transfer and thus avoid tri-stating
DATx during the command phase. To control the timing, we put the first word
"manually" into the FIFO, wait until it has been sent on the bus, and only
then DMA the rest.
2013-01-14 17:01:01 -03:00
Werner Almesberger
09bf9c23ab
ubb-patgen/: add DMA-based pattern transfer (WIP)
...
Works for some patterns but seems to have issues at the edge of
transfers. Clock selection also needs more work.
2013-01-14 03:55:51 -03:00
Werner Almesberger
52ce1947c5
ubb-patgen/: UBB-based pattern generator (WIP)
...
For now, it only knows to synthesize the clock and to output it.
2013-01-07 17:01:51 -03:00