Fix a few bits, add more status bit definitions and some comments.
Remove driver specific preference definitions.
More interrupt handling, more debug code, less magic numbers.