aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-zynq/common.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-12-12 14:51:39 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-12 14:51:39 -0500
commitd01e4afdbb65e030fd6f1f96c30a558e2eb0f279 (patch)
tree02ef82b2740cf93a98199eded5ef765fa6e03052 /arch/arm/mach-zynq/common.c
parent8287361abca36504da813638310d2547469283eb (diff)
parent794b175fc0c0c4844dbb7b137a73bbfd01f6c608 (diff)
Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC cleanups on various subarchitectures from Olof Johansson: "Cleanup patches for various ARM platforms and some of their associated drivers. There's also a branch in here that enables Freescale i.MX to be part of the multiplatform support -- the first "big" SoC that is moved over (more multiplatform work comes in a separate branch later during the merge window)." Conflicts fixed as per Olof, including a silent semantic one in arch/arm/mach-omap2/board-generic.c (omap_prcm_restart() was renamed to omap3xxx_restart(), and a new user of the old name was added). * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (189 commits) ARM: omap: fix typo on timer cleanup ARM: EXYNOS: Remove unused regs-mem.h file ARM: EXYNOS: Remove unused non-dt support for dwmci controller ARM: Kirkwood: Use hw_pci.ops instead of hw_pci.scan ARM: OMAP3: cm-t3517: use GPTIMER for system clock ARM: OMAP2+: timer: remove CONFIG_OMAP_32K_TIMER ARM: SAMSUNG: use devm_ functions for ADC driver ARM: EXYNOS: no duplicate mask/unmask in eint0_15 ARM: S3C24XX: SPI clock channel setup is fixed for S3C2443 ARM: EXYNOS: Remove i2c0 resource information and setting of device names ARM: Kirkwood: checkpatch cleanups ARM: Kirkwood: Fix sparse warnings. ARM: Kirkwood: Remove unused includes ARM: kirkwood: cleanup lsxl board includes ARM: integrator: use BUG_ON where possible ARM: integrator: push down SC dependencies ARM: integrator: delete static UART1 mapping ARM: integrator: delete SC mapping on the CP ARM: integrator: remove static CP syscon mapping ARM: integrator: remove static AP syscon mapping ...
Diffstat (limited to 'arch/arm/mach-zynq/common.c')
-rw-r--r--arch/arm/mach-zynq/common.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
index ab5cfddc0d7b..ba8d14f78d4d 100644
--- a/arch/arm/mach-zynq/common.c
+++ b/arch/arm/mach-zynq/common.c
@@ -31,7 +31,6 @@
31#include <asm/hardware/cache-l2x0.h> 31#include <asm/hardware/cache-l2x0.h>
32 32
33#include <mach/zynq_soc.h> 33#include <mach/zynq_soc.h>
34#include <mach/clkdev.h>
35#include "common.h" 34#include "common.h"
36 35
37static struct of_device_id zynq_of_bus_ids[] __initdata = { 36static struct of_device_id zynq_of_bus_ids[] __initdata = {
@@ -45,22 +44,25 @@ static struct of_device_id zynq_of_bus_ids[] __initdata = {
45 */ 44 */
46static void __init xilinx_init_machine(void) 45static void __init xilinx_init_machine(void)
47{ 46{
48#ifdef CONFIG_CACHE_L2X0
49 /* 47 /*
50 * 64KB way size, 8-way associativity, parity disabled 48 * 64KB way size, 8-way associativity, parity disabled
51 */ 49 */
52 l2x0_init(PL310_L2CC_BASE, 0x02060000, 0xF0F0FFFF); 50 l2x0_of_init(0x02060000, 0xF0F0FFFF);
53#endif
54 51
55 of_platform_bus_probe(NULL, zynq_of_bus_ids, NULL); 52 of_platform_bus_probe(NULL, zynq_of_bus_ids, NULL);
56} 53}
57 54
55static struct of_device_id irq_match[] __initdata = {
56 { .compatible = "arm,cortex-a9-gic", .data = gic_of_init, },
57 { }
58};
59
58/** 60/**
59 * xilinx_irq_init() - Interrupt controller initialization for the GIC. 61 * xilinx_irq_init() - Interrupt controller initialization for the GIC.
60 */ 62 */
61static void __init xilinx_irq_init(void) 63static void __init xilinx_irq_init(void)
62{ 64{
63 gic_init(0, 29, SCU_GIC_DIST_BASE, SCU_GIC_CPU_BASE); 65 of_irq_init(irq_match);
64} 66}
65 67
66/* The minimum devices needed to be mapped before the VM system is up and 68/* The minimum devices needed to be mapped before the VM system is up and
@@ -71,17 +73,12 @@ static struct map_desc io_desc[] __initdata = {
71 { 73 {
72 .virtual = TTC0_VIRT, 74 .virtual = TTC0_VIRT,
73 .pfn = __phys_to_pfn(TTC0_PHYS), 75 .pfn = __phys_to_pfn(TTC0_PHYS),
74 .length = SZ_4K, 76 .length = TTC0_SIZE,
75 .type = MT_DEVICE, 77 .type = MT_DEVICE,
76 }, { 78 }, {
77 .virtual = SCU_PERIPH_VIRT, 79 .virtual = SCU_PERIPH_VIRT,
78 .pfn = __phys_to_pfn(SCU_PERIPH_PHYS), 80 .pfn = __phys_to_pfn(SCU_PERIPH_PHYS),
79 .length = SZ_8K, 81 .length = SCU_PERIPH_SIZE,
80 .type = MT_DEVICE,
81 }, {
82 .virtual = PL310_L2CC_VIRT,
83 .pfn = __phys_to_pfn(PL310_L2CC_PHYS),
84 .length = SZ_4K,
85 .type = MT_DEVICE, 82 .type = MT_DEVICE,
86 }, 83 },
87 84
@@ -89,7 +86,7 @@ static struct map_desc io_desc[] __initdata = {
89 { 86 {
90 .virtual = UART0_VIRT, 87 .virtual = UART0_VIRT,
91 .pfn = __phys_to_pfn(UART0_PHYS), 88 .pfn = __phys_to_pfn(UART0_PHYS),
92 .length = SZ_4K, 89 .length = UART0_SIZE,
93 .type = MT_DEVICE, 90 .type = MT_DEVICE,
94 }, 91 },
95#endif 92#endif