aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/devboards/pb1200
diff options
context:
space:
mode:
authorManuel Lauss <manuel.lauss@googlemail.com>2009-10-04 08:55:28 -0400
committerRalf Baechle <ralf@linux-mips.org>2010-02-27 06:52:51 -0500
commit27dd65ac9afabc8e67ab73f7c2f575eddbb47167 (patch)
treed8da508ceff4f2e69f8cc621a8bdebe83fef02e8 /arch/mips/alchemy/devboards/pb1200
parent66213b3ccfc770704025ce9465fa3aaedde21b55 (diff)
MIPS: Alchemy: devboards: wire up new PCMCIA driver.
Register the PCMCIA driver on all boards supported by it, get rid of now-unused pcmcia macros in the board headers (and subsequently empty pb1100/pb1500 ones). Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/alchemy/devboards/pb1200')
-rw-r--r--arch/mips/alchemy/devboards/pb1200/platform.c55
1 files changed, 53 insertions, 2 deletions
diff --git a/arch/mips/alchemy/devboards/pb1200/platform.c b/arch/mips/alchemy/devboards/pb1200/platform.c
index dfdaabf77909..c8b7ae3f3253 100644
--- a/arch/mips/alchemy/devboards/pb1200/platform.c
+++ b/arch/mips/alchemy/devboards/pb1200/platform.c
@@ -28,6 +28,8 @@
28#include <asm/mach-au1x00/au1100_mmc.h> 28#include <asm/mach-au1x00/au1100_mmc.h>
29#include <asm/mach-db1x00/bcsr.h> 29#include <asm/mach-db1x00/bcsr.h>
30 30
31#include "../platform.h"
32
31static int mmc_activity; 33static int mmc_activity;
32 34
33static void pb1200mmc0_set_power(void *mmc_host, int state) 35static void pb1200mmc0_set_power(void *mmc_host, int state)
@@ -170,8 +172,57 @@ static struct platform_device *board_platform_devices[] __initdata = {
170 172
171static int __init board_register_devices(void) 173static int __init board_register_devices(void)
172{ 174{
175#ifdef CONFIG_MIPS_PB1200
176 db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS,
177 PCMCIA_ATTR_PSEUDO_PHYS + 0x00040000 - 1,
178 PCMCIA_MEM_PSEUDO_PHYS,
179 PCMCIA_MEM_PSEUDO_PHYS + 0x00040000 - 1,
180 PCMCIA_IO_PSEUDO_PHYS,
181 PCMCIA_IO_PSEUDO_PHYS + 0x00001000 - 1,
182 PB1200_PC0_INT,
183 PB1200_PC0_INSERT_INT,
184 /*PB1200_PC0_STSCHG_INT*/0,
185 PB1200_PC0_EJECT_INT,
186 0);
187
188 db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS + 0x00800000,
189 PCMCIA_ATTR_PSEUDO_PHYS + 0x00840000 - 1,
190 PCMCIA_MEM_PSEUDO_PHYS + 0x00800000,
191 PCMCIA_MEM_PSEUDO_PHYS + 0x00840000 - 1,
192 PCMCIA_IO_PSEUDO_PHYS + 0x00800000,
193 PCMCIA_IO_PSEUDO_PHYS + 0x00801000 - 1,
194 PB1200_PC1_INT,
195 PB1200_PC1_INSERT_INT,
196 /*PB1200_PC1_STSCHG_INT*/0,
197 PB1200_PC1_EJECT_INT,
198 1);
199#else
200 db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS,
201 PCMCIA_ATTR_PSEUDO_PHYS + 0x00040000 - 1,
202 PCMCIA_MEM_PSEUDO_PHYS,
203 PCMCIA_MEM_PSEUDO_PHYS + 0x00040000 - 1,
204 PCMCIA_IO_PSEUDO_PHYS,
205 PCMCIA_IO_PSEUDO_PHYS + 0x00001000 - 1,
206 DB1200_PC0_INT,
207 DB1200_PC0_INSERT_INT,
208 /*DB1200_PC0_STSCHG_INT*/0,
209 DB1200_PC0_EJECT_INT,
210 0);
211
212 db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS + 0x00400000,
213 PCMCIA_ATTR_PSEUDO_PHYS + 0x00440000 - 1,
214 PCMCIA_MEM_PSEUDO_PHYS + 0x00400000,
215 PCMCIA_MEM_PSEUDO_PHYS + 0x00440000 - 1,
216 PCMCIA_IO_PSEUDO_PHYS + 0x00400000,
217 PCMCIA_IO_PSEUDO_PHYS + 0x00401000 - 1,
218 DB1200_PC1_INT,
219 DB1200_PC1_INSERT_INT,
220 /*DB1200_PC1_STSCHG_INT*/0,
221 DB1200_PC1_EJECT_INT,
222 1);
223#endif
224
173 return platform_add_devices(board_platform_devices, 225 return platform_add_devices(board_platform_devices,
174 ARRAY_SIZE(board_platform_devices)); 226 ARRAY_SIZE(board_platform_devices));
175} 227}
176 228device_initcall(board_register_devices);
177arch_initcall(board_register_devices);