summaryrefslogtreecommitdiff
path: root/target/linux/mvebu/patches-3.10/0054-ARM-mvebu-Initialize-MBus-using-the-DT-binding.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mvebu/patches-3.10/0054-ARM-mvebu-Initialize-MBus-using-the-DT-binding.patch')
-rw-r--r--target/linux/mvebu/patches-3.10/0054-ARM-mvebu-Initialize-MBus-using-the-DT-binding.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/target/linux/mvebu/patches-3.10/0054-ARM-mvebu-Initialize-MBus-using-the-DT-binding.patch b/target/linux/mvebu/patches-3.10/0054-ARM-mvebu-Initialize-MBus-using-the-DT-binding.patch
new file mode 100644
index 0000000..586ec31
--- /dev/null
+++ b/target/linux/mvebu/patches-3.10/0054-ARM-mvebu-Initialize-MBus-using-the-DT-binding.patch
@@ -0,0 +1,67 @@
+From 08fe0e166c06fd86d6c8eed145d6508c3e5efaac Mon Sep 17 00:00:00 2001
+From: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
+Date: Tue, 21 May 2013 11:12:00 -0300
+Subject: [PATCH 054/203] ARM: mvebu: Initialize MBus using the DT binding
+
+Now that the mbus device tree binding has been introduced, we can
+switch over to it.
+
+Also, and since the initialization of the mbus driver is quite
+fundamental for the system to work properly, this patch adds a BUG()
+in case mbus fails to initialize.
+
+Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
+Tested-by: Andrew Lunn <andrew@lunn.ch>
+Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
+---
+ arch/arm/mach-mvebu/armada-370-xp.c | 34 +---------------------------------
+ 1 file changed, 1 insertion(+), 33 deletions(-)
+
+--- a/arch/arm/mach-mvebu/armada-370-xp.c
++++ b/arch/arm/mach-mvebu/armada-370-xp.c
+@@ -35,44 +35,12 @@ static void __init armada_370_xp_map_io(
+ debug_ll_io_init();
+ }
+
+-/*
+- * This initialization will be replaced by a DT-based
+- * initialization once the mvebu-mbus driver gains DT support.
+- */
+-
+-#define ARMADA_370_XP_MBUS_WINS_OFFS 0x20000
+-#define ARMADA_370_XP_MBUS_WINS_SIZE 0x100
+-#define ARMADA_370_XP_SDRAM_WINS_OFFS 0x20180
+-#define ARMADA_370_XP_SDRAM_WINS_SIZE 0x20
+-
+-static void __init armada_370_xp_mbus_init(void)
+-{
+- char *mbus_soc_name;
+- struct device_node *dn;
+- const __be32 mbus_wins_offs = cpu_to_be32(ARMADA_370_XP_MBUS_WINS_OFFS);
+- const __be32 sdram_wins_offs = cpu_to_be32(ARMADA_370_XP_SDRAM_WINS_OFFS);
+-
+- if (of_machine_is_compatible("marvell,armada370"))
+- mbus_soc_name = "marvell,armada370-mbus";
+- else
+- mbus_soc_name = "marvell,armadaxp-mbus";
+-
+- dn = of_find_node_by_name(NULL, "internal-regs");
+- BUG_ON(!dn);
+-
+- mvebu_mbus_init(mbus_soc_name,
+- of_translate_address(dn, &mbus_wins_offs),
+- ARMADA_370_XP_MBUS_WINS_SIZE,
+- of_translate_address(dn, &sdram_wins_offs),
+- ARMADA_370_XP_SDRAM_WINS_SIZE);
+-}
+-
+ static void __init armada_370_xp_timer_and_clk_init(void)
+ {
+ mvebu_clocks_init();
+ armada_370_xp_timer_init();
+ coherency_init();
+- armada_370_xp_mbus_init();
++ BUG_ON(mvebu_mbus_dt_init());
+ #ifdef CONFIG_CACHE_L2X0
+ l2x0_of_init(0, ~0UL);
+ #endif