m68knommu: platform support for 8390 based ethernet used on some boards
authorGreg Ungerer <gerg@uclinux.org>
Mon, 25 Jun 2012 01:11:49 +0000 (11:11 +1000)
committerGreg Ungerer <gerg@uclinux.org>
Sun, 15 Jul 2012 23:59:22 +0000 (09:59 +1000)
Quite a few of Freescale's older ColdFire development boards used an NS8390
based ethernet interface. Add a platform definition for the resources used
by these devices so we can use it on these boards.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
arch/m68k/platform/coldfire/Makefile
arch/m68k/platform/coldfire/mcf8390.c [new file with mode: 0644]

index b3f8bfda52e27a308fb65961ce38e402d70a9385..71bf542b2f602840f794af230f0f559df7eabac7 100644 (file)
@@ -33,6 +33,7 @@ obj-$(CONFIG_M5441x)  += m5441x.o pit.o intc-simr.o reset.o
 obj-$(CONFIG_NETtel)   += nettel.o
 obj-$(CONFIG_CLEOPATRA)        += nettel.o
 obj-$(CONFIG_FIREBEE)  += firebee.o
+obj-$(CONFIG_MCF8390)  += mcf8390.o
 
 obj-y                  += gpio.o
 extra-y := head.o
diff --git a/arch/m68k/platform/coldfire/mcf8390.c b/arch/m68k/platform/coldfire/mcf8390.c
new file mode 100644 (file)
index 0000000..23a6874
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * mcf8390.c  -- platform support for 8390 ethernet on many boards
+ *
+ * (C) Copyright 2012, Greg Ungerer <gerg@uclinux.org>
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file COPYING in the main directory of this archive
+ * for more details.
+ */
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/resource.h>
+#include <linux/platform_device.h>
+#include <asm/mcf8390.h>
+
+static struct resource mcf8390_resources[] = {
+       {
+               .start  = NE2000_ADDR,
+               .end    = NE2000_ADDR + NE2000_ADDRSIZE - 1,
+               .flags  = IORESOURCE_MEM,
+       },
+       {
+               .start  = NE2000_IRQ_VECTOR,
+               .end    = NE2000_IRQ_VECTOR,
+               .flags  = IORESOURCE_IRQ,
+       },
+};
+
+static int __init mcf8390_platform_init(void)
+{
+       platform_device_register_simple("mcf8390", -1, mcf8390_resources,
+               ARRAY_SIZE(mcf8390_resources));
+       return 0;
+}
+
+arch_initcall(mcf8390_platform_init);