Zoom2 and 3 have UARTs only on the external debug board. GPMC needs to be mapped early to use it for DEBUG_LL. Additionally, 0xfb000000 overlaps with other areas, so use 0xfa400000 for the virtual address instead. Note that with the pending serial.c patches you need to set console=ttyS0,115200n8 as it will be the only UART mapped. To use DEBUG_LL, you need to pass also earlyprintk in cmdline. Cc: Allen Pais <allen.pais@ti.com> Acked-by: Vikram Pandita <vikram.pandita@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
		
			
				
	
	
		
			83 lines
		
	
	
	
		
			2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Copyright (C) 2009 Texas Instruments Inc.
 | 
						|
 *
 | 
						|
 *
 | 
						|
 * 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/input.h>
 | 
						|
#include <linux/gpio.h>
 | 
						|
 | 
						|
#include <asm/mach-types.h>
 | 
						|
#include <asm/mach/arch.h>
 | 
						|
 | 
						|
#include <mach/board-zoom.h>
 | 
						|
 | 
						|
#include <plat/common.h>
 | 
						|
#include <plat/board.h>
 | 
						|
#include <plat/usb.h>
 | 
						|
 | 
						|
#include "mux.h"
 | 
						|
#include "sdram-hynix-h8mbx00u0mer-0em.h"
 | 
						|
 | 
						|
static void __init omap_zoom_map_io(void)
 | 
						|
{
 | 
						|
	omap2_set_globals_36xx();
 | 
						|
	omap34xx_map_common_io();
 | 
						|
}
 | 
						|
 | 
						|
static struct omap_board_config_kernel zoom_config[] __initdata = {
 | 
						|
};
 | 
						|
 | 
						|
static void __init omap_zoom_init_irq(void)
 | 
						|
{
 | 
						|
	omap_board_config = zoom_config;
 | 
						|
	omap_board_config_size = ARRAY_SIZE(zoom_config);
 | 
						|
	omap2_init_common_hw(h8mbx00u0mer0em_sdrc_params,
 | 
						|
			h8mbx00u0mer0em_sdrc_params);
 | 
						|
	omap_init_irq();
 | 
						|
	omap_gpio_init();
 | 
						|
}
 | 
						|
 | 
						|
#ifdef CONFIG_OMAP_MUX
 | 
						|
static struct omap_board_mux board_mux[] __initdata = {
 | 
						|
	{ .reg_offset = OMAP_MUX_TERMINATOR },
 | 
						|
};
 | 
						|
#else
 | 
						|
#define board_mux	NULL
 | 
						|
#endif
 | 
						|
 | 
						|
static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
 | 
						|
	.port_mode[0]		= EHCI_HCD_OMAP_MODE_UNKNOWN,
 | 
						|
	.port_mode[1]		= EHCI_HCD_OMAP_MODE_PHY,
 | 
						|
	.port_mode[2]		= EHCI_HCD_OMAP_MODE_UNKNOWN,
 | 
						|
	.phy_reset		= true,
 | 
						|
	.reset_gpio_port[0]	= -EINVAL,
 | 
						|
	.reset_gpio_port[1]	= 64,
 | 
						|
	.reset_gpio_port[2]	= -EINVAL,
 | 
						|
};
 | 
						|
 | 
						|
static void __init omap_zoom_init(void)
 | 
						|
{
 | 
						|
	omap3_mux_init(board_mux, OMAP_PACKAGE_CBP);
 | 
						|
	zoom_peripherals_init();
 | 
						|
	zoom_debugboard_init();
 | 
						|
 | 
						|
	omap_mux_init_gpio(64, OMAP_PIN_OUTPUT);
 | 
						|
	usb_ehci_init(&ehci_pdata);
 | 
						|
}
 | 
						|
 | 
						|
MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
 | 
						|
	.phys_io	= ZOOM_UART_BASE,
 | 
						|
	.io_pg_offst	= (ZOOM_UART_VIRT >> 18) & 0xfffc,
 | 
						|
	.boot_params	= 0x80000100,
 | 
						|
	.map_io		= omap_zoom_map_io,
 | 
						|
	.init_irq	= omap_zoom_init_irq,
 | 
						|
	.init_machine	= omap_zoom_init,
 | 
						|
	.timer		= &omap_timer,
 | 
						|
MACHINE_END
 |