Index: linux/arch/arm/mach-sa1100/collie.c
===================================================================
--- linux.orig/arch/arm/mach-sa1100/collie.c
+++ linux/arch/arm/mach-sa1100/collie.c
@@ -134,6 +134,14 @@
 	}
 };
 
+static struct resource collie_ucb_resources[] = {
+	{
+		.start	= COLLIE_IRQ_GPIO_UCB1x00_IRQ,
+		.end	= COLLIE_IRQ_GPIO_UCB1x00_IRQ,
+		.flags	= IORESOURCE_MEM,
+	},
+};
+
 static void __init collie_init(void)
 {
 	int ret = 0;
@@ -168,6 +176,12 @@
 	sa11x0_set_flash_data(&collie_flash_data, collie_flash_resources,
 			      ARRAY_SIZE(collie_flash_resources));
 
+	/* set up UCB */
+	GAFR &= ~COLLIE_GPIO_UCB1x00_RESET;
+	GPDR |= COLLIE_GPIO_UCB1x00_RESET;
+	GPSR |= COLLIE_GPIO_UCB1x00_RESET;
+	sa1100_ucb_init(collie_ucb_resources, ARRAY_SIZE(collie_ucb_resources), 1);
+
 	sharpsl_save_param();
 }
 
