Before going on vacation, i'll submit my work on the uart core. The following patchset introduces status and control registers for the uart core. This will make it easier to use in the linux kernel driver. This won't change the interrupts to level triggered one instead it leave them as edge triggered but unifies them into one, pulsed interrupt. The ISR can determine the cause by reading the status register.
Please note: there is a bug which causes lost characters on the receive side. The patchset is not for inclusion into master (yet) :) There is already qemu [1] and linux [2] support for this new kind of the uart core. [1] http://git.serverraum.org/?p=mw/qemu-lm32.git (branch new-uart) [2] https://github.com/milkymist/linux-milkymist (branch new-uart) Michael Walle (6): add uart status and control register update header files for new uart core libhpdmc: support new uart core gdbstub: cosmetic cleanups gdbstub: support new uart core bios/demo: support new uart core boards/milkymist-one/rtl/system.v | 23 ++--- cores/monitor/rtl/gdbstub.rom | 190 ++++++++++++++++++------------------ cores/uart/rtl/uart.v | 65 ++++++++----- software/bios/isr.c | 6 +- software/demo/isr.c | 6 +- software/demo/shell.c | 7 +- software/gdbstub/gdbstub.c | 37 +++----- software/include/base/uart.h | 3 +- software/include/hw/interrupts.h | 6 +- software/include/hw/midi.h | 10 ++- software/include/hw/uart.h | 15 ++- software/libbase/console.c | 4 +- software/libbase/uart.c | 60 ++++++------ software/libhal/vga.c | 4 +- software/libhpdmc/libhpdmc.S | 37 ++++---- 15 files changed, 242 insertions(+), 231 deletions(-) -- 1.7.2.5 _______________________________________________ http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org IRC: #milkymist@Freenode Twitter: www.twitter.com/milkymistvj Ideas? http://milkymist.uservoice.com
