Adding Kconfig and Makefile option and board specific 
file for DaVinci DM355

Signed-off-by: Sandeep Paulraj <[EMAIL PROTECTED]>
---
 arch/arm/mach-davinci/Kconfig           |   11 ++++
 arch/arm/mach-davinci/Makefile          |    1 +
 arch/arm/mach-davinci/board-dm355-evm.c |   91 +++++++++++++++++++++++++++++++
 3 files changed, 103 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-davinci/board-dm355-evm.c

diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index fb3b7e4..984be75 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -13,6 +13,9 @@ config ARCH_DAVINCI644x
 
 config ARCH_DAVINCI_DM646x
         bool "DaVinci 646x based system"
+
+config ARCH_DAVINCI_DM355
+        bool "DaVinci 355 based system"
 endchoice
 
 comment "DaVinci Board Type"
@@ -33,6 +36,14 @@ config MACH_DAVINCI_DM646X_EVM
          Configure this option to specify the whether the board used
          for development is a DM646x EVM
 
+config MACH_DAVINCI_DM355_EVM
+       bool "TI DM355 EVM"
+       default n
+       depends on ARCH_DAVINCI_DM355
+       help
+         Configure this option to specify the whether the board used
+         for development is a DM355 EVM
+
 config DAVINCI_MCBSP
        bool
         prompt "DaVinci McBSP Driver" if SOUND_DAVINCI=n
diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach-davinci/Makefile
index 2369963..2de53fa 100644
--- a/arch/arm/mach-davinci/Makefile
+++ b/arch/arm/mach-davinci/Makefile
@@ -10,4 +10,5 @@ obj-y                         := time.o irq.o clock.o 
serial.o io.o id.o psc.o \
 # Board specific
 obj-$(CONFIG_MACH_DAVINCI_EVM)         += board-evm.o
 obj-$(CONFIG_MACH_DAVINCI_DM646X_EVM)  += board-dm646x-evm.o
+obj-$(CONFIG_MACH_DAVINCI_DM355_EVM)   += board-dm355-evm.o
 obj-$(CONFIG_DAVINCI_MCBSP)            += mcbsp.o
diff --git a/arch/arm/mach-davinci/board-dm355-evm.c 
b/arch/arm/mach-davinci/board-dm355-evm.c
new file mode 100644
index 0000000..c19935e
--- /dev/null
+++ b/arch/arm/mach-davinci/board-dm355-evm.c
@@ -0,0 +1,91 @@
+/*
+ * TI DaVinci EVM board support
+ *
+ * Author: Kevin Hilman, MontaVista Software, Inc. <[EMAIL PROTECTED]>
+ *
+ * 2007 (c) MontaVista Software, Inc. This file is licensed under
+ * the terms of the GNU General Public License version 2. This program
+ * is licensed "as is" without any warranty of any kind, whether express
+ * or implied.
+ */
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/init.h>
+#include <linux/dma-mapping.h>
+#include <linux/platform_device.h>
+#include <linux/i2c.h>
+#include <asm/setup.h>
+#include <linux/io.h>
+#include <asm/mach-types.h>
+#include <mach/hardware.h>
+
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <asm/mach/flash.h>
+#include <mach/psc.h>
+#include <mach/common.h>
+#include <mach/board.h>
+#include <mach/emac.h>
+#include <mach/i2c.h>
+
+
+/* other misc. init functions */
+void __init davinci_psc_init(void);
+void __init davinci_irq_init(void);
+void __init davinci_map_common_io(void);
+void __init davinci_init_common_hw(void);
+
+
+static struct davinci_i2c_platform_data i2c_pdata = {
+       .bus_freq       = 20 /* kHz */,
+       .bus_delay      = 100 /* usec */,
+};
+
+static void __init evm_init_i2c(void)
+{
+       davinci_init_i2c(&i2c_pdata);
+}
+
+static struct platform_device *davinci_evm_devices[] __initdata = {
+};
+
+static struct davinci_uart_config davinci_evm_uart_config __initdata = {
+       .enabled_uarts = (1 << 0),
+};
+
+static struct davinci_board_config_kernel davinci_evm_config[] __initdata = {
+       { DAVINCI_TAG_UART,     &davinci_evm_uart_config },
+};
+
+static void __init dm355_evm_map_io(void)
+{
+       davinci_map_common_io();
+}
+
+static __init void dm355_evm_init(void)
+{
+       davinci_psc_init();
+       platform_add_devices(davinci_evm_devices,
+                            ARRAY_SIZE(davinci_evm_devices));
+       evm_init_i2c();
+       davinci_board_config = davinci_evm_config;
+       davinci_board_config_size = ARRAY_SIZE(davinci_evm_config);
+       davinci_serial_init();
+
+}
+
+static __init void dm355_evm_irq_init(void)
+{
+       davinci_init_common_hw();
+       davinci_irq_init();
+}
+
+MACHINE_START(DAVINCI_DM355_EVM, "DaVinci DM355 EVM")
+       .phys_io      = IO_PHYS,
+       .io_pg_offst  = (__IO_ADDRESS(IO_PHYS) >> 18) & 0xfffc,
+       .boot_params  = (0x80000100),
+       .map_io       = dm355_evm_map_io,
+       .init_irq     = dm355_evm_irq_init,
+       .timer        = &davinci_timer,
+       .init_machine = dm355_evm_init,
+MACHINE_END
-- 
1.5.6.4

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to