On Wed, Mar 7, 2012 at 00:52, R Sricharan <r.sricha...@ti.com> wrote: > Warm reset is not functional in case of omap5430ES1.0. > So use cold reset instead. > > Signed-off-by: R Sricharan <r.sricha...@ti.com> > --- > [v3] > Addressed Tom Rini's comments.<tr...@ti.com> > > arch/arm/cpu/armv7/omap-common/reset.S | 3 +++ > arch/arm/cpu/armv7/omap5/hwinit.c | 15 +++++++++++++++ > 2 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/cpu/armv7/omap-common/reset.S > b/arch/arm/cpu/armv7/omap-common/reset.S > index 838b122..f2a522a 100644 > --- a/arch/arm/cpu/armv7/omap-common/reset.S > +++ b/arch/arm/cpu/armv7/omap-common/reset.S > @@ -23,6 +23,8 @@ > > #include <config.h> > > +#ifndef CONFIG_OMAP54XX > +.type reset_cpu, %function > .global reset_cpu > reset_cpu: > ldr r1, rstctl @ get addr for global reset > @@ -36,3 +38,4 @@ rstctl: > .word PRM_RSTCTRL > rstbit: > .word PRM_RSTCTRL_RESET > +#endif
instead of doing the #ifdeffery, why not make this a C file with weak and override it in omap5 as needed? > diff --git a/arch/arm/cpu/armv7/omap5/hwinit.c > b/arch/arm/cpu/armv7/omap5/hwinit.c > index 7da7075..d03e746 100644 > --- a/arch/arm/cpu/armv7/omap5/hwinit.c > +++ b/arch/arm/cpu/armv7/omap5/hwinit.c > @@ -35,6 +35,7 @@ > #include <asm/sizes.h> > #include <asm/utils.h> > #include <asm/arch/gpio.h> > +#include <linux/compiler.h> > > DECLARE_GLOBAL_DATA_PTR; > > @@ -160,3 +161,17 @@ void init_omap_revision(void) > *omap_si_rev = OMAP5430_SILICON_ID_INVALID; > } > } > + > +void __weak reset_cpu(ulong addr) > +{ > + u32 omap_rev = omap_revision(); > + > + /* > + * WARM reset is not functional in case of OMAP5430 ES1.0 soc. > + * So use cold reset in case instead. > + */ > + if (omap_rev == OMAP5430_ES1_0) > + writel(PRM_RSTCTRL_RESET << 0x1, PRM_RSTCTRL); > + else > + writel(PRM_RSTCTRL_RESET, PRM_RSTCTRL); > +} Regards, Nishanth Menon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot