Index: kernel/arch/arm32/include/arch/mach/integratorcp/integratorcp.h
===================================================================
--- kernel/arch/arm32/include/arch/mach/integratorcp/integratorcp.h	(revision 8f9d70b5498ff71a9096be68b3f615349ee58ed3)
+++ kernel/arch/arm32/include/arch/mach/integratorcp/integratorcp.h	(revision c88250553aba5820e5ea6bf156edf1ed176d8737)
@@ -46,5 +46,6 @@
 #define ICP_IRQC_MAX_IRQ  8
 #define ICP_KBD_IRQ       3
-#define ICP_TIMER_IRQ    6
+#define ICP_TIMER_IRQ     6
+#define ICP_UART0_IRQ     1
 
 /** Timer frequency */
Index: kernel/arch/arm32/include/arch/mach/raspberrypi/raspberrypi.h
===================================================================
--- kernel/arch/arm32/include/arch/mach/raspberrypi/raspberrypi.h	(revision 8f9d70b5498ff71a9096be68b3f615349ee58ed3)
+++ kernel/arch/arm32/include/arch/mach/raspberrypi/raspberrypi.h	(revision c88250553aba5820e5ea6bf156edf1ed176d8737)
@@ -43,4 +43,6 @@
 extern struct arm_machine_ops raspberrypi_machine_ops;
 
+#define BCM2835_UART0_BASE_ADDRESS   0x20201000
+
 #endif
 
Index: kernel/arch/arm32/src/mach/integratorcp/integratorcp.c
===================================================================
--- kernel/arch/arm32/src/mach/integratorcp/integratorcp.c	(revision 8f9d70b5498ff71a9096be68b3f615349ee58ed3)
+++ kernel/arch/arm32/src/mach/integratorcp/integratorcp.c	(revision c88250553aba5820e5ea6bf156edf1ed176d8737)
@@ -37,6 +37,6 @@
 #include <ipc/irq.h>
 #include <console/chardev.h>
+#include <genarch/drivers/pl011/pl011.h>
 #include <genarch/drivers/pl050/pl050.h>
-#include <genarch/drivers/arm926_uart/arm926_uart.h>
 #include <genarch/kbrd/kbrd.h>
 #include <genarch/srln/srln.h>
@@ -61,5 +61,5 @@
 	icp_hw_map_t hw_map;
 	irq_t timer_irq;
-	arm926_uart_t uart;
+	pl011_uart_t uart;
 } icp;
 
@@ -314,7 +314,6 @@
 		stdout_wire(fbdev);
 #endif
-#ifdef CONFIG_ARM926_UART
-	if (arm926_uart_init(&icp.uart, ARM926_UART0_IRQ,
-	    ARM926_UART0_BASE_ADDRESS, sizeof(arm926_uart_regs_t)))
+#ifdef CONFIG_PL011_UART
+	if (pl011_uart_init(&icp.uart, ICP_UART0_IRQ, ICP_UART))
 		stdout_wire(&icp.uart.outdev);
 #endif
@@ -350,11 +349,11 @@
 	    ICP_KBD);
 
-#ifdef CONFIG_ARM926_UART
+#ifdef CONFIG_PL011_UART
         srln_instance_t *srln_instance = srln_init();
         if (srln_instance) {
                 indev_t *sink = stdin_wire();
                 indev_t *srln = srln_wire(srln_instance, sink);
-                arm926_uart_input_wire(&icp.uart, srln);
-		icp_irqc_unmask(ARM926_UART0_IRQ);
+                pl011_uart_input_wire(&icp.uart, srln);
+                icp_irqc_unmask(ICP_UART0_IRQ);
         }
 #endif
Index: kernel/arch/arm32/src/mach/raspberrypi/raspberrypi.c
===================================================================
--- kernel/arch/arm32/src/mach/raspberrypi/raspberrypi.c	(revision 8f9d70b5498ff71a9096be68b3f615349ee58ed3)
+++ kernel/arch/arm32/src/mach/raspberrypi/raspberrypi.c	(revision c88250553aba5820e5ea6bf156edf1ed176d8737)
@@ -36,5 +36,5 @@
 #include <arch/exception.h>
 #include <arch/mach/raspberrypi/raspberrypi.h>
-#include <genarch/drivers/bcm2835/pl011_uart.h>
+#include <genarch/drivers/pl011/pl011.h>
 #include <genarch/drivers/bcm2835/irc.h>
 #include <genarch/drivers/bcm2835/timer.h>
@@ -169,8 +169,7 @@
 static void raspberrypi_output_init(void)
 {
-#ifdef CONFIG_BCM2835_UART
+#ifdef CONFIG_PL011_UART
 	if (pl011_uart_init(&raspi.uart, BCM2835_UART_IRQ,
-			    PL011_UART0_BASE_ADDRESS,
-			    sizeof(pl011_uart_regs_t)))
+			    BCM2835_UART0_BASE_ADDRESS))
 		stdout_wire(&raspi.uart.outdev);
 #endif
