diff options
author | Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> | 2013-07-02 07:03:40 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2013-07-25 17:07:14 -0400 |
commit | f07d73e33d0eb9858d48b81eb7037e132293ed84 (patch) | |
tree | 792e1df1ab67b60abcbd9c57fb5f8221b6ef4f26 /arch/arm | |
parent | cabbd6bd15723ffa60f954f3a6c76dc45062289b (diff) |
ARM: dove: convert to DT irqchip and clocksource
With recent support for true irqchip and clocksource drivers for Orion
SoCs, now make use of it on DT enabled Dove boards.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-dove/Kconfig | 2 | ||||
-rw-r--r-- | arch/arm/mach-dove/Makefile | 4 | ||||
-rw-r--r-- | arch/arm/mach-dove/board-dt.c | 23 |
3 files changed, 20 insertions, 9 deletions
diff --git a/arch/arm/mach-dove/Kconfig b/arch/arm/mach-dove/Kconfig index dff7b2fd4e20..0bc7cdf8cf46 100644 --- a/arch/arm/mach-dove/Kconfig +++ b/arch/arm/mach-dove/Kconfig | |||
@@ -23,6 +23,8 @@ config MACH_CM_A510 | |||
23 | config MACH_DOVE_DT | 23 | config MACH_DOVE_DT |
24 | bool "Marvell Dove Flattened Device Tree" | 24 | bool "Marvell Dove Flattened Device Tree" |
25 | select DOVE_CLK | 25 | select DOVE_CLK |
26 | select ORION_IRQCHIP | ||
27 | select ORION_TIMER | ||
26 | select REGULATOR | 28 | select REGULATOR |
27 | select REGULATOR_FIXED_VOLTAGE | 29 | select REGULATOR_FIXED_VOLTAGE |
28 | select USE_OF | 30 | select USE_OF |
diff --git a/arch/arm/mach-dove/Makefile b/arch/arm/mach-dove/Makefile index 4d9d2ffc4535..cbc5c0618788 100644 --- a/arch/arm/mach-dove/Makefile +++ b/arch/arm/mach-dove/Makefile | |||
@@ -1,5 +1,5 @@ | |||
1 | obj-y += common.o irq.o | 1 | obj-y += common.o |
2 | obj-$(CONFIG_DOVE_LEGACY) += mpp.o | 2 | obj-$(CONFIG_DOVE_LEGACY) += irq.o mpp.o |
3 | obj-$(CONFIG_PCI) += pcie.o | 3 | obj-$(CONFIG_PCI) += pcie.o |
4 | obj-$(CONFIG_MACH_DOVE_DB) += dove-db-setup.o | 4 | obj-$(CONFIG_MACH_DOVE_DB) += dove-db-setup.o |
5 | obj-$(CONFIG_MACH_DOVE_DT) += board-dt.o | 5 | obj-$(CONFIG_MACH_DOVE_DT) += board-dt.o |
diff --git a/arch/arm/mach-dove/board-dt.c b/arch/arm/mach-dove/board-dt.c index b5ccc1c05563..49f72a848423 100644 --- a/arch/arm/mach-dove/board-dt.c +++ b/arch/arm/mach-dove/board-dt.c | |||
@@ -10,11 +10,14 @@ | |||
10 | 10 | ||
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <linux/clk-provider.h> | 12 | #include <linux/clk-provider.h> |
13 | #include <linux/clocksource.h> | ||
14 | #include <linux/irqchip.h> | ||
13 | #include <linux/of.h> | 15 | #include <linux/of.h> |
14 | #include <linux/of_platform.h> | 16 | #include <linux/of_platform.h> |
15 | #include <linux/platform_data/usb-ehci-orion.h> | 17 | #include <linux/platform_data/usb-ehci-orion.h> |
16 | #include <asm/hardware/cache-tauros2.h> | 18 | #include <asm/hardware/cache-tauros2.h> |
17 | #include <asm/mach/arch.h> | 19 | #include <asm/mach/arch.h> |
20 | #include <mach/dove.h> | ||
18 | #include <mach/pm.h> | 21 | #include <mach/pm.h> |
19 | #include <plat/common.h> | 22 | #include <plat/common.h> |
20 | #include <plat/irq.h> | 23 | #include <plat/irq.h> |
@@ -42,10 +45,17 @@ static void __init dove_legacy_clk_init(void) | |||
42 | of_clk_get_from_provider(&clkspec)); | 45 | of_clk_get_from_provider(&clkspec)); |
43 | } | 46 | } |
44 | 47 | ||
45 | static void __init dove_of_clk_init(void) | 48 | static void __init dove_dt_time_init(void) |
46 | { | 49 | { |
47 | of_clk_init(NULL); | 50 | of_clk_init(NULL); |
48 | dove_legacy_clk_init(); | 51 | clocksource_of_init(); |
52 | } | ||
53 | |||
54 | static void __init dove_dt_init_early(void) | ||
55 | { | ||
56 | mvebu_mbus_init("marvell,dove-mbus", | ||
57 | BRIDGE_WINS_BASE, BRIDGE_WINS_SZ, | ||
58 | DOVE_MC_WINS_BASE, DOVE_MC_WINS_SZ); | ||
49 | } | 59 | } |
50 | 60 | ||
51 | static void __init dove_dt_init(void) | 61 | static void __init dove_dt_init(void) |
@@ -57,8 +67,8 @@ static void __init dove_dt_init(void) | |||
57 | #endif | 67 | #endif |
58 | dove_setup_cpu_wins(); | 68 | dove_setup_cpu_wins(); |
59 | 69 | ||
60 | /* Setup root of clk tree */ | 70 | /* Setup clocks for legacy devices */ |
61 | dove_of_clk_init(); | 71 | dove_legacy_clk_init(); |
62 | 72 | ||
63 | /* Internal devices not ported to DT yet */ | 73 | /* Internal devices not ported to DT yet */ |
64 | dove_pcie_init(1, 1); | 74 | dove_pcie_init(1, 1); |
@@ -73,9 +83,8 @@ static const char * const dove_dt_board_compat[] = { | |||
73 | 83 | ||
74 | DT_MACHINE_START(DOVE_DT, "Marvell Dove (Flattened Device Tree)") | 84 | DT_MACHINE_START(DOVE_DT, "Marvell Dove (Flattened Device Tree)") |
75 | .map_io = dove_map_io, | 85 | .map_io = dove_map_io, |
76 | .init_early = dove_init_early, | 86 | .init_early = dove_dt_init_early, |
77 | .init_irq = orion_dt_init_irq, | 87 | .init_time = dove_dt_time_init, |
78 | .init_time = dove_timer_init, | ||
79 | .init_machine = dove_dt_init, | 88 | .init_machine = dove_dt_init, |
80 | .restart = dove_restart, | 89 | .restart = dove_restart, |
81 | .dt_compat = dove_dt_board_compat, | 90 | .dt_compat = dove_dt_board_compat, |