diff options
author | Jason Cooper <jason@lakedaemon.net> | 2012-02-29 17:39:08 +0000 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2012-03-16 04:28:41 +0000 |
commit | 2b45e05f51a79c2818523c923dfe008b8b2f4227 (patch) | |
tree | f059f5b0a4c6fea3b46f28b56fa81d9a8be93d18 /arch/arm/mach-kirkwood/board-dt.c | |
parent | b77816dea3e4c0f815510dea2a0ca9bcda6644dc (diff) |
ARM: kirkwood: fdt: absorb kirkwood_init()
We need to absorb kirkwood_init() into kirkwood_dt_init() so that as we
convert drivers, we can remove the platform call, eg
kirkwood_rtc_init(). This maintains compatibility with non-fdt
configurations because they still call kirkwood_init() in common.c.
As drivers are converted, we will reinstate the 'static' qualifier in
common.c.
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Diffstat (limited to 'arch/arm/mach-kirkwood/board-dt.c')
-rw-r--r-- | arch/arm/mach-kirkwood/board-dt.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/arch/arm/mach-kirkwood/board-dt.c b/arch/arm/mach-kirkwood/board-dt.c index fbe6405602e..9bd35ac730b 100644 --- a/arch/arm/mach-kirkwood/board-dt.c +++ b/arch/arm/mach-kirkwood/board-dt.c @@ -29,7 +29,9 @@ #include <linux/spi/orion_spi.h> #include <asm/mach-types.h> #include <asm/mach/arch.h> +#include <asm/mach/map.h> #include <mach/kirkwood.h> +#include <mach/bridge-regs.h> #include <plat/mvsdio.h> #include "common.h" #include "mpp.h" @@ -155,7 +157,32 @@ static void __init dreamplug_init(void) static void __init kirkwood_dt_init(void) { - kirkwood_init(); + pr_info("Kirkwood: %s, TCLK=%d.\n", kirkwood_id(), kirkwood_tclk); + + /* + * Disable propagation of mbus errors to the CPU local bus, + * as this causes mbus errors (which can occur for example + * for PCI aborts) to throw CPU aborts, which we're not set + * up to deal with. + */ + writel(readl(CPU_CONFIG) & ~CPU_CONFIG_ERROR_PROP, CPU_CONFIG); + + kirkwood_setup_cpu_mbus(); + +#ifdef CONFIG_CACHE_FEROCEON_L2 + kirkwood_l2_init(); +#endif + + /* internal devices that every board has */ + kirkwood_rtc_init(); + kirkwood_wdt_init(); + kirkwood_xor0_init(); + kirkwood_xor1_init(); + kirkwood_crypto_init(); + +#ifdef CONFIG_KEXEC + kexec_reinit = kirkwood_enable_pcie; +#endif if (of_machine_is_compatible("globalscale,dreamplug")) dreamplug_init(); |