patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / arch / arm / mach-lh7a40x / arch-lpd7a40x.c
index 734cc75..75dba98 100644 (file)
@@ -116,7 +116,12 @@ extern void lpd7a400_map_io (void);
 
 static void __init lpd7a40x_init (void)
 {
-       CPLD_CONTROL = 0x0;     /* Enable LAN (Disable LCD) */
+       CPLD_CONTROL |=     (1<<6); /* Mask USB1 connection IRQ */
+       CPLD_CONTROL &= ~(0
+                         | (1<<1) /* Disable LCD */
+                         | (1<<0) /* Enable WLAN */
+               );
+
        platform_add_devices (lpd7a40x_devs, ARRAY_SIZE (lpd7a40x_devs));
 }
 
@@ -191,7 +196,7 @@ void __init lh7a40x_init_board_irq (void)
        int pinCPLD = (cpld_version == 0x28) ? 7 : 3;
 
 #if defined CONFIG_MACH_LPD7A404
-       cpld_version = 0x34;    /* Override, for now */
+       cpld_version = 0x34;    /* Coerce LPD7A404 to RevB */
 #endif
 
                /* First, configure user controlled GPIOF interrupts  */
@@ -204,7 +209,7 @@ void __init lh7a40x_init_board_irq (void)
 
                /* Then, configure CPLD interrupt */
 
-       CPLD_INTERRUPTS =   0x0c; /* Disable all CPLD interrupts */
+       CPLD_INTERRUPTS =   0x9c; /* Disable all CPLD interrupts */
        GPIO_PFDD       &= ~(1 << pinCPLD); /* Make input */
        GPIO_INTTYPE1   |=  (1 << pinCPLD); /* Edge triggered */
        GPIO_INTTYPE2   &= ~(1 << pinCPLD); /* Active low */