blob: 723f3d8d707c40e81e8da6f7c321a5ca70d30030 [file] [log] [blame]
Gregory Bean1963a2a2010-08-28 10:05:44 -07001/*
2 * Copyright (C) 2007 Google, Inc.
David Brown8c27e6f2011-01-07 10:20:49 -08003 * Copyright (c) 2008-2011, Code Aurora Forum. All rights reserved.
Gregory Bean1963a2a2010-08-28 10:05:44 -07004 * 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_8X60_H
24#define __ASM_ARCH_MSM_IOMAP_8X60_H
25
26/* Physical base address and size of peripherals.
27 * Ordered by the virtual base addresses they will be mapped at.
28 *
29 * MSM_VIC_BASE must be an value that can be loaded via a "mov"
30 * instruction, otherwise entry-macro.S will not compile.
31 *
32 * If you add or remove entries here, you'll want to edit the
33 * msm_io_desc array in arch/arm/mach-msm/io.c to reflect your
34 * changes.
35 *
36 */
37
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070038#define MSM_QGIC_DIST_BASE IOMEM(0xFA000000)
39#define MSM_QGIC_DIST_PHYS 0x02080000
40#define MSM_QGIC_DIST_SIZE SZ_4K
Steve Muckle6cf6dfe2010-01-06 14:55:24 -080041
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070042#define MSM_QGIC_CPU_BASE IOMEM(0xFA001000)
43#define MSM_QGIC_CPU_PHYS 0x02081000
44#define MSM_QGIC_CPU_SIZE SZ_4K
Steve Muckle6cf6dfe2010-01-06 14:55:24 -080045
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070046#define MSM_ACC_BASE IOMEM(0xFA002000)
Steve Muckle6cf6dfe2010-01-06 14:55:24 -080047#define MSM_ACC_PHYS 0x02001000
48#define MSM_ACC_SIZE SZ_4K
49
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070050#define MSM_GCC_BASE IOMEM(0xFA003000)
Steve Muckle6cf6dfe2010-01-06 14:55:24 -080051#define MSM_GCC_PHYS 0x02082000
52#define MSM_GCC_SIZE SZ_4K
53
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070054#define MSM_TLMM_BASE IOMEM(0xFA004000)
Gregory Bean1963a2a2010-08-28 10:05:44 -070055#define MSM_TLMM_PHYS 0x00800000
56#define MSM_TLMM_SIZE SZ_16K
57
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070058#define MSM_RPM_BASE IOMEM(0xFA008000)
59#define MSM_RPM_PHYS 0x00104000
60#define MSM_RPM_SIZE SZ_4K
61
62#define MSM_CLK_CTL_BASE IOMEM(0xFA010000)
63#define MSM_CLK_CTL_PHYS 0x00900000
64#define MSM_CLK_CTL_SIZE SZ_16K
65
66#define MSM_MMSS_CLK_CTL_BASE IOMEM(0xFA014000)
67#define MSM_MMSS_CLK_CTL_PHYS 0x04000000
68#define MSM_MMSS_CLK_CTL_SIZE SZ_4K
69
70#define MSM_LPASS_CLK_CTL_BASE IOMEM(0xFA015000)
71#define MSM_LPASS_CLK_CTL_PHYS 0x28000000
72#define MSM_LPASS_CLK_CTL_SIZE SZ_4K
73
74#define MSM_TMR_BASE IOMEM(0xFA016000)
75#define MSM_TMR_PHYS 0x02000000
76#define MSM_TMR_SIZE SZ_4K
77
78#define MSM_TMR0_BASE IOMEM(0xFA017000)
79#define MSM_TMR0_PHYS 0x02040000
80#define MSM_TMR0_SIZE SZ_4K
81
82#define MSM_SCPLL_BASE IOMEM(0xFA018000)
83#define MSM_SCPLL_PHYS 0x00903000
84#define MSM_SCPLL_SIZE SZ_1K
85
86#define MSM_SHARED_RAM_BASE IOMEM(0xFA200000)
Steve Muckle6cf6dfe2010-01-06 14:55:24 -080087#define MSM_SHARED_RAM_SIZE SZ_1M
88
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070089#define MSM_ACC0_BASE IOMEM(0xFA300000)
90#define MSM_ACC0_PHYS 0x02041000
91#define MSM_ACC0_SIZE SZ_4K
Jeff Ohlstein94790ec2010-12-02 12:05:12 -080092
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070093#define MSM_ACC1_BASE IOMEM(0xFA301000)
94#define MSM_ACC1_PHYS 0x02051000
95#define MSM_ACC1_SIZE SZ_4K
Jeff Ohlstein672039f2010-10-05 15:23:57 -070096
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070097#define MSM_RPM_MPM_BASE IOMEM(0xFA302000)
98#define MSM_RPM_MPM_PHYS 0x00200000
99#define MSM_RPM_MPM_SIZE SZ_4K
100
101#define MSM_SAW0_BASE IOMEM(0xFA303000)
102#define MSM_SAW0_PHYS 0x02042000
103#define MSM_SAW0_SIZE SZ_4K
104
105#define MSM_SAW1_BASE IOMEM(0xFA304000)
106#define MSM_SAW1_PHYS 0x02052000
107#define MSM_SAW1_SIZE SZ_4K
108
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700109#define MSM_SIC_NON_SECURE_BASE IOMEM(0xFA600000)
110#define MSM_SIC_NON_SECURE_PHYS 0x12100000
111#define MSM_SIC_NON_SECURE_SIZE SZ_64K
112
113#define MSM_QFPROM_BASE IOMEM(0xFA700000)
114#define MSM_QFPROM_PHYS 0x00700000
115#define MSM_QFPROM_SIZE SZ_4K
116
117#define MSM_TCSR_BASE IOMEM(0xFA701000)
118#define MSM_TCSR_PHYS 0x16B00000
119#define MSM_TCSR_SIZE SZ_4K
120
121#define MSM_IMEM_BASE IOMEM(0xFA702000)
122#define MSM_IMEM_PHYS 0x2A05F000
123#define MSM_IMEM_SIZE SZ_4K
124
125#define MSM_HDMI_BASE IOMEM(0xFA800000)
126#define MSM_HDMI_PHYS 0x04A00000
127#define MSM_HDMI_SIZE SZ_4K
128
Sathish Ambleybb87d5f2011-11-08 15:14:01 -0800129#ifdef CONFIG_DEBUG_MSM8660_UART
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700130#define MSM_DEBUG_UART_BASE 0xFBC40000
131#define MSM_DEBUG_UART_PHYS 0x19C40000
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700132#endif
Sathish Ambleybb87d5f2011-11-08 15:14:01 -0800133
Gregory Bean1963a2a2010-08-28 10:05:44 -0700134#endif