aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-spear6xx/spear6xx.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-04-11 13:30:11 -0400
committerArnd Bergmann <arnd@arndb.de>2012-04-22 16:44:04 -0400
commit5019f0b1345b8f6a8e8a0c7c2f89d4a31819a317 (patch)
tree0856f4be673561e8131ef9df7b6904e9bca7a135 /arch/arm/mach-spear6xx/spear6xx.c
parentf3215b427bec2add8b5c776e8f50c3ba35b0e8f1 (diff)
ARM: spear: remove most mach/*.h header contents
The register and irq definitions in mach/*.h for spear3xx and spear6xx are now mostly obsolete, after the platforms have been converted to device tree based probing and the data is now part of the device tree files. The misc_regs.h contents are moved into clock.c because that is the only user, aside from the DMA_CHN_CFG that should eventually get handled differently. Some of the contents of mach/spear.h still remain, because they are used to set up the static map table, timer, uart and auxdata tables, but almost everything got removed. We might remove everything but the map table as the DT conversion completes, but that is not a priority. I've also made sure to make both copies of spear.h more or less identical so we can eventually combine them. The spear3?0.h files were only used by the spear3?0.c files, so I merged the contents in there and removed the bits that were unused. This is something that should still be looked at. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Viresh Kumar <viresh.kumar@st.com>
Diffstat (limited to 'arch/arm/mach-spear6xx/spear6xx.c')
-rw-r--r--arch/arm/mach-spear6xx/spear6xx.c49
1 files changed, 25 insertions, 24 deletions
diff --git a/arch/arm/mach-spear6xx/spear6xx.c b/arch/arm/mach-spear6xx/spear6xx.c
index 5b9e30f54cd..de194dbb837 100644
--- a/arch/arm/mach-spear6xx/spear6xx.c
+++ b/arch/arm/mach-spear6xx/spear6xx.c
@@ -14,6 +14,8 @@
14 */ 14 */
15 15
16#include <linux/amba/pl08x.h> 16#include <linux/amba/pl08x.h>
17#include <linux/clk.h>
18#include <linux/err.h>
17#include <linux/of.h> 19#include <linux/of.h>
18#include <linux/of_address.h> 20#include <linux/of_address.h>
19#include <linux/of_irq.h> 21#include <linux/of_irq.h>
@@ -21,9 +23,11 @@
21#include <asm/hardware/pl080.h> 23#include <asm/hardware/pl080.h>
22#include <asm/hardware/vic.h> 24#include <asm/hardware/vic.h>
23#include <asm/mach/arch.h> 25#include <asm/mach/arch.h>
26#include <asm/mach/time.h>
27#include <asm/mach/map.h>
24#include <plat/pl080.h> 28#include <plat/pl080.h>
25#include <mach/generic.h> 29#include <mach/generic.h>
26#include <mach/hardware.h> 30#include <mach/spear.h>
27 31
28/* dmac device registration */ 32/* dmac device registration */
29static struct pl08x_channel_data spear600_dma_info[] = { 33static struct pl08x_channel_data spear600_dma_info[] = {
@@ -384,32 +388,29 @@ struct pl08x_platform_data pl080_plat_data = {
384 .num_slave_channels = ARRAY_SIZE(spear600_dma_info), 388 .num_slave_channels = ARRAY_SIZE(spear600_dma_info),
385}; 389};
386 390
387/* Following will create static virtual/physical mappings */ 391/*
388static struct map_desc spear6xx_io_desc[] __initdata = { 392 * Following will create 16MB static virtual/physical mappings
393 * PHYSICAL VIRTUAL
394 * 0xF0000000 0xF0000000
395 * 0xF1000000 0xF1000000
396 * 0xD0000000 0xFD000000
397 * 0xFC000000 0xFC000000
398 */
399struct map_desc spear6xx_io_desc[] __initdata = {
389 { 400 {
390 .virtual = VA_SPEAR6XX_ICM1_UART0_BASE, 401 .virtual = VA_SPEAR6XX_ML_CPU_BASE,
391 .pfn = __phys_to_pfn(SPEAR6XX_ICM1_UART0_BASE), 402 .pfn = __phys_to_pfn(SPEAR6XX_ML_CPU_BASE),
392 .length = SZ_4K, 403 .length = 2 * SZ_16M,
393 .type = MT_DEVICE
394 }, {
395 .virtual = VA_SPEAR6XX_CPU_VIC_PRI_BASE,
396 .pfn = __phys_to_pfn(SPEAR6XX_CPU_VIC_PRI_BASE),
397 .length = SZ_4K,
398 .type = MT_DEVICE 404 .type = MT_DEVICE
399 }, { 405 }, {
400 .virtual = VA_SPEAR6XX_CPU_VIC_SEC_BASE, 406 .virtual = VA_SPEAR6XX_ICM1_BASE,
401 .pfn = __phys_to_pfn(SPEAR6XX_CPU_VIC_SEC_BASE), 407 .pfn = __phys_to_pfn(SPEAR6XX_ICM1_BASE),
402 .length = SZ_4K, 408 .length = SZ_16M,
403 .type = MT_DEVICE
404 }, {
405 .virtual = VA_SPEAR6XX_ICM3_SYS_CTRL_BASE,
406 .pfn = __phys_to_pfn(SPEAR6XX_ICM3_SYS_CTRL_BASE),
407 .length = SZ_4K,
408 .type = MT_DEVICE 409 .type = MT_DEVICE
409 }, { 410 }, {
410 .virtual = VA_SPEAR6XX_ICM3_MISC_REG_BASE, 411 .virtual = VA_SPEAR6XX_ICM3_SMI_CTRL_BASE,
411 .pfn = __phys_to_pfn(SPEAR6XX_ICM3_MISC_REG_BASE), 412 .pfn = __phys_to_pfn(SPEAR6XX_ICM3_SMI_CTRL_BASE),
412 .length = SZ_4K, 413 .length = SZ_16M,
413 .type = MT_DEVICE 414 .type = MT_DEVICE
414 }, 415 },
415}; 416};
@@ -447,7 +448,7 @@ static void __init spear6xx_timer_init(void)
447 clk_put(gpt_clk); 448 clk_put(gpt_clk);
448 clk_put(pclk); 449 clk_put(pclk);
449 450
450 spear_setup_timer(); 451 spear_setup_timer(SPEAR6XX_CPU_TMR_BASE, IRQ_CPU_GPT1_1);
451} 452}
452 453
453struct sys_timer spear6xx_timer = { 454struct sys_timer spear6xx_timer = {