# Alchemy Develboards
 #
 
-obj-y += prom.o bcsr.o
+obj-y += prom.o bcsr.o platform.o
 obj-$(CONFIG_PM)               += pm.o
 obj-$(CONFIG_MIPS_PB1000)      += pb1000/
 obj-$(CONFIG_MIPS_PB1100)      += pb1100/
 
 # Makefile for the Alchemy Semiconductor DBAu1xx0 boards.
 #
 
-obj-y := board_setup.o
+obj-y := board_setup.o platform.o
 
 #if defined(CONFIG_MIPS_MIRAGE)
        set_irq_type(AU1000_GPIO_7, IRQF_TRIGGER_RISING); /* TS pendown */
 #elif defined(CONFIG_MIPS_DB1550)
+       set_irq_type(AU1000_GPIO_0, IRQF_TRIGGER_LOW);  /* CD0# */
+       set_irq_type(AU1000_GPIO_1, IRQF_TRIGGER_LOW);  /* CD1# */
        set_irq_type(AU1000_GPIO_3, IRQF_TRIGGER_LOW);  /* CARD0# */
        set_irq_type(AU1000_GPIO_5, IRQF_TRIGGER_LOW);  /* CARD1# */
+       set_irq_type(AU1000_GPIO_21, IRQF_TRIGGER_LOW); /* STSCHG0# */
+       set_irq_type(AU1000_GPIO_22, IRQF_TRIGGER_LOW); /* STSCHG1# */
 #else
        set_irq_type(AU1000_GPIO_0, IRQF_TRIGGER_LOW);  /* CD0# */
        set_irq_type(AU1000_GPIO_3, IRQF_TRIGGER_LOW);  /* CD1# */
 
--- /dev/null
+/*
+ * DBAu1xxx board platform device registration
+ *
+ * Copyright (C) 2009 Manuel Lauss
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <linux/init.h>
+#include <linux/platform_device.h>
+
+#include <asm/mach-au1x00/au1xxx.h>
+#include "../platform.h"
+
+#if defined(CONFIG_MIPS_DB1000) || defined(CONFIG_MIPS_DB1100) || \
+    defined(CONFIG_MIPS_DB1500) || defined(CONFIG_MIPS_DB1550)
+#define DB1XXX_HAS_PCMCIA
+#endif
+
+/* DB1xxx PCMCIA interrupt sources:
+ * CD0/1       GPIO0/3
+ * STSCHG0/1   GPIO1/4
+ * CARD0/1     GPIO2/5
+ * Db1550:     0/1, 21/22, 3/5
+ */
+#ifndef CONFIG_MIPS_DB1550
+/* Db1000, Db1100, Db1500 */
+#define DB1XXX_PCMCIA_CD0      AU1000_GPIO_0
+#define DB1XXX_PCMCIA_STSCHG0  AU1000_GPIO_1
+#define DB1XXX_PCMCIA_CARD0    AU1000_GPIO_2
+#define DB1XXX_PCMCIA_CD1      AU1000_GPIO_3
+#define DB1XXX_PCMCIA_STSCHG1  AU1000_GPIO_4
+#define DB1XXX_PCMCIA_CARD1    AU1000_GPIO_5
+#else
+#define DB1XXX_PCMCIA_CD0      AU1000_GPIO_0
+#define DB1XXX_PCMCIA_STSCHG0  AU1500_GPIO_21
+#define DB1XXX_PCMCIA_CARD0    AU1000_GPIO_3
+#define DB1XXX_PCMCIA_CD1      AU1000_GPIO_1
+#define DB1XXX_PCMCIA_STSCHG1  AU1500_GPIO_22
+#define DB1XXX_PCMCIA_CARD1    AU1000_GPIO_5
+#endif
+
+static int __init db1xxx_dev_init(void)
+{
+#ifdef DB1XXX_HAS_PCMCIA
+       db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS,
+                                   PCMCIA_ATTR_PSEUDO_PHYS + 0x00040000 - 1,
+                                   PCMCIA_MEM_PSEUDO_PHYS,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00040000 - 1,
+                                   PCMCIA_IO_PSEUDO_PHYS,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00001000 - 1,
+                                   DB1XXX_PCMCIA_CARD0,
+                                   DB1XXX_PCMCIA_CD0,
+                                   /*DB1XXX_PCMCIA_STSCHG0*/0,
+                                   0,
+                                   0);
+
+       db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS + 0x00400000,
+                                   PCMCIA_ATTR_PSEUDO_PHYS + 0x00440000 - 1,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00400000,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00440000 - 1,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00400000,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00401000 - 1,
+                                   DB1XXX_PCMCIA_CARD1,
+                                   DB1XXX_PCMCIA_CD1,
+                                   /*DB1XXX_PCMCIA_STSCHG1*/0,
+                                   0,
+                                   1);
+#endif
+       return 0;
+}
+device_initcall(db1xxx_dev_init);
 
 # Makefile for the Alchemy Semiconductor Pb1100 board.
 #
 
