+typedef unsigned char u8;
+typedef unsigned int u32;
+
+void uart0_init(u32 br) {
+
+ /* pin select -> tx rx */
+ PINSEL0&=~((1<<0)|(1<<1)|(1<<2)|(1<<3));
+ PINSEL0|=((1<<0)|(1<<2));
+
+ /* divisor */
+ UART0_LCR|=(1<<7);
+ //UART0_DLL=((OSC_CLOCK/(16*br)))&0xff;
+ //UART0_DLM=(((OSC_CLOCK/(16*br)))&0xff00)>>8;
+ UART0_DLL=65;
+ UART0_DLM=0;
+
+ /* 8 bit data */
+ UART0_LCR=((1<<0)|(1<<1));
+
+ /* activate rx tx fifo */
+ UART0_FCR|=((1<<0)|(1<<1)|(1<<2));