blob: 470ac52663d61e7021586c29de997a78205fdba9 [file] [log] [blame]
Srinidhi Kasagarffae4e02009-11-28 08:10:40 +01001/*
2 * Copyright (C) 2009 ST-Ericsson.
3 *
4 * U8500 hardware definitions
5 *
6 * This file is licensed under the terms of the GNU General Public
7 * License version 2. This program is licensed "as is" without any
8 * warranty of any kind, whether express or implied.
9 */
10#ifndef __MACH_HARDWARE_H
11#define __MACH_HARDWARE_H
12
13/* macros to get at IO space when running virtually
14 * We dont map all the peripherals, let ioremap do
15 * this for us. We map only very basic peripherals here.
16 */
17#define U8500_IO_VIRTUAL 0xf0000000
18#define U8500_IO_PHYSICAL 0xa0000000
19
20/* this macro is used in assembly, so no cast */
21#define IO_ADDRESS(x) \
22 (((x) & 0x0fffffff) + (((x) >> 4) & 0x0f000000) + U8500_IO_VIRTUAL)
23
24/* typesafe io address */
25#define __io_address(n) __io(IO_ADDRESS(n))
Rabin Vincent94bdc0e2010-03-03 04:54:37 +010026/* used by some plat-nomadik code */
27#define io_p2v(n) __io_address(n)
Srinidhi Kasagarffae4e02009-11-28 08:10:40 +010028
Rabin Vincentc9c09572010-05-03 07:34:53 +010029#include <mach/db8500-regs.h>
30#include <mach/db5500-regs.h>
Srinidhi Kasagarffae4e02009-11-28 08:10:40 +010031
Rabin Vincent75a36ee2010-03-01 05:05:56 +010032#ifndef __ASSEMBLY__
33
Rabin Vincentabf12d72010-12-08 11:07:59 +053034#include <mach/id.h>
Linus Walleij11871892011-03-29 16:53:29 +020035extern void __iomem *_PRCMU_BASE;
Rabin Vincent591d8dd2010-05-03 08:46:51 +010036
Rabin Vincent01afdd12010-12-08 11:07:55 +053037#define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x)
38
Rabin Vincent75a36ee2010-03-01 05:05:56 +010039#endif
40
Srinidhi Kasagarffae4e02009-11-28 08:10:40 +010041#endif /* __MACH_HARDWARE_H */