[PATCH] Support for the Cirrus EDB9312 development board

From: Toufeeq Hussain
Date: Thu Sep 21 2006 - 07:41:02 EST


Hi,

We at Infosys would like to submit the following patch which adds
support for the EDB9312 (ep93xx based) development board developed by
Cirrus Logic.

Thanks,
Toufeeq

Signed-off-by: Toufeeq Hussain <toufeeq_hussain@xxxxxxxxxxx>
--
blog @ http://toufeeq.net
diff -urN linux-2.6.15.orig/arch/arm/mach-ep93xx/edb9312.c linux-2.6.15/arch/arm/mach-ep93xx/edb9312.c
--- linux-2.6.15.orig/arch/arm/mach-ep93xx/edb9312.c 1970-01-01 05:30:00.000000000 +0530
+++ linux-2.6.15/arch/arm/mach-ep93xx/edb9312.c 2006-09-04 16:57:17.737255232 +0530
@@ -0,0 +1,63 @@
+/*
+ * arch/arm/mach-ep93xx/edb9312.c
+ * Cirrus Logic EDB9312 support.
+ *
+ * Copyright (C) 2006 Infosys Technologies Limited
+ * Toufeeq Hussain <toufeeq_hussain@xxxxxxxxxxx>
+ *
+ * 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.
+ */
+
+#include <linux/config.h>
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/mm.h>
+#include <linux/sched.h>
+#include <linux/interrupt.h>
+#include <linux/ioport.h>
+#include <linux/mtd/physmap.h>
+#include <linux/platform_device.h>
+#include <asm/io.h>
+#include <asm/hardware.h>
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+
+static struct physmap_flash_data edb9312_flash_data = {
+ .width = 4,
+};
+
+static struct resource edb9312_flash_resource = {
+ .start = 0x60000000,
+ .end = 0x61ffffff,
+ .flags = IORESOURCE_MEM,
+};
+
+static struct platform_device edb9312_flash = {
+ .name = "physmap-flash",
+ .id = 0,
+ .dev = {
+ .platform_data = &edb9312_flash_data,
+ },
+ .num_resources = 1,
+ .resource = &edb9312_flash_resource,
+};
+
+static void __init edb9312_init_machine(void)
+{
+ ep93xx_init_devices();
+ platform_device_register(&edb9312_flash);
+}
+
+MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Board")
+ /* Maintainer: Toufeeq Hussain <toufeeq_hussain@xxxxxxxxxxx> */
+ .phys_io = EP93XX_APB_PHYS_BASE,
+ .io_pg_offst = ((EP93XX_APB_VIRT_BASE) >> 18) & 0xfffc,
+ .boot_params = 0x00000100,
+ .map_io = ep93xx_map_io,
+ .init_irq = ep93xx_init_irq,
+ .timer = &ep93xx_timer,
+ .init_machine = edb9312_init_machine,
+MACHINE_END
Binary files linux-2.6.15.orig/arch/arm/mach-ep93xx/.edb9315.c.swp and linux-2.6.15/arch/arm/mach-ep93xx/.edb9315.c.swp differ
diff -urN linux-2.6.15.orig/arch/arm/mach-ep93xx/Kconfig linux-2.6.15/arch/arm/mach-ep93xx/Kconfig
--- linux-2.6.15.orig/arch/arm/mach-ep93xx/Kconfig 2006-09-04 16:43:10.000000000 +0530
+++ linux-2.6.15/arch/arm/mach-ep93xx/Kconfig 2006-09-03 17:11:03.000000000 +0530
@@ -15,6 +15,13 @@
Say 'Y' here if you want your kernel to support the Cirrus
Logic EDB9302 Evaluation Board.

+config MACH_EDB9312
+ bool "Support Cirrus Logic EDB9312"
+ help
+ Say 'Y' here if you want your kernel to support the Cirrus
+ Logic EDB9312 Evaluation Board.
+
+
config MACH_EDB9315
bool "Support Cirrus Logic EDB9315"
help
diff -urN linux-2.6.15.orig/arch/arm/mach-ep93xx/Makefile linux-2.6.15/arch/arm/mach-ep93xx/Makefile
--- linux-2.6.15.orig/arch/arm/mach-ep93xx/Makefile 2006-09-04 16:43:10.000000000 +0530
+++ linux-2.6.15/arch/arm/mach-ep93xx/Makefile 2006-09-03 17:11:25.000000000 +0530
@@ -7,6 +7,7 @@
obj- :=

obj-$(CONFIG_MACH_EDB9302) += edb9302.o
+obj-$(CONFIG_MACH_EDB9312) += edb9312.o
obj-$(CONFIG_MACH_EDB9315) += edb9315.o
obj-$(CONFIG_MACH_EDB9315A) += edb9315a.o
obj-$(CONFIG_MACH_GESBC9312) += gesbc9312.o