/* * arch/arm/plat-iop/setup.c * * Author: Nicolas Pitre <nico@fluxnic.net> * Copyright (C) 2001 MontaVista Software, Inc. * Copyright (C) 2004 Intel Corporation. * * 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/mm.h> #include <linux/init.h> #include <asm/mach/map.h> #include <asm/hardware/iop3xx.h> /* * Standard IO mapping for all IOP3xx based systems. Note that * the IOP3xx OCCDR must be mapped uncached and unbuffered. */ static struct map_desc iop3xx_std_desc[] __initdata = { { /* mem mapped registers */ .virtual = IOP3XX_PERIPHERAL_VIRT_BASE, .pfn = __phys_to_pfn(IOP3XX_PERIPHERAL_PHYS_BASE), .length = IOP3XX_PERIPHERAL_SIZE, .type = MT_UNCACHED, }, { /* PCI IO space */ .virtual = IOP3XX_PCI_LOWER_IO_VA, .pfn = __phys_to_pfn(IOP3XX_PCI_LOWER_IO_PA), .length = IOP3XX_PCI_IO_WINDOW_SIZE, .type = MT_DEVICE, }, }; void __init iop3xx_map_io(void) { iotable_init(iop3xx_std_desc, ARRAY_SIZE(iop3xx_std_desc)); }