diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-12 14:51:39 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-12 14:51:39 -0500 |
commit | d01e4afdbb65e030fd6f1f96c30a558e2eb0f279 (patch) | |
tree | 02ef82b2740cf93a98199eded5ef765fa6e03052 /arch/arm/mach-zynq/common.c | |
parent | 8287361abca36504da813638310d2547469283eb (diff) | |
parent | 794b175fc0c0c4844dbb7b137a73bbfd01f6c608 (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.c | 23 |
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 | ||
37 | static struct of_device_id zynq_of_bus_ids[] __initdata = { | 36 | static 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 | */ |
46 | static void __init xilinx_init_machine(void) | 45 | static 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 | ||
55 | static 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 | */ |
61 | static void __init xilinx_irq_init(void) | 63 | static 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 |