... snip ...
I think that already exists, you just don't put any of the CONFIG
options for NAND in. Like omap4_panda and omap4_common, there's no
CONFIG_*NAND* options at all. There's also already
CONFIG_SYS_NO_FLASH, which may do what you want but doesn't seem to go
about it the same way you're describing (but maybe it does?).
I would focus more on just the beagle with and without nand for now.
since i think i've made some progress, i figured i'd share what
little i learned. it's obvious that the boards.cfg file in u-boot
gives you the opportunity to define a new "target", and here's a
trivial example:
at91rm9200ek arm arm920t at91rm9200ek atmel at91 at91rm9200ek
at91rm9200ek_ram arm arm920t at91rm9200ek atmel at91 at91rm9200ek:RAMBOOT
so that second target is defined in terms of the original config file,
but additionally defining the "CONFIG_RAMBOOT" preprocessor symbol.
well, that's great if you're *adding* symbols, but it doesn't seem
to help if you want to *undefine* symbols from the original file. in
cases like that, it seems you need to do the following, as i did:
omap3_beagle arm armv7 beagle ti omap3
omap3_beaglexm arm armv7 beagle ti omap3
so if i run:
$ make omap3_beaglexm_config
the make will consult the (new) config file omap3_beaglexm.h, whose
contents are (as a first attempt):
#include "omap3_beagle.h"
#undef CONFIG_CMD_NAND
#undef CONFIG_CMD_JFFS2
#undef CONFIG_CMD_MTDPARTS
that config step works, at which point running "make" finally
generates errors:
... snip ...
arch/arm/cpu/armv7/omap3/libomap3.o: In function `do_switch_ecc':
/home/rpjday/uboot/git/master/arch/arm/cpu/armv7/omap3/board.c:334:
undefined reference to `omap_nand_switch_ecc'
/home/rpjday/uboot/git/master/arch/arm/cpu/armv7/omap3/board.c:336:
undefined reference to `omap_nand_switch_ecc'
common/libcommon.o: In function `do_env_save':
/home/rpjday/uboot/git/master/common/cmd_nvedit.c:632: undefined
reference to `saveenv'
common/libcommon.o: In function `readenv':
/home/rpjday/uboot/git/master/common/env_nand.c:283: undefined
reference to `nand_read_skip_bad'
/home/rpjday/uboot/git/master/common/env_nand.c:296: undefined
reference to `nand_info'
... snip ...
all that tells me is that i need to undefine even more symbols, but
it also tells me that the dependencies could be cleaned up, no? after
all, if i undefine NAND support entirely, that should also drop the
compilation of anything depending on NAND, don't you think?
the above seems like the easiest way to get what i'm after. i don't
see a way to do this solely within the confines of the boards.cfg
file.
rday