Lighter device writes and better UART handling

- nonblock support for BCM UART writes