-obj-y := board_setup.o
+obj-y := board_setup.o platform.o
 
 #include <linux/interrupt.h>
 
 #include <asm/mach-au1x00/au1000.h>
-#include <asm/mach-pb1x00/pb1100.h>
 #include <asm/mach-db1x00/bcsr.h>
 
 #include <prom.h>
 
--- /dev/null
+/*
+ * Pb1100 board platform device registration
+ *
+ * Copyright (C) 2009 Manuel Lauss
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <linux/init.h>
+
+#include <asm/mach-au1x00/au1000.h>
+
+#include "../platform.h"
+
+static int __init pb1100_dev_init(void)
+{
+       /* PCMCIA. single socket, identical to Pb1500 */
+       db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS,
+                                   PCMCIA_ATTR_PSEUDO_PHYS + 0x00040000 - 1,
+                                   PCMCIA_MEM_PSEUDO_PHYS,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00040000 - 1,
+                                   PCMCIA_IO_PSEUDO_PHYS,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00001000 - 1,
+                                   AU1000_GPIO_11,      /* card */
+                                   AU1000_GPIO_9,       /* insert */
+                                   /*AU1000_GPIO_10*/0, /* stschg */
+                                   0,                   /* eject */
+                                   0);                  /* id */
+       return 0;
+}
+device_initcall(pb1100_dev_init);
 
 #include <asm/mach-au1x00/au1100_mmc.h>
 #include <asm/mach-db1x00/bcsr.h>
 
+#include "../platform.h"
+
 static int mmc_activity;
 
 static void pb1200mmc0_set_power(void *mmc_host, int state)
 
 static int __init board_register_devices(void)
 {
+#ifdef CONFIG_MIPS_PB1200
+       db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS,
+                                   PCMCIA_ATTR_PSEUDO_PHYS + 0x00040000 - 1,
+                                   PCMCIA_MEM_PSEUDO_PHYS,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00040000 - 1,
+                                   PCMCIA_IO_PSEUDO_PHYS,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00001000 - 1,
+                                   PB1200_PC0_INT,
+                                   PB1200_PC0_INSERT_INT,
+                                   /*PB1200_PC0_STSCHG_INT*/0,
+                                   PB1200_PC0_EJECT_INT,
+                                   0);
+
+       db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS + 0x00800000,
+                                   PCMCIA_ATTR_PSEUDO_PHYS + 0x00840000 - 1,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00800000,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00840000 - 1,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00800000,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00801000 - 1,
+                                   PB1200_PC1_INT,
+                                   PB1200_PC1_INSERT_INT,
+                                   /*PB1200_PC1_STSCHG_INT*/0,
+                                   PB1200_PC1_EJECT_INT,
+                                   1);
+#else
+       db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS,
+                                   PCMCIA_ATTR_PSEUDO_PHYS + 0x00040000 - 1,
+                                   PCMCIA_MEM_PSEUDO_PHYS,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00040000 - 1,
+                                   PCMCIA_IO_PSEUDO_PHYS,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00001000 - 1,
+                                   DB1200_PC0_INT,
+                                   DB1200_PC0_INSERT_INT,
+                                   /*DB1200_PC0_STSCHG_INT*/0,
+                                   DB1200_PC0_EJECT_INT,
+                                   0);
+
+       db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS + 0x00400000,
+                                   PCMCIA_ATTR_PSEUDO_PHYS + 0x00440000 - 1,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00400000,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00440000 - 1,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00400000,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00401000 - 1,
+                                   DB1200_PC1_INT,
+                                   DB1200_PC1_INSERT_INT,
+                                   /*DB1200_PC1_STSCHG_INT*/0,
+                                   DB1200_PC1_EJECT_INT,
+                                   1);
+#endif
+
        return platform_add_devices(board_platform_devices,
                                    ARRAY_SIZE(board_platform_devices));
 }
-
-arch_initcall(board_register_devices);
+device_initcall(board_register_devices);
 
 # Makefile for the Alchemy Semiconductor Pb1500 board.
 #
 
