2 * linux/arch/arm/mach-iop3xx/mm.c
4 * Low level memory initialization for IOP321 based systems
6 * Author: Rory Bolt <rorybolt@pacbell.net>
7 * Copyright (C) 2002 Rory Bolt
9 * This program is free software; you can redistribute it and/or modify it
10 * under the terms of the GNU General Public License as published by the
11 * Free Software Foundation; either version 2 of the License, or (at your
12 * option) any later version.
15 #include <linux/config.h>
17 #include <linux/init.h>
20 #include <asm/pgtable.h>
23 #include <asm/mach/map.h>
24 #include <asm/mach-types.h>
28 * Standard IO mapping for all IOP321 based systems
30 static struct map_desc iop80321_std_desc[] __initdata = {
31 /* virtual physical length type */
33 /* mem mapped registers */
34 { IOP321_VIRT_MEM_BASE, IOP321_PHY_MEM_BASE, 0x00002000, MT_DEVICE },
37 { 0xfe000000, 0x90000000, 0x00020000, MT_DEVICE }
40 void __init iop321_map_io(void)
42 iotable_init(iop80321_std_desc, ARRAY_SIZE(iop80321_std_desc));
46 * IQ80321 specific IO mappings
48 * We use RedBoot's setup for the onboard devices.
50 #ifdef CONFIG_ARCH_IQ80321
51 static struct map_desc iq80321_io_desc[] __initdata = {
52 /* virtual physical length type */
54 /* on-board devices */
55 { 0xfe800000, IQ80321_UART1, 0x00100000, MT_DEVICE }
58 void __init iq80321_map_io(void)
62 iotable_init(iq80321_io_desc, ARRAY_SIZE(iq80321_io_desc));
64 #endif // CONFIG_ARCH_IQ80321