blob: 232954050d99d9b965ebe1207d67517825ac0b87 [file] [log] [blame]
Stepan Moskovchenko5d0afd72010-12-01 19:05:49 -08001/*
2 * Copyright (C) 2007 Google, Inc.
Duy Truong790f06d2013-02-13 16:38:12 -08003 * Copyright (c) 2008-2011, The Linux Foundation. All rights reserved.
Stepan Moskovchenko5d0afd72010-12-01 19:05:49 -08004 * 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_8960_H
24#define __ASM_ARCH_MSM_IOMAP_8960_H
25
26/* Physical base address and size of peripherals.
27 * Ordered by the virtual base addresses they will be mapped at.
28 *
29 * If you add or remove entries here, you'll want to edit the
30 * msm_io_desc array in arch/arm/mach-msm/io.c to reflect your
31 * changes.
32 *
33 */
34
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070035#define MSM8960_TMR_PHYS 0x0200A000
36#define MSM8960_TMR_SIZE SZ_4K
Stepan Moskovchenko5d0afd72010-12-01 19:05:49 -080037
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070038#define MSM8960_TMR0_PHYS 0x0208A000
39#define MSM8960_TMR0_SIZE SZ_4K
Stepan Moskovchenko5d0afd72010-12-01 19:05:49 -080040
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070041#define MSM8960_RPM_PHYS 0x00108000
42#define MSM8960_RPM_SIZE SZ_4K
Stepan Moskovchenko5d0afd72010-12-01 19:05:49 -080043
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070044#define MSM8960_RPM_MPM_PHYS 0x00200000
45#define MSM8960_RPM_MPM_SIZE SZ_4K
Stepan Moskovchenko5d0afd72010-12-01 19:05:49 -080046
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070047#define MSM8960_TCSR_PHYS 0x1A400000
48#define MSM8960_TCSR_SIZE SZ_4K
49
50#define MSM8960_APCS_GCC_PHYS 0x02011000
51#define MSM8960_APCS_GCC_SIZE SZ_4K
52
53#define MSM8960_SAW_L2_PHYS 0x02012000
54#define MSM8960_SAW_L2_SIZE SZ_4K
55
56#define MSM8960_SAW0_PHYS 0x02089000
57#define MSM8960_SAW0_SIZE SZ_4K
58
59#define MSM8960_SAW1_PHYS 0x02099000
60#define MSM8960_SAW1_SIZE SZ_4K
61
62#define MSM8960_IMEM_PHYS 0x2A03F000
63#define MSM8960_IMEM_SIZE SZ_4K
64
65#define MSM8960_ACC0_PHYS 0x02088000
66#define MSM8960_ACC0_SIZE SZ_4K
67
68#define MSM8960_ACC1_PHYS 0x02098000
69#define MSM8960_ACC1_SIZE SZ_4K
70
71#define MSM8960_QGIC_DIST_PHYS 0x02000000
72#define MSM8960_QGIC_DIST_SIZE SZ_4K
73
74#define MSM8960_QGIC_CPU_PHYS 0x02002000
75#define MSM8960_QGIC_CPU_SIZE SZ_4K
76
77#define MSM8960_CLK_CTL_PHYS 0x00900000
78#define MSM8960_CLK_CTL_SIZE SZ_16K
79
80#define MSM8960_MMSS_CLK_CTL_PHYS 0x04000000
81#define MSM8960_MMSS_CLK_CTL_SIZE SZ_4K
82
83#define MSM8960_LPASS_CLK_CTL_PHYS 0x28000000
84#define MSM8960_LPASS_CLK_CTL_SIZE SZ_4K
85
86#define MSM8960_HFPLL_PHYS 0x00903000
87#define MSM8960_HFPLL_SIZE SZ_4K
88
89#define MSM8960_TLMM_PHYS 0x00800000
90#define MSM8960_TLMM_SIZE SZ_16K
91
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070092#define MSM8960_SIC_NON_SECURE_PHYS 0x12100000
93#define MSM8960_SIC_NON_SECURE_SIZE SZ_64K
94
95#define MSM_GPT_BASE (MSM_TMR_BASE + 0x4)
96#define MSM_DGT_BASE (MSM_TMR_BASE + 0x24)
97
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -070098#define MSM8960_HDMI_PHYS 0x04A00000
99#define MSM8960_HDMI_SIZE SZ_4K
100
Sathish Ambleybb87d5f2011-11-08 15:14:01 -0800101#ifdef CONFIG_DEBUG_MSM8960_UART
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700102#define MSM_DEBUG_UART_BASE IOMEM(0xFA740000)
Bryan Huntsman3f2bc4d2011-08-16 17:27:22 -0700103#define MSM_DEBUG_UART_PHYS 0x16440000
104#endif
Stepan Moskovchenko5d0afd72010-12-01 19:05:49 -0800105
Siddartha Mohanadossce1315a2011-04-21 15:25:55 -0700106#define MSM8960_QFPROM_PHYS 0x00700000
107#define MSM8960_QFPROM_SIZE SZ_4K
Stepan Moskovchenko5d0afd72010-12-01 19:05:49 -0800108
Rob Herring68a7f1f2012-02-10 20:30:41 -0600109#ifndef __ASSEMBLY__
110extern void msm_map_msm8960_io(void);
111#endif
112
Stepan Moskovchenko5d0afd72010-12-01 19:05:49 -0800113#endif