-obj-y := board_setup.o
+obj-y := board_setup.o platform.o
 
 #include <linux/interrupt.h>
 
 #include <asm/mach-au1x00/au1000.h>
-#include <asm/mach-pb1x00/pb1500.h>
 #include <asm/mach-db1x00/bcsr.h>
 
 #include <prom.h>
 
 static int __init pb1500_init_irq(void)
 {
+       set_irq_type(AU1000_GPIO_9, IRQF_TRIGGER_LOW);  /* CD0# */
+       set_irq_type(AU1000_GPIO_10, IRQF_TRIGGER_LOW); /* CARD0 */
+       set_irq_type(AU1000_GPIO_11, IRQF_TRIGGER_LOW); /* STSCHG0# */
        set_irq_type(AU1500_GPIO_204, IRQF_TRIGGER_HIGH);
        set_irq_type(AU1500_GPIO_201, IRQF_TRIGGER_LOW);
        set_irq_type(AU1500_GPIO_202, IRQF_TRIGGER_LOW);
 
--- /dev/null
+/*
+ * Pb1500 board platform device registration
+ *
+ * Copyright (C) 2009 Manuel Lauss
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <linux/init.h>
+#include <asm/mach-au1x00/au1000.h>
+
+#include "../platform.h"
+
+static int __init pb1500_dev_init(void)
+{
+       /* PCMCIA. single socket, identical to Pb1500 */
+       db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS,
+                                   PCMCIA_ATTR_PSEUDO_PHYS + 0x00040000 - 1,
+                                   PCMCIA_MEM_PSEUDO_PHYS,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00040000 - 1,
+                                   PCMCIA_IO_PSEUDO_PHYS,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00001000 - 1,
+                                   AU1000_GPIO_11,      /* card */
+                                   AU1000_GPIO_9,       /* insert */
+                                   /*AU1000_GPIO_10*/0, /* stschg */
+                                   0,                   /* eject */
+                                   0);                  /* id */
+       return 0;
+}
+device_initcall(pb1500_dev_init);
 
 # Makefile for the Alchemy Semiconductor Pb1550 board.
 #
 
-obj-y := board_setup.o
+obj-y := board_setup.o platform.o
 
 #include <asm/mach-au1x00/au1000.h>
 #include <asm/mach-pb1x00/pb1550.h>
 #include <asm/mach-db1x00/bcsr.h>
+#include <asm/mach-au1x00/gpio.h>
 
 #include <prom.h>
 
        }
 #endif
 
+       alchemy_gpio2_enable();
+
        /*
         * Enable PSC1 SYNC for AC'97.  Normaly done in audio driver,
         * but it is board specific code, so put it here.
 {
        set_irq_type(AU1000_GPIO_0, IRQF_TRIGGER_LOW);
        set_irq_type(AU1000_GPIO_1, IRQF_TRIGGER_LOW);
+       set_irq_type(AU1500_GPIO_201_205, IRQF_TRIGGER_HIGH);
+
+       /* enable both PCMCIA card irqs in the shared line */
+       alchemy_gpio2_enable_int(201);
+       alchemy_gpio2_enable_int(202);
 
        return 0;
 }
 
--- /dev/null
+/*
+ * Pb1550 board platform device registration
+ *
+ * Copyright (C) 2009 Manuel Lauss
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ */
+
+#include <linux/init.h>
+
+#include <asm/mach-au1x00/au1000.h>
+#include <asm/mach-pb1x00/pb1550.h>
+
+#include "../platform.h"
+
+static int __init pb1550_dev_init(void)
+{
+       /* Pb1550, like all others, also has statuschange irqs; however they're
+       * wired up on one of the Au1550's shared GPIO201_205 line, which also
+       * services the PCMCIA card interrupts.  So we ignore statuschange and
+       * use the GPIO201_205 exclusively for card interrupts, since a) pcmcia
+       * drivers are used to shared irqs and b) statuschange isn't really use-
+       * ful anyway.
+       */
+       db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS,
+                                   PCMCIA_ATTR_PSEUDO_PHYS + 0x00040000 - 1,
+                                   PCMCIA_MEM_PSEUDO_PHYS,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00040000 - 1,
+                                   PCMCIA_IO_PSEUDO_PHYS,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00001000 - 1,
+                                   AU1500_GPIO_201_205,
+                                   AU1000_GPIO_0,
+                                   0,
+                                   0,
+                                   0);
+
+       db1x_register_pcmcia_socket(PCMCIA_ATTR_PSEUDO_PHYS + 0x00800000,
+                                   PCMCIA_ATTR_PSEUDO_PHYS + 0x00840000 - 1,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00800000,
+                                   PCMCIA_MEM_PSEUDO_PHYS  + 0x00840000 - 1,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00800000,
+                                   PCMCIA_IO_PSEUDO_PHYS   + 0x00801000 - 1,
+                                   AU1500_GPIO_201_205,
+                                   AU1000_GPIO_1,
+                                   0,
+                                   0,
+                                   1);
+
+       return 0;
+}
+device_initcall(pb1550_dev_init);
 
