1
0
mirror of git://projects.qi-hardware.com/ben-blinkenlights.git synced 2024-12-26 08:05:32 +02:00
Commit Graph

48 Commits

Author SHA1 Message Date
Werner Almesberger
1d78c01bba ubb-patgen/Makefile (LDLIBS): add -lpthread -ldl
Strangly, using what's supposedly the same toolchain, I didn't seem to
need these items in the past. Or maybe I just never tried a non-static
build.
2013-03-29 20:33:41 -03:00
Werner Almesberger
128590bee0 ubb-patgen/ubb-patgen.c: new option -I inter_s to select "unsafe" frequencies 2013-01-28 21:20:25 -03:00
Werner Almesberger
04b235cedf ubb-patgen/ubb-patgen.c: new option -F freq_Hz to select "unsafe" frequencies 2013-01-28 21:14:53 -03:00
Werner Almesberger
66a487b634 ubb-patgen/ubb-patgen.c (frequencies): adapt use of mmcclk for API change 2013-01-28 21:04:26 -03:00
Werner Almesberger
b0d89b25eb ubb-patgen/ubb-patgen.c (send_buffer): physmem_xlat no longer needs a cast 2013-01-26 20:48:21 -03:00
Werner Almesberger
a947b5ef85 ubb-patgen/Makefile (CFLAGS): use more specific -O9 -fno-tree-cselim
... instead of -O0. See previous commit for details.
2013-01-25 19:55:49 -03:00
Werner Almesberger
fc4b8e720a ubb-patgen/Makefile (CFLAGS): even -O1 isn't safe; use -O0 instead
In ubb-la, -O1 still exhibited problems. Didn't verify for ubb-patgen,
but let's play this safe for now.
2013-01-24 18:33:08 -03:00
Werner Almesberger
00ef01ada8 ubb-patgen/Makefile (CFLAGS): -O9 is currently unsafe; use -O1
Higher optimizations can cause the generation of code that unexpectedly
does the equivalent of  PDFUNS = PDFUNS;

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56098
2013-01-24 15:34:04 -03:00
Werner Almesberger
5025f360cc ubb-patgen/ubb-patgen.c: use symbolic bit/field definitions for DMA 2013-01-20 19:16:36 -03:00
Werner Almesberger
486471e8fc ubb-patgen/ubb-patgen.c: use symbolic bit/field definitions for MSC_* 2013-01-20 17:34:39 -03:00
Werner Almesberger
a31351545c ubb-patgen/timeline.fig: timeline of pattern generation (description in README) 2013-01-18 14:18:44 -03:00
Werner Almesberger
f920c6695b ubb-patgen/README: add "!\r" to UART example 2013-01-16 12:08:10 -03:00
Werner Almesberger
b8f2a8b764 ubb-patgen/ubb-patgen.c (send_buffer): track physmem_xlat_vec renaming 2013-01-16 10:30:41 -03:00
Werner Almesberger
2de15b9aec ubb-patgen/ubb-patgen.c (send_buffer): use physmem_xlat_vec 2013-01-16 10:16:09 -03:00
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
d5ea5d9ae9 ubb-patgen/README: brief description how ubb-patgen works 2013-01-15 19:34:58 -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
653910b64b ubb-patgen/table/mktab: make the long vertical axes thinner
Looks a bit less old-fashioned that way.
2013-01-15 16:45:08 -03:00
Werner Almesberger
3c9443294d ubb-patgen/table/: generate a PNG with a table of MMC bus clock frequencies 2013-01-15 16:14:48 -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
47140384ee ubb-patgen/hw/: a simple resistor on CMD is sufficient - no need for a cap
Cheaper and easier to control.
2013-01-14 03:11:39 -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
Werner Almesberger
7c1f06530d ubb-patgen/hw/labels.fig: cut-out labels for the wires 2013-01-07 17:01:17 -03:00
Werner Almesberger
ed91f621e5 ubb-patgen/hw/: schematics of a pattern generator based on UBB 2013-01-07 17:00:28 -03:00