gd->baudrate = CONFIG_BAUDRATE;
 
        arc_console_baud = gd->cpu_clk / (gd->baudrate * 4) - 1;
-       writel(arc_console_baud & 0xff, ®s->baudl);
+       writeb(arc_console_baud & 0xff, ®s->baudl);
 
 #ifdef CONFIG_ARC
        /*
         * Until that is fixed, when running on ISS, we will set baudh to !0
         */
        if (gd->arch.running_on_hw)
-               writel((arc_console_baud & 0xff00) >> 8, ®s->baudh);
+               writeb((arc_console_baud & 0xff00) >> 8, ®s->baudh);
        else
-               writel(1, ®s->baudh);
+               writeb(1, ®s->baudh);
 #else
-       writel((arc_console_baud & 0xff00) >> 8, ®s->baudh);
+       writeb((arc_console_baud & 0xff00) >> 8, ®s->baudh);
 #endif
 }
 
        if (c == '\n')
                arc_serial_putc('\r');
 
-       while (!(readl(®s->status) & UART_TXEMPTY))
+       while (!(readb(®s->status) & UART_TXEMPTY))
                ;
 
-       writel(c, ®s->data);
+       writeb(c, ®s->data);
 }
 
 static int arc_serial_tstc(void)
 {
-       return !(readl(®s->status) & UART_RXEMPTY);
+       return !(readb(®s->status) & UART_RXEMPTY);
 }
 
 static int arc_serial_getc(void)
                ;
 
        /* Check for overflow errors */
-       if (readl(®s->status) & UART_OVERFLOW_ERR)
+       if (readb(®s->status) & UART_OVERFLOW_ERR)
                return 0;
 
-       return readl(®s->data) & 0xFF;
+       return readb(®s->data) & 0xFF;
 }
 
 static void arc_serial_puts(const char *s)