--- /dev/null
+/*
+ * devoard misc stuff.
+ */
+
+#include <linux/init.h>
+#include <linux/slab.h>
+#include <linux/platform_device.h>
+
+/* register a pcmcia socket */
+int __init db1x_register_pcmcia_socket(unsigned long pseudo_attr_start,
+                                      unsigned long pseudo_attr_end,
+                                      unsigned long pseudo_mem_start,
+                                      unsigned long pseudo_mem_end,
+                                      unsigned long pseudo_io_start,
+                                      unsigned long pseudo_io_end,
+                                      int card_irq,
+                                      int cd_irq,
+                                      int stschg_irq,
+                                      int eject_irq,
+                                      int id)
+{
+       int cnt, i, ret;
+       struct resource *sr;
+       struct platform_device *pd;
+
+       cnt = 5;
+       if (eject_irq)
+               cnt++;
+       if (stschg_irq)
+               cnt++;
+
+       sr = kzalloc(sizeof(struct resource) * cnt, GFP_KERNEL);
+       if (!sr)
+               return -ENOMEM;
+
+       pd = platform_device_alloc("db1xxx_pcmcia", id);
+       if (!pd) {
+               ret = -ENOMEM;
+               goto out;
+       }
+
+       sr[0].name      = "pseudo-attr";
+       sr[0].flags     = IORESOURCE_MEM;
+       sr[0].start     = pseudo_attr_start;
+       sr[0].end       = pseudo_attr_end;
+
+       sr[1].name      = "pseudo-mem";
+       sr[1].flags     = IORESOURCE_MEM;
+       sr[1].start     = pseudo_mem_start;
+       sr[1].end       = pseudo_mem_end;
+
+       sr[2].name      = "pseudo-io";
+       sr[2].flags     = IORESOURCE_MEM;
+       sr[2].start     = pseudo_io_start;
+       sr[2].end       = pseudo_io_end;
+
+       sr[3].name      = "insert";
+       sr[3].flags     = IORESOURCE_IRQ;
+       sr[3].start = sr[3].end = cd_irq;
+
+       sr[4].name      = "card";
+       sr[4].flags     = IORESOURCE_IRQ;
+       sr[4].start = sr[4].end = card_irq;
+
+       i = 5;
+       if (stschg_irq) {
+               sr[i].name      = "insert";
+               sr[i].flags     = IORESOURCE_IRQ;
+               sr[i].start = sr[i].end = cd_irq;
+               i++;
+       }
+       if (eject_irq) {
+               sr[i].name      = "eject";
+               sr[i].flags     = IORESOURCE_IRQ;
+               sr[i].start = sr[i].end = eject_irq;
+       }
+
+       pd->resource = sr;
+       pd->num_resources = cnt;
+
+       ret = platform_device_add(pd);
+       if (!ret)
+               return 0;
+
+       platform_device_put(pd);
+out:
+       kfree(sr);
+       return ret;
+}
 
--- /dev/null
+#ifndef _DEVBOARD_PLATFORM_H_
+#define _DEVBOARD_PLATFORM_H_
+
+#include <linux/init.h>
+
+int __init db1x_register_pcmcia_socket(unsigned long pseudo_attr_start,
+                                      unsigned long pseudo_attr_len,
+                                      unsigned long pseudo_mem_start,
+                                      unsigned long pseudo_mem_end,
+                                      unsigned long pseudo_io_start,
+                                      unsigned long pseudo_io_end,
+                                      int card_irq,
+                                      int cd_irq,
+                                      int stschg_irq,
+                                      int eject_irq,
+                                      int id);
+
+#endif
 
        DB1200_INT_END          = DB1200_INT_BEGIN + 15,
 };
 
