• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/arch/arm/mach-u300/
1/*
2 *
3 * arch/arm/mach-u300/u300.c
4 *
5 *
6 * Copyright (C) 2006-2009 ST-Ericsson AB
7 * License terms: GNU General Public License (GPL) version 2
8 * Platform machine definition.
9 * Author: Linus Walleij <linus.walleij@stericsson.com>
10 */
11#include <linux/kernel.h>
12#include <linux/init.h>
13#include <linux/mm.h>
14#include <linux/sched.h>
15#include <linux/interrupt.h>
16#include <linux/ioport.h>
17#include <linux/memblock.h>
18#include <linux/platform_device.h>
19#include <linux/io.h>
20#include <mach/hardware.h>
21#include <mach/platform.h>
22#include <mach/memory.h>
23#include <asm/mach-types.h>
24#include <asm/mach/arch.h>
25
26static void __init u300_reserve(void)
27{
28	/*
29	 * U300 - This platform family can share physical memory
30	 * between two ARM cpus, one running Linux and the other
31	 * running another OS.
32	 */
33#ifdef CONFIG_MACH_U300_SINGLE_RAM
34#if ((CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1) == 1) && CONFIG_MACH_U300_2MB_ALIGNMENT_FIX
35        memblock_reserve(PHYS_OFFSET, 0x00100000);
36#endif
37#endif
38}
39
40static void __init u300_init_machine(void)
41{
42	u300_init_devices();
43}
44
45#ifdef CONFIG_MACH_U300_BS2X
46#define MACH_U300_STRING "Ericsson AB U300 S25/S26/B25/B26 Prototype Board"
47#endif
48
49#ifdef CONFIG_MACH_U300_BS330
50#define MACH_U300_STRING "Ericsson AB U330 S330/B330 Prototype Board"
51#endif
52
53#ifdef CONFIG_MACH_U300_BS335
54#define MACH_U300_STRING "Ericsson AB U335 S335/B335 Prototype Board"
55#endif
56
57#ifdef CONFIG_MACH_U300_BS365
58#define MACH_U300_STRING "Ericsson AB U365 S365/B365 Prototype Board"
59#endif
60
61MACHINE_START(U300, MACH_U300_STRING)
62	/* Maintainer: Linus Walleij <linus.walleij@stericsson.com> */
63	.phys_io	= U300_AHB_PER_PHYS_BASE,
64	.io_pg_offst	= ((U300_AHB_PER_VIRT_BASE) >> 18) & 0xfffc,
65	.boot_params	= BOOT_PARAMS_OFFSET,
66	.map_io		= u300_map_io,
67	.reserve	= u300_reserve,
68	.init_irq	= u300_init_irq,
69	.timer		= &u300_timer,
70	.init_machine	= u300_init_machine,
71MACHINE_END
72