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>
27 * Standard IO mapping for all IOP321 based systems
29 static struct map_desc iop80321_std_desc[] __initdata = {
30 /* virtual physical length type */
32 /* mem mapped registers */
33 { IOP321_VIRT_MEM_BASE, IOP321_PHY_MEM_BASE, 0x00002000, MT_DEVICE },
36 { 0xfe000000, 0x90000000, 0x00020000, MT_DEVICE }
39 void __init iop321_map_io(void)
41 iotable_init(iop80321_std_desc, ARRAY_SIZE(iop80321_std_desc));
45 * IQ80321 specific IO mappings
47 * We use RedBoot's setup for the onboard devices.
49 #ifdef CONFIG_ARCH_IQ80321
50 static struct map_desc iq80321_io_desc[] __initdata = {
51 /* virtual physical length type */
53 /* on-board devices */
54 { 0xfe800000, IQ80321_UART1, 0x00100000, MT_DEVICE }
57 void __init iq80321_map_io(void)
61 iotable_init(iq80321_io_desc, ARRAY_SIZE(iq80321_io_desc));
63 #endif // CONFIG_ARCH_IQ80321