-
-/*
- * DBAu1200 specific PCMCIA defines for drivers/pcmcia/au1000_db1x00.c
- */
-#define PCMCIA_MAX_SOCK  1
-#define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK + 1)
-
-/* VPP/VCC */
-#define SET_VCC_VPP(VCC, VPP, SLOT) \
-       ((((VCC) << 2) | ((VPP) << 0)) << ((SLOT) * 8))
-
-#define BOARD_PC0_INT  DB1200_PC0_INT
-#define BOARD_PC1_INT  DB1200_PC1_INT
-#define BOARD_CARD_INSERTED(SOCKET) (bcsr_read(BCSR_SIGSTAT) & (1 << (8 + (2 * SOCKET))))
-
 /* NAND chip select */
 #define NAND_CS 1
 
 
 
 #endif
 
-/* PCMCIA DBAu1x00 specific defines */
-#define PCMCIA_MAX_SOCK  1
-#define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK + 1)
-
-/* VPP/VCC */
-#define SET_VCC_VPP(VCC, VPP, SLOT)\
-       ((((VCC) << 2) | ((VPP) << 0)) << ((SLOT) * 8))
-
 /*
  * NAND defines
  *
 
+++ /dev/null
-/*
- * Alchemy Semi Pb1100 Referrence Board
- *
- * Copyright 2001, 2008 MontaVista Software Inc.
- * Author: MontaVista Software, Inc. <source@mvista.com>
- *
- * ########################################################################
- *
- *  This program is free software; you can distribute it and/or modify it
- *  under the terms of the GNU General Public License (Version 2) as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope it will be useful, but WITHOUT
- *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- *  for more details.
- *
- *  You should have received a copy of the GNU General Public License along
- *  with this program; if not, write to the Free Software Foundation, Inc.,
- *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * ########################################################################
- *
- *
- */
-#ifndef __ASM_PB1100_H
-#define __ASM_PB1100_H
-
-/* PCMCIA Pb1100 specific defines */
-#define PCMCIA_MAX_SOCK  0
-#define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK + 1)
-
-/* VPP/VCC */
-#define SET_VCC_VPP(VCC, VPP) (((VCC) << 2) | ((VPP) << 0))
-
-#endif /* __ASM_PB1100_H */
 
        PB1200_INT_END          = PB1200_INT_BEGIN + 15
 };
 
-/*
- * Pb1200 specific PCMCIA defines for drivers/pcmcia/au1000_db1x00.c
- */
-#define PCMCIA_MAX_SOCK  1
-#define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK + 1)
-
-/* VPP/VCC */
-#define SET_VCC_VPP(VCC, VPP, SLOT) \
-       ((((VCC) << 2) | ((VPP) << 0)) << ((SLOT) * 8))
-
-#define BOARD_PC0_INT  PB1200_PC0_INT
-#define BOARD_PC1_INT  PB1200_PC1_INT
-#define BOARD_CARD_INSERTED(SOCKET) (bcsr_read(BCSR_SIGSTAT & (1 << (8 + (2 * SOCKET))))
-
 /* NAND chip select */
 #define NAND_CS 1
 
 
+++ /dev/null
-/*
- * Alchemy Semi Pb1500 Referrence Board
- *
- * Copyright 2001, 2008 MontaVista Software Inc.
- * Author: MontaVista Software, Inc. <source@mvista.com>
- *
- * ########################################################################
- *
- *  This program is free software; you can distribute it and/or modify it
- *  under the terms of the GNU General Public License (Version 2) as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope it will be useful, but WITHOUT
- *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- *  for more details.
- *
- *  You should have received a copy of the GNU General Public License along
- *  with this program; if not, write to the Free Software Foundation, Inc.,
- *  59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
- *
- * ########################################################################
- *
- *
- */
-#ifndef __ASM_PB1500_H
-#define __ASM_PB1500_H
-
-/* PCMCIA Pb1500 specific defines */
-#define PCMCIA_MAX_SOCK  0
-#define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK + 1)
-
-/* VPP/VCC */
-#define SET_VCC_VPP(VCC, VPP) (((VCC) << 2) | ((VPP) << 0))
-
-#endif /* __ASM_PB1500_H */
 
 #define SMBUS_PSC_BASE         PSC2_BASE_ADDR
 #define I2S_PSC_BASE           PSC3_BASE_ADDR
 
-#define PCMCIA_MAX_SOCK  1
-#define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK + 1)
-
-/* VPP/VCC */
-#define SET_VCC_VPP(VCC, VPP, SLOT) \
-       ((((VCC) << 2) | ((VPP) << 0)) << ((SLOT) * 8))
-
 #if defined(CONFIG_MTD_PB1550_BOOT) && defined(CONFIG_MTD_PB1550_USER)
 #define PB1550_BOTH_BANKS
 #elif defined(CONFIG_MTD_PB1550_BOOT) && !defined(CONFIG_MTD_PB1550_USER)