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

Reply via email to