]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
davinci: Initial support for Omapl138-Hawkboard
authorVictor Rodriguez <vm.rod25@gmail.com>
Thu, 23 Sep 2010 16:28:40 +0000 (11:28 -0500)
committerKevin Hilman <khilman@deeprootsystems.com>
Fri, 24 Sep 2010 14:40:32 +0000 (07:40 -0700)
This patch adds initial support for the Hawkboard-L138 system
It is under the machine name "omapl138_hawkboard".
This system is based on the da850 davinci CPU architecture.
Information on these system may be found at http://www.hawkboard.org.
Basic support for the UART console is included in this patch.
It's tested with latest Angstrom File Systems like ramdisk
from http://alturl.com/imb45.

Signed-off-by: Victor Rodriguez <victor.rodriguez@sasken.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/configs/da8xx_omapl_defconfig
arch/arm/mach-davinci/Kconfig
arch/arm/mach-davinci/Makefile
arch/arm/mach-davinci/board-omapl138-hawk.c [new file with mode: 0644]
arch/arm/mach-davinci/include/mach/uncompress.h

index f8a47ee3ae7f30583269f911cbdefab5e9861f01..cdc40c4b8c48f6ff9a36b05033d31c28f6339b73 100644 (file)
@@ -18,6 +18,7 @@ CONFIG_ARCH_DAVINCI=y
 CONFIG_ARCH_DAVINCI_DA830=y
 CONFIG_ARCH_DAVINCI_DA850=y
 CONFIG_MACH_MITYOMAPL138=y
+CONFIG_MACH_OMAPL138_HAWKBOARD=y
 CONFIG_DAVINCI_RESET_CLOCKS=y
 CONFIG_NO_HZ=y
 CONFIG_HIGH_RES_TIMERS=y
index 9aca60cb4241691e3252e3a45708afb563f220df..b77b860b36d77a74d267e83d77e40427bbe4badf 100644 (file)
@@ -193,6 +193,14 @@ config MACH_MITYOMAPL138
          System on Module.  Information on this SoM may be found at
          http://www.mitydsp.com
 
+config MACH_OMAPL138_HAWKBOARD
+       bool "TI AM1808 / OMAPL-138 Hawkboard platform"
+       depends on ARCH_DAVINCI_DA850
+       help
+         Say Y here to select the TI AM1808 / OMAPL-138 Hawkboard platform .
+         Information of this board may be found at
+         http://www.hawkboard.org/
+
 config DAVINCI_MUX
        bool "DAVINCI multiplexing support"
        depends on ARCH_DAVINCI
index a7a70d1ba36367fc6aef2cc8d0f65d58c2658163..0b87a1ca2bb3a187c78a6b20b68f7c8bb66c2288 100644 (file)
@@ -34,6 +34,7 @@ obj-$(CONFIG_MACH_DAVINCI_DA830_EVM)  += board-da830-evm.o
 obj-$(CONFIG_MACH_DAVINCI_DA850_EVM)   += board-da850-evm.o
 obj-$(CONFIG_MACH_TNETV107X)           += board-tnetv107x-evm.o
 obj-$(CONFIG_MACH_MITYOMAPL138)                += board-mityomapl138.o
+obj-$(CONFIG_MACH_OMAPL138_HAWKBOARD)  += board-omapl138-hawk.o
 
 # Power Management
 obj-$(CONFIG_CPU_FREQ)                 += cpufreq.o
diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c b/arch/arm/mach-davinci/board-omapl138-hawk.c
new file mode 100644 (file)
index 0000000..c472dd8
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Hawkboard.org based on TI's OMAP-L138 Platform
+ *
+ * Initial code: Syed Mohammed Khasim
+ *
+ * Copyright (C) 2009 Texas Instruments Incorporated - http://www.ti.com
+ *
+ * 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/init.h>
+#include <linux/console.h>
+#include <linux/gpio.h>
+
+#include <asm/mach-types.h>
+#include <asm/mach/arch.h>
+
+#include <mach/cp_intc.h>
+#include <mach/da8xx.h>
+
+static struct davinci_uart_config omapl138_hawk_uart_config __initdata = {
+       .enabled_uarts = 0x7,
+};
+
+static __init void omapl138_hawk_init(void)
+{
+       int ret;
+
+       davinci_serial_init(&omapl138_hawk_uart_config);
+
+       ret = da8xx_register_watchdog();
+       if (ret)
+               pr_warning("omapl138_hawk_init: "
+                       "watchdog registration failed: %d\n",
+                       ret);
+}
+
+#ifdef CONFIG_SERIAL_8250_CONSOLE
+static int __init omapl138_hawk_console_init(void)
+{
+       if (!machine_is_omapl138_hawkboard())
+               return 0;
+
+       return add_preferred_console("ttyS", 2, "115200");
+}
+console_initcall(omapl138_hawk_console_init);
+#endif
+
+static void __init omapl138_hawk_map_io(void)
+{
+       da850_init();
+}
+
+MACHINE_START(OMAPL138_HAWKBOARD, "AM18x/OMAP-L138 Hawkboard")
+       .phys_io        = IO_PHYS,
+       .io_pg_offst    = (__IO_ADDRESS(IO_PHYS) >> 18) & 0xfffc,
+       .boot_params    = (DA8XX_DDR_BASE + 0x100),
+       .map_io         = omapl138_hawk_map_io,
+       .init_irq       = cp_intc_init,
+       .timer          = &davinci_timer,
+       .init_machine   = omapl138_hawk_init,
+MACHINE_END
index d370391d6f31c7650e7bdf68dc76e3308183122a..47723e8d75a449b7495a8453c5acc66111265507 100644 (file)
@@ -89,6 +89,7 @@ static inline void __arch_decomp_setup(unsigned long arch_id)
                DEBUG_LL_DA8XX(davinci_da830_evm,       2);
                DEBUG_LL_DA8XX(davinci_da850_evm,       2);
                DEBUG_LL_DA8XX(mityomapl138,            1);
+               DEBUG_LL_DA8XX(omapl138_hawkboard,      2);
 
                /* TNETV107x boards */
                DEBUG_LL_TNETV107X(tnetv107x,           1);