remove unused enum
add support for specified-offset arrays
add dma interface
all dma registers, use arrays for dma interrupt registers