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.hesselba...@gmail.com> --- Cc: Grant Likely <grant.lik...@linaro.org> Cc: Rob Herring <rob.herr...@calxeda.com> Cc: Rob Landley <r...@landley.net> Cc: Thomas Gleixner <t...@linutronix.de> Cc: John Stultz <john.stu...@linaro.org> Cc: Russell King <li...@arm.linux.org.uk> Cc: Jason Cooper <ja...@lakedaemon.net> Cc: Andrew Lunn <and...@lunn.ch> Cc: Thomas Petazzoni <thomas.petazz...@free-electrons.com> Cc: Gregory Clement <gregory.clem...@free-electrons.com> Cc: devicetree-discuss@lists.ozlabs.org Cc: linux-...@vger.kernel.org Cc: linux-arm-ker...@lists.infradead.org Cc: linux-ker...@vger.kernel.org --- arch/arm/mach-dove/Kconfig | 2 ++ arch/arm/mach-dove/Makefile | 4 ++-- 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 dff7b2f..0bc7cdf 100644 --- a/arch/arm/mach-dove/Kconfig +++ b/arch/arm/mach-dove/Kconfig @@ -23,6 +23,8 @@ config MACH_CM_A510 config MACH_DOVE_DT bool "Marvell Dove Flattened Device Tree" select DOVE_CLK + select ORION_IRQCHIP + select ORION_TIMER select REGULATOR select REGULATOR_FIXED_VOLTAGE select USE_OF diff --git a/arch/arm/mach-dove/Makefile b/arch/arm/mach-dove/Makefile index 4d9d2ff..cbc5c06 100644 --- a/arch/arm/mach-dove/Makefile +++ b/arch/arm/mach-dove/Makefile @@ -1,5 +1,5 @@ -obj-y += common.o irq.o -obj-$(CONFIG_DOVE_LEGACY) += mpp.o +obj-y += common.o +obj-$(CONFIG_DOVE_LEGACY) += irq.o mpp.o obj-$(CONFIG_PCI) += pcie.o obj-$(CONFIG_MACH_DOVE_DB) += dove-db-setup.o 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 b3d65e8..b4ed3da 100644 --- a/arch/arm/mach-dove/board-dt.c +++ b/arch/arm/mach-dove/board-dt.c @@ -10,10 +10,13 @@ #include <linux/init.h> #include <linux/clk-provider.h> +#include <linux/clocksource.h> +#include <linux/irqchip.h> #include <linux/of.h> #include <linux/of_platform.h> #include <asm/hardware/cache-tauros2.h> #include <asm/mach/arch.h> +#include <mach/dove.h> #include <mach/pm.h> #include <plat/common.h> #include <plat/irq.h> @@ -41,10 +44,17 @@ static void __init dove_legacy_clk_init(void) of_clk_get_from_provider(&clkspec)); } -static void __init dove_of_clk_init(void) +static void __init dove_dt_time_init(void) { of_clk_init(NULL); - dove_legacy_clk_init(); + clocksource_of_init(); +} + +static void __init dove_dt_init_early(void) +{ + mvebu_mbus_init("marvell,dove-mbus", + BRIDGE_WINS_BASE, BRIDGE_WINS_SZ, + DOVE_MC_WINS_BASE, DOVE_MC_WINS_SZ); } static void __init dove_dt_init(void) @@ -56,8 +66,8 @@ static void __init dove_dt_init(void) #endif dove_setup_cpu_wins(); - /* Setup root of clk tree */ - dove_of_clk_init(); + /* setup clocks for legacy devices */ + dove_legacy_clk_init(); /* Internal devices not ported to DT yet */ dove_pcie_init(1, 1); @@ -72,9 +82,8 @@ static const char * const dove_dt_board_compat[] = { DT_MACHINE_START(DOVE_DT, "Marvell Dove (Flattened Device Tree)") .map_io = dove_map_io, - .init_early = dove_init_early, - .init_irq = orion_dt_init_irq, - .init_time = dove_timer_init, + .init_early = dove_dt_init_early, + .init_time = dove_dt_time_init, .init_machine = dove_dt_init, .restart = dove_restart, .dt_compat = dove_dt_board_compat, -- 1.7.2.5 _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss