The following patchset introduces status and control registers for the uart core. This will make it easier to use in the linux kernel driver. Unify the rx and tx interrupt into one. An ISR can determine the cause by reading the status register.
There is already qemu [1] and linux [2] support for this new kind of the uart core. changes v1->v2: * don't use implicit event acks on RXTX read and write (CSR doesn't have a strobe signal) * instead use w1c bits to ack these events * update uart core documentation [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 (8): uart: add status and control register update header files for new uart core libhpdmc: support new uart core gdbstub: cosmetic cleanups gdbstub: support new uart core monitor: update gdbstub rom bios/demo: support new uart core reassign interrupts boards/milkymist-one/rtl/system.v | 23 ++--- cores/monitor/rtl/gdbstub.rom | 182 ++++++++++++++++++------------------ cores/uart/doc/uart.tex | 57 +++++++++++- cores/uart/rtl/uart.v | 72 ++++++++++----- software/bios/isr.c | 6 +- software/demo/isr.c | 6 +- software/demo/shell.c | 10 +- software/gdbstub/gdbstub.c | 43 ++++----- software/include/base/uart.h | 3 +- software/include/hw/interrupts.h | 34 +++---- software/include/hw/midi.h | 11 ++- software/include/hw/uart.h | 16 ++- software/libbase/console.c | 4 +- software/libbase/uart.c | 67 ++++++++------ software/libhal/vga.c | 4 +- software/libhpdmc/libhpdmc.S | 39 ++++---- 16 files changed, 331 insertions(+), 246 deletions(-) -- 1.7.2.5 _______________________________________________ http://lists.milkymist.org/listinfo.cgi/devel-milkymist.org IRC: #milkymist@Freenode
