[ARM] 3727/1: fix ucb initialization on collie
authorPavel Machek <pavel@ucw.cz>
Tue, 11 Jul 2006 21:54:15 +0000 (22:54 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 11 Jul 2006 21:54:15 +0000 (22:54 +0100)
Patch from Pavel Machek

From: Dirk Opfer <Dirk@Opfer-Online.de>

Fix ucb initialization on collie. Wrong frequency was used and that
led to things not working quite correctly. (I had to actually disable
checks in my tree to get it to boot). It now includes all the
neccessary parts to get it to compile :-).

Signed-off-by: Pavel Machek <pavel@suse.cz>
Acked-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-sa1100/collie.c
drivers/mfd/ucb1x00-core.c
drivers/mfd/ucb1x00.h

index a6bab50..a0dfa39 100644 (file)
@@ -83,8 +83,8 @@ static struct scoop_pcmcia_config collie_pcmcia_config = {
 
 
 static struct mcp_plat_data collie_mcp_data = {
-       .mccr0          = MCCR0_ADM,
-       .sclk_rate      = 11981000,
+       .mccr0          = MCCR0_ADM | MCCR0_ExtClk,
+       .sclk_rate      = 9216000,
 };
 
 #ifdef CONFIG_SHARP_LOCOMO
index 632bc21..2bf3272 100644 (file)
@@ -479,7 +479,7 @@ static int ucb1x00_probe(struct mcp *mcp)
        mcp_enable(mcp);
        id = mcp_reg_read(mcp, UCB_ID);
 
-       if (id != UCB_ID_1200 && id != UCB_ID_1300) {
+       if (id != UCB_ID_1200 && id != UCB_ID_1300 && id != UCB_ID_TC35143) {
                printk(KERN_WARNING "UCB1x00 ID not found: %04x\n", id);
                goto err_disable;
        }
index 9c9a647..ca8df80 100644 (file)
@@ -94,6 +94,7 @@
 #define UCB_ID         0x0c
 #define UCB_ID_1200            0x1004
 #define UCB_ID_1300            0x1005
+#define UCB_ID_TC35143          0x9712
 
 #define UCB_MODE       0x0d
 #define UCB_MODE_DYN_VFLAG_ENA (1 << 12)