mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 16:38:31 +00:00 
			
		
		
		
	 6451d7783b
			
		
	
	
		6451d7783b
		
	
	
	
	
		
			
			Since we're now using addruart to establish the debug mapping, we can
remove the io_pg_offst and phys_io members of struct machine_desc.
The various declarations were removed using the following script:
  grep -rl MACHINE_START arch/arm | xargs \
  sed -i '/MACHINE_START/,/MACHINE_END/ { /\.\(phys_io\|io_pg_offst\)/d }'
[ Initial patch was from Jeremy Kerr, example script from Russell King ]
Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-by: Eric Miao <eric.miao at canonical.com>
		
	
			
		
			
				
	
	
		
			151 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			4.0 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/input.h>
 | |
| #include <linux/gpio.h>
 | |
| 
 | |
| #include <asm/mach-types.h>
 | |
| #include <asm/mach/arch.h>
 | |
| 
 | |
| #include <plat/common.h>
 | |
| #include <plat/board.h>
 | |
| 
 | |
| #include <mach/board-zoom.h>
 | |
| 
 | |
| #include "mux.h"
 | |
| #include "sdram-micron-mt46h32m32lf-6.h"
 | |
| 
 | |
| static void __init omap_zoom2_init_irq(void)
 | |
| {
 | |
| 	omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
 | |
| 				 mt46h32m32lf6_sdrc_params);
 | |
| 	omap_init_irq();
 | |
| 	omap_gpio_init();
 | |
| }
 | |
| 
 | |
| /* REVISIT: These audio entries can be removed once MFD code is merged */
 | |
| #if 0
 | |
| 
 | |
| static struct twl4030_madc_platform_data zoom2_madc_data = {
 | |
| 	.irq_line	= 1,
 | |
| };
 | |
| 
 | |
| static struct twl4030_codec_audio_data zoom2_audio_data = {
 | |
| 	.audio_mclk = 26000000,
 | |
| };
 | |
| 
 | |
| static struct twl4030_codec_data zoom2_codec_data = {
 | |
| 	.audio_mclk = 26000000,
 | |
| 	.audio = &zoom2_audio_data,
 | |
| };
 | |
| 
 | |
| static struct twl4030_platform_data zoom2_twldata = {
 | |
| 	.irq_base	= TWL4030_IRQ_BASE,
 | |
| 	.irq_end	= TWL4030_IRQ_END,
 | |
| 
 | |
| 	/* platform_data for children goes here */
 | |
| 	.bci		= &zoom2_bci_data,
 | |
| 	.madc		= &zoom2_madc_data,
 | |
| 	.usb		= &zoom2_usb_data,
 | |
| 	.gpio		= &zoom2_gpio_data,
 | |
| 	.keypad		= &zoom2_kp_twl4030_data,
 | |
| 	.codec		= &zoom2_codec_data,
 | |
| 	.vmmc1          = &zoom2_vmmc1,
 | |
| 	.vmmc2          = &zoom2_vmmc2,
 | |
| 	.vsim           = &zoom2_vsim,
 | |
| 
 | |
| };
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #ifdef CONFIG_OMAP_MUX
 | |
| static struct omap_board_mux board_mux[] __initdata = {
 | |
| 	/* WLAN IRQ - GPIO 162 */
 | |
| 	OMAP3_MUX(MCBSP1_CLKX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
 | |
| 	/* WLAN POWER ENABLE - GPIO 101 */
 | |
| 	OMAP3_MUX(CAM_D2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
 | |
| 	/* WLAN SDIO: MMC3 CMD */
 | |
| 	OMAP3_MUX(MCSPI1_CS1, OMAP_MUX_MODE3 | OMAP_PIN_INPUT_PULLUP),
 | |
| 	/* WLAN SDIO: MMC3 CLK */
 | |
| 	OMAP3_MUX(ETK_CLK, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
 | |
| 	/* WLAN SDIO: MMC3 DAT[0-3] */
 | |
| 	OMAP3_MUX(ETK_D3, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
 | |
| 	OMAP3_MUX(ETK_D4, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
 | |
| 	OMAP3_MUX(ETK_D5, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
 | |
| 	OMAP3_MUX(ETK_D6, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
 | |
| 	{ .reg_offset = OMAP_MUX_TERMINATOR },
 | |
| };
 | |
| #else
 | |
| #define board_mux	NULL
 | |
| #endif
 | |
| 
 | |
| static struct mtd_partition zoom_nand_partitions[] = {
 | |
| 	/* All the partition sizes are listed in terms of NAND block size */
 | |
| 	{
 | |
| 		.name		= "X-Loader-NAND",
 | |
| 		.offset		= 0,
 | |
| 		.size		= 4 * (64 * 2048),	/* 512KB, 0x80000 */
 | |
| 		.mask_flags	= MTD_WRITEABLE,	/* force read-only */
 | |
| 	},
 | |
| 	{
 | |
| 		.name		= "U-Boot-NAND",
 | |
| 		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x80000 */
 | |
| 		.size		= 10 * (64 * 2048),	/* 1.25MB, 0x140000 */
 | |
| 		.mask_flags	= MTD_WRITEABLE,	/* force read-only */
 | |
| 	},
 | |
| 	{
 | |
| 		.name		= "Boot Env-NAND",
 | |
| 		.offset		= MTDPART_OFS_APPEND,   /* Offset = 0x1c0000 */
 | |
| 		.size		= 2 * (64 * 2048),	/* 256KB, 0x40000 */
 | |
| 	},
 | |
| 	{
 | |
| 		.name		= "Kernel-NAND",
 | |
| 		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x0200000*/
 | |
| 		.size		= 240 * (64 * 2048),	/* 30M, 0x1E00000 */
 | |
| 	},
 | |
| 	{
 | |
| 		.name		= "system",
 | |
| 		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x2000000 */
 | |
| 		.size		= 3328 * (64 * 2048),	/* 416M, 0x1A000000 */
 | |
| 	},
 | |
| 	{
 | |
| 		.name		= "userdata",
 | |
| 		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x1C000000*/
 | |
| 		.size		= 256 * (64 * 2048),	/* 32M, 0x2000000 */
 | |
| 	},
 | |
| 	{
 | |
| 		.name		= "cache",
 | |
| 		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x1E000000*/
 | |
| 		.size		= 256 * (64 * 2048),	/* 32M, 0x2000000 */
 | |
| 	},
 | |
| };
 | |
| 
 | |
| static void __init omap_zoom2_init(void)
 | |
| {
 | |
| 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 | |
| 	zoom_peripherals_init();
 | |
| 	board_nand_init(zoom_nand_partitions,
 | |
| 			ARRAY_SIZE(zoom_nand_partitions), ZOOM_NAND_CS);
 | |
| 	zoom_debugboard_init();
 | |
| }
 | |
| 
 | |
| MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
 | |
| 	.boot_params	= 0x80000100,
 | |
| 	.map_io		= omap3_map_io,
 | |
| 	.reserve	= omap_reserve,
 | |
| 	.init_irq	= omap_zoom2_init_irq,
 | |
| 	.init_machine	= omap_zoom2_init,
 | |
| 	.timer		= &omap_timer,
 | |
| MACHINE_END
 |