diff options
Diffstat (limited to 'arch/arm/mach-msm/io.c')
-rw-r--r-- | arch/arm/mach-msm/io.c | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/arch/arm/mach-msm/io.c b/arch/arm/mach-msm/io.c index 1260007a9dd1..d8d9be5d821b 100644 --- a/arch/arm/mach-msm/io.c +++ b/arch/arm/mach-msm/io.c | |||
@@ -3,7 +3,7 @@ | |||
3 | * MSM7K, QSD io support | 3 | * MSM7K, QSD io support |
4 | * | 4 | * |
5 | * Copyright (C) 2007 Google, Inc. | 5 | * Copyright (C) 2007 Google, Inc. |
6 | * Copyright (c) 2008-2010, Code Aurora Forum. All rights reserved. | 6 | * Copyright (c) 2008-2011, Code Aurora Forum. All rights reserved. |
7 | * Author: Brian Swetland <swetland@google.com> | 7 | * Author: Brian Swetland <swetland@google.com> |
8 | * | 8 | * |
9 | * This software is licensed under the terms of the GNU General Public | 9 | * This software is licensed under the terms of the GNU General Public |
@@ -28,18 +28,20 @@ | |||
28 | 28 | ||
29 | #include <mach/board.h> | 29 | #include <mach/board.h> |
30 | 30 | ||
31 | #define MSM_DEVICE(name) { \ | 31 | #define MSM_CHIP_DEVICE(name, chip) { \ |
32 | .virtual = (unsigned long) MSM_##name##_BASE, \ | 32 | .virtual = (unsigned long) MSM_##name##_BASE, \ |
33 | .pfn = __phys_to_pfn(MSM_##name##_PHYS), \ | 33 | .pfn = __phys_to_pfn(chip##_##name##_PHYS), \ |
34 | .length = MSM_##name##_SIZE, \ | 34 | .length = chip##_##name##_SIZE, \ |
35 | .type = MT_DEVICE_NONSHARED, \ | 35 | .type = MT_DEVICE_NONSHARED, \ |
36 | } | 36 | } |
37 | 37 | ||
38 | #define MSM_DEVICE(name) MSM_CHIP_DEVICE(name, MSM) | ||
39 | |||
38 | #if defined(CONFIG_ARCH_MSM7X00A) || defined(CONFIG_ARCH_MSM7X27) \ | 40 | #if defined(CONFIG_ARCH_MSM7X00A) || defined(CONFIG_ARCH_MSM7X27) \ |
39 | || defined(CONFIG_ARCH_MSM7X25) | 41 | || defined(CONFIG_ARCH_MSM7X25) |
40 | static struct map_desc msm_io_desc[] __initdata = { | 42 | static struct map_desc msm_io_desc[] __initdata = { |
41 | MSM_DEVICE(VIC), | 43 | MSM_DEVICE(VIC), |
42 | MSM_DEVICE(CSR), | 44 | MSM_CHIP_DEVICE(CSR, MSM7X00), |
43 | MSM_DEVICE(GPT), | 45 | MSM_DEVICE(GPT), |
44 | MSM_DEVICE(DMOV), | 46 | MSM_DEVICE(DMOV), |
45 | MSM_DEVICE(GPIO1), | 47 | MSM_DEVICE(GPIO1), |
@@ -73,8 +75,7 @@ void __init msm_map_common_io(void) | |||
73 | #ifdef CONFIG_ARCH_QSD8X50 | 75 | #ifdef CONFIG_ARCH_QSD8X50 |
74 | static struct map_desc qsd8x50_io_desc[] __initdata = { | 76 | static struct map_desc qsd8x50_io_desc[] __initdata = { |
75 | MSM_DEVICE(VIC), | 77 | MSM_DEVICE(VIC), |
76 | MSM_DEVICE(CSR), | 78 | MSM_CHIP_DEVICE(CSR, QSD8X50), |
77 | MSM_DEVICE(TMR), | ||
78 | MSM_DEVICE(DMOV), | 79 | MSM_DEVICE(DMOV), |
79 | MSM_DEVICE(GPIO1), | 80 | MSM_DEVICE(GPIO1), |
80 | MSM_DEVICE(GPIO2), | 81 | MSM_DEVICE(GPIO2), |
@@ -102,10 +103,10 @@ void __init msm_map_qsd8x50_io(void) | |||
102 | 103 | ||
103 | #ifdef CONFIG_ARCH_MSM8X60 | 104 | #ifdef CONFIG_ARCH_MSM8X60 |
104 | static struct map_desc msm8x60_io_desc[] __initdata = { | 105 | static struct map_desc msm8x60_io_desc[] __initdata = { |
105 | MSM_DEVICE(QGIC_DIST), | 106 | MSM_CHIP_DEVICE(QGIC_DIST, MSM8X60), |
106 | MSM_DEVICE(QGIC_CPU), | 107 | MSM_CHIP_DEVICE(QGIC_CPU, MSM8X60), |
107 | MSM_DEVICE(TMR), | 108 | MSM_CHIP_DEVICE(TMR, MSM8X60), |
108 | MSM_DEVICE(TMR0), | 109 | MSM_CHIP_DEVICE(TMR0, MSM8X60), |
109 | MSM_DEVICE(ACC), | 110 | MSM_DEVICE(ACC), |
110 | MSM_DEVICE(GCC), | 111 | MSM_DEVICE(GCC), |
111 | }; | 112 | }; |
@@ -116,11 +117,24 @@ void __init msm_map_msm8x60_io(void) | |||
116 | } | 117 | } |
117 | #endif /* CONFIG_ARCH_MSM8X60 */ | 118 | #endif /* CONFIG_ARCH_MSM8X60 */ |
118 | 119 | ||
120 | #ifdef CONFIG_ARCH_MSM8960 | ||
121 | static struct map_desc msm8960_io_desc[] __initdata = { | ||
122 | MSM_CHIP_DEVICE(QGIC_DIST, MSM8960), | ||
123 | MSM_CHIP_DEVICE(QGIC_CPU, MSM8960), | ||
124 | MSM_CHIP_DEVICE(TMR, MSM8960), | ||
125 | MSM_CHIP_DEVICE(TMR0, MSM8960), | ||
126 | }; | ||
127 | |||
128 | void __init msm_map_msm8960_io(void) | ||
129 | { | ||
130 | iotable_init(msm8960_io_desc, ARRAY_SIZE(msm8960_io_desc)); | ||
131 | } | ||
132 | #endif /* CONFIG_ARCH_MSM8960 */ | ||
133 | |||
119 | #ifdef CONFIG_ARCH_MSM7X30 | 134 | #ifdef CONFIG_ARCH_MSM7X30 |
120 | static struct map_desc msm7x30_io_desc[] __initdata = { | 135 | static struct map_desc msm7x30_io_desc[] __initdata = { |
121 | MSM_DEVICE(VIC), | 136 | MSM_DEVICE(VIC), |
122 | MSM_DEVICE(CSR), | 137 | MSM_CHIP_DEVICE(CSR, MSM7X30), |
123 | MSM_DEVICE(TMR), | ||
124 | MSM_DEVICE(DMOV), | 138 | MSM_DEVICE(DMOV), |
125 | MSM_DEVICE(GPIO1), | 139 | MSM_DEVICE(GPIO1), |
126 | MSM_DEVICE(GPIO2), | 140 | MSM_DEVICE(GPIO2), |