A Raspberry Pi / BCM2835 Software-based UART Linux device driver