diff options
author | Olof Johansson <olof@lixom.net> | 2012-09-23 01:20:37 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-09-23 01:20:37 -0400 |
commit | 40169a7c399346281da55ed9905a104d3da47945 (patch) | |
tree | 47181afbd7ccf73af8ec0b840d637a794062faa0 /arch/arm/plat-omap | |
parent | 84bae6c379e362aa017efd417199f51d5c2273ac (diff) | |
parent | c164fa62b93782165f12c0e8366f7b46507edb4d (diff) |
Merge branch 'for-arm-soc-next' of git://git.linaro.org/people/ljones/linux-3.0-ux500 into next/dt
* 'for-arm-soc-next' of git://git.linaro.org/people/ljones/linux-3.0-ux500:
ARM: ux500: Fix SSP register address format
ARM: ux500: Apply tc3589x's GPIO/IRQ properties to HREF's DT
ARM: ux500: Remove redundant #gpio-cell properties from Snowball DT
ARM: ux500: Add all encompassing sound node to the HREF Device Tree
ARM: ux500: Add nodes for the MSP into the HREF Device Tree
ARM: ux500: Add all known I2C sub-device nodes to the HREF DT
ARM: ux500: Stop registering I2C sub-devices for HREF when DT is enabled
ARM: ux500: Stop registering Audio devices for HREF when DT is enabled
ARM: ux500: Add all encompassing sound node to the Snowball Device Tree
ARM: ux500: Add nodes for the MSP into Device Tree
ARM: ux500: Rename MSP board file to something more meaningful
ARM: ux500: Remove platform registration of MSP devices
ARM: ux500: Stop registering the MOP500 Audio driver from platform code
ARM: ux500: Pass MSP DMA platform data though AUXDATA
ARM: ux500: Fork MSP platform registration for step-by-step DT enablement
ARM: ux500: Add AB8500 CODEC node to DB8500 Device Tree
ARM: ux500: Clean-up MSP platform code
ARM: ux500: Pass SDI DMA information though AUX_DATA to MMCI
ARM: ux500: Add UART support to the HREF Device Tree
ARM: ux500: Add skeleton Device Tree for the HREF reference board
...
+ sync to v3.6-rc6
Diffstat (limited to 'arch/arm/plat-omap')
-rw-r--r-- | arch/arm/plat-omap/sram.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c index d861aa73299..28acb383e7d 100644 --- a/arch/arm/plat-omap/sram.c +++ b/arch/arm/plat-omap/sram.c | |||
@@ -67,6 +67,7 @@ | |||
67 | 67 | ||
68 | static unsigned long omap_sram_start; | 68 | static unsigned long omap_sram_start; |
69 | static void __iomem *omap_sram_base; | 69 | static void __iomem *omap_sram_base; |
70 | static unsigned long omap_sram_skip; | ||
70 | static unsigned long omap_sram_size; | 71 | static unsigned long omap_sram_size; |
71 | static void __iomem *omap_sram_ceil; | 72 | static void __iomem *omap_sram_ceil; |
72 | 73 | ||
@@ -105,6 +106,7 @@ static int is_sram_locked(void) | |||
105 | */ | 106 | */ |
106 | static void __init omap_detect_sram(void) | 107 | static void __init omap_detect_sram(void) |
107 | { | 108 | { |
109 | omap_sram_skip = SRAM_BOOTLOADER_SZ; | ||
108 | if (cpu_class_is_omap2()) { | 110 | if (cpu_class_is_omap2()) { |
109 | if (is_sram_locked()) { | 111 | if (is_sram_locked()) { |
110 | if (cpu_is_omap34xx()) { | 112 | if (cpu_is_omap34xx()) { |
@@ -112,6 +114,7 @@ static void __init omap_detect_sram(void) | |||
112 | if ((omap_type() == OMAP2_DEVICE_TYPE_EMU) || | 114 | if ((omap_type() == OMAP2_DEVICE_TYPE_EMU) || |
113 | (omap_type() == OMAP2_DEVICE_TYPE_SEC)) { | 115 | (omap_type() == OMAP2_DEVICE_TYPE_SEC)) { |
114 | omap_sram_size = 0x7000; /* 28K */ | 116 | omap_sram_size = 0x7000; /* 28K */ |
117 | omap_sram_skip += SZ_16K; | ||
115 | } else { | 118 | } else { |
116 | omap_sram_size = 0x8000; /* 32K */ | 119 | omap_sram_size = 0x8000; /* 32K */ |
117 | } | 120 | } |
@@ -174,8 +177,10 @@ static void __init omap_map_sram(void) | |||
174 | return; | 177 | return; |
175 | 178 | ||
176 | #ifdef CONFIG_OMAP4_ERRATA_I688 | 179 | #ifdef CONFIG_OMAP4_ERRATA_I688 |
180 | if (cpu_is_omap44xx()) { | ||
177 | omap_sram_start += PAGE_SIZE; | 181 | omap_sram_start += PAGE_SIZE; |
178 | omap_sram_size -= SZ_16K; | 182 | omap_sram_size -= SZ_16K; |
183 | } | ||
179 | #endif | 184 | #endif |
180 | if (cpu_is_omap34xx()) { | 185 | if (cpu_is_omap34xx()) { |
181 | /* | 186 | /* |
@@ -202,8 +207,8 @@ static void __init omap_map_sram(void) | |||
202 | * Looks like we need to preserve some bootloader code at the | 207 | * Looks like we need to preserve some bootloader code at the |
203 | * beginning of SRAM for jumping to flash for reboot to work... | 208 | * beginning of SRAM for jumping to flash for reboot to work... |
204 | */ | 209 | */ |
205 | memset_io(omap_sram_base + SRAM_BOOTLOADER_SZ, 0, | 210 | memset_io(omap_sram_base + omap_sram_skip, 0, |
206 | omap_sram_size - SRAM_BOOTLOADER_SZ); | 211 | omap_sram_size - omap_sram_skip); |
207 | } | 212 | } |
208 | 213 | ||
209 | /* | 214 | /* |
@@ -217,7 +222,7 @@ void *omap_sram_push_address(unsigned long size) | |||
217 | { | 222 | { |
218 | unsigned long available, new_ceil = (unsigned long)omap_sram_ceil; | 223 | unsigned long available, new_ceil = (unsigned long)omap_sram_ceil; |
219 | 224 | ||
220 | available = omap_sram_ceil - (omap_sram_base + SRAM_BOOTLOADER_SZ); | 225 | available = omap_sram_ceil - (omap_sram_base + omap_sram_skip); |
221 | 226 | ||
222 | if (size > available) { | 227 | if (size > available) { |
223 | pr_err("Not enough space in SRAM\n"); | 228 | pr_err("Not enough space in SRAM\n"); |