Pretty sure most of this is covered by the usart_common stuff too.