lm4f: Add UART function prototypes

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
lm4f: Add UART "convenience" macros

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
lm4f: Add basic UART implementation

Add basic functionality needed to setup the UART and send/recieve
data.
Interrupts, DMA, and more advanced features are not implemented in
this patch.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
lm4f: Add basic UART echo example

Nothing fancy, just a demonstration of the blocking send and
recieve.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
lm4f: Use typedef's enum for UART parameters

typedef the enums used for the uart.
For example, change
enum uart_flowctl {
	UART_FLOWCTL_NONE,
	UART_FLOWCTL_SOFT,
	UART_FLOWCTL_HARD,
};

to:
typedef enum  {
	UART_FLOWCTL_NONE,
	UART_FLOWCTL_SOFT,
	UART_FLOWCTL_HARD,
} uart_flowctl_t;

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
lm4f: Modify uart example to use new clock API

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
lm4f: Implement UART Rx and Tx interrupt enable/disable

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>
lm4f: Check the clock source from before setting the baud divisor

The UART can be clocked from either the internal oscillator, or the system
clock. The baudrate divisor depends on this clock's frequency, so take that
into account.