[U-Boot] [PATCH v2] add new board nas62x0
Marek Vasut
marex at denx.de
Wed Mar 21 08:21:42 CET 2012
Dear Luka Perkov,
> Hi Marek,
>
> On Tue, Mar 20, 2012 at 07:48:05AM +0100, Marek Vasut wrote:
> > > > > > > +#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board
> > > > > > > lowlevel_init
> > > >
> > > > */
> > > >
> > > > > > Are you sure you want to skip lowlevel init? It'll break cache
> > > > > > setup etc. I believe.
> > > > >
> > > > > I will retest and send v4 once I get your feedback on other items.
> > > >
> > > > Ok, what's the result? From IRC I take it you must define this ...
> > > > why?
> > >
> > > It generates error when building without it:
> > >
> > > /home/luka/uboot/arch/arm/cpu/arm926ejs/start.S:393: undefined
> > > reference to `lowlevel_init' arm-openwrt-linux-ld: BFD (GNU Binutils)
> > > 2.22 assertion fail elf32-arm.c:13830
> >
> > Define it empty in your arch/arm/cpu/..../kirkwood.c and be done with it
> > ;-)
>
> Yes, this seems to fix it:
>
> diff --git a/arch/arm/cpu/arm926ejs/kirkwood/cpu.c
> b/arch/arm/cpu/arm926ejs/kirkwood/cpu.c index fba5e01..ec2026c 100644
> --- a/arch/arm/cpu/arm926ejs/kirkwood/cpu.c
> +++ b/arch/arm/cpu/arm926ejs/kirkwood/cpu.c
> @@ -33,6 +33,8 @@
>
> #define BUFLEN 16
>
> +inline void lowlevel_init(void) {}
> +
> void reset_cpu(unsigned long ignored)
> {
> struct kwcpu_registers *cpureg =
> diff --git a/include/configs/ib62x0.h b/include/configs/ib62x0.h
> index 1c4778d..9808a04 100644
> --- a/include/configs/ib62x0.h
> +++ b/include/configs/ib62x0.h
> @@ -43,7 +43,6 @@
> #define CONFIG_KIRKWOOD /* SOC Family Name */
> #define CONFIG_KW88F6281 /* SOC Name */
> #define CONFIG_MACH_NAS6210 /* Machine type */
> -#define CONFIG_SKIP_LOWLEVEL_INIT /* disable board lowlevel_init */
>
> /*
> * Other required minimal configurations
>
> I'll clean this up and resend after we commit this...
Commit what? Looking forward to V3 btw :)
>
> > > All other kirkwood targets I looked at define
> > > CONFIG_SKIP_LOWLEVEL_INIT, including the ones mentioned above; here
> > > are their configs for comparison:
> > >
> > > include/configs/dreamplug.h
> > > include/configs/sheevaplug.h
> > > include/configs/dockstar.h
> >
> > Why do you need to skip it? Does it hang or something?
>
> See above. I guess compile error also for other boards.
Still you're missing cpu_init_crit in start.S, which might cause trouble. Now
that you defined lowlevel_init(), you can as well remove this define SKIP...
right?
>
> > > This is my proposal - I'll resend v4 and it should be ok to commit
> > >
> > > without fixes for:
> > > 1) IB62x0_OE_LOW and IB62x0_OE_HIGH
> > > 2) CONFIG_SKIP_LOWLEVEL_INIT
> > > 3) ifdef indentation
> > >
> > > Because fixing the 1) and 2) is more than adding support for this new
> > > board, and if it was in the same patch I would need to separate it.
> > > That is a different issue.
> >
> > You can wait for Prafulla with #1 and #2, also for #2 check my comment.
> > But we have two bugs going on for granted here at least and they're not
> > your boards fault. On the other hand, it'd be cool if you could fix them
> > prior to adding your board ;-)
>
> I'll resend v4 now and work on patches for this stuff later.
>
> > > I'll put on my TODO list, and work on this after commit:
> > > * replace tabs with spaces in boards.config
> > > * look at IB62x0_OE_LOW and IB62x0_OE_HIGH issue
> > > * look at CONFIG_SKIP_LOWLEVEL_INIT issue
>
> For this one we have a patch now :)
>
> Thank you Marek.
Thank you for your good work so far :)
>
> Bye,
> Luka
Best regards,
Marek Vasut
More information about the U-Boot
mailing list