[PATCH 1/5] ARM: mvebu: Add common reset_cpu function
Sebastian Hesselbarth
sebastian.hesselbarth at gmail.com
Tue Sep 16 12:17:03 PDT 2014
On 09/15/2014 09:41 AM, Sascha Hauer wrote:
> mvebu has a reset_cpu function per SoC this does not work when multiple
> SoCs are selected, so add a common reset_cpu function which calls into
> the SoC specific ones.
>
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> ---
> arch/arm/mach-mvebu/armada-370-xp.c | 19 ++++++++++---------
> arch/arm/mach-mvebu/common.c | 15 ++++++++++++++-
> arch/arm/mach-mvebu/dove.c | 21 +++++++++++----------
> arch/arm/mach-mvebu/include/mach/common.h | 1 +
> arch/arm/mach-mvebu/kirkwood.c | 19 ++++++++++---------
> 5 files changed, 46 insertions(+), 29 deletions(-)
>
> diff --git a/arch/arm/mach-mvebu/armada-370-xp.c b/arch/arm/mach-mvebu/armada-370-xp.c
> index f2b991e..6251100 100644
> --- a/arch/arm/mach-mvebu/armada-370-xp.c
> +++ b/arch/arm/mach-mvebu/armada-370-xp.c
> @@ -44,11 +44,21 @@ static inline void armada_370_xp_memory_find(unsigned long *phys_base,
> }
> }
>
> +static void __noreturn armada_370_xp_reset_cpu(unsigned long addr)
> +{
> + writel(0x1, ARMADA_370_XP_SYSCTL_BASE + 0x60);
> + writel(0x1, ARMADA_370_XP_SYSCTL_BASE + 0x64);
> + while (1)
> + ;
> +}
> +
> static int armada_370_xp_init_soc(void)
> {
> unsigned long phys_base, phys_size;
> u32 reg;
>
> + mvebu_set_reset(armada_370_xp_reset_cpu);
> +
> barebox_set_model("Marvell Armada 370/XP");
> barebox_set_hostname("armada");
>
> @@ -65,12 +75,3 @@ static int armada_370_xp_init_soc(void)
> return 0;
> }
> core_initcall(armada_370_xp_init_soc);
> -
> -void __noreturn reset_cpu(unsigned long addr)
> -{
> - writel(0x1, ARMADA_370_XP_SYSCTL_BASE + 0x60);
> - writel(0x1, ARMADA_370_XP_SYSCTL_BASE + 0x64);
> - while (1)
> - ;
> -}
> -EXPORT_SYMBOL(reset_cpu);
> diff --git a/arch/arm/mach-mvebu/common.c b/arch/arm/mach-mvebu/common.c
> index ac4b332..5c3ac14 100644
> --- a/arch/arm/mach-mvebu/common.c
> +++ b/arch/arm/mach-mvebu/common.c
> @@ -21,6 +21,7 @@
> #include <of.h>
> #include <of_address.h>
> #include <linux/clk.h>
> +#include <mach/common.h>
>
> /*
> * Marvell MVEBU SoC id and revision can be read from any PCIe
> @@ -137,4 +138,16 @@ static int mvebu_memory_of_fixup(struct device_node *root, void *context)
> static int mvebu_memory_fixup_register(void) {
> return of_register_fixup(mvebu_memory_of_fixup, NULL);
> }
> -pure_initcall(mvebu_memory_fixup_register);
Unrelated removal, this should move to the next patch.
Sebastian
More information about the barebox
mailing list