Gregory Bean | d2e753b | 2010-04-30 21:33:38 -0700 | [diff] [blame] | 1 | /* |
Russell King | a09e64f | 2008-08-05 16:14:15 +0100 | [diff] [blame] | 2 | * Copyright (C) 2007 Google, Inc. |
David Brown | 8c27e6f | 2011-01-07 10:20:49 -0800 | [diff] [blame] | 3 | * Copyright (c) 2008-2011, Code Aurora Forum. All rights reserved. |
Russell King | a09e64f | 2008-08-05 16:14:15 +0100 | [diff] [blame] | 4 | * Author: Brian Swetland <swetland@google.com> |
| 5 | * |
| 6 | * This software is licensed under the terms of the GNU General Public |
| 7 | * License version 2, as published by the Free Software Foundation, and |
| 8 | * may be copied, distributed, and modified under those terms. |
| 9 | * |
| 10 | * This program is distributed in the hope that it will be useful, |
| 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 13 | * GNU General Public License for more details. |
| 14 | * |
| 15 | * |
| 16 | * The MSM peripherals are spread all over across 768MB of physical |
| 17 | * space, which makes just having a simple IO_ADDRESS macro to slide |
| 18 | * them into the right virtual location rough. Instead, we will |
| 19 | * provide a master phys->virt mapping for peripherals here. |
| 20 | * |
| 21 | */ |
| 22 | |
| 23 | #ifndef __ASM_ARCH_MSM_IOMAP_H |
| 24 | #define __ASM_ARCH_MSM_IOMAP_H |
| 25 | |
| 26 | #include <asm/sizes.h> |
| 27 | |
| 28 | /* Physical base address and size of peripherals. |
| 29 | * Ordered by the virtual base addresses they will be mapped at. |
| 30 | * |
| 31 | * MSM_VIC_BASE must be an value that can be loaded via a "mov" |
| 32 | * instruction, otherwise entry-macro.S will not compile. |
| 33 | * |
| 34 | * If you add or remove entries here, you'll want to edit the |
| 35 | * msm_io_desc array in arch/arm/mach-msm/io.c to reflect your |
| 36 | * changes. |
| 37 | * |
| 38 | */ |
| 39 | |
Daniel Walker | 184d252 | 2010-05-05 07:08:13 -0700 | [diff] [blame] | 40 | #if defined(CONFIG_ARCH_MSM7X30) |
| 41 | #include "msm_iomap-7x30.h" |
| 42 | #elif defined(CONFIG_ARCH_QSD8X50) |
Daniel Walker | eb61bf8 | 2010-05-05 07:03:55 -0700 | [diff] [blame] | 43 | #include "msm_iomap-8x50.h" |
| 44 | #else |
Gregory Bean | d2e753b | 2010-04-30 21:33:38 -0700 | [diff] [blame] | 45 | #include "msm_iomap-7x00.h" |
Daniel Walker | eb61bf8 | 2010-05-05 07:03:55 -0700 | [diff] [blame] | 46 | #endif |
Dima Zavin | b42dc44 | 2010-01-29 11:43:42 -0800 | [diff] [blame] | 47 | |
Justin P. Mattock | 70f23fd | 2011-05-10 10:16:21 +0200 | [diff] [blame] | 48 | /* Virtual addresses shared across all MSM targets. */ |
David Brown | 8c27e6f | 2011-01-07 10:20:49 -0800 | [diff] [blame] | 49 | #define MSM_CSR_BASE IOMEM(0xE0001000) |
David Brown | 03db072 | 2011-05-12 00:54:36 -0700 | [diff] [blame] | 50 | #define MSM_GPIO1_BASE IOMEM(0xE0003000) |
| 51 | #define MSM_GPIO2_BASE IOMEM(0xE0004000) |
Steve Muckle | 6cf6dfe | 2010-01-06 14:55:24 -0800 | [diff] [blame] | 52 | |
Russell King | a09e64f | 2008-08-05 16:14:15 +0100 | [diff] [blame] | 53 | #endif |