[PATCH 1/5] ARM: mvebu: Add common reset_cpu function
Sascha Hauer
s.hauer at pengutronix.de
Tue Sep 16 23:32:23 PDT 2014
On Tue, Sep 16, 2014 at 09:17:03PM +0200, Sebastian Hesselbarth wrote:
> 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.
Right, fixed this.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list