1/* 2 * arch/arm/plat-iop/setup.c 3 * 4 * Author: Nicolas Pitre <nico@fluxnic.net> 5 * Copyright (C) 2001 MontaVista Software, Inc. 6 * Copyright (C) 2004 Intel Corporation. 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License version 2 as 10 * published by the Free Software Foundation. 11 */ 12 13#include <linux/mm.h> 14#include <linux/init.h> 15#include <asm/mach/map.h> 16#include <asm/hardware/iop3xx.h> 17 18/* 19 * Standard IO mapping for all IOP3xx based systems. Note that 20 * the IOP3xx OCCDR must be mapped uncached and unbuffered. 21 */ 22static struct map_desc iop3xx_std_desc[] __initdata = { 23 { /* mem mapped registers */ 24 .virtual = IOP3XX_PERIPHERAL_VIRT_BASE, 25 .pfn = __phys_to_pfn(IOP3XX_PERIPHERAL_PHYS_BASE), 26 .length = IOP3XX_PERIPHERAL_SIZE, 27 .type = MT_UNCACHED, 28 }, { /* PCI IO space */ 29 .virtual = IOP3XX_PCI_LOWER_IO_VA, 30 .pfn = __phys_to_pfn(IOP3XX_PCI_LOWER_IO_PA), 31 .length = IOP3XX_PCI_IO_WINDOW_SIZE, 32 .type = MT_DEVICE, 33 }, 34}; 35 36void __init iop3xx_map_io(void) 37{ 38 iotable_init(iop3xx_std_desc, ARRAY_SIZE(iop3xx_std_desc)); 39} 40