sw: generate cent table
wb_slave: remove redundant whitespace
sw: add irq interface functions

Basically wrappers around the or1k newlib/libgloss interface
functions, but provided seperately to have a generic interface
for drivers to use.
sw: add midi driver and middle layer
sw: add -lm to LDFLAGS
sw/config: define MIDI_DRIVER to mmiomidi
sw/sublime: define struct to describe sublime synth
sw/sublime: feed init function with a pointer to sublime struct to operate on

In case there are several sublime synths to be handled,
they have to be handled seperately.
sw: initialize irq and midi
sw: fix note/cent to freq reg calculation

and break it out into an own function
sw/sublime: remove static references to sublime defines

This means passing the sublime struct around instead
sw/sublime: remove unused struct
sw/sublime: fix note table calculation

add rounding, and count the 128th note, since that will be used
when cent offsets are used in conjunction with the note table
remove old set_note function decleration
sw/sublime: add helpers to get free/active voice numbers

One helper function to get an inactive voice,
and one to get an active voice associated with a specific note.
sw/sublime: remove unused define
sw/main: remove debug/test code
sw/sublime: att note_on/off midi callbacks
sw/sublime: add a function that writes out a voice to the hardware
sw/sublime: add a pollable task

The purpose of this is to iterate over the voices and write them
out to the hardware.
It's intended to be agnostic to whether there is an underlaying
RTOS running this function inside a task or if it's pulled by a
main loop in a baremetal environment.