vserver 1.9.5.x5
[linux-2.6.git] / arch / arm / mach-pxa / lubbock.c
index a09d4c1..d4516a8 100644 (file)
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
+#include <asm/hardware/sa1111.h>
+
 #include <asm/arch/pxa-regs.h>
 #include <asm/arch/lubbock.h>
 #include <asm/arch/udc.h>
 #include <asm/arch/pxafb.h>
-#include <asm/hardware/sa1111.h>
+#include <asm/arch/mmc.h>
 
 #include "generic.h"
 
 
+#define LUB_MISC_WR            __LUB_REG(LUBBOCK_FPGA_PHYS + 0x080)
+
 void lubbock_set_misc_wr(unsigned int mask, unsigned int set)
 {
        unsigned long flags;
@@ -181,10 +185,25 @@ static struct pxafb_mach_info sharp_lm8v31 __initdata = {
        .lccr3          = LCCR3_PCP | LCCR3_Acb(255),
 };
 
+static int lubbock_mci_init(struct device *dev, irqreturn_t (*lubbock_detect_int)(int, void *, struct pt_regs *), void *data)
+{
+       /* setup GPIO for PXA25x MMC controller */
+       pxa_gpio_mode(GPIO6_MMCCLK_MD);
+       pxa_gpio_mode(GPIO8_MMCCS0_MD);
+
+       return 0;
+}
+
+static struct pxamci_platform_data lubbock_mci_platform_data = {
+       .ocr_mask       = MMC_VDD_32_33|MMC_VDD_33_34,
+       .init           = lubbock_mci_init,
+};
+
 static void __init lubbock_init(void)
 {
        pxa_set_udc_info(&udc_info);
        set_pxa_fb_info(&sharp_lm8v31);
+       pxa_set_mci_info(&lubbock_mci_platform_data);
        (void) platform_add_devices(devices, ARRAY_SIZE(devices));
 }
 
@@ -221,6 +240,6 @@ MACHINE_START(LUBBOCK, "Intel DBPXA250 Development Platform (aka Lubbock)")
        BOOT_MEM(0xa0000000, 0x40000000, io_p2v(0x40000000))
        MAPIO(lubbock_map_io)
        INITIRQ(lubbock_init_irq)
-       INITTIME(pxa_init_time)
+       .timer          = &pxa_timer,
        INIT_MACHINE(lubbock_init)
 MACHINE_END