2009-05-29 01:04:04 +04:00
/*
* 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>
2009-08-28 22:24:13 +04:00
# include <linux/input.h>
2009-05-29 01:04:04 +04:00
# include <linux/gpio.h>
# include <asm/mach-types.h>
# include <asm/mach/arch.h>
2009-10-20 20:40:47 +04:00
# include <plat/common.h>
2009-11-22 21:11:30 +03:00
# include <plat/board.h>
2009-05-29 01:04:04 +04:00
2009-11-22 21:11:31 +03:00
# include <mach/board-zoom.h>
2009-08-28 22:24:13 +04:00
2009-12-12 03:16:32 +03:00
# include "mux.h"
2009-10-14 20:56:35 +04:00
# include "sdram-micron-mt46h32m32lf-6.h"
2009-08-28 22:24:13 +04:00
2009-09-03 21:14:02 +04:00
static void __init omap_zoom2_init_irq ( void )
{
2009-10-14 20:56:35 +04:00
omap2_init_common_hw ( mt46h32m32lf6_sdrc_params ,
mt46h32m32lf6_sdrc_params ) ;
2009-09-03 21:14:02 +04:00
omap_init_irq ( ) ;
omap_gpio_init ( ) ;
}
2009-11-22 21:11:30 +03:00
/* REVISIT: These audio entries can be removed once MFD code is merged */
#if 0
2009-08-28 22:24:13 +04:00
static struct twl4030_madc_platform_data zoom2_madc_data = {
. irq_line = 1 ,
2009-05-29 01:04:04 +04:00
} ;
2009-10-22 14:26:46 +04:00
static struct twl4030_codec_audio_data zoom2_audio_data = {
. audio_mclk = 26000000 ,
} ;
static struct twl4030_codec_data zoom2_codec_data = {
2009-11-04 10:58:18 +03:00
. audio_mclk = 26000000 ,
2009-10-22 14:26:46 +04:00
. audio = & zoom2_audio_data ,
} ;
2009-05-29 01:04:04 +04:00
static struct twl4030_platform_data zoom2_twldata = {
. irq_base = TWL4030_IRQ_BASE ,
. irq_end = TWL4030_IRQ_END ,
/* platform_data for children goes here */
2009-08-28 22:24:13 +04:00
. bci = & zoom2_bci_data ,
. madc = & zoom2_madc_data ,
. usb = & zoom2_usb_data ,
2009-05-29 01:04:04 +04:00
. gpio = & zoom2_gpio_data ,
2009-08-28 22:24:13 +04:00
. keypad = & zoom2_kp_twl4030_data ,
2009-10-22 14:26:46 +04:00
. codec = & zoom2_codec_data ,
2009-08-28 22:24:13 +04:00
. vmmc1 = & zoom2_vmmc1 ,
. vmmc2 = & zoom2_vmmc2 ,
. vsim = & zoom2_vsim ,
2009-05-29 01:04:04 +04:00
} ;
2009-11-22 21:11:30 +03:00
# endif
2009-05-29 01:04:04 +04:00
2009-12-12 03:16:32 +03:00
# ifdef CONFIG_OMAP_MUX
static struct omap_board_mux board_mux [ ] __initdata = {
{ . reg_offset = OMAP_MUX_TERMINATOR } ,
} ;
# else
# define board_mux NULL
# endif
2009-05-29 01:04:04 +04:00
static void __init omap_zoom2_init ( void )
{
2009-12-12 03:16:32 +03:00
omap3_mux_init ( board_mux , OMAP_PACKAGE_CBB ) ;
2009-11-22 21:11:30 +03:00
zoom_peripherals_init ( ) ;
2009-11-22 21:11:31 +03:00
zoom_debugboard_init ( ) ;
2009-05-29 01:04:04 +04:00
}
static void __init omap_zoom2_map_io ( void )
{
omap2_set_globals_343x ( ) ;
2010-02-12 23:26:47 +03:00
omap34xx_map_common_io ( ) ;
2009-05-29 01:04:04 +04:00
}
MACHINE_START ( OMAP_ZOOM2 , " OMAP Zoom2 board " )
2010-04-30 23:57:14 +04:00
. phys_io = ZOOM_UART_BASE ,
. io_pg_offst = ( ZOOM_UART_VIRT > > 18 ) & 0xfffc ,
2009-05-29 01:04:04 +04:00
. 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