blob: 8a638d15797fc2448b0e60f2af333045bdf2d3ec [file] [log] [blame]
Russell Kinga09e64f2008-08-05 16:14:15 +01001/*
2 * arch/arm/mach-realview/include/mach/hardware.h
3 *
4 * This file contains the hardware definitions of the RealView boards.
5 *
6 * Copyright (C) 2003 ARM Limited.
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 as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 */
22#ifndef __ASM_ARCH_HARDWARE_H
23#define __ASM_ARCH_HARDWARE_H
24
25#include <asm/sizes.h>
26
27/* macro to get at IO space when running virtually */
Catalin Marinas5d577952009-07-24 12:34:57 +010028#ifdef CONFIG_MMU
Catalin Marinas877d1f32008-11-10 14:10:14 +000029/*
30 * Statically mapped addresses:
31 *
32 * 10xx xxxx -> fbxx xxxx
33 * 1exx xxxx -> fdxx xxxx
34 * 1fxx xxxx -> fexx xxxx
35 */
36#define IO_ADDRESS(x) (((x) & 0x03ffffff) + 0xfb000000)
Catalin Marinas5d577952009-07-24 12:34:57 +010037#else
38#define IO_ADDRESS(x) (x)
39#endif
Russell Kinga09e64f2008-08-05 16:14:15 +010040#define __io_address(n) __io(IO_ADDRESS(n))
41
42#endif