On Friday 18 November 2011 03:30:55 Macpaul Lin wrote: > --- /dev/null > +++ b/arch/nds32/cpu/n1213/ag102/cpu.c > > +int cleanup_before_linux(void) > +{ > +#ifdef CONFIG_MMU > + unsigned long i; > +#endif
this variable is unused > +int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) > +{ > + disable_interrupts(); > + > + /* > + * reset to the base addr of andesboot. > + * currently no ROM loader at addr 0. > + * do not use reset_cpu(0); > + */ > +#ifdef CONFIG_FTWDT010_WATCHDOG > + /* > + * workaround: if we use CONFIG_HW_WATCHDOG with ftwdt010, will lead > + * automatic hardware reset when booting Linux. > + * Please do not use CONFIG_HW_WATCHDOG and WATCHDOG_RESET() here. > + */ > + ftwdt010_wdt_reset(); > + while (1) > + ; > +#endif /* CONFIG_FTWDT010_WATCHDOG */ > + > + /*NOTREACHED*/ > +} if CONFIG_FTWDT010_WATCHDOG isn't defined, then this command will wrongly return. you probably want to move that while(1) outside of the ifdef. actually, delete that while(1) and put a hang() there. > +void flush_cache(unsigned long addr, unsigned long size) > +{ > + dcache_flush_range(addr , addr + size); > + icache_inval_range(addr , addr + size); > +} no spaces before those commas > --- /dev/null > +++ b/arch/nds32/cpu/n1213/ag102/timer.c > > +int timer_init(void) > +{ > + static struct fttmr010 *tmr = (struct fttmr010 *)CONFIG_FTTMR010_BASE; don't think this needs to be static > +void reset_timer_masked(void) > +{ > + static struct fttmr010 *tmr = (struct fttmr010 *)CONFIG_FTTMR010_BASE; this too > +ulong get_timer_masked(void) > +{ > + static struct fttmr010 *tmr = (struct fttmr010 *)CONFIG_FTTMR010_BASE; and here > +void __udelay(unsigned long usec) > +{ > + static struct fttmr010 *tmr = (struct fttmr010 *)CONFIG_FTTMR010_BASE; and here > --- /dev/null > +++ b/arch/nds32/cpu/n1213/ag102/watchdog.S > > +#ifndef CONFIG_SKIP_TRUNOFF_WATCHDOG looks like a useless define ... > +.globl turnoff_watchdog > +turnoff_watchdog: > + > +#define WD_CR 0xC > +#define WD_ENABLE 0x1 > + > + ! Turn off the watchdog, according to Faraday FTWDT010 spec > + li $p0, (CONFIG_FTWDT010_BASE+WD_CR) ! Get the addr of WD CR > + lwi $p1, [$p0] ! Get the config of WD > + andi $p1, $p1, 0x1f ! Wipe out useless bits > + li $r0, ~WD_ENABLE > + and $p1, $p1, $r0 ! Set WD disable > + sw $p1, [$p0] ! Write back to WD CR > + > + ! Disable Interrupts by clear GIE in $PSW reg > + setgie.d can't this be C code ? -mike
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot