diff options
Diffstat (limited to 'target/linux/mvebu/patches-3.10/0029-arm-mvebu-don-t-hardcode-the-physical-address-for-mv.patch')
-rw-r--r-- | target/linux/mvebu/patches-3.10/0029-arm-mvebu-don-t-hardcode-the-physical-address-for-mv.patch | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/target/linux/mvebu/patches-3.10/0029-arm-mvebu-don-t-hardcode-the-physical-address-for-mv.patch b/target/linux/mvebu/patches-3.10/0029-arm-mvebu-don-t-hardcode-the-physical-address-for-mv.patch deleted file mode 100644 index 62c6bcbead..0000000000 --- a/target/linux/mvebu/patches-3.10/0029-arm-mvebu-don-t-hardcode-the-physical-address-for-mv.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 070469397154c87b14fab48d2fc231ba83007c1b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Wed, 5 Jun 2013 09:04:59 +0200 -Subject: [PATCH 029/203] arm: mvebu: don't hardcode the physical address for - mvebu-mbus - -Since the mvebu-mbus driver doesn't yet have a DT binding (and this DT -binding may not necessarily be ready for 3.11), the physical address -of the mvebu-mbus registers are currently hardcoded. This doesn't play -well with the fact that the internal registers base address may be -different depending on the bootloader. - -In order to have only one central place for the physical address of -the internal registers, we now use of_translate_address() to translate -the mvebu-mbus register offsets into the real physical address, by -using DT-based address translation. This will go away once the -mvebu-mbus driver gains a proper DT binding. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Acked-by: Arnd Bergmann <arnd@arndb.de> -Signed-off-by: Jason Cooper <jason@lakedaemon.net> ---- - arch/arm/mach-mvebu/armada-370-xp.c | 38 ++++++++++++++++++++++++++----------- - arch/arm/mach-mvebu/armada-370-xp.h | 8 -------- - 2 files changed, 27 insertions(+), 19 deletions(-) - ---- a/arch/arm/mach-mvebu/armada-370-xp.c -+++ b/arch/arm/mach-mvebu/armada-370-xp.c -@@ -14,6 +14,7 @@ - - #include <linux/kernel.h> - #include <linux/init.h> -+#include <linux/of_address.h> - #include <linux/of_platform.h> - #include <linux/io.h> - #include <linux/time-armada-370-xp.h> -@@ -34,29 +35,44 @@ static void __init armada_370_xp_map_io( - debug_ll_io_init(); - } - --static void __init armada_370_xp_timer_and_clk_init(void) -+/* -+ * 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); - -- mvebu_clocks_init(); -- armada_370_xp_timer_init(); -- coherency_init(); -- -- /* -- * This initialization will be replaced by a DT-based -- * initialization once the mvebu-mbus driver gains DT support. -- */ - 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, -- ARMADA_370_XP_MBUS_WINS_BASE, -+ of_translate_address(dn, &mbus_wins_offs), - ARMADA_370_XP_MBUS_WINS_SIZE, -- ARMADA_370_XP_SDRAM_WINS_BASE, -+ 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(); - #ifdef CONFIG_CACHE_L2X0 - l2x0_of_init(0, ~0UL); - #endif ---- a/arch/arm/mach-mvebu/armada-370-xp.h -+++ b/arch/arm/mach-mvebu/armada-370-xp.h -@@ -15,14 +15,6 @@ - #ifndef __MACH_ARMADA_370_XP_H - #define __MACH_ARMADA_370_XP_H - --#define ARMADA_370_XP_REGS_PHYS_BASE 0xd0000000 -- --/* These defines can go away once mvebu-mbus has a DT binding */ --#define ARMADA_370_XP_MBUS_WINS_BASE (ARMADA_370_XP_REGS_PHYS_BASE + 0x20000) --#define ARMADA_370_XP_MBUS_WINS_SIZE 0x100 --#define ARMADA_370_XP_SDRAM_WINS_BASE (ARMADA_370_XP_REGS_PHYS_BASE + 0x20180) --#define ARMADA_370_XP_SDRAM_WINS_SIZE 0x20 -- - #ifdef CONFIG_SMP - #include <linux/cpumask.h> - |