[U-Boot] [PATCH v2] add new board nas62x0
Luka Perkov
uboot at lukaperkov.net
Mon Mar 19 23:42:44 CET 2012
Hi Marek,
On Mon, Mar 19, 2012 at 04:50:52PM +0100, Marek Vasut wrote:
> > > > +#define IB62x0_OE_LOW (~(0))
> > > > +#define IB62x0_OE_HIGH (~(0))
> > >
> > > Fix this constant please (0xffffffff) and remove those parenthesis ...
> > > btw OE_HIGH and OE_LOW have both the same value?
> >
> > Are you sure? It's done this way in:
> >
> > board/Marvell/dreamplug/dreamplug.h
> > board/Marvell/sheevaplug/sheevaplug.h
> > board/Seagate/dockstar/dockstar.h
>
> Does that mean it's inherently correct and not just a duplicated bug?
Well I really dont know. Judging by your comments it looks like kirkwood
target could use some optimizations in "core" and not only in the board
code.
> > > > +#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
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
> > > > +#define CONFIG_MVSATA_IDE_USE_PORT0
> > > > +# ifdef CONFIG_BOARD_IS_IB_NAS6210
> > > > +# undef CONFIG_SYS_IDE_MAXBUS
> > > > +# define CONFIG_SYS_IDE_MAXBUS 1
> > > > +# undef CONFIG_SYS_IDE_MAXDEVICE
> > > > +# define CONFIG_SYS_IDE_MAXDEVICE 1
> > > > +# elif CONFIG_BOARD_IS_IB_NAS6220
> > > > +# define CONFIG_MVSATA_IDE_USE_PORT1
> > > > +# endif
> > > > +#define CONFIG_SYS_ATA_IDE0_OFFSET KW_SATA_PORT0_OFFSET
> > > > +# ifdef CONFIG_BOARD_IS_IB_NAS6220
> > > > +# define CONFIG_SYS_ATA_IDE1_OFFSET KW_SATA_PORT1_OFFSET
> > > > +# endif
> > > > +#endif /* CONFIG_CMD_IDE */
> > >
> > > please don't use this "#[space][space]define" convention.
> >
> > I must disagree here. This is more readable and there are many examples
> > in u-boot that use that syntax:
> >
> > $ egrep '#[ ]+define' * -r | wc -l
> > 12557
>
> Again, the fact that it's used doesn't mean it's correct. It's not more readable
> actually, it's readable in the same way given you have good editor. Also,
> doesn't checkpatch.pl caugh on this stuff ?
checkpatch.pl is ok with this. It's readable only if your editor uses
different colors for this, and I would not like to go into editor fight
here. I use vim probably as you but that is not important. I'll resend
v4 with this indentation unless Wolfgang has some objections.
If indentation is wrong in all other places in u-boot we can easily fix
that with some sed magic.
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.
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
If nobody has objections I'll resend v4...
Bye,
Luka
More information about the U-Boot
mailing list