diff options
author | Pavel Machek <pavel@ucw.cz> | 2006-03-25 06:07:34 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-25 11:22:55 -0500 |
commit | 44575b2f0873c30ba6010e58048b317474f2bbd0 (patch) | |
tree | 501971efaceb5dba199bbee41e9d8cb734416384 /arch/arm | |
parent | 36a95bf5cd2c33280282da18eff0180a99cff201 (diff) |
[PATCH] collie: fix missing pcmcia bits
This adds missing bits of collie (sharp sl-5500) PCMCIA support and
MFD support.
Signed-off-by: Pavel Machek <pavel@suse.cz>
Acked-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-sa1100/collie.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c index 6888816a1935..102454082474 100644 --- a/arch/arm/mach-sa1100/collie.c +++ b/arch/arm/mach-sa1100/collie.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <asm/hardware/scoop.h> | 40 | #include <asm/hardware/scoop.h> |
41 | #include <asm/mach/sharpsl_param.h> | 41 | #include <asm/mach/sharpsl_param.h> |
42 | #include <asm/hardware/locomo.h> | 42 | #include <asm/hardware/locomo.h> |
43 | #include <asm/arch/mcp.h> | ||
43 | 44 | ||
44 | #include "generic.h" | 45 | #include "generic.h" |
45 | 46 | ||
@@ -66,6 +67,32 @@ struct platform_device colliescoop_device = { | |||
66 | .resource = collie_scoop_resources, | 67 | .resource = collie_scoop_resources, |
67 | }; | 68 | }; |
68 | 69 | ||
70 | static struct scoop_pcmcia_dev collie_pcmcia_scoop[] = { | ||
71 | { | ||
72 | .dev = &colliescoop_device.dev, | ||
73 | .irq = COLLIE_IRQ_GPIO_CF_IRQ, | ||
74 | .cd_irq = COLLIE_IRQ_GPIO_CF_CD, | ||
75 | .cd_irq_str = "PCMCIA0 CD", | ||
76 | }, | ||
77 | }; | ||
78 | |||
79 | static struct scoop_pcmcia_config collie_pcmcia_config = { | ||
80 | .devs = &collie_pcmcia_scoop[0], | ||
81 | .num_devs = 1, | ||
82 | }; | ||
83 | |||
84 | |||
85 | static struct mcp_plat_data collie_mcp_data = { | ||
86 | .mccr0 = MCCR0_ADM, | ||
87 | .sclk_rate = 11981000, | ||
88 | }; | ||
89 | |||
90 | |||
91 | static struct sa1100_port_fns collie_port_fns __initdata = { | ||
92 | .set_mctrl = collie_uart_set_mctrl, | ||
93 | .get_mctrl = collie_uart_get_mctrl, | ||
94 | }; | ||
95 | |||
69 | 96 | ||
70 | static struct resource locomo_resources[] = { | 97 | static struct resource locomo_resources[] = { |
71 | [0] = { | 98 | [0] = { |
@@ -159,6 +186,8 @@ static void __init collie_init(void) | |||
159 | GPDR |= GPIO_32_768kHz; | 186 | GPDR |= GPIO_32_768kHz; |
160 | TUCR = TUCR_32_768kHz; | 187 | TUCR = TUCR_32_768kHz; |
161 | 188 | ||
189 | platform_scoop_config = &collie_pcmcia_config; | ||
190 | |||
162 | ret = platform_add_devices(devices, ARRAY_SIZE(devices)); | 191 | ret = platform_add_devices(devices, ARRAY_SIZE(devices)); |
163 | if (ret) { | 192 | if (ret) { |
164 | printk(KERN_WARNING "collie: Unable to register LoCoMo device\n"); | 193 | printk(KERN_WARNING "collie: Unable to register LoCoMo device\n"); |
@@ -166,6 +195,7 @@ static void __init collie_init(void) | |||
166 | 195 | ||
167 | sa11x0_set_flash_data(&collie_flash_data, collie_flash_resources, | 196 | sa11x0_set_flash_data(&collie_flash_data, collie_flash_resources, |
168 | ARRAY_SIZE(collie_flash_resources)); | 197 | ARRAY_SIZE(collie_flash_resources)); |
198 | sa11x0_set_mcp_data(&collie_mcp_data); | ||
169 | 199 | ||
170 | sharpsl_save_param(); | 200 | sharpsl_save_param(); |
171 | } | 201 | } |