Sebastien Bourdeauducq [Wed, 8 May 2013 20:31:42 +0000 (22:31 +0200)]
top: connect dvisampler DMA IRQs
Sebastien Bourdeauducq [Wed, 8 May 2013 20:31:18 +0000 (22:31 +0200)]
software/videomixer: use new DMA engine
Sebastien Bourdeauducq [Wed, 8 May 2013 20:31:01 +0000 (22:31 +0200)]
dvisampler: new DMA engine (buggy)
Sebastien Bourdeauducq [Wed, 8 May 2013 18:58:27 +0000 (20:58 +0200)]
cif: do not generate write function for CSRStatus
Sebastien Bourdeauducq [Wed, 8 May 2013 16:11:42 +0000 (18:11 +0200)]
timer, uart: EventSourceLevel -> EventSourceProcess
Sebastien Bourdeauducq [Mon, 6 May 2013 07:58:12 +0000 (09:58 +0200)]
dvisampler: mostly working, very basic and slightly buggy DMA
Sebastien Bourdeauducq [Mon, 6 May 2013 07:56:49 +0000 (09:56 +0200)]
software/videomixer: send to framebuffer
Sebastien Bourdeauducq [Mon, 6 May 2013 07:56:10 +0000 (09:56 +0200)]
another attempt at fixing clock routing issues
Sebastien Bourdeauducq [Sun, 5 May 2013 21:07:15 +0000 (23:07 +0200)]
build.py: LOC clock generator components to limit breakage of the ISE shitware
Sebastien Bourdeauducq [Sun, 5 May 2013 18:56:58 +0000 (20:56 +0200)]
build.py: support single DVI sampler
Sebastien Bourdeauducq [Sun, 5 May 2013 13:07:57 +0000 (15:07 +0200)]
chansync: bugfix
Sebastien Bourdeauducq [Sun, 5 May 2013 13:07:36 +0000 (15:07 +0200)]
tb: add chansync
Sebastien Bourdeauducq [Sun, 5 May 2013 10:58:53 +0000 (12:58 +0200)]
dvisampler: connect sync polarity detection
Sebastien Bourdeauducq [Sun, 5 May 2013 10:58:24 +0000 (12:58 +0200)]
dvisampler/chansync: fix FIFO width
Sebastien Bourdeauducq [Sun, 5 May 2013 09:58:43 +0000 (11:58 +0200)]
software/videomixer: use new resdetection regs
Sebastien Bourdeauducq [Sun, 5 May 2013 09:54:36 +0000 (11:54 +0200)]
dvisampler/resdetection: use DE instead of hsync
Sebastien Bourdeauducq [Sun, 5 May 2013 09:53:38 +0000 (11:53 +0200)]
dvisampler: add sync polarity detection module (thanks Lars for suggestions)
Sebastien Bourdeauducq [Sun, 5 May 2013 09:51:48 +0000 (11:51 +0200)]
dvisampler/decoding: hold C when DE=1
Sebastien Bourdeauducq [Sat, 4 May 2013 18:40:21 +0000 (20:40 +0200)]
dvisampler: add RawDVISampler
Sebastien Bourdeauducq [Sat, 4 May 2013 18:38:50 +0000 (20:38 +0200)]
dvisampler/datacapture: swap bit pairs
Sebastien Bourdeauducq [Thu, 2 May 2013 21:56:09 +0000 (23:56 +0200)]
build: only add UCF constraints for the cores that are present
Sebastien Bourdeauducq [Wed, 1 May 2013 15:13:40 +0000 (17:13 +0200)]
Remove unneeded file
Sebastien Bourdeauducq [Tue, 30 Apr 2013 22:12:13 +0000 (00:12 +0200)]
software: put network code in a library
Sebastien Bourdeauducq [Tue, 30 Apr 2013 16:55:35 +0000 (18:55 +0200)]
framebuffer: use DMA controller from Migen
Sebastien Bourdeauducq [Thu, 25 Apr 2013 18:19:49 +0000 (20:19 +0200)]
Remove undriven reset signals
Sebastien Bourdeauducq [Thu, 25 Apr 2013 18:18:45 +0000 (20:18 +0200)]
Tell the Xilinx crapware that DCM_CLKGEN does not phase align, as some (but not all) of the ISE tools remark.
Sebastien Bourdeauducq [Thu, 25 Apr 2013 17:43:26 +0000 (19:43 +0200)]
Use the Migen asynchronous FIFO
Sebastien Bourdeauducq [Thu, 25 Apr 2013 16:36:45 +0000 (18:36 +0200)]
minimac3: move psync
Sebastien Bourdeauducq [Fri, 19 Apr 2013 10:32:12 +0000 (12:32 +0200)]
adc: double-register asynchronous inputs
Werner Almesberger [Thu, 18 Apr 2013 16:33:25 +0000 (13:33 -0300)]
milkymist/adc/__init__.py: CounterADC - simple counter-based ADC
This is a revised version of the counter-based ADC.
Sebastien Bourdeauducq [Tue, 16 Apr 2013 20:21:03 +0000 (22:21 +0200)]
dvisampler/chansync: set synced to 0 when control tokens do not arrive at the same time
Werner Almesberger [Tue, 16 Apr 2013 16:55:28 +0000 (13:55 -0300)]
tftp.h, tftp.c: add tftp_put
Werner Almesberger [Tue, 16 Apr 2013 16:55:27 +0000 (13:55 -0300)]
tftp.c: use symbolic constant for block size
Werner Almesberger [Tue, 16 Apr 2013 16:55:26 +0000 (13:55 -0300)]
tftp.c (format_request): pass opcode as argument
Werner Almesberger [Tue, 16 Apr 2013 16:55:25 +0000 (13:55 -0300)]
tftp.c: use uintNN_t instead of "unsigned short", etc.
Werner Almesberger [Tue, 16 Apr 2013 16:55:24 +0000 (13:55 -0300)]
tftp.h, tftp.c (tftp_get): make "buffer" void and use unsigned char internally
Werner Almesberger [Tue, 16 Apr 2013 16:55:23 +0000 (13:55 -0300)]
tftp.c: make "packet_data" unsigned and optimize strcpy+strlen
Werner Almesberger [Tue, 16 Apr 2013 16:55:22 +0000 (13:55 -0300)]
tftp.c (rx_callback): simplify expressions containing unnecessary casts
Werner Almesberger [Tue, 16 Apr 2013 16:55:21 +0000 (13:55 -0300)]
tftp.c: use symbolic constants for protocol opcodes
Werner Almesberger [Tue, 16 Apr 2013 16:55:20 +0000 (13:55 -0300)]
microudp.c: avoid redundant accesses into multi-level structures
Sebastien Bourdeauducq [Sun, 14 Apr 2013 15:06:29 +0000 (17:06 +0200)]
dvisampler/chansync: use Record.raw_bits()
Sebastien Bourdeauducq [Sun, 14 Apr 2013 14:53:19 +0000 (16:53 +0200)]
dvisampler/clocking: insert DCM_CLKGEN before PLL
Sebastien Bourdeauducq [Sun, 14 Apr 2013 14:33:00 +0000 (16:33 +0200)]
software/videomixer: use new csr.h
Werner Almesberger [Fri, 12 Apr 2013 20:38:31 +0000 (17:38 -0300)]
edid.py: sample SCL only every 64 clock cycles, to avoid bouncing
Possibly due to SCL rising fairly slowly (in the 0.5-1 us range),
bouncing has been observed while crossing the "forbidden" region
between Vil(max) and Vih(min).
By lowering the sample rate from once per system clock to once
every 64 clock cycles, we make sure we sample at most once during
the bounce interval and thus never see a false edge. (Although we
may see a rising edge one sample time late, which is perfectly
harmless.)
Sebastien Bourdeauducq [Wed, 10 Apr 2013 19:34:15 +0000 (21:34 +0200)]
framebuffer: use new flow API
Sebastien Bourdeauducq [Mon, 1 Apr 2013 22:15:42 +0000 (00:15 +0200)]
dfii: adapt to new Record API
Sebastien Bourdeauducq [Sat, 30 Mar 2013 16:28:15 +0000 (17:28 +0100)]
Convert to new CSR API
Sebastien Bourdeauducq [Fri, 29 Mar 2013 16:15:11 +0000 (17:15 +0100)]
framebuffer: larger counters
Sebastien Bourdeauducq [Fri, 29 Mar 2013 16:14:48 +0000 (17:14 +0100)]
m1crg: reset VGA clock generator
Sebastien Bourdeauducq [Thu, 28 Mar 2013 19:46:16 +0000 (20:46 +0100)]
framebuffer: process two pixels per system clock cycle
Sebastien Bourdeauducq [Thu, 28 Mar 2013 19:46:00 +0000 (20:46 +0100)]
top: allocate one more ASMI port to framebuffer
Sebastien Bourdeauducq [Thu, 28 Mar 2013 19:45:42 +0000 (20:45 +0100)]
m1crg: allow up to 150MHz pixel clock
Sebastien Bourdeauducq [Thu, 28 Mar 2013 18:07:17 +0000 (19:07 +0100)]
crg: support VGA pixel clock reprogramming
Sebastien Bourdeauducq [Tue, 26 Mar 2013 16:57:17 +0000 (17:57 +0100)]
Use new Mibuild generic_platform API
Sebastien Bourdeauducq [Mon, 25 Mar 2013 17:32:25 +0000 (18:32 +0100)]
framebuffer: RGBA -> ARGB
Sebastien Bourdeauducq [Mon, 25 Mar 2013 14:56:54 +0000 (15:56 +0100)]
fb: better ordering of pixels within ASMI words
Sebastien Bourdeauducq [Mon, 25 Mar 2013 13:42:48 +0000 (14:42 +0100)]
Automatically build CSR access functions
Sebastien Bourdeauducq [Mon, 25 Mar 2013 13:38:58 +0000 (14:38 +0100)]
software/include/base: C++ compatibility
Sebastien Bourdeauducq [Sun, 24 Mar 2013 15:11:53 +0000 (16:11 +0100)]
software/common.mak: add C++ definitions
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:46:23 +0000 (00:46 +0100)]
software/videomixer: report char position + detected resolution, detect phase at beginning
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:45:29 +0000 (00:45 +0100)]
dvisampler: add resolution detection
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:44:50 +0000 (00:44 +0100)]
dvisampler/charsync: report position
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:44:19 +0000 (00:44 +0100)]
dvisampler/decoding: set C to 0 during data
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:43:22 +0000 (00:43 +0100)]
dvisampler/charsync: fix found_control signal
Sebastien Bourdeauducq [Sat, 23 Mar 2013 23:17:42 +0000 (00:17 +0100)]
software/stddef.h: c++ compat for NULL
Sebastien Bourdeauducq [Sat, 23 Mar 2013 12:48:40 +0000 (13:48 +0100)]
dvisampler: clean up EDID data
Sebastien Bourdeauducq [Fri, 22 Mar 2013 22:49:25 +0000 (23:49 +0100)]
dvisampler: decode before channel sync
Sebastien Bourdeauducq [Fri, 22 Mar 2013 20:28:17 +0000 (21:28 +0100)]
dvisampler: decoding
Sebastien Bourdeauducq [Fri, 22 Mar 2013 17:37:10 +0000 (18:37 +0100)]
dvisampler: channel synchronization
Sebastien Bourdeauducq [Thu, 21 Mar 2013 21:56:13 +0000 (22:56 +0100)]
dvisampler: character synchronization
Sebastien Bourdeauducq [Thu, 21 Mar 2013 18:06:15 +0000 (19:06 +0100)]
dvisampler/datacapture: deserialize to 10 bits
Sebastien Bourdeauducq [Thu, 21 Mar 2013 18:02:04 +0000 (19:02 +0100)]
dvisampler/clocking: generate pix reset
Sebastien Bourdeauducq [Thu, 21 Mar 2013 14:32:26 +0000 (15:32 +0100)]
software/videomixer: quick hack for phase detection
Sebastien Bourdeauducq [Thu, 21 Mar 2013 09:42:31 +0000 (10:42 +0100)]
software: add videomixer base files
Sebastien Bourdeauducq [Thu, 21 Mar 2013 09:41:56 +0000 (10:41 +0100)]
software/bios: change boot order
Sebastien Bourdeauducq [Wed, 20 Mar 2013 23:46:29 +0000 (00:46 +0100)]
dvisampler: software controlled phase detector
Sebastien Bourdeauducq [Mon, 18 Mar 2013 19:31:59 +0000 (20:31 +0100)]
dvisampler/clocking: proper pix5x reset synchronization
Sebastien Bourdeauducq [Mon, 18 Mar 2013 18:03:17 +0000 (19:03 +0100)]
dvisampler: use pix5x as IODELAY clock
Sebastien Bourdeauducq [Mon, 18 Mar 2013 16:44:01 +0000 (17:44 +0100)]
Use Instance.Input(..., ClockSignal/ResetSignal) instead of Instance.ClockPort/ResetPort
Sebastien Bourdeauducq [Sun, 17 Mar 2013 19:16:58 +0000 (20:16 +0100)]
m1crg: set CLKIN_PERIOD for vga_clock_gen
Sebastien Bourdeauducq [Sun, 17 Mar 2013 16:42:22 +0000 (17:42 +0100)]
dvisampler/datacapture: connect IODELAY IOCLK0
Sebastien Bourdeauducq [Sun, 17 Mar 2013 16:36:49 +0000 (17:36 +0100)]
dvisampler/datacapture: fix tap counter reg
Sebastien Bourdeauducq [Sun, 17 Mar 2013 14:41:50 +0000 (15:41 +0100)]
dvisampler: fixes
Sebastien Bourdeauducq [Sun, 17 Mar 2013 13:43:10 +0000 (14:43 +0100)]
dvisampler: add clocking and phase detector
Sebastien Bourdeauducq [Fri, 15 Mar 2013 18:51:29 +0000 (19:51 +0100)]
MultiReg: remove idomain
Sebastien Bourdeauducq [Fri, 15 Mar 2013 18:17:05 +0000 (19:17 +0100)]
Use new ClockDomain API
Sebastien Bourdeauducq [Wed, 13 Mar 2013 18:59:39 +0000 (19:59 +0100)]
software/bios: default length 4 for mr command
Sebastien Bourdeauducq [Wed, 13 Mar 2013 18:56:56 +0000 (19:56 +0100)]
Instantiate DVI sampler core for both ports
Sebastien Bourdeauducq [Wed, 13 Mar 2013 18:56:26 +0000 (19:56 +0100)]
dvisampler: add core, EDID support
Sebastien Bourdeauducq [Tue, 12 Mar 2013 15:13:20 +0000 (16:13 +0100)]
build.py: use implicit get_fragment
Sebastien Bourdeauducq [Tue, 12 Mar 2013 14:47:54 +0000 (15:47 +0100)]
Use automatic register naming
Sebastien Bourdeauducq [Sun, 10 Mar 2013 18:32:38 +0000 (19:32 +0100)]
Use new module, autoreg and eventmanager Migen APIs
Sebastien Bourdeauducq [Wed, 6 Mar 2013 10:10:16 +0000 (11:10 +0100)]
software/libcompiler-rt: add ctzsi2
Sebastien Bourdeauducq [Sun, 24 Feb 2013 16:42:28 +0000 (17:42 +0100)]
lm32: update
Sebastien Bourdeauducq [Sun, 24 Feb 2013 16:41:56 +0000 (17:41 +0100)]
m1crg: advance off-chip DDR clock phase
Sebastien Bourdeauducq [Sun, 24 Feb 2013 15:51:03 +0000 (16:51 +0100)]
bios: print number of memory errors
Sebastien Bourdeauducq [Sun, 24 Feb 2013 15:28:59 +0000 (16:28 +0100)]
build: support optional MMU
Sebastien Bourdeauducq [Sun, 24 Feb 2013 14:57:19 +0000 (15:57 +0100)]
lm32: use submodule
Sebastien Bourdeauducq [Sun, 24 Feb 2013 12:07:25 +0000 (13:07 +0100)]
Use new 'specials' API
Sebastien Bourdeauducq [Sun, 24 Feb 2013 11:31:00 +0000 (12:31 +0100)]
corelogic -> genlib