15ac408ee5
OMAP tags are deprecrated so drop them. Drop UART config data which decides which UARTs to enable during boot. This is no longer necessary since serial core code disables clocks after inactivity. Background: with new UART idle code, all on-chip UARTs are idled using a configurable inactivity timer (default 5 seconds.) After the inactivity timer, UART clocks are disabled automatically. Signed-off-by: Kalle Valo <kalle.valo@iki.fi> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
106 lines
2.4 KiB
C
106 lines
2.4 KiB
C
/*
|
|
* Copyright (C) 2009 Texas Instruments Inc.
|
|
* Mikkel Christensen <mlc@ti.com>
|
|
*
|
|
* Modified from mach-omap2/board-ldp.c
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#include <linux/kernel.h>
|
|
#include <linux/init.h>
|
|
#include <linux/platform_device.h>
|
|
#include <linux/gpio.h>
|
|
#include <linux/i2c/twl4030.h>
|
|
|
|
#include <asm/mach-types.h>
|
|
#include <asm/mach/arch.h>
|
|
|
|
#include <mach/common.h>
|
|
#include <mach/usb.h>
|
|
|
|
#include "mmc-twl4030.h"
|
|
|
|
static void __init omap_zoom2_init_irq(void)
|
|
{
|
|
omap2_init_common_hw(NULL, NULL);
|
|
omap_init_irq();
|
|
omap_gpio_init();
|
|
}
|
|
|
|
static struct omap_board_config_kernel zoom2_config[] __initdata = {
|
|
};
|
|
|
|
static struct twl4030_gpio_platform_data zoom2_gpio_data = {
|
|
.gpio_base = OMAP_MAX_GPIO_LINES,
|
|
.irq_base = TWL4030_GPIO_IRQ_BASE,
|
|
.irq_end = TWL4030_GPIO_IRQ_END,
|
|
};
|
|
|
|
static struct twl4030_platform_data zoom2_twldata = {
|
|
.irq_base = TWL4030_IRQ_BASE,
|
|
.irq_end = TWL4030_IRQ_END,
|
|
|
|
/* platform_data for children goes here */
|
|
.gpio = &zoom2_gpio_data,
|
|
};
|
|
|
|
static struct i2c_board_info __initdata zoom2_i2c_boardinfo[] = {
|
|
{
|
|
I2C_BOARD_INFO("twl4030", 0x48),
|
|
.flags = I2C_CLIENT_WAKE,
|
|
.irq = INT_34XX_SYS_NIRQ,
|
|
.platform_data = &zoom2_twldata,
|
|
},
|
|
};
|
|
|
|
static int __init omap_i2c_init(void)
|
|
{
|
|
omap_register_i2c_bus(1, 2600, zoom2_i2c_boardinfo,
|
|
ARRAY_SIZE(zoom2_i2c_boardinfo));
|
|
omap_register_i2c_bus(2, 400, NULL, 0);
|
|
omap_register_i2c_bus(3, 400, NULL, 0);
|
|
return 0;
|
|
}
|
|
|
|
static struct twl4030_hsmmc_info mmc[] __initdata = {
|
|
{
|
|
.mmc = 1,
|
|
.wires = 4,
|
|
.gpio_cd = -EINVAL,
|
|
.gpio_wp = -EINVAL,
|
|
},
|
|
{} /* Terminator */
|
|
};
|
|
|
|
extern int __init omap_zoom2_debugboard_init(void);
|
|
|
|
static void __init omap_zoom2_init(void)
|
|
{
|
|
omap_i2c_init();
|
|
omap_board_config = zoom2_config;
|
|
omap_board_config_size = ARRAY_SIZE(zoom2_config);
|
|
omap_serial_init();
|
|
omap_zoom2_debugboard_init();
|
|
twl4030_mmc_init(mmc);
|
|
usb_musb_init();
|
|
}
|
|
|
|
static void __init omap_zoom2_map_io(void)
|
|
{
|
|
omap2_set_globals_343x();
|
|
omap2_map_common_io();
|
|
}
|
|
|
|
MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
|
|
.phys_io = 0x48000000,
|
|
.io_pg_offst = ((0xd8000000) >> 18) & 0xfffc,
|
|
.boot_params = 0x80000100,
|
|
.map_io = omap_zoom2_map_io,
|
|
.init_irq = omap_zoom2_init_irq,
|
|
.init_machine = omap_zoom2_init,
|
|
.timer = &omap_timer,
|
|
MACHINE_END
|