Skip to content

Commit

Permalink
ARM: dove: convert to DT irqchip and clocksource
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Sebastian Hesselbarth authored and Jason Cooper committed Jul 25, 2013
1 parent cabbd6b commit f07d73e
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 9 deletions.
2 changes: 2 additions & 0 deletions arch/arm/mach-dove/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mach-dove/Makefile
Original file line number Diff line number Diff line change
@@ -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
Expand Down
23 changes: 16 additions & 7 deletions arch/arm/mach-dove/board-dt.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,14 @@

#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 <linux/platform_data/usb-ehci-orion.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>
Expand Down Expand Up @@ -42,10 +45,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)
Expand All @@ -57,8 +67,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);
Expand All @@ -73,9 +83,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,
Expand Down

0 comments on commit f07d73e

Please sign in to comment.