• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/arm/mach-omap2/
1/*
2 * Copyright (C) 2009 Texas Instruments Inc.
3 * Mikkel Christensen <mlc@ti.com>
4 *
5 * Modified from mach-omap2/board-ldp.c
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 */
11
12#include <linux/kernel.h>
13#include <linux/init.h>
14#include <linux/platform_device.h>
15#include <linux/input.h>
16#include <linux/gpio.h>
17
18#include <asm/mach-types.h>
19#include <asm/mach/arch.h>
20
21#include <plat/common.h>
22#include <plat/board.h>
23
24#include <mach/board-zoom.h>
25
26#include "mux.h"
27#include "sdram-micron-mt46h32m32lf-6.h"
28
29static void __init omap_zoom2_init_irq(void)
30{
31	omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
32				 mt46h32m32lf6_sdrc_params);
33	omap_init_irq();
34	omap_gpio_init();
35}
36
37/* REVISIT: These audio entries can be removed once MFD code is merged */
38
39#ifdef CONFIG_OMAP_MUX
40static struct omap_board_mux board_mux[] __initdata = {
41	/* WLAN IRQ - GPIO 162 */
42	OMAP3_MUX(MCBSP1_CLKX, OMAP_MUX_MODE4 | OMAP_PIN_INPUT_PULLUP),
43	/* WLAN POWER ENABLE - GPIO 101 */
44	OMAP3_MUX(CAM_D2, OMAP_MUX_MODE4 | OMAP_PIN_OUTPUT),
45	/* WLAN SDIO: MMC3 CMD */
46	OMAP3_MUX(MCSPI1_CS1, OMAP_MUX_MODE3 | OMAP_PIN_INPUT_PULLUP),
47	/* WLAN SDIO: MMC3 CLK */
48	OMAP3_MUX(ETK_CLK, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
49	/* WLAN SDIO: MMC3 DAT[0-3] */
50	OMAP3_MUX(ETK_D3, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
51	OMAP3_MUX(ETK_D4, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
52	OMAP3_MUX(ETK_D5, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
53	OMAP3_MUX(ETK_D6, OMAP_MUX_MODE2 | OMAP_PIN_INPUT_PULLUP),
54	{ .reg_offset = OMAP_MUX_TERMINATOR },
55};
56#else
57#define board_mux	NULL
58#endif
59
60static struct mtd_partition zoom_nand_partitions[] = {
61	/* All the partition sizes are listed in terms of NAND block size */
62	{
63		.name		= "X-Loader-NAND",
64		.offset		= 0,
65		.size		= 4 * (64 * 2048),	/* 512KB, 0x80000 */
66		.mask_flags	= MTD_WRITEABLE,	/* force read-only */
67	},
68	{
69		.name		= "U-Boot-NAND",
70		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x80000 */
71		.size		= 10 * (64 * 2048),	/* 1.25MB, 0x140000 */
72		.mask_flags	= MTD_WRITEABLE,	/* force read-only */
73	},
74	{
75		.name		= "Boot Env-NAND",
76		.offset		= MTDPART_OFS_APPEND,   /* Offset = 0x1c0000 */
77		.size		= 2 * (64 * 2048),	/* 256KB, 0x40000 */
78	},
79	{
80		.name		= "Kernel-NAND",
81		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x0200000*/
82		.size		= 240 * (64 * 2048),	/* 30M, 0x1E00000 */
83	},
84	{
85		.name		= "system",
86		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x2000000 */
87		.size		= 3328 * (64 * 2048),	/* 416M, 0x1A000000 */
88	},
89	{
90		.name		= "userdata",
91		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x1C000000*/
92		.size		= 256 * (64 * 2048),	/* 32M, 0x2000000 */
93	},
94	{
95		.name		= "cache",
96		.offset		= MTDPART_OFS_APPEND,	/* Offset = 0x1E000000*/
97		.size		= 256 * (64 * 2048),	/* 32M, 0x2000000 */
98	},
99};
100
101static void __init omap_zoom2_init(void)
102{
103	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
104	zoom_peripherals_init();
105	board_nand_init(zoom_nand_partitions,
106			ARRAY_SIZE(zoom_nand_partitions), ZOOM_NAND_CS);
107	zoom_debugboard_init();
108}
109
110MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
111	.phys_io	= ZOOM_UART_BASE,
112	.io_pg_offst	= (ZOOM_UART_VIRT >> 18) & 0xfffc,
113	.boot_params	= 0x80000100,
114	.map_io		= omap3_map_io,
115	.reserve	= omap_reserve,
116	.init_irq	= omap_zoom2_init_irq,
117	.init_machine	= omap_zoom2_init,
118	.timer		= &omap_timer,
119MACHINE_END
120