Commit | Line | Data |
---|---|---|
178980f9 RV |
1 | /* |
2 | * Copyright (C) ST-Ericsson SA 2010 | |
3 | * | |
4 | * Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson | |
5 | * License terms: GNU General Public License (GPL) version 2 | |
6 | */ | |
7 | ||
8 | #include <linux/platform_device.h> | |
178980f9 RV |
9 | #include <linux/io.h> |
10 | #include <linux/clk.h> | |
650c2a21 | 11 | #include <linux/mfd/db8500-prcmu.h> |
8317797c | 12 | #include <linux/mfd/db5500-prcmu.h> |
7ed00af7 | 13 | #include <linux/clksrc-dbx500-prcmu.h> |
178980f9 | 14 | |
178980f9 RV |
15 | #include <asm/hardware/gic.h> |
16 | #include <asm/mach/map.h> | |
41ac329f | 17 | #include <asm/localtimer.h> |
178980f9 RV |
18 | |
19 | #include <mach/hardware.h> | |
20 | #include <mach/setup.h> | |
d48fd006 | 21 | #include <mach/devices.h> |
178980f9 RV |
22 | |
23 | #include "clock.h" | |
24 | ||
11871890 LW |
25 | void __iomem *_PRCMU_BASE; |
26 | ||
178980f9 RV |
27 | void __init ux500_init_irq(void) |
28 | { | |
92389ca8 RV |
29 | void __iomem *dist_base; |
30 | void __iomem *cpu_base; | |
31 | ||
32 | if (cpu_is_u5500()) { | |
33 | dist_base = __io_address(U5500_GIC_DIST_BASE); | |
34 | cpu_base = __io_address(U5500_GIC_CPU_BASE); | |
35 | } else if (cpu_is_u8500()) { | |
36 | dist_base = __io_address(U8500_GIC_DIST_BASE); | |
37 | cpu_base = __io_address(U8500_GIC_CPU_BASE); | |
38 | } else | |
39 | ux500_unknown_soc(); | |
40 | ||
41 | gic_init(0, 29, dist_base, cpu_base); | |
ba327b1e LW |
42 | |
43 | /* | |
44 | * Init clocks here so that they are available for system timer | |
45 | * initialization. | |
46 | */ | |
8317797c LW |
47 | if (cpu_is_u5500()) |
48 | db5500_prcmu_early_init(); | |
9b04f8b9 | 49 | if (cpu_is_u8500()) |
73180f85 | 50 | db8500_prcmu_early_init(); |
ba327b1e | 51 | clk_init(); |
178980f9 | 52 | } |