Commit fcb7dd9a authored by s-paulraj@ti.com's avatar s-paulraj@ti.com Committed by Kevin Hilman

ARM DaVinci: DM355 Board Support

Adding Kconfig and Makefile option and board specific
file for DaVinci DM355
Signed-off-by: default avatarSandeep Paulraj <s-paulraj@ti.com>
parent c991be32
......@@ -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_RESET_CLOCKS
bool "Reset unused clocks during boot"
depends on ARCH_DAVINCI
......
......@@ -10,3 +10,4 @@ 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
/*
* TI DaVinci EVM board support
*
* Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com>
*
* 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
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment