xref: /openbmc/u-boot/Makefile (revision 3eb90bad)
1#
2# (C) Copyright 2000-2009
3# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4#
5# See file CREDITS for list of people who contributed to this
6# project.
7#
8# This program is free software; you can redistribute it and/or
9# modify it under the terms of the GNU General Public License as
10# published by the Free Software Foundatio; either version 2 of
11# the License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program; if not, write to the Free Software
20# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21# MA 02111-1307 USA
22#
23
24VERSION = 2009
25PATCHLEVEL = 11
26SUBLEVEL =
27EXTRAVERSION = -rc1
28ifneq "$(SUBLEVEL)" ""
29U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
30else
31U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL)$(EXTRAVERSION)
32endif
33TIMESTAMP_FILE = $(obj)include/timestamp_autogenerated.h
34VERSION_FILE = $(obj)include/version_autogenerated.h
35
36HOSTARCH := $(shell uname -m | \
37	sed -e s/i.86/i386/ \
38	    -e s/sun4u/sparc64/ \
39	    -e s/arm.*/arm/ \
40	    -e s/sa110/arm/ \
41	    -e s/powerpc/ppc/ \
42	    -e s/ppc64/ppc/ \
43	    -e s/macppc/ppc/)
44
45HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
46	    sed -e 's/\(cygwin\).*/cygwin/')
47
48# Set shell to bash if possible, otherwise fall back to sh
49SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
50	else if [ -x /bin/bash ]; then echo /bin/bash; \
51	else echo sh; fi; fi)
52
53export	HOSTARCH HOSTOS SHELL
54
55# Deal with colliding definitions from tcsh etc.
56VENDOR=
57
58#########################################################################
59# Allow for silent builds
60ifeq (,$(findstring s,$(MAKEFLAGS)))
61XECHO = echo
62else
63XECHO = :
64endif
65
66#########################################################################
67#
68# U-boot build supports producing a object files to the separate external
69# directory. Two use cases are supported:
70#
71# 1) Add O= to the make command line
72# 'make O=/tmp/build all'
73#
74# 2) Set environement variable BUILD_DIR to point to the desired location
75# 'export BUILD_DIR=/tmp/build'
76# 'make'
77#
78# The second approach can also be used with a MAKEALL script
79# 'export BUILD_DIR=/tmp/build'
80# './MAKEALL'
81#
82# Command line 'O=' setting overrides BUILD_DIR environent variable.
83#
84# When none of the above methods is used the local build is performed and
85# the object files are placed in the source directory.
86#
87
88ifdef O
89ifeq ("$(origin O)", "command line")
90BUILD_DIR := $(O)
91endif
92endif
93
94ifneq ($(BUILD_DIR),)
95saved-output := $(BUILD_DIR)
96
97# Attempt to create a output directory.
98$(shell [ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR})
99
100# Verify if it was successful.
101BUILD_DIR := $(shell cd $(BUILD_DIR) && /bin/pwd)
102$(if $(BUILD_DIR),,$(error output directory "$(saved-output)" does not exist))
103endif # ifneq ($(BUILD_DIR),)
104
105OBJTREE		:= $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))
106SRCTREE		:= $(CURDIR)
107TOPDIR		:= $(SRCTREE)
108LNDIR		:= $(OBJTREE)
109export	TOPDIR SRCTREE OBJTREE
110
111MKCONFIG	:= $(SRCTREE)/mkconfig
112export MKCONFIG
113
114ifneq ($(OBJTREE),$(SRCTREE))
115REMOTE_BUILD	:= 1
116export REMOTE_BUILD
117endif
118
119# $(obj) and (src) are defined in config.mk but here in main Makefile
120# we also need them before config.mk is included which is the case for
121# some targets like unconfig, clean, clobber, distclean, etc.
122ifneq ($(OBJTREE),$(SRCTREE))
123obj := $(OBJTREE)/
124src := $(SRCTREE)/
125else
126obj :=
127src :=
128endif
129export obj src
130
131# Make sure CDPATH settings don't interfere
132unexport CDPATH
133
134#########################################################################
135
136ifeq ($(ARCH),powerpc)
137ARCH = ppc
138endif
139
140# The "tools" are needed early, so put this first
141# Don't include stuff already done in $(LIBS)
142SUBDIRS	= tools \
143	  examples/standalone \
144	  examples/api
145
146.PHONY : $(SUBDIRS)
147
148ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk))
149
150# Include autoconf.mk before config.mk so that the config options are available
151# to all top level build files.  We need the dummy all: target to prevent the
152# dependency target in autoconf.mk.dep from being the default.
153all:
154sinclude $(obj)include/autoconf.mk.dep
155sinclude $(obj)include/autoconf.mk
156
157# load ARCH, BOARD, and CPU configuration
158include $(obj)include/config.mk
159export	ARCH CPU BOARD VENDOR SOC
160
161# set default to nothing for native builds
162ifeq ($(HOSTARCH),$(ARCH))
163CROSS_COMPILE ?=
164endif
165
166# load other configuration
167include $(TOPDIR)/config.mk
168
169#########################################################################
170# U-Boot objects....order is important (i.e. start must be first)
171
172OBJS  = cpu/$(CPU)/start.o
173ifeq ($(CPU),i386)
174OBJS += cpu/$(CPU)/start16.o
175OBJS += cpu/$(CPU)/resetvec.o
176endif
177ifeq ($(CPU),ppc4xx)
178OBJS += cpu/$(CPU)/resetvec.o
179endif
180ifeq ($(CPU),mpc85xx)
181OBJS += cpu/$(CPU)/resetvec.o
182endif
183
184OBJS := $(addprefix $(obj),$(OBJS))
185
186LIBS  = lib_generic/libgeneric.a
187LIBS += lib_generic/lzma/liblzma.a
188LIBS += lib_generic/lzo/liblzo.a
189LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \
190	"board/$(VENDOR)/common/lib$(VENDOR).a"; fi)
191LIBS += cpu/$(CPU)/lib$(CPU).a
192ifdef SOC
193LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).a
194endif
195ifeq ($(CPU),ixp)
196LIBS += cpu/ixp/npe/libnpe.a
197endif
198LIBS += lib_$(ARCH)/lib$(ARCH).a
199LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
200	fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a \
201	fs/ubifs/libubifs.a
202LIBS += net/libnet.a
203LIBS += disk/libdisk.a
204LIBS += drivers/bios_emulator/libatibiosemu.a
205LIBS += drivers/block/libblock.a
206LIBS += drivers/dma/libdma.a
207LIBS += drivers/fpga/libfpga.a
208LIBS += drivers/gpio/libgpio.a
209LIBS += drivers/hwmon/libhwmon.a
210LIBS += drivers/i2c/libi2c.a
211LIBS += drivers/input/libinput.a
212LIBS += drivers/misc/libmisc.a
213LIBS += drivers/mmc/libmmc.a
214LIBS += drivers/mtd/libmtd.a
215LIBS += drivers/mtd/nand/libnand.a
216LIBS += drivers/mtd/onenand/libonenand.a
217LIBS += drivers/mtd/ubi/libubi.a
218LIBS += drivers/mtd/spi/libspi_flash.a
219LIBS += drivers/net/libnet.a
220LIBS += drivers/net/phy/libphy.a
221LIBS += drivers/net/sk98lin/libsk98lin.a
222LIBS += drivers/pci/libpci.a
223LIBS += drivers/pcmcia/libpcmcia.a
224LIBS += drivers/power/libpower.a
225LIBS += drivers/spi/libspi.a
226ifeq ($(CPU),mpc83xx)
227LIBS += drivers/qe/qe.a
228endif
229ifeq ($(CPU),mpc85xx)
230LIBS += drivers/qe/qe.a
231LIBS += cpu/mpc8xxx/ddr/libddr.a
232LIBS += cpu/mpc8xxx/lib8xxx.a
233TAG_SUBDIRS += cpu/mpc8xxx
234endif
235ifeq ($(CPU),mpc86xx)
236LIBS += cpu/mpc8xxx/ddr/libddr.a
237LIBS += cpu/mpc8xxx/lib8xxx.a
238TAG_SUBDIRS += cpu/mpc8xxx
239endif
240LIBS += drivers/rtc/librtc.a
241LIBS += drivers/serial/libserial.a
242LIBS += drivers/twserial/libtws.a
243LIBS += drivers/usb/gadget/libusb_gadget.a
244LIBS += drivers/usb/host/libusb_host.a
245LIBS += drivers/usb/musb/libusb_musb.a
246LIBS += drivers/video/libvideo.a
247LIBS += drivers/watchdog/libwatchdog.a
248LIBS += common/libcommon.a
249LIBS += libfdt/libfdt.a
250LIBS += api/libapi.a
251LIBS += post/libpost.a
252
253LIBS := $(addprefix $(obj),$(LIBS))
254.PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE)
255
256LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a
257LIBBOARD := $(addprefix $(obj),$(LIBBOARD))
258
259# Add GCC lib
260ifdef USE_PRIVATE_LIBGCC
261ifeq ("$(USE_PRIVATE_LIBGCC)", "yes")
262PLATFORM_LIBGCC = -L $(OBJTREE)/lib_$(ARCH) -lgcc
263else
264PLATFORM_LIBGCC = -L $(USE_PRIVATE_LIBGCC) -lgcc
265endif
266else
267PLATFORM_LIBGCC = -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
268endif
269PLATFORM_LIBS += $(PLATFORM_LIBGCC)
270export PLATFORM_LIBS
271
272# Special flags for CPP when processing the linker script.
273# Pass the version down so we can handle backwards compatibility
274# on the fly.
275LDPPFLAGS += \
276	-include $(TOPDIR)/include/u-boot/u-boot.lds.h \
277	$(shell $(LD) --version | \
278	  sed -ne 's/GNU ld version \([0-9][0-9]*\)\.\([0-9][0-9]*\).*/-DLD_MAJOR=\1 -DLD_MINOR=\2/p')
279
280ifeq ($(CONFIG_NAND_U_BOOT),y)
281NAND_SPL = nand_spl
282U_BOOT_NAND = $(obj)u-boot-nand.bin
283endif
284
285ifeq ($(CONFIG_ONENAND_U_BOOT),y)
286ONENAND_IPL = onenand_ipl
287U_BOOT_ONENAND = $(obj)u-boot-onenand.bin
288ONENAND_BIN ?= $(obj)onenand_ipl/onenand-ipl-2k.bin
289endif
290
291__OBJS := $(subst $(obj),,$(OBJS))
292__LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD))
293
294#########################################################################
295#########################################################################
296
297# Always append ALL so that arch config.mk's can add custom ones
298ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND)
299
300all:		$(ALL)
301
302$(obj)u-boot.hex:	$(obj)u-boot
303		$(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@
304
305$(obj)u-boot.srec:	$(obj)u-boot
306		$(OBJCOPY) -O srec $< $@
307
308$(obj)u-boot.bin:	$(obj)u-boot
309		$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
310
311$(obj)u-boot.ldr:	$(obj)u-boot
312		$(obj)tools/envcrc --binary > $(obj)env-ldr.o
313		$(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS)
314
315$(obj)u-boot.ldr.hex:	$(obj)u-boot.ldr
316		$(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ -I binary
317
318$(obj)u-boot.ldr.srec:	$(obj)u-boot.ldr
319		$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@ -I binary
320
321$(obj)u-boot.img:	$(obj)u-boot.bin
322		./tools/mkimage -A $(ARCH) -T firmware -C none \
323		-a $(TEXT_BASE) -e 0 \
324		-n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \
325			sed -e 's/"[	 ]*$$/ for $(BOARD) board"/') \
326		-d $< $@
327
328$(obj)u-boot.kwb:       $(obj)u-boot.bin
329		$(obj)tools/mkimage -n $(KWD_CONFIG) -T kwbimage \
330		-a $(TEXT_BASE) -e $(TEXT_BASE) -d $< $@
331
332$(obj)u-boot.sha1:	$(obj)u-boot.bin
333		$(obj)tools/ubsha1 $(obj)u-boot.bin
334
335$(obj)u-boot.dis:	$(obj)u-boot
336		$(OBJDUMP) -d $< > $@
337
338GEN_UBOOT = \
339		UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \
340		sed  -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
341		cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
342			--start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
343			-Map u-boot.map -o u-boot
344$(obj)u-boot:	depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) $(obj)u-boot.lds
345		$(GEN_UBOOT)
346ifeq ($(CONFIG_KALLSYMS),y)
347		smap=`$(call SYSTEM_MAP,u-boot) | \
348			awk '$$2 ~ /[tTwW]/ {printf $$1 $$3 "\\\\000"}'` ; \
349		$(CC) $(CFLAGS) -DSYSTEM_MAP="\"$${smap}\"" \
350			-c common/system_map.c -o $(obj)common/system_map.o
351		$(GEN_UBOOT) $(obj)common/system_map.o
352endif
353
354$(OBJS):	depend
355		$(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@))
356
357$(LIBS):	depend $(SUBDIRS)
358		$(MAKE) -C $(dir $(subst $(obj),,$@))
359
360$(LIBBOARD):	depend $(LIBS)
361		$(MAKE) -C $(dir $(subst $(obj),,$@))
362
363$(SUBDIRS):	depend
364		$(MAKE) -C $@ all
365
366$(LDSCRIPT):	depend
367		$(MAKE) -C $(dir $@) $(notdir $@)
368
369$(obj)u-boot.lds: $(LDSCRIPT)
370		$(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@
371
372$(NAND_SPL):	$(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
373		$(MAKE) -C nand_spl/board/$(BOARDDIR) all
374
375$(U_BOOT_NAND):	$(NAND_SPL) $(obj)u-boot.bin
376		cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin
377
378$(ONENAND_IPL):	$(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
379		$(MAKE) -C onenand_ipl/board/$(BOARDDIR) all
380
381$(U_BOOT_ONENAND):	$(ONENAND_IPL) $(obj)u-boot.bin
382		cat $(ONENAND_BIN) $(obj)u-boot.bin > $(obj)u-boot-onenand.bin
383
384$(VERSION_FILE):
385		@( printf '#define U_BOOT_VERSION "U-Boot %s%s"\n' "$(U_BOOT_VERSION)" \
386		 '$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ) > $@.tmp
387		@cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@
388
389$(TIMESTAMP_FILE):
390		@date +'#define U_BOOT_DATE "%b %d %C%y"' > $@
391		@date +'#define U_BOOT_TIME "%T"' >> $@
392
393gdbtools:
394		$(MAKE) -C tools/gdb all || exit 1
395
396updater:
397		$(MAKE) -C tools/updater all || exit 1
398
399env:
400		$(MAKE) -C tools/env all MTD_VERSION=${MTD_VERSION} || exit 1
401
402depend dep:	$(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk
403		for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done
404
405TAG_SUBDIRS += include
406TAG_SUBDIRS += lib_generic board/$(BOARDDIR)
407TAG_SUBDIRS += cpu/$(CPU)
408TAG_SUBDIRS += lib_$(ARCH)
409TAG_SUBDIRS += fs/cramfs
410TAG_SUBDIRS += fs/fat
411TAG_SUBDIRS += fs/fdos
412TAG_SUBDIRS += fs/jffs2
413TAG_SUBDIRS += fs/yaffs2
414TAG_SUBDIRS += net
415TAG_SUBDIRS += disk
416TAG_SUBDIRS += common
417TAG_SUBDIRS += drivers/bios_emulator
418TAG_SUBDIRS += drivers/block
419TAG_SUBDIRS += drivers/gpio
420TAG_SUBDIRS += drivers/hwmon
421TAG_SUBDIRS += drivers/i2c
422TAG_SUBDIRS += drivers/input
423TAG_SUBDIRS += drivers/misc
424TAG_SUBDIRS += drivers/mmc
425TAG_SUBDIRS += drivers/mtd
426TAG_SUBDIRS += drivers/mtd/nand
427TAG_SUBDIRS += drivers/mtd/onenand
428TAG_SUBDIRS += drivers/mtd/spi
429TAG_SUBDIRS += drivers/net
430TAG_SUBDIRS += drivers/net/sk98lin
431TAG_SUBDIRS += drivers/pci
432TAG_SUBDIRS += drivers/pcmcia
433TAG_SUBDIRS += drivers/qe
434TAG_SUBDIRS += drivers/rtc
435TAG_SUBDIRS += drivers/serial
436TAG_SUBDIRS += drivers/spi
437TAG_SUBDIRS += drivers/usb
438TAG_SUBDIRS += drivers/video
439
440tags ctags:
441		ctags -w -o $(obj)ctags `find $(SUBDIRS) $(TAG_SUBDIRS) \
442						-name '*.[ch]' -print`
443
444etags:
445		etags -a -o $(obj)etags `find $(SUBDIRS) $(TAG_SUBDIRS) \
446						-name '*.[ch]' -print`
447cscope:
448		find $(SUBDIRS) $(TAG_SUBDIRS) -name '*.[ch]' -print \
449						> cscope.files
450		cscope -b -q -k
451
452SYSTEM_MAP = \
453		$(NM) $1 | \
454		grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
455		LC_ALL=C sort
456$(obj)System.map:	$(obj)u-boot
457		@$(call SYSTEM_MAP,$<) > $(obj)System.map
458
459#
460# Auto-generate the autoconf.mk file (which is included by all makefiles)
461#
462# This target actually generates 2 files; autoconf.mk and autoconf.mk.dep.
463# the dep file is only include in this top level makefile to determine when
464# to regenerate the autoconf.mk file.
465$(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h
466	@$(XECHO) Generating $@ ; \
467	set -e ; \
468	: Generate the dependancies ; \
469	$(CC) -x c -DDO_DEPS_ONLY -M $(HOSTCFLAGS) $(CPPFLAGS) \
470		-MQ $(obj)include/autoconf.mk include/common.h > $@
471
472$(obj)include/autoconf.mk: $(obj)include/config.h
473	@$(XECHO) Generating $@ ; \
474	set -e ; \
475	: Extract the config macros ; \
476	$(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \
477		sed -n -f tools/scripts/define2mk.sed > $@.tmp && \
478	mv $@.tmp $@
479
480#########################################################################
481else	# !config.mk
482all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \
483$(obj)u-boot.img $(obj)u-boot.dis $(obj)u-boot \
484$(SUBDIRS) $(TIMESTAMP_FILE) $(VERSION_FILE) gdbtools updater env depend \
485dep tags ctags etags cscope $(obj)System.map:
486	@echo "System not configured - see README" >&2
487	@ exit 1
488endif	# config.mk
489
490.PHONY : CHANGELOG
491CHANGELOG:
492	git log --no-merges U-Boot-1_1_5.. | \
493	unexpand -a | sed -e 's/\s\s*$$//' > $@
494
495include/license.h: tools/bin2header COPYING
496	 cat COPYING | gzip -9 -c | ./tools/bin2header license_gzip > include/license.h
497#########################################################################
498
499unconfig:
500	@rm -f $(obj)include/config.h $(obj)include/config.mk \
501		$(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \
502		$(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep
503
504%: %_config
505	$(MAKE)
506
507#========================================================================
508# PowerPC
509#========================================================================
510
511#########################################################################
512## MPC5xx Systems
513#########################################################################
514
515canmb_config:	unconfig
516	@$(MKCONFIG) -a canmb ppc mpc5xxx canmb
517
518cmi_mpc5xx_config:	unconfig
519	@$(MKCONFIG) $(@:_config=) ppc mpc5xx cmi
520
521PATI_config:		unconfig
522	@$(MKCONFIG) $(@:_config=) ppc mpc5xx pati mpl
523
524#########################################################################
525## MPC5xxx Systems
526#########################################################################
527
528aev_config: unconfig
529	@$(MKCONFIG) -a aev ppc mpc5xxx tqm5200 tqc
530
531BC3450_config:	unconfig
532	@$(MKCONFIG) -a BC3450 ppc mpc5xxx bc3450
533
534cm5200_config:	unconfig
535	@$(MKCONFIG) -a cm5200 ppc mpc5xxx cm5200
536
537cpci5200_config:  unconfig
538	@$(MKCONFIG) -a cpci5200  ppc mpc5xxx cpci5200 esd
539
540digsy_mtc_config \
541digsy_mtc_LOWBOOT_config	\
542digsy_mtc_RAMBOOT_config:	unconfig
543	@mkdir -p $(obj)include
544	@mkdir -p $(obj)board/digsy_mtc
545	@ >$(obj)include/config.h
546	@[ -z "$(findstring LOWBOOT_,$@)" ] || \
547		{ echo "TEXT_BASE = 0xFF000000" >$(obj)board/digsy_mtc/config.tmp ; \
548		  echo "... with LOWBOOT configuration" ; \
549		}
550	@[ -z "$(findstring RAMBOOT_,$@)" ] || \
551		{ echo "TEXT_BASE = 0x00100000" >$(obj)board/digsy_mtc/config.tmp ; \
552		  echo "... with RAMBOOT configuration" ; \
553		}
554	@$(MKCONFIG) -a digsy_mtc  ppc mpc5xxx digsy_mtc
555
556galaxy5200_LOWBOOT_config \
557galaxy5200_config:	unconfig
558	@mkdir -p $(obj)include
559	@echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
560	@$(MKCONFIG) -a galaxy5200 ppc mpc5xxx galaxy5200
561
562hmi1001_config:	unconfig
563	@$(MKCONFIG) hmi1001 ppc mpc5xxx hmi1001
564
565Lite5200_config				\
566Lite5200_LOWBOOT_config			\
567Lite5200_LOWBOOT08_config		\
568icecube_5200_config			\
569icecube_5200_LOWBOOT_config		\
570icecube_5200_LOWBOOT08_config		\
571icecube_5200_DDR_config			\
572icecube_5200_DDR_LOWBOOT_config		\
573icecube_5200_DDR_LOWBOOT08_config	\
574icecube_5100_config:			unconfig
575	@mkdir -p $(obj)include
576	@mkdir -p $(obj)board/icecube
577	@[ -z "$(findstring LOWBOOT_,$@)" ] || \
578		{ if [ "$(findstring DDR,$@)" ] ; \
579			then echo "TEXT_BASE = 0xFF800000" >$(obj)board/icecube/config.tmp ; \
580			else echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \
581		  fi ; \
582		  $(XECHO) "... with LOWBOOT configuration" ; \
583		}
584	@[ -z "$(findstring LOWBOOT08,$@)" ] || \
585		{ echo "TEXT_BASE = 0xFF800000" >$(obj)board/icecube/config.tmp ; \
586		  echo "... with 8 MB flash only" ; \
587		  $(XECHO) "... with LOWBOOT configuration" ; \
588		}
589	@[ -z "$(findstring DDR,$@)" ] || \
590		{ echo "#define CONFIG_MPC5200_DDR"	>>$(obj)include/config.h ; \
591		  $(XECHO) "... DDR memory revision" ; \
592		}
593	@[ -z "$(findstring 5200,$@)" ] || \
594		{ echo "#define CONFIG_MPC5200"		>>$(obj)include/config.h ; \
595		  $(XECHO) "... with MPC5200 processor" ; \
596		}
597	@[ -z "$(findstring 5100,$@)" ] || \
598		{ echo "#define CONFIG_MGT5100"		>>$(obj)include/config.h ; \
599		  $(XECHO) "... with MGT5100 processor" ; \
600		}
601	@$(MKCONFIG) -a IceCube ppc mpc5xxx icecube
602
603jupiter_config:	unconfig
604	@$(MKCONFIG) jupiter ppc mpc5xxx jupiter
605
606inka4x0_config:	unconfig
607	@$(MKCONFIG) inka4x0 ppc mpc5xxx inka4x0
608
609ipek01_config: unconfig
610	@$(MKCONFIG) -a ipek01 ppc mpc5xxx ipek01
611
612lite5200b_config	\
613lite5200b_PM_config	\
614lite5200b_LOWBOOT_config:	unconfig
615	@mkdir -p $(obj)include
616	@mkdir -p $(obj)board/icecube
617	@ echo "#define CONFIG_MPC5200_DDR"	>>$(obj)include/config.h
618	@ $(XECHO) "... DDR memory revision"
619	@ echo "#define CONFIG_MPC5200"		>>$(obj)include/config.h
620	@ echo "#define CONFIG_LITE5200B"	>>$(obj)include/config.h
621	@[ -z "$(findstring _PM_,$@)" ] || \
622		{ echo "#define CONFIG_LITE5200B_PM"	>>$(obj)include/config.h ; \
623		  $(XECHO) "... with power management (low-power mode) support" ; \
624		}
625	@[ -z "$(findstring LOWBOOT_,$@)" ] || \
626		{ echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \
627		  $(XECHO) "... with LOWBOOT configuration" ; \
628		}
629	@ $(XECHO) "... with MPC5200B processor"
630	@$(MKCONFIG) -a IceCube  ppc mpc5xxx icecube
631
632mcc200_config	\
633mcc200_SDRAM_config	\
634mcc200_highboot_config	\
635mcc200_COM12_config	\
636mcc200_COM12_SDRAM_config	\
637mcc200_COM12_highboot_config	\
638mcc200_COM12_highboot_SDRAM_config	\
639mcc200_highboot_SDRAM_config	\
640prs200_config	\
641prs200_DDR_config	\
642prs200_highboot_config	\
643prs200_highboot_DDR_config:	unconfig
644	@mkdir -p $(obj)include
645	@mkdir -p $(obj)board/mcc200
646	@[ -n "$(findstring highboot,$@)" ] || \
647		{ $(XECHO) "... with lowboot configuration" ; \
648		}
649	@[ -z "$(findstring highboot,$@)" ] || \
650		{ echo "TEXT_BASE = 0xFFF00000" >$(obj)board/mcc200/config.tmp ; \
651		  $(XECHO) "... with highboot configuration" ; \
652		}
653	@[ -n "$(findstring _SDRAM,$@)" ] || \
654		{ if [ -n "$(findstring mcc200,$@)" ]; \
655		  then \
656			$(XECHO) "... with DDR" ; \
657		  else \
658			if [ -n "$(findstring _DDR,$@)" ];\
659			then \
660				$(XECHO) "... with DDR" ; \
661			else \
662				echo "#define CONFIG_MCC200_SDRAM" >>$(obj)include/config.h ;\
663				$(XECHO) "... with SDRAM" ; \
664			fi; \
665		  fi; \
666		}
667	@[ -z "$(findstring _SDRAM,$@)" ] || \
668		{ echo "#define CONFIG_MCC200_SDRAM"	>>$(obj)include/config.h ; \
669		  $(XECHO) "... with SDRAM" ; \
670		}
671	@[ -z "$(findstring COM12,$@)" ] || \
672		{ echo "#define CONFIG_CONSOLE_COM12"	>>$(obj)include/config.h ; \
673		  $(XECHO) "... with console on COM12" ; \
674		}
675	@[ -z "$(findstring prs200,$@)" ] || \
676		{ echo "#define CONFIG_PRS200"	>>$(obj)include/config.h ;\
677		}
678	@$(MKCONFIG) -n $@ -a mcc200 ppc mpc5xxx mcc200
679
680mecp5200_config:  unconfig
681	@$(MKCONFIG) mecp5200  ppc mpc5xxx mecp5200 esd
682
683motionpro_config:	unconfig
684	@$(MKCONFIG) motionpro ppc mpc5xxx motionpro
685
686mucmc52_config:		unconfig
687	@$(MKCONFIG) mucmc52 ppc mpc5xxx mucmc52
688
689munices_config:	unconfig
690	@$(MKCONFIG) munices ppc mpc5xxx munices
691
692MVBC_P_config: unconfig
693	@mkdir -p $(obj)include
694	@mkdir -p $(obj)board/mvbc_p
695	@ >$(obj)include/config.h
696	@[ -z "$(findstring MVBC_P,$@)" ] || \
697	{   	echo "#define CONFIG_MVBC_P" 	>>$(obj)include/config.h; }
698	@$(MKCONFIG) -n $@ -a MVBC_P ppc mpc5xxx mvbc_p matrix_vision
699
700o2dnt_config:	unconfig
701	@$(MKCONFIG) o2dnt ppc mpc5xxx o2dnt
702
703pcm030_config \
704pcm030_LOWBOOT_config:	unconfig
705	@mkdir -p $(obj)include $(obj)board/phytec/pcm030
706	@ >$(obj)include/config.h
707	@[ -z "$(findstring LOWBOOT_,$@)" ] || \
708		{ echo "TEXT_BASE = 0xFF000000"	>$(obj)board/phytec/pcm030/config.tmp ; \
709		  echo "... with LOWBOOT configuration" ; \
710		}
711	@$(MKCONFIG) -a pcm030 ppc mpc5xxx pcm030 phytec
712
713pf5200_config:	unconfig
714	@$(MKCONFIG) pf5200  ppc mpc5xxx pf5200 esd
715
716PM520_config \
717PM520_DDR_config \
718PM520_ROMBOOT_config \
719PM520_ROMBOOT_DDR_config:	unconfig
720	@mkdir -p $(obj)include
721	@[ -z "$(findstring DDR,$@)" ] || \
722		{ echo "#define CONFIG_MPC5200_DDR"	>>$(obj)include/config.h ; \
723		  $(XECHO) "... DDR memory revision" ; \
724		}
725	@[ -z "$(findstring ROMBOOT,$@)" ] || \
726		{ echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \
727		  $(XECHO) "... booting from 8-bit flash" ; \
728		}
729	@$(MKCONFIG) -a PM520 ppc mpc5xxx pm520
730
731smmaco4_config: unconfig
732	@$(MKCONFIG) -a smmaco4 ppc mpc5xxx tqm5200 tqc
733
734spieval_config:	unconfig
735	@$(MKCONFIG) -a spieval ppc mpc5xxx tqm5200 tqc
736
737TB5200_B_config \
738TB5200_config:	unconfig
739	@mkdir -p $(obj)include
740	@[ -z "$(findstring _B,$@)" ] || \
741		{ echo "#define CONFIG_TQM5200_B"	>>$(obj)include/config.h ; \
742		  $(XECHO) "... with MPC5200B processor" ; \
743		}
744	@$(MKCONFIG) -n $@ -a TB5200 ppc mpc5xxx tqm5200 tqc
745
746MINI5200_config	\
747EVAL5200_config	\
748TOP5200_config:	unconfig
749	@mkdir -p $(obj)include
750	@ echo "#define CONFIG_$(@:_config=) 1"	>$(obj)include/config.h
751	@$(MKCONFIG) -n $@ -a TOP5200 ppc mpc5xxx top5200 emk
752
753Total5100_config		\
754Total5200_config		\
755Total5200_lowboot_config	\
756Total5200_Rev2_config		\
757Total5200_Rev2_lowboot_config:	unconfig
758	@mkdir -p $(obj)include
759	@mkdir -p $(obj)board/total5200
760	@[ -z "$(findstring 5100,$@)" ] || \
761		{ echo "#define CONFIG_MGT5100"		>>$(obj)include/config.h ; \
762		  $(XECHO) "... with MGT5100 processor" ; \
763		}
764	@[ -z "$(findstring 5200,$@)" ] || \
765		{ echo "#define CONFIG_MPC5200"		>>$(obj)include/config.h ; \
766		  $(XECHO) "... with MPC5200 processor" ; \
767		}
768	@[ -n "$(findstring Rev,$@)" ] || \
769		{ echo "#define CONFIG_TOTAL5200_REV 1"	>>$(obj)include/config.h ; \
770		  $(XECHO) "... revision 1 board" ; \
771		}
772	@[ -z "$(findstring Rev2_,$@)" ] || \
773		{ echo "#define CONFIG_TOTAL5200_REV 2"	>>$(obj)include/config.h ; \
774		  $(XECHO) "... revision 2 board" ; \
775		}
776	@[ -z "$(findstring lowboot_,$@)" ] || \
777		{ echo "TEXT_BASE = 0xFE000000" >$(obj)board/total5200/config.tmp ; \
778		  $(XECHO) "... with lowboot configuration" ; \
779		}
780	@$(MKCONFIG) -a Total5200 ppc mpc5xxx total5200
781
782cam5200_config \
783cam5200_niosflash_config \
784fo300_config \
785MiniFAP_config \
786TQM5200S_config \
787TQM5200S_HIGHBOOT_config \
788TQM5200_B_config \
789TQM5200_B_HIGHBOOT_config \
790TQM5200_config	\
791TQM5200_STK100_config:	unconfig
792	@mkdir -p $(obj)include
793	@mkdir -p $(obj)board/tqc/tqm5200
794	@[ -z "$(findstring cam5200,$@)" ] || \
795		{ echo "#define CONFIG_CAM5200"	>>$(obj)include/config.h ; \
796		  echo "#define CONFIG_TQM5200S"	>>$(obj)include/config.h ; \
797		  echo "#define CONFIG_TQM5200_B"	>>$(obj)include/config.h ; \
798		  $(XECHO) "... TQM5200S on Cam5200" ; \
799		}
800	@[ -z "$(findstring niosflash,$@)" ] || \
801		{ echo "#define CONFIG_CAM5200_NIOSFLASH"	>>$(obj)include/config.h ; \
802		  $(XECHO) "... with NIOS flash driver" ; \
803		}
804	@[ -z "$(findstring fo300,$@)" ] || \
805		{ echo "#define CONFIG_FO300"	>>$(obj)include/config.h ; \
806		  $(XECHO) "... TQM5200 on FO300" ; \
807		}
808	@[ -z "$(findstring MiniFAP,$@)" ] || \
809		{ echo "#define CONFIG_MINIFAP"	>>$(obj)include/config.h ; \
810		  $(XECHO) "... TQM5200_AC on MiniFAP" ; \
811		}
812	@[ -z "$(findstring STK100,$@)" ] || \
813		{ echo "#define CONFIG_STK52XX_REV100"	>>$(obj)include/config.h ; \
814		  $(XECHO) "... on a STK52XX.100 base board" ; \
815		}
816	@[ -z "$(findstring TQM5200_B,$@)" ] || \
817		{ echo "#define CONFIG_TQM5200_B"	>>$(obj)include/config.h ; \
818		}
819	@[ -z "$(findstring TQM5200S,$@)" ] || \
820		{ echo "#define CONFIG_TQM5200S"	>>$(obj)include/config.h ; \
821		  echo "#define CONFIG_TQM5200_B"	>>$(obj)include/config.h ; \
822		}
823	@[ -z "$(findstring HIGHBOOT,$@)" ] || \
824		{ echo "TEXT_BASE = 0xFFF00000" >$(obj)board/tqm5200/config.tmp ; \
825		}
826	@$(MKCONFIG) -n $@ -a TQM5200 ppc mpc5xxx tqm5200 tqc
827
828uc101_config:		unconfig
829	@$(MKCONFIG) uc101 ppc mpc5xxx uc101
830
831v38b_config: unconfig
832	@$(MKCONFIG) -a v38b ppc mpc5xxx v38b
833
834#########################################################################
835## MPC512x Systems
836#########################################################################
837
838aria_config:	unconfig
839	@$(MKCONFIG) -a aria ppc mpc512x aria davedenx
840
841mecp5123_config:	unconfig
842	@$(MKCONFIG) -a mecp5123 ppc mpc512x mecp5123 esd
843
844mpc5121ads_config \
845mpc5121ads_rev2_config	\
846	: unconfig
847	@mkdir -p $(obj)include
848	@if [ "$(findstring rev2,$@)" ] ; then \
849		echo "#define CONFIG_ADS5121_REV2 1" > $(obj)include/config.h; \
850	fi
851	@$(MKCONFIG) -a mpc5121ads ppc mpc512x mpc5121ads freescale
852
853#########################################################################
854## MPC8xx Systems
855#########################################################################
856
857Adder_config	\
858Adder87x_config \
859AdderII_config	\
860	:		unconfig
861	@mkdir -p $(obj)include
862	$(if $(findstring AdderII,$@), \
863	@echo "#define CONFIG_MPC852T" > $(obj)include/config.h)
864	@$(MKCONFIG) -a Adder ppc mpc8xx adder
865
866AdderUSB_config:	unconfig
867	@$(MKCONFIG) -a AdderUSB ppc mpc8xx adder
868
869ADS860_config	  \
870FADS823_config	  \
871FADS850SAR_config \
872MPC86xADS_config  \
873MPC885ADS_config  \
874FADS860T_config:	unconfig
875	@$(MKCONFIG) $(@:_config=) ppc mpc8xx fads
876
877AMX860_config	:	unconfig
878	@$(MKCONFIG) $(@:_config=) ppc mpc8xx amx860 westel
879
880c2mon_config:		unconfig
881	@$(MKCONFIG) $(@:_config=) ppc mpc8xx c2mon
882
883CCM_config:		unconfig
884	@$(MKCONFIG) $(@:_config=) ppc mpc8xx CCM siemens
885
886cogent_mpc8xx_config:	unconfig
887	@$(MKCONFIG) $(@:_config=) ppc mpc8xx cogent
888
889ELPT860_config:		unconfig
890	@$(MKCONFIG) $(@:_config=) ppc mpc8xx elpt860 LEOX
891
892EP88x_config:		unconfig
893	@$(MKCONFIG) $(@:_config=) ppc mpc8xx ep88x
894
895ESTEEM192E_config:	unconfig
896	@$(MKCONFIG) $(@:_config=) ppc mpc8xx esteem192e
897
898ETX094_config	:	unconfig
899	@$(MKCONFIG) $(@:_config=) ppc mpc8xx etx094
900
901FLAGADM_config:	unconfig
902	@$(MKCONFIG) $(@:_config=) ppc mpc8xx flagadm
903
904xtract_GEN860T = $(subst _SC,,$(subst _config,,$1))
905
906GEN860T_SC_config	\
907GEN860T_config: unconfig
908	@mkdir -p $(obj)include
909	@[ -z "$(findstring _SC,$@)" ] || \
910		{ echo "#define CONFIG_SC" >>$(obj)include/config.h ; \
911		  $(XECHO) "With reduced H/W feature set (SC)..." ; \
912		}
913	@$(MKCONFIG) -a $(call xtract_GEN860T,$@) ppc mpc8xx gen860t
914
915GENIETV_config:	unconfig
916	@$(MKCONFIG) $(@:_config=) ppc mpc8xx genietv
917
918GTH_config:	unconfig
919	@$(MKCONFIG) $(@:_config=) ppc mpc8xx gth
920
921hermes_config	:	unconfig
922	@$(MKCONFIG) $(@:_config=) ppc mpc8xx hermes
923
924HMI10_config	:	unconfig
925	@$(MKCONFIG) $(@:_config=) ppc mpc8xx tqm8xx tqc
926
927IAD210_config: unconfig
928	@$(MKCONFIG) $(@:_config=) ppc mpc8xx IAD210 siemens
929
930xtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1))
931
932ICU862_100MHz_config	\
933ICU862_config: unconfig
934	@mkdir -p $(obj)include
935	@[ -z "$(findstring _100MHz,$@)" ] || \
936		{ echo "#define CONFIG_100MHz"	>>$(obj)include/config.h ; \
937		  $(XECHO) "... with 100MHz system clock" ; \
938		}
939	@$(MKCONFIG) -a $(call xtract_ICU862,$@) ppc mpc8xx icu862
940
941IP860_config	:	unconfig
942	@$(MKCONFIG) $(@:_config=) ppc mpc8xx ip860
943
944IVML24_256_config \
945IVML24_128_config \
946IVML24_config:	unconfig
947	@mkdir -p $(obj)include
948	@[ -z "$(findstring IVML24_config,$@)" ] || \
949		 { echo "#define CONFIG_IVML24_16M"	>>$(obj)include/config.h ; \
950		 }
951	@[ -z "$(findstring IVML24_128_config,$@)" ] || \
952		 { echo "#define CONFIG_IVML24_32M"	>>$(obj)include/config.h ; \
953		 }
954	@[ -z "$(findstring IVML24_256_config,$@)" ] || \
955		 { echo "#define CONFIG_IVML24_64M"	>>$(obj)include/config.h ; \
956		 }
957	@$(MKCONFIG) -a IVML24 ppc mpc8xx ivm
958
959IVMS8_256_config \
960IVMS8_128_config \
961IVMS8_config:	unconfig
962	@mkdir -p $(obj)include
963	@[ -z "$(findstring IVMS8_config,$@)" ] || \
964		 { echo "#define CONFIG_IVMS8_16M"	>>$(obj)include/config.h ; \
965		 }
966	@[ -z "$(findstring IVMS8_128_config,$@)" ] || \
967		 { echo "#define CONFIG_IVMS8_32M"	>>$(obj)include/config.h ; \
968		 }
969	@[ -z "$(findstring IVMS8_256_config,$@)" ] || \
970		 { echo "#define CONFIG_IVMS8_64M"	>>$(obj)include/config.h ; \
971		 }
972	@$(MKCONFIG) -a IVMS8 ppc mpc8xx ivm
973
974kmsupx4_config:		unconfig
975	@$(MKCONFIG) $(@:_config=) ppc mpc8xx km8xx keymile
976
977KUP4K_config	:	unconfig
978	@$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4k kup
979
980KUP4X_config	:	unconfig
981	@$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4x kup
982
983LANTEC_config	:	unconfig
984	@$(MKCONFIG) $(@:_config=) ppc mpc8xx lantec
985
986lwmon_config:		unconfig
987	@$(MKCONFIG) $(@:_config=) ppc mpc8xx lwmon
988
989MBX_config	\
990MBX860T_config:	unconfig
991	@$(MKCONFIG) $(@:_config=) ppc mpc8xx mbx8xx
992
993mgsuvd_config:		unconfig
994	@$(MKCONFIG) $(@:_config=) ppc mpc8xx km8xx keymile
995
996MHPC_config:		unconfig
997	@$(MKCONFIG) $(@:_config=) ppc mpc8xx mhpc eltec
998
999xtract_NETVIA = $(subst _V2,,$(subst _config,,$1))
1000
1001NETVIA_V2_config \
1002NETVIA_config:		unconfig
1003	@mkdir -p $(obj)include
1004	@[ -z "$(findstring NETVIA_config,$@)" ] || \
1005		 { echo "#define CONFIG_NETVIA_VERSION 1" >>$(obj)include/config.h ; \
1006		  $(XECHO) "... Version 1" ; \
1007		 }
1008	@[ -z "$(findstring NETVIA_V2_config,$@)" ] || \
1009		 { echo "#define CONFIG_NETVIA_VERSION 2" >>$(obj)include/config.h ; \
1010		  $(XECHO) "... Version 2" ; \
1011		 }
1012	@$(MKCONFIG) -a $(call xtract_NETVIA,$@) ppc mpc8xx netvia
1013
1014xtract_NETPHONE = $(subst _V2,,$(subst _config,,$1))
1015
1016NETPHONE_V2_config \
1017NETPHONE_config:	unconfig
1018	@mkdir -p $(obj)include
1019	@[ -z "$(findstring NETPHONE_config,$@)" ] || \
1020		 { echo "#define CONFIG_NETPHONE_VERSION 1" >>$(obj)include/config.h ; \
1021		 }
1022	@[ -z "$(findstring NETPHONE_V2_config,$@)" ] || \
1023		 { echo "#define CONFIG_NETPHONE_VERSION 2" >>$(obj)include/config.h ; \
1024		 }
1025	@$(MKCONFIG) -a $(call xtract_NETPHONE,$@) ppc mpc8xx netphone
1026
1027xtract_NETTA = $(subst _SWAPHOOK,,$(subst _6412,,$(subst _ISDN,,$(subst _config,,$1))))
1028
1029NETTA_ISDN_6412_SWAPHOOK_config \
1030NETTA_ISDN_SWAPHOOK_config \
1031NETTA_6412_SWAPHOOK_config \
1032NETTA_SWAPHOOK_config \
1033NETTA_ISDN_6412_config \
1034NETTA_ISDN_config \
1035NETTA_6412_config \
1036NETTA_config:		unconfig
1037	@mkdir -p $(obj)include
1038	@[ -z "$(findstring ISDN_,$@)" ] || \
1039		 { echo "#define CONFIG_NETTA_ISDN 1" >>$(obj)include/config.h ; \
1040		 }
1041	@[ -n "$(findstring ISDN_,$@)" ] || \
1042		 { echo "#undef CONFIG_NETTA_ISDN" >>$(obj)include/config.h ; \
1043		 }
1044	@[ -z "$(findstring 6412_,$@)" ] || \
1045		 { echo "#define CONFIG_NETTA_6412 1" >>$(obj)include/config.h ; \
1046		 }
1047	@[ -n "$(findstring 6412_,$@)" ] || \
1048		 { echo "#undef CONFIG_NETTA_6412" >>$(obj)include/config.h ; \
1049		 }
1050	@[ -z "$(findstring SWAPHOOK_,$@)" ] || \
1051		 { echo "#define CONFIG_NETTA_SWAPHOOK 1" >>$(obj)include/config.h ; \
1052		 }
1053	@[ -n "$(findstring SWAPHOOK_,$@)" ] || \
1054		 { echo "#undef CONFIG_NETTA_SWAPHOOK" >>$(obj)include/config.h ; \
1055		 }
1056	@$(MKCONFIG) -a $(call xtract_NETTA,$@) ppc mpc8xx netta
1057
1058xtract_NETTA2 = $(subst _V2,,$(subst _config,,$1))
1059
1060NETTA2_V2_config \
1061NETTA2_config:		unconfig
1062	@mkdir -p $(obj)include
1063	@[ -z "$(findstring NETTA2_config,$@)" ] || \
1064		 { echo "#define CONFIG_NETTA2_VERSION 1" >>$(obj)include/config.h ; \
1065		 }
1066	@[ -z "$(findstring NETTA2_V2_config,$@)" ] || \
1067		 { echo "#define CONFIG_NETTA2_VERSION 2" >>$(obj)include/config.h ; \
1068		 }
1069	@$(MKCONFIG) -a $(call xtract_NETTA2,$@) ppc mpc8xx netta2
1070
1071NC650_Rev1_config \
1072NC650_Rev2_config \
1073CP850_config:	unconfig
1074	@mkdir -p $(obj)include
1075	@[ -z "$(findstring CP850,$@)" ] || \
1076		 { echo "#define CONFIG_CP850 1" >>$(obj)include/config.h ; \
1077		   echo "#define CONFIG_IDS852_REV2 1" >>$(obj)include/config.h ; \
1078		 }
1079	@[ -z "$(findstring Rev1,$@)" ] || \
1080		 { echo "#define CONFIG_IDS852_REV1 1" >>$(obj)include/config.h ; \
1081		 }
1082	@[ -z "$(findstring Rev2,$@)" ] || \
1083		 { echo "#define CONFIG_IDS852_REV2 1" >>$(obj)include/config.h ; \
1084		 }
1085	@$(MKCONFIG) -a NC650 ppc mpc8xx nc650
1086
1087NX823_config:		unconfig
1088	@$(MKCONFIG) $(@:_config=) ppc mpc8xx nx823
1089
1090pcu_e_config:		unconfig
1091	@$(MKCONFIG) $(@:_config=) ppc mpc8xx pcu_e siemens
1092
1093QS850_config:	unconfig
1094	@$(MKCONFIG) $(@:_config=) ppc mpc8xx qs850 snmc
1095
1096QS823_config:	unconfig
1097	@$(MKCONFIG) $(@:_config=) ppc mpc8xx qs850 snmc
1098
1099QS860T_config:	unconfig
1100	@$(MKCONFIG) $(@:_config=) ppc mpc8xx qs860t snmc
1101
1102quantum_config:	unconfig
1103	@$(MKCONFIG) $(@:_config=) ppc mpc8xx quantum
1104
1105R360MPI_config:	unconfig
1106	@$(MKCONFIG) $(@:_config=) ppc mpc8xx r360mpi
1107
1108RBC823_config:	unconfig
1109	@$(MKCONFIG) $(@:_config=) ppc mpc8xx rbc823
1110
1111RPXClassic_config:	unconfig
1112	@$(MKCONFIG) $(@:_config=) ppc mpc8xx RPXClassic
1113
1114RPXlite_config:		unconfig
1115	@$(MKCONFIG) $(@:_config=) ppc mpc8xx RPXlite
1116
1117RPXlite_DW_64_config		\
1118RPXlite_DW_LCD_config		\
1119RPXlite_DW_64_LCD_config	\
1120RPXlite_DW_NVRAM_config		\
1121RPXlite_DW_NVRAM_64_config	\
1122RPXlite_DW_NVRAM_LCD_config	\
1123RPXlite_DW_NVRAM_64_LCD_config	\
1124RPXlite_DW_config:	unconfig
1125	@mkdir -p $(obj)include
1126	@[ -z "$(findstring _64,$@)" ] || \
1127		{ echo "#define RPXlite_64MHz"		>>$(obj)include/config.h ; \
1128		  $(XECHO) "... with 64MHz system clock ..."; \
1129		}
1130	@[ -z "$(findstring _LCD,$@)" ] || \
1131		{ echo "#define CONFIG_LCD"		>>$(obj)include/config.h ; \
1132		  echo "#define CONFIG_NEC_NL6448BC20"	>>$(obj)include/config.h ; \
1133		  $(XECHO) "... with LCD display ..."; \
1134		}
1135	@[ -z "$(findstring _NVRAM,$@)" ] || \
1136		{ echo "#define  CONFIG_ENV_IS_IN_NVRAM"	>>$(obj)include/config.h ; \
1137		  $(XECHO) "... with ENV in NVRAM ..."; \
1138		}
1139	@$(MKCONFIG) -a RPXlite_DW ppc mpc8xx RPXlite_dw
1140
1141rmu_config:	unconfig
1142	@$(MKCONFIG) $(@:_config=) ppc mpc8xx rmu
1143
1144RRvision_config:	unconfig
1145	@$(MKCONFIG) $(@:_config=) ppc mpc8xx RRvision
1146
1147RRvision_LCD_config:	unconfig
1148	@mkdir -p $(obj)include
1149	@echo "#define CONFIG_LCD" >$(obj)include/config.h
1150	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h
1151	@$(MKCONFIG) -a RRvision ppc mpc8xx RRvision
1152
1153SM850_config	:	unconfig
1154	@$(MKCONFIG) $(@:_config=) ppc mpc8xx tqm8xx tqc
1155
1156spc1920_config:		unconfig
1157	@$(MKCONFIG) $(@:_config=) ppc mpc8xx spc1920
1158
1159SPD823TS_config:	unconfig
1160	@$(MKCONFIG) $(@:_config=) ppc mpc8xx spd8xx
1161
1162stxxtc_config:	unconfig
1163	@$(MKCONFIG) $(@:_config=) ppc mpc8xx stxxtc stx
1164
1165svm_sc8xx_config:	unconfig
1166	@$(MKCONFIG) $(@:_config=) ppc mpc8xx svm_sc8xx
1167
1168SXNI855T_config:	unconfig
1169	@$(MKCONFIG) $(@:_config=) ppc mpc8xx sixnet
1170
1171# EMK MPC8xx based modules
1172TOP860_config:		unconfig
1173	@$(MKCONFIG) $(@:_config=) ppc mpc8xx top860 emk
1174
1175# Play some tricks for configuration selection
1176# Only 855 and 860 boards may come with FEC
1177# and only 823 boards may have LCD support
1178xtract_8xx = $(subst _LCD,,$(subst _config,,$1))
1179
1180FPS850L_config		\
1181FPS860L_config		\
1182NSCU_config		\
1183TQM823L_config		\
1184TQM823L_LCD_config	\
1185TQM850L_config		\
1186TQM855L_config		\
1187TQM860L_config		\
1188TQM862L_config		\
1189TQM823M_config		\
1190TQM850M_config		\
1191TQM855M_config		\
1192TQM860M_config		\
1193TQM862M_config		\
1194TQM866M_config		\
1195TQM885D_config		\
1196TK885D_config		\
1197virtlab2_config:	unconfig
1198	@mkdir -p $(obj)include
1199	@[ -z "$(findstring _LCD,$@)" ] || \
1200		{ echo "#define CONFIG_LCD"		>>$(obj)include/config.h ; \
1201		  echo "#define CONFIG_NEC_NL6448BC20"	>>$(obj)include/config.h ; \
1202		  $(XECHO) "... with LCD display" ; \
1203		}
1204	@$(MKCONFIG) -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx tqc
1205
1206TTTech_config:	unconfig
1207	@mkdir -p $(obj)include
1208	@echo "#define CONFIG_LCD" >$(obj)include/config.h
1209	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h
1210	@$(MKCONFIG) -a TQM823L ppc mpc8xx tqm8xx tqc
1211
1212uc100_config	:	unconfig
1213	@$(MKCONFIG) $(@:_config=) ppc mpc8xx uc100
1214
1215v37_config:	unconfig
1216	@mkdir -p $(obj)include
1217	@echo "#define CONFIG_LCD" >$(obj)include/config.h
1218	@echo "#define CONFIG_SHARP_LQ084V1DG21" >>$(obj)include/config.h
1219	@$(MKCONFIG) $(@:_config=) ppc mpc8xx v37
1220
1221wtk_config:	unconfig
1222	@mkdir -p $(obj)include
1223	@echo "#define CONFIG_LCD" >$(obj)include/config.h
1224	@echo "#define CONFIG_SHARP_LQ065T9DR51U" >>$(obj)include/config.h
1225	@$(MKCONFIG) -a TQM823L ppc mpc8xx tqm8xx tqc
1226
1227#########################################################################
1228## PPC4xx Systems
1229#########################################################################
1230xtract_4xx = $(subst _25,,$(subst _33,,$(subst _BA,,$(subst _ME,,$(subst _HI,,$(subst _config,,$1))))))
1231
1232acadia_config:	unconfig
1233	@$(MKCONFIG) $(@:_config=) ppc ppc4xx acadia amcc
1234
1235acadia_nand_config:	unconfig
1236	@mkdir -p $(obj)include $(obj)board/amcc/acadia
1237	@mkdir -p $(obj)nand_spl/board/amcc/acadia
1238	@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
1239	@$(MKCONFIG) -n $@ -a acadia ppc ppc4xx acadia amcc
1240	@echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/acadia/config.tmp
1241	@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
1242
1243ADCIOP_config:	unconfig
1244	@$(MKCONFIG) $(@:_config=) ppc ppc4xx adciop esd
1245
1246alpr_config:	unconfig
1247	@$(MKCONFIG) $(@:_config=) ppc ppc4xx alpr prodrive
1248
1249AP1000_config:unconfig
1250	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ap1000 amirix
1251
1252APC405_config:	unconfig
1253	@$(MKCONFIG) $(@:_config=) ppc ppc4xx apc405 esd
1254
1255AR405_config:	unconfig
1256	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ar405 esd
1257
1258ASH405_config:	unconfig
1259	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ash405 esd
1260
1261bamboo_config:	unconfig
1262	@$(MKCONFIG) $(@:_config=) ppc ppc4xx bamboo amcc
1263
1264bamboo_nand_config:	unconfig
1265	@mkdir -p $(obj)include $(obj)board/amcc/bamboo
1266	@mkdir -p $(obj)nand_spl/board/amcc/bamboo
1267	@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
1268	@$(MKCONFIG) -n $@ -a bamboo ppc ppc4xx bamboo amcc
1269	@echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/bamboo/config.tmp
1270	@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
1271
1272bubinga_config:	unconfig
1273	@$(MKCONFIG) $(@:_config=) ppc ppc4xx bubinga amcc
1274
1275CANBT_config:	unconfig
1276	@$(MKCONFIG) $(@:_config=) ppc ppc4xx canbt esd
1277
1278# Arches, Canyonlands & Glacier use different U-Boot images
1279arches_config \
1280canyonlands_config \
1281glacier_config:	unconfig
1282	@mkdir -p $(obj)include
1283	@echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \
1284		tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h
1285	@$(MKCONFIG) -n $@ -a canyonlands ppc ppc4xx canyonlands amcc
1286
1287canyonlands_nand_config \
1288glacier_nand_config:	unconfig
1289	@mkdir -p $(obj)include $(obj)board/amcc/canyonlands
1290	@mkdir -p $(obj)nand_spl/board/amcc/canyonlands
1291	@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
1292	@echo "#define CONFIG_$$(echo $(subst ,,$(@:_nand_config=)) | \
1293		tr '[:lower:]' '[:upper:]')" >> $(obj)include/config.h
1294	@$(MKCONFIG) -n $@ -a canyonlands ppc ppc4xx canyonlands amcc
1295	@echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/canyonlands/config.tmp
1296	@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
1297
1298CATcenter_config	\
1299CATcenter_25_config	\
1300CATcenter_33_config:	unconfig
1301	@mkdir -p $(obj)include
1302	@ echo "/* CATcenter uses PPChameleon Model ME */"  > $(obj)include/config.h
1303	@ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >> $(obj)include/config.h
1304	@[ -z "$(findstring _25,$@)" ] || \
1305		{ echo "#define CONFIG_PPCHAMELEON_CLK_25" >> $(obj)include/config.h ; \
1306		  $(XECHO) "SysClk = 25MHz" ; \
1307		}
1308	@[ -z "$(findstring _33,$@)" ] || \
1309		{ echo "#define CONFIG_PPCHAMELEON_CLK_33" >> $(obj)include/config.h ; \
1310		  $(XECHO) "SysClk = 33MHz" ; \
1311		}
1312	@$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
1313
1314CMS700_config:	unconfig
1315	@$(MKCONFIG) $(@:_config=) ppc ppc4xx cms700 esd
1316
1317CPCI2DP_config:	unconfig
1318	@$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci2dp esd
1319
1320CPCI405_config		\
1321CPCI4052_config		\
1322CPCI405DT_config	\
1323CPCI405AB_config:	unconfig
1324	@mkdir -p $(obj)board/esd/cpci405
1325	@$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci405 esd
1326
1327CPCIISER4_config:	unconfig
1328	@$(MKCONFIG) $(@:_config=) ppc ppc4xx cpciiser4 esd
1329
1330CRAYL1_config:	unconfig
1331	@$(MKCONFIG) $(@:_config=) ppc ppc4xx L1 cray
1332
1333csb272_config:	unconfig
1334	@$(MKCONFIG) $(@:_config=) ppc ppc4xx csb272
1335
1336csb472_config:	unconfig
1337	@$(MKCONFIG) $(@:_config=) ppc ppc4xx csb472
1338
1339DASA_SIM_config: unconfig
1340	@$(MKCONFIG) $(@:_config=) ppc ppc4xx dasa_sim esd
1341
1342dlvision_config: unconfig
1343	@$(MKCONFIG) $(@:_config=) ppc ppc4xx dlvision gdsys
1344
1345DP405_config:	unconfig
1346	@$(MKCONFIG) $(@:_config=) ppc ppc4xx dp405 esd
1347
1348DU405_config:	unconfig
1349	@$(MKCONFIG) $(@:_config=) ppc ppc4xx du405 esd
1350
1351DU440_config:	unconfig
1352	@$(MKCONFIG) $(@:_config=) ppc ppc4xx du440 esd
1353
1354ebony_config:	unconfig
1355	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ebony amcc
1356
1357ERIC_config:	unconfig
1358	@$(MKCONFIG) $(@:_config=) ppc ppc4xx eric
1359
1360EXBITGEN_config:	unconfig
1361	@$(MKCONFIG) $(@:_config=) ppc ppc4xx exbitgen
1362
1363fx12mm_flash_config: unconfig
1364	@mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic
1365	@mkdir -p $(obj)include $(obj)board/avnet/fx12mm
1366	@echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-rom.lds"\
1367		> $(obj)board/avnet/fx12mm/config.tmp
1368	@echo "TEXT_BASE := 0xFFCB0000" \
1369		>> $(obj)board/avnet/fx12mm/config.tmp
1370	@$(MKCONFIG) fx12mm ppc ppc4xx fx12mm avnet
1371
1372fx12mm_config: unconfig
1373	@mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic
1374	@mkdir -p $(obj)include $(obj)board/avnet/fx12mm
1375	@echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-ram.lds"\
1376		> $(obj)board/avnet/fx12mm/config.tmp
1377	@echo "TEXT_BASE := 0x03000000" \
1378		>> $(obj)board/avnet/fx12mm/config.tmp
1379	@$(MKCONFIG) fx12mm ppc ppc4xx fx12mm avnet
1380
1381G2000_config:	unconfig
1382	@$(MKCONFIG) $(@:_config=) ppc ppc4xx g2000
1383
1384gdppc440etx_config:	unconfig
1385	@$(MKCONFIG) $(@:_config=) ppc ppc4xx gdppc440etx gdsys
1386
1387hcu4_config:	unconfig
1388	@mkdir -p $(obj)board/netstal/common
1389	@$(MKCONFIG) $(@:_config=) ppc ppc4xx hcu4 netstal
1390
1391hcu5_config:	unconfig
1392	@mkdir -p $(obj)board/netstal/common
1393	@$(MKCONFIG) $(@:_config=) ppc ppc4xx hcu5 netstal
1394
1395HH405_config:	unconfig
1396	@$(MKCONFIG) $(@:_config=) ppc ppc4xx hh405 esd
1397
1398HUB405_config:	unconfig
1399	@$(MKCONFIG) $(@:_config=) ppc ppc4xx hub405 esd
1400
1401# Compact-Center(codename intip) & DevCon-Center use different U-Boot images
1402intip_config \
1403devconcenter_config:	unconfig
1404	@mkdir -p $(obj)include
1405	@echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \
1406		tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h
1407	@$(MKCONFIG) -n $@ -a intip ppc ppc4xx intip gdsys
1408
1409JSE_config:	unconfig
1410	@$(MKCONFIG) $(@:_config=) ppc ppc4xx jse
1411
1412KAREF_config: unconfig
1413	@$(MKCONFIG) $(@:_config=) ppc ppc4xx karef sandburst
1414
1415katmai_config:	unconfig
1416	@$(MKCONFIG) $(@:_config=) ppc ppc4xx katmai amcc
1417
1418# Kilauea & Haleakala images are identical (recognized via PVR)
1419kilauea_config \
1420haleakala_config: unconfig
1421	@$(MKCONFIG) -n $@ -a kilauea ppc ppc4xx kilauea amcc
1422
1423kilauea_nand_config \
1424haleakala_nand_config: unconfig
1425	@mkdir -p $(obj)include $(obj)board/amcc/kilauea
1426	@mkdir -p $(obj)nand_spl/board/amcc/kilauea
1427	@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
1428	@$(MKCONFIG) -n $@ -a kilauea ppc ppc4xx kilauea amcc
1429	@echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/kilauea/config.tmp
1430	@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
1431
1432korat_config:	unconfig
1433	@$(MKCONFIG) $(@:_config=) ppc ppc4xx korat
1434
1435luan_config:	unconfig
1436	@$(MKCONFIG) $(@:_config=) ppc ppc4xx luan amcc
1437
1438lwmon5_config:	unconfig
1439	@$(MKCONFIG) $(@:_config=) ppc ppc4xx lwmon5
1440
1441makalu_config:	unconfig
1442	@$(MKCONFIG) $(@:_config=) ppc ppc4xx makalu amcc
1443
1444mcu25_config:  unconfig
1445	@mkdir -p $(obj)board/netstal/common
1446	@$(MKCONFIG) $(@:_config=) ppc ppc4xx mcu25 netstal
1447
1448METROBOX_config: unconfig
1449	@$(MKCONFIG) $(@:_config=) ppc ppc4xx metrobox sandburst
1450
1451MIP405_config:	unconfig
1452	@$(MKCONFIG) $(@:_config=) ppc ppc4xx mip405 mpl
1453
1454MIP405T_config:	unconfig
1455	@mkdir -p $(obj)include
1456	@echo "#define CONFIG_MIP405T" >$(obj)include/config.h
1457	@$(XECHO) "Enable subset config for MIP405T"
1458	@$(MKCONFIG) -a MIP405 ppc ppc4xx mip405 mpl
1459
1460ML2_config:	unconfig
1461	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ml2
1462
1463ml300_config:	unconfig
1464	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ml300 xilinx
1465
1466ml507_flash_config: unconfig
1467	@mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic
1468	@mkdir -p $(obj)include $(obj)board/xilinx/ml507
1469	@echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds"\
1470		> $(obj)board/xilinx/ml507/config.tmp
1471	@echo "TEXT_BASE := 0xFE360000" \
1472		>> $(obj)board/xilinx/ml507/config.tmp
1473	@$(MKCONFIG) ml507 ppc ppc4xx ml507 xilinx
1474
1475ml507_config: unconfig
1476	@mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic
1477	@mkdir -p $(obj)include $(obj)board/xilinx/ml507
1478	@echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds"\
1479		> $(obj)board/xilinx/ml507/config.tmp
1480	@echo "TEXT_BASE := 0x04000000"  \
1481		>> $(obj)board/xilinx/ml507/config.tmp
1482	@$(MKCONFIG) ml507 ppc ppc4xx ml507 xilinx
1483
1484neo_config:	unconfig
1485	@$(MKCONFIG) $(@:_config=) ppc ppc4xx neo gdsys
1486
1487ocotea_config:	unconfig
1488	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ocotea amcc
1489
1490OCRTC_config		\
1491ORSG_config:	unconfig
1492	@$(MKCONFIG) $(@:_config=) ppc ppc4xx ocrtc esd
1493
1494p3p440_config:	unconfig
1495	@$(MKCONFIG) $(@:_config=) ppc ppc4xx p3p440 prodrive
1496
1497PCI405_config:	unconfig
1498	@$(MKCONFIG) $(@:_config=) ppc ppc4xx pci405 esd
1499
1500pcs440ep_config:	unconfig
1501	@$(MKCONFIG) $(@:_config=) ppc ppc4xx pcs440ep
1502
1503PIP405_config:	unconfig
1504	@$(MKCONFIG) $(@:_config=) ppc ppc4xx pip405 mpl
1505
1506PLU405_config:	unconfig
1507	@$(MKCONFIG) $(@:_config=) ppc ppc4xx plu405 esd
1508
1509PMC405_config:	unconfig
1510	@$(MKCONFIG) $(@:_config=) ppc ppc4xx pmc405 esd
1511
1512PMC405DE_config:	unconfig
1513	@$(MKCONFIG) $(@:_config=) ppc ppc4xx pmc405de esd
1514
1515PMC440_config:	unconfig
1516	@$(MKCONFIG) $(@:_config=) ppc ppc4xx pmc440 esd
1517
1518PPChameleonEVB_config		\
1519PPChameleonEVB_BA_25_config	\
1520PPChameleonEVB_ME_25_config	\
1521PPChameleonEVB_HI_25_config	\
1522PPChameleonEVB_BA_33_config	\
1523PPChameleonEVB_ME_33_config	\
1524PPChameleonEVB_HI_33_config:	unconfig
1525	@mkdir -p $(obj)include
1526	@[ -z "$(findstring EVB_BA,$@)" ] || \
1527		{ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>$(obj)include/config.h ; \
1528		  $(XECHO) "... BASIC model" ; \
1529		}
1530	@[ -z "$(findstring EVB_ME,$@)" ] || \
1531		{ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>$(obj)include/config.h ; \
1532		  $(XECHO) "... MEDIUM model" ; \
1533		}
1534	@[ -z "$(findstring EVB_HI,$@)" ] || \
1535		{ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>$(obj)include/config.h ; \
1536		  $(XECHO) "... HIGH-END model" ; \
1537		}
1538	@[ -z "$(findstring _25,$@)" ] || \
1539		{ echo "#define CONFIG_PPCHAMELEON_CLK_25" >>$(obj)include/config.h ; \
1540		  $(XECHO) "SysClk = 25MHz" ; \
1541		}
1542	@[ -z "$(findstring _33,$@)" ] || \
1543		{ echo "#define CONFIG_PPCHAMELEON_CLK_33" >>$(obj)include/config.h ; \
1544		  $(XECHO) "SysClk = 33MHz" ; \
1545		}
1546	@$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
1547
1548quad100hd_config:	unconfig
1549	@$(MKCONFIG) $(@:_config=) ppc ppc4xx quad100hd
1550
1551redwood_config: unconfig
1552	@$(MKCONFIG) $(@:_config=) ppc ppc4xx redwood amcc
1553
1554sbc405_config:	unconfig
1555	@$(MKCONFIG) $(@:_config=) ppc ppc4xx sbc405
1556
1557sc3_config:unconfig
1558	@$(MKCONFIG) $(@:_config=) ppc ppc4xx sc3
1559
1560sequoia_config \
1561rainier_config: unconfig
1562	@mkdir -p $(obj)include
1563	@echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \
1564		tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h
1565	@$(MKCONFIG) -n $@ -a sequoia ppc ppc4xx sequoia amcc
1566
1567sequoia_nand_config \
1568rainier_nand_config: unconfig
1569	@mkdir -p $(obj)include $(obj)board/amcc/sequoia
1570	@mkdir -p $(obj)nand_spl/board/amcc/sequoia
1571	@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
1572	@echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \
1573		tr '[:lower:]' '[:upper:]')" >> $(obj)include/config.h
1574	@$(MKCONFIG) -n $@ -a sequoia ppc ppc4xx sequoia amcc
1575	@echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp
1576	@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
1577
1578sequoia_ramboot_config \
1579rainier_ramboot_config: unconfig
1580	@mkdir -p $(obj)include $(obj)board/amcc/sequoia
1581	@echo "#define CONFIG_SYS_RAMBOOT" > $(obj)include/config.h
1582	@echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \
1583		tr '[:lower:]' '[:upper:]')" >> $(obj)include/config.h
1584	@$(MKCONFIG) -n $@ -a sequoia ppc ppc4xx sequoia amcc
1585	@echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp
1586	@echo "LDSCRIPT = board/amcc/sequoia/u-boot-ram.lds" >> \
1587		$(obj)board/amcc/sequoia/config.tmp
1588
1589taihu_config:	unconfig
1590	@$(MKCONFIG) $(@:_config=) ppc ppc4xx taihu amcc
1591
1592taishan_config:	unconfig
1593	@$(MKCONFIG) $(@:_config=) ppc ppc4xx taishan amcc
1594
1595v5fx30teval_config: unconfig
1596	@mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic
1597	@mkdir -p $(obj)include $(obj)board/avnet/v5fx30teval
1598	@echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds"\
1599		> $(obj)board/avnet/v5fx30teval/config.tmp
1600	@echo "TEXT_BASE := 0x03000000" \
1601		>> $(obj)board/avnet/v5fx30teval/config.tmp
1602	@$(MKCONFIG) v5fx30teval ppc ppc4xx v5fx30teval avnet
1603
1604v5fx30teval_flash_config: unconfig
1605	@mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic
1606	@mkdir -p $(obj)include $(obj)board/avnet/v5fx30teval
1607	@echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds"\
1608		> $(obj)board/avnet/v5fx30teval/config.tmp
1609	@echo "TEXT_BASE := 0xFF1C0000" \
1610		>> $(obj)board/avnet/v5fx30teval/config.tmp
1611	@$(MKCONFIG) v5fx30teval ppc ppc4xx v5fx30teval avnet
1612
1613VOH405_config:	unconfig
1614	@$(MKCONFIG) $(@:_config=) ppc ppc4xx voh405 esd
1615
1616VOM405_config:	unconfig
1617	@$(MKCONFIG) $(@:_config=) ppc ppc4xx vom405 esd
1618
1619W7OLMC_config	\
1620W7OLMG_config: unconfig
1621	@$(MKCONFIG) $(@:_config=) ppc ppc4xx w7o
1622
1623# Walnut & Sycamore images are identical (recognized via PVR)
1624walnut_config \
1625sycamore_config: unconfig
1626	@$(MKCONFIG) -n $@ -a walnut ppc ppc4xx walnut amcc
1627
1628WUH405_config:	unconfig
1629	@$(MKCONFIG) $(@:_config=) ppc ppc4xx wuh405 esd
1630
1631xilinx-ppc405-generic_flash_config: unconfig
1632	@mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic
1633	@echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-rom.lds"\
1634		> $(obj)board/xilinx/ppc405-generic/config.tmp
1635	@echo "TEXT_BASE := 0xFE360000" \
1636		>> $(obj)board/xilinx/ppc405-generic/config.tmp
1637	@$(MKCONFIG) xilinx-ppc405-generic ppc ppc4xx ppc405-generic xilinx
1638
1639xilinx-ppc405-generic_config: unconfig
1640	@mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic
1641	@echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-ram.lds"\
1642		> $(obj)board/xilinx/ppc405-generic/config.tmp
1643	@echo "TEXT_BASE := 0x04000000" \
1644		>> $(obj)board/xilinx/ppc405-generic/config.tmp
1645	@$(MKCONFIG) xilinx-ppc405-generic ppc ppc4xx ppc405-generic xilinx
1646
1647xilinx-ppc440-generic_flash_config: unconfig
1648	@mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic
1649	@echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds"\
1650		> $(obj)board/xilinx/ppc440-generic/config.tmp
1651	@echo "TEXT_BASE := 0xFE360000" \
1652		>> $(obj)board/xilinx/ppc440-generic/config.tmp
1653	@$(MKCONFIG) xilinx-ppc440-generic ppc ppc4xx ppc440-generic xilinx
1654
1655xilinx-ppc440-generic_config: unconfig
1656	@mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic
1657	@echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds"\
1658		> $(obj)board/xilinx/ppc440-generic/config.tmp
1659	@echo "TEXT_BASE := 0x04000000" \
1660		>> $(obj)board/xilinx/ppc440-generic/config.tmp
1661	@$(MKCONFIG) xilinx-ppc440-generic ppc ppc4xx ppc440-generic xilinx
1662
1663XPEDITE1000_config:	unconfig
1664	@$(MKCONFIG) $(@:_config=) ppc ppc4xx xpedite1000 xes
1665
1666yosemite_config \
1667yellowstone_config: unconfig
1668	@mkdir -p $(obj)include
1669	@echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \
1670		tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h
1671	@$(MKCONFIG) -n $@ -a yosemite ppc ppc4xx yosemite amcc
1672
1673yucca_config:	unconfig
1674	@$(MKCONFIG) $(@:_config=) ppc ppc4xx yucca amcc
1675
1676zeus_config:	unconfig
1677	@$(MKCONFIG) $(@:_config=) ppc ppc4xx zeus
1678
1679#########################################################################
1680## MPC8220 Systems
1681#########################################################################
1682
1683Alaska8220_config	\
1684Yukon8220_config:	unconfig
1685	@$(MKCONFIG) $(@:_config=) ppc mpc8220 alaska
1686
1687sorcery_config:		unconfig
1688	@$(MKCONFIG) $(@:_config=) ppc mpc8220 sorcery
1689
1690#########################################################################
1691## MPC824x Systems
1692#########################################################################
1693xtract_82xx = $(subst _BIGFLASH,,$(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1))))))
1694
1695A3000_config: unconfig
1696	@$(MKCONFIG) $(@:_config=) ppc mpc824x a3000
1697
1698barco_config: unconfig
1699	@$(MKCONFIG) $(@:_config=) ppc mpc824x barco
1700
1701BMW_config: unconfig
1702	@$(MKCONFIG) $(@:_config=) ppc mpc824x bmw
1703
1704CPC45_config	\
1705CPC45_ROMBOOT_config:	unconfig
1706	@$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc824x cpc45
1707	@cd $(obj)include ;				\
1708	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
1709		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
1710		$(XECHO) "... booting from 8-bit flash" ; \
1711	else \
1712		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
1713		$(XECHO) "... booting from 64-bit flash" ; \
1714	fi; \
1715	echo "export CONFIG_BOOT_ROM" >> config.mk;
1716
1717CU824_config: unconfig
1718	@$(MKCONFIG) $(@:_config=) ppc mpc824x cu824
1719
1720debris_config: unconfig
1721	@$(MKCONFIG) $(@:_config=) ppc mpc824x debris etin
1722
1723eXalion_config: unconfig
1724	@$(MKCONFIG) $(@:_config=) ppc mpc824x eXalion
1725
1726HIDDEN_DRAGON_config: unconfig
1727	@$(MKCONFIG) $(@:_config=) ppc mpc824x hidden_dragon
1728
1729kvme080_config: unconfig
1730	@$(MKCONFIG) $(@:_config=) ppc mpc824x kvme080 etin
1731
1732# HDLAN is broken ATM. Should be fixed as soon as hardware is available and as
1733# time permits.
1734#linkstation_HDLAN_config \
1735# Remove this line when HDLAN is fixed
1736linkstation_HGLAN_config: unconfig
1737	@mkdir -p $(obj)include
1738	@case $@ in \
1739		*HGLAN*) echo "#define CONFIG_HGLAN 1" >$(obj)include/config.h; ;; \
1740		*HDLAN*) echo "#define CONFIG_HLAN 1" >$(obj)include/config.h; ;; \
1741	esac
1742	@$(MKCONFIG) -n $@ -a linkstation ppc mpc824x linkstation
1743
1744MOUSSE_config: unconfig
1745	@$(MKCONFIG) $(@:_config=) ppc mpc824x mousse
1746
1747MUSENKI_config: unconfig
1748	@$(MKCONFIG) $(@:_config=) ppc mpc824x musenki
1749
1750MVBLUE_config:	unconfig
1751	@$(MKCONFIG) $(@:_config=) ppc mpc824x mvblue
1752
1753OXC_config: unconfig
1754	@$(MKCONFIG) $(@:_config=) ppc mpc824x oxc
1755
1756PN62_config: unconfig
1757	@$(MKCONFIG) $(@:_config=) ppc mpc824x pn62
1758
1759Sandpoint8240_config: unconfig
1760	@$(MKCONFIG) $(@:_config=) ppc mpc824x sandpoint
1761
1762Sandpoint8245_config: unconfig
1763	@$(MKCONFIG) $(@:_config=) ppc mpc824x sandpoint
1764
1765sbc8240_config: unconfig
1766	@$(MKCONFIG) $(@:_config=) ppc mpc824x sbc8240
1767
1768SL8245_config: unconfig
1769	@$(MKCONFIG) $(@:_config=) ppc mpc824x sl8245
1770
1771utx8245_config: unconfig
1772	@$(MKCONFIG) $(@:_config=) ppc mpc824x utx8245
1773
1774#########################################################################
1775## MPC8260 Systems
1776#########################################################################
1777
1778atc_config:	unconfig
1779	@$(MKCONFIG) $(@:_config=) ppc mpc8260 atc
1780
1781cogent_mpc8260_config:	unconfig
1782	@$(MKCONFIG) $(@:_config=) ppc mpc8260 cogent
1783
1784CPU86_config	\
1785CPU86_ROMBOOT_config: unconfig
1786	@$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc8260 cpu86
1787	@cd $(obj)include ;				\
1788	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
1789		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
1790		$(XECHO) "... booting from 8-bit flash" ; \
1791	else \
1792		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
1793		$(XECHO) "... booting from 64-bit flash" ; \
1794	fi; \
1795	echo "export CONFIG_BOOT_ROM" >> config.mk;
1796
1797CPU87_config	\
1798CPU87_ROMBOOT_config: unconfig
1799	@$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc8260 cpu87
1800	@cd $(obj)include ;				\
1801	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
1802		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
1803		$(XECHO) "... booting from 8-bit flash" ; \
1804	else \
1805		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
1806		$(XECHO) "... booting from 64-bit flash" ; \
1807	fi; \
1808	echo "export CONFIG_BOOT_ROM" >> config.mk;
1809
1810ep8248_config	\
1811ep8248E_config	:	unconfig
1812	@$(MKCONFIG) ep8248 ppc mpc8260 ep8248
1813
1814ep8260_config:	unconfig
1815	@$(MKCONFIG) $(@:_config=) ppc mpc8260 ep8260
1816
1817ep82xxm_config:	unconfig
1818	@$(MKCONFIG) $(@:_config=) ppc mpc8260 ep82xxm
1819
1820gw8260_config:	unconfig
1821	@$(MKCONFIG) $(@:_config=) ppc mpc8260 gw8260
1822
1823hymod_config:	unconfig
1824	@$(MKCONFIG) $(@:_config=) ppc mpc8260 hymod
1825
1826IDS8247_config:	unconfig
1827	@$(MKCONFIG) $(@:_config=) ppc mpc8260 ids8247
1828
1829IPHASE4539_config:	unconfig
1830	@$(MKCONFIG) $(@:_config=) ppc mpc8260 iphase4539
1831
1832ISPAN_config		\
1833ISPAN_REVB_config:	unconfig
1834	@mkdir -p $(obj)include
1835	@if [ "$(findstring _REVB_,$@)" ] ; then \
1836		echo "#define CONFIG_SYS_REV_B" > $(obj)include/config.h ; \
1837	fi
1838	@$(MKCONFIG) -a ISPAN ppc mpc8260 ispan
1839
1840mgcoge_config	:	unconfig
1841	@$(MKCONFIG) mgcoge ppc mpc8260 mgcoge keymile
1842
1843MPC8260ADS_config	\
1844MPC8260ADS_lowboot_config	\
1845MPC8260ADS_33MHz_config	\
1846MPC8260ADS_33MHz_lowboot_config	\
1847MPC8260ADS_40MHz_config	\
1848MPC8260ADS_40MHz_lowboot_config	\
1849MPC8272ADS_config	\
1850MPC8272ADS_lowboot_config	\
1851PQ2FADS_config		\
1852PQ2FADS_lowboot_config		\
1853PQ2FADS-VR_config	\
1854PQ2FADS-VR_lowboot_config	\
1855PQ2FADS-ZU_config	\
1856PQ2FADS-ZU_lowboot_config	\
1857PQ2FADS-ZU_66MHz_config	\
1858PQ2FADS-ZU_66MHz_lowboot_config	\
1859	:		unconfig
1860	@mkdir -p $(obj)include
1861	@mkdir -p $(obj)board/freescale/mpc8260ads
1862	$(if $(findstring PQ2FADS,$@), \
1863	@echo "#define CONFIG_ADSTYPE CONFIG_SYS_PQ2FADS" > $(obj)include/config.h, \
1864	@echo "#define CONFIG_ADSTYPE CONFIG_SYS_"$(subst MPC,,$(word 1,$(subst _, ,$@))) > $(obj)include/config.h)
1865	$(if $(findstring MHz,$@), \
1866	@echo "#define CONFIG_8260_CLKIN" $(subst MHz,,$(word 2,$(subst _, ,$@)))"000000" >> $(obj)include/config.h, \
1867	$(if $(findstring VR,$@), \
1868	@echo "#define CONFIG_8260_CLKIN 66000000" >> $(obj)include/config.h))
1869	@[ -z "$(findstring lowboot_,$@)" ] || \
1870		{ echo "TEXT_BASE = 0xFF800000" >$(obj)board/freescale/mpc8260ads/config.tmp ; \
1871		  $(XECHO) "... with lowboot configuration" ; \
1872		}
1873	@$(MKCONFIG) -a MPC8260ADS ppc mpc8260 mpc8260ads freescale
1874
1875MPC8266ADS_config:	unconfig
1876	@$(MKCONFIG) $(@:_config=) ppc mpc8260 mpc8266ads freescale
1877
1878muas3001_dev_config \
1879muas3001_config	:	unconfig
1880	@mkdir -p $(obj)include
1881	@mkdir -p $(obj)board/muas3001
1882	@if [ "$(findstring dev,$@)" ] ; then \
1883		echo "#define CONFIG_MUAS_DEV_BOARD" > $(obj)include/config.h ; \
1884	fi
1885	@$(MKCONFIG) -a muas3001 ppc mpc8260 muas3001
1886
1887# PM825/PM826 default configuration:  small (= 8 MB) Flash / boot from 64-bit flash
1888PM825_config	\
1889PM825_ROMBOOT_config	\
1890PM825_BIGFLASH_config	\
1891PM825_ROMBOOT_BIGFLASH_config	\
1892PM826_config	\
1893PM826_ROMBOOT_config	\
1894PM826_BIGFLASH_config	\
1895PM826_ROMBOOT_BIGFLASH_config:	unconfig
1896	@mkdir -p $(obj)include
1897	@mkdir -p $(obj)board/pm826
1898	@if [ "$(findstring PM825_,$@)" ] ; then \
1899		echo "#define CONFIG_PCI"	>$(obj)include/config.h ; \
1900	else \
1901		>$(obj)include/config.h ; \
1902	fi
1903	@if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
1904		$(XECHO) "... booting from 8-bit flash" ; \
1905		echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \
1906		echo "TEXT_BASE = 0xFF800000" >$(obj)board/pm826/config.tmp ; \
1907		if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
1908			$(XECHO) "... with 32 MB Flash" ; \
1909			echo "#define CONFIG_FLASH_32MB" >>$(obj)include/config.h ; \
1910		fi; \
1911	else \
1912		$(XECHO) "... booting from 64-bit flash" ; \
1913		if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
1914			$(XECHO) "... with 32 MB Flash" ; \
1915			echo "#define CONFIG_FLASH_32MB" >>$(obj)include/config.h ; \
1916			echo "TEXT_BASE = 0x40000000" >$(obj)board/pm826/config.tmp ; \
1917		else \
1918			echo "TEXT_BASE = 0xFF000000" >$(obj)board/pm826/config.tmp ; \
1919		fi; \
1920	fi
1921	@$(MKCONFIG) -a PM826 ppc mpc8260 pm826
1922
1923PM828_config	\
1924PM828_PCI_config	\
1925PM828_ROMBOOT_config	\
1926PM828_ROMBOOT_PCI_config:	unconfig
1927	@mkdir -p $(obj)include
1928	@mkdir -p $(obj)board/pm826
1929	@if [ "$(findstring _PCI_,$@)" ] ; then \
1930		echo "#define CONFIG_PCI"  >>$(obj)include/config.h ; \
1931		$(XECHO) "... with PCI enabled" ; \
1932	fi
1933	@if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
1934		$(XECHO) "... booting from 8-bit flash" ; \
1935		echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \
1936		echo "TEXT_BASE = 0xFF800000" >$(obj)board/pm826/config.tmp ; \
1937	fi
1938	@$(MKCONFIG) -a PM828 ppc mpc8260 pm828
1939
1940ppmc8260_config:	unconfig
1941	@$(MKCONFIG) $(@:_config=) ppc mpc8260 ppmc8260
1942
1943Rattler8248_config	\
1944Rattler_config:		unconfig
1945	@mkdir -p $(obj)include
1946	$(if $(findstring 8248,$@), \
1947	@echo "#define CONFIG_MPC8248" > $(obj)include/config.h)
1948	@$(MKCONFIG) -a Rattler ppc mpc8260 rattler
1949
1950RPXsuper_config:	unconfig
1951	@$(MKCONFIG) $(@:_config=) ppc mpc8260 rpxsuper
1952
1953rsdproto_config:	unconfig
1954	@$(MKCONFIG) $(@:_config=) ppc mpc8260 rsdproto
1955
1956sacsng_config:	unconfig
1957	@$(MKCONFIG) $(@:_config=) ppc mpc8260 sacsng
1958
1959sbc8260_config:	unconfig
1960	@$(MKCONFIG) $(@:_config=) ppc mpc8260 sbc8260
1961
1962SCM_config:		unconfig
1963	@$(MKCONFIG) $(@:_config=) ppc mpc8260 SCM siemens
1964
1965TQM8255_AA_config \
1966TQM8260_AA_config \
1967TQM8260_AB_config \
1968TQM8260_AC_config \
1969TQM8260_AD_config \
1970TQM8260_AE_config \
1971TQM8260_AF_config \
1972TQM8260_AG_config \
1973TQM8260_AH_config \
1974TQM8260_AI_config \
1975TQM8265_AA_config:  unconfig
1976	@mkdir -p $(obj)include
1977	@case "$@" in \
1978	TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no;	BMODE=8260;;  \
1979	TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no;	BMODE=8260;; \
1980	TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes;	BMODE=60x;;  \
1981	TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes;	BMODE=60x;;  \
1982	TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;	BMODE=60x;;  \
1983	TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no;	BMODE=8260;; \
1984	TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;	BMODE=60x;;  \
1985	TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;	BMODE=8260;; \
1986	TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes;	BMODE=60x;;  \
1987	TQM8260_AI_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;	BMODE=60x;;  \
1988	TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no;	BMODE=60x;;  \
1989	esac; \
1990	if [ "$${CTYPE}" != "MPC8260" ] ; then \
1991		echo "#define CONFIG_$${CTYPE}"	>>$(obj)include/config.h ; \
1992	fi; \
1993	echo "#define CONFIG_$${CFREQ}MHz"	>>$(obj)include/config.h ; \
1994	echo "... with $${CFREQ}MHz system clock" ; \
1995	if [ "$${CACHE}" = "yes" ] ; then \
1996		echo "#define CONFIG_L2_CACHE"	>>$(obj)include/config.h ; \
1997		$(XECHO) "... with L2 Cache support" ; \
1998	else \
1999		echo "#undef CONFIG_L2_CACHE"	>>$(obj)include/config.h ; \
2000		$(XECHO) "... without L2 Cache support" ; \
2001	fi; \
2002	if [ "$${BMODE}" = "60x" ] ; then \
2003		echo "#define CONFIG_BUSMODE_60x" >>$(obj)include/config.h ; \
2004		$(XECHO) "... with 60x Bus Mode" ; \
2005	else \
2006		echo "#undef CONFIG_BUSMODE_60x"  >>$(obj)include/config.h ; \
2007		$(XECHO) "... without 60x Bus Mode" ; \
2008	fi
2009	@$(MKCONFIG) -a TQM8260 ppc mpc8260 tqm8260 tqc
2010
2011TQM8272_config: unconfig
2012	@$(MKCONFIG) TQM8272 ppc mpc8260 tqm8272 tqc
2013
2014VoVPN-GW_66MHz_config	\
2015VoVPN-GW_100MHz_config:		unconfig
2016	@mkdir -p $(obj)include
2017	@echo "#define CONFIG_CLKIN_$(word 2,$(subst _, ,$@))" > $(obj)include/config.h
2018	@$(MKCONFIG) -a VoVPN-GW ppc mpc8260 vovpn-gw funkwerk
2019
2020ZPC1900_config: unconfig
2021	@$(MKCONFIG) $(@:_config=) ppc mpc8260 zpc1900
2022
2023#########################################################################
2024## Coldfire
2025#########################################################################
2026
2027M5208EVBE_config :		unconfig
2028	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5208evbe freescale
2029
2030M52277EVB_config \
2031M52277EVB_spansion_config \
2032M52277EVB_stmicro_config :	unconfig
2033	@case "$@" in \
2034	M52277EVB_config)		FLASH=SPANSION;; \
2035	M52277EVB_spansion_config)	FLASH=SPANSION;; \
2036	M52277EVB_stmicro_config)	FLASH=STMICRO;; \
2037	esac; \
2038	if [ "$${FLASH}" = "SPANSION" ] ; then \
2039		echo "#define CONFIG_SYS_SPANSION_BOOT"	>> $(obj)include/config.h ; \
2040		echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m52277evb/config.tmp ; \
2041		cp $(obj)board/freescale/m52277evb/u-boot.spa $(obj)board/freescale/m52277evb/u-boot.lds ; \
2042		$(XECHO) "... with SPANSION boot..." ; \
2043	fi; \
2044	if [ "$${FLASH}" = "STMICRO" ] ; then \
2045		echo "#define CONFIG_CF_SBF"	>> $(obj)include/config.h ; \
2046		echo "#define CONFIG_SYS_STMICRO_BOOT"	>> $(obj)include/config.h ; \
2047		echo "TEXT_BASE = 0x43E00000" > $(obj)board/freescale/m52277evb/config.tmp ; \
2048		cp $(obj)board/freescale/m52277evb/u-boot.stm $(obj)board/freescale/m52277evb/u-boot.lds ; \
2049		$(XECHO) "... with ST Micro boot..." ; \
2050	fi
2051	@$(MKCONFIG) -a M52277EVB m68k mcf5227x m52277evb freescale
2052
2053M5235EVB_config \
2054M5235EVB_Flash16_config \
2055M5235EVB_Flash32_config:	unconfig
2056	@case "$@" in \
2057	M5235EVB_config)		FLASH=16;; \
2058	M5235EVB_Flash16_config)	FLASH=16;; \
2059	M5235EVB_Flash32_config)	FLASH=32;; \
2060	esac; \
2061	if [ "$${FLASH}" != "16" ] ; then \
2062		echo "#define NORFLASH_PS32BIT	1" >> $(obj)include/config.h ; \
2063		echo "TEXT_BASE = 0xFFC00000" > $(obj)board/freescale/m5235evb/config.tmp ; \
2064		cp $(obj)board/freescale/m5235evb/u-boot.32 $(obj)board/freescale/m5235evb/u-boot.lds ; \
2065	else \
2066		echo "TEXT_BASE = 0xFFE00000" > $(obj)board/freescale/m5235evb/config.tmp ; \
2067		cp $(obj)board/freescale/m5235evb/u-boot.16 $(obj)board/freescale/m5235evb/u-boot.lds ; \
2068	fi
2069	@$(MKCONFIG) -a M5235EVB m68k mcf523x m5235evb freescale
2070
2071M5249EVB_config :		unconfig
2072	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5249evb freescale
2073
2074M5253DEMO_config :		unconfig
2075	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5253demo freescale
2076
2077M5253EVBE_config :		unconfig
2078	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5253evbe freescale
2079
2080cobra5272_config :		unconfig
2081	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 cobra5272
2082
2083EB+MCF-EV123_config :		unconfig
2084	@mkdir -p $(obj)include
2085	@mkdir -p $(obj)board/BuS/EB+MCF-EV123
2086	@echo "TEXT_BASE = 0xFFE00000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk
2087	@$(MKCONFIG) EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS
2088
2089EB+MCF-EV123_internal_config :	unconfig
2090	@mkdir -p $(obj)include
2091	@mkdir -p $(obj)board/BuS/EB+MCF-EV123
2092	@echo "TEXT_BASE = 0xF0000000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk
2093	@$(MKCONFIG) EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS
2094
2095idmr_config :			unconfig
2096	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 idmr
2097
2098M5271EVB_config :		unconfig
2099	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5271evb freescale
2100
2101M5272C3_config :		unconfig
2102	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5272c3 freescale
2103
2104M5275EVB_config :		unconfig
2105	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5275evb freescale
2106
2107M5282EVB_config :		unconfig
2108	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5282evb freescale
2109
2110M53017EVB_config :		unconfig
2111	@$(MKCONFIG) $(@:_config=) m68k mcf532x m53017evb freescale
2112
2113M5329AFEE_config \
2114M5329BFEE_config :	unconfig
2115	@case "$@" in \
2116	M5329AFEE_config)	NAND=0;; \
2117	M5329BFEE_config)	NAND=16;; \
2118	esac; \
2119	if [ "$${NAND}" != "0" ] ; then \
2120		echo "#define NANDFLASH_SIZE	$${NAND}" > $(obj)include/config.h ; \
2121	fi
2122	@$(MKCONFIG) -a M5329EVB m68k mcf532x m5329evb freescale
2123
2124M5373EVB_config :	unconfig
2125	@case "$@" in \
2126	M5373EVB_config)	NAND=16;; \
2127	esac; \
2128	if [ "$${NAND}" != "0" ] ; then \
2129		echo "#define NANDFLASH_SIZE	$${NAND}" > $(obj)include/config.h ; \
2130	fi
2131	@$(MKCONFIG) -a M5373EVB m68k mcf532x m5373evb freescale
2132
2133M54451EVB_config \
2134M54451EVB_stmicro_config :	unconfig
2135	@case "$@" in \
2136	M54451EVB_config)		FLASH=NOR;; \
2137	M54451EVB_stmicro_config)	FLASH=STMICRO;; \
2138	esac; \
2139	if [ "$${FLASH}" = "NOR" ] ; then \
2140		echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54451evb/config.tmp ; \
2141		cp $(obj)board/freescale/m54451evb/u-boot.spa $(obj)board/freescale/m54451evb/u-boot.lds ; \
2142		$(XECHO) "... with NOR boot..." ; \
2143	fi; \
2144	if [ "$${FLASH}" = "STMICRO" ] ; then \
2145		echo "#define CONFIG_CF_SBF"	>> $(obj)include/config.h ; \
2146		echo "#define CONFIG_SYS_STMICRO_BOOT"	>> $(obj)include/config.h ; \
2147		echo "TEXT_BASE = 0x47E00000" > $(obj)board/freescale/m54451evb/config.tmp ; \
2148		cp $(obj)board/freescale/m54451evb/u-boot.stm $(obj)board/freescale/m54451evb/u-boot.lds ; \
2149		$(XECHO) "... with ST Micro boot..." ; \
2150	fi; \
2151	echo "#define CONFIG_SYS_INPUT_CLKSRC 24000000" >> $(obj)include/config.h ;
2152	@$(MKCONFIG) -a M54451EVB m68k mcf5445x m54451evb freescale
2153
2154M54455EVB_config \
2155M54455EVB_atmel_config \
2156M54455EVB_intel_config \
2157M54455EVB_a33_config \
2158M54455EVB_a66_config \
2159M54455EVB_i33_config \
2160M54455EVB_i66_config \
2161M54455EVB_stm33_config :	unconfig
2162	@case "$@" in \
2163	M54455EVB_config)		FLASH=ATMEL; FREQ=33333333;; \
2164	M54455EVB_atmel_config)		FLASH=ATMEL; FREQ=33333333;; \
2165	M54455EVB_intel_config)		FLASH=INTEL; FREQ=33333333;; \
2166	M54455EVB_a33_config)		FLASH=ATMEL; FREQ=33333333;; \
2167	M54455EVB_a66_config)		FLASH=ATMEL; FREQ=66666666;; \
2168	M54455EVB_i33_config)		FLASH=INTEL; FREQ=33333333;; \
2169	M54455EVB_i66_config)		FLASH=INTEL; FREQ=66666666;; \
2170	M54455EVB_stm33_config)		FLASH=STMICRO; FREQ=33333333;; \
2171	esac; \
2172	if [ "$${FLASH}" = "INTEL" ] ; then \
2173		echo "#define CONFIG_SYS_INTEL_BOOT" >> $(obj)include/config.h ; \
2174		echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54455evb/config.tmp ; \
2175		cp $(obj)board/freescale/m54455evb/u-boot.int $(obj)board/freescale/m54455evb/u-boot.lds ; \
2176		$(XECHO) "... with INTEL boot..." ; \
2177	fi; \
2178	if [ "$${FLASH}" = "ATMEL" ] ; then \
2179		echo "#define CONFIG_SYS_ATMEL_BOOT"	>> $(obj)include/config.h ; \
2180		echo "TEXT_BASE = 0x04000000" > $(obj)board/freescale/m54455evb/config.tmp ; \
2181		cp $(obj)board/freescale/m54455evb/u-boot.atm $(obj)board/freescale/m54455evb/u-boot.lds ; \
2182		$(XECHO) "... with ATMEL boot..." ; \
2183	fi; \
2184	if [ "$${FLASH}" = "STMICRO" ] ; then \
2185		echo "#define CONFIG_CF_SBF"	>> $(obj)include/config.h ; \
2186		echo "#define CONFIG_SYS_STMICRO_BOOT"	>> $(obj)include/config.h ; \
2187		echo "TEXT_BASE = 0x4FE00000" > $(obj)board/freescale/m54455evb/config.tmp ; \
2188		cp $(obj)board/freescale/m54455evb/u-boot.stm $(obj)board/freescale/m54455evb/u-boot.lds ; \
2189		$(XECHO) "... with ST Micro boot..." ; \
2190	fi; \
2191	echo "#define CONFIG_SYS_INPUT_CLKSRC $${FREQ}" >> $(obj)include/config.h ; \
2192	$(XECHO) "... with $${FREQ}Hz input clock"
2193	@$(MKCONFIG) -a M54455EVB m68k mcf5445x m54455evb freescale
2194
2195M5475AFE_config \
2196M5475BFE_config \
2197M5475CFE_config \
2198M5475DFE_config \
2199M5475EFE_config \
2200M5475FFE_config \
2201M5475GFE_config :	unconfig
2202	@case "$@" in \
2203	M5475AFE_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \
2204	M5475BFE_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \
2205	M5475CFE_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \
2206	M5475DFE_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \
2207	M5475EFE_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \
2208	M5475FFE_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \
2209	M5475GFE_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \
2210	esac; \
2211	echo "#define CONFIG_SYS_BUSCLK	133333333" > $(obj)include/config.h ; \
2212	echo "#define CONFIG_SYS_BOOTSZ	$${BOOT}" >> $(obj)include/config.h ; \
2213	echo "#define CONFIG_SYS_DRAMSZ	$${RAM}" >> $(obj)include/config.h ; \
2214	if [ "$${RAM1}" != "0" ] ; then \
2215		echo "#define CONFIG_SYS_DRAMSZ1	$${RAM1}" >> $(obj)include/config.h ; \
2216	fi; \
2217	if [ "$${CODE}" != "0" ] ; then \
2218		echo "#define CONFIG_SYS_NOR1SZ	$${CODE}" >> $(obj)include/config.h ; \
2219	fi; \
2220	if [ "$${VID}" == "1" ] ; then \
2221		echo "#define CONFIG_SYS_VIDEO" >> $(obj)include/config.h ; \
2222	fi; \
2223	if [ "$${USB}" == "1" ] ; then \
2224		echo "#define CONFIG_SYS_USBCTRL" >> $(obj)include/config.h ; \
2225	fi
2226	@$(MKCONFIG) -a M5475EVB m68k mcf547x_8x m547xevb freescale
2227
2228M5485AFE_config \
2229M5485BFE_config \
2230M5485CFE_config \
2231M5485DFE_config \
2232M5485EFE_config \
2233M5485FFE_config \
2234M5485GFE_config \
2235M5485HFE_config :	unconfig
2236	@case "$@" in \
2237	M5485AFE_config)	BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \
2238	M5485BFE_config)	BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \
2239	M5485CFE_config)	BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \
2240	M5485DFE_config)	BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \
2241	M5485EFE_config)	BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \
2242	M5485FFE_config)	BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \
2243	M5485GFE_config)	BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \
2244	M5485HFE_config)	BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \
2245	esac; \
2246	echo "#define CONFIG_SYS_BUSCLK	100000000" > $(obj)include/config.h ; \
2247	echo "#define CONFIG_SYS_BOOTSZ	$${BOOT}" >> $(obj)include/config.h ; \
2248	echo "#define CONFIG_SYS_DRAMSZ	$${RAM}" >> $(obj)include/config.h ; \
2249	if [ "$${RAM1}" != "0" ] ; then \
2250		echo "#define CONFIG_SYS_DRAMSZ1	$${RAM1}" >> $(obj)include/config.h ; \
2251	fi; \
2252	if [ "$${CODE}" != "0" ] ; then \
2253		echo "#define CONFIG_SYS_NOR1SZ	$${CODE}" >> $(obj)include/config.h ; \
2254	fi; \
2255	if [ "$${VID}" == "1" ] ; then \
2256		echo "#define CONFIG_SYS_VIDEO" >> $(obj)include/config.h ; \
2257	fi; \
2258	if [ "$${USB}" == "1" ] ; then \
2259		echo "#define CONFIG_SYS_USBCTRL" >> $(obj)include/config.h ; \
2260	fi
2261	@$(MKCONFIG) -a M5485EVB m68k mcf547x_8x m548xevb freescale
2262
2263TASREG_config :		unconfig
2264	@$(MKCONFIG) $(@:_config=) m68k mcf52x2 tasreg esd
2265
2266#########################################################################
2267## MPC83xx Systems
2268#########################################################################
2269
2270kmeter1_config: unconfig
2271	@$(MKCONFIG) kmeter1 ppc mpc83xx kmeter1 keymile
2272
2273MPC8313ERDB_33_config \
2274MPC8313ERDB_66_config \
2275MPC8313ERDB_NAND_33_config \
2276MPC8313ERDB_NAND_66_config: unconfig
2277	@mkdir -p $(obj)include
2278	@mkdir -p $(obj)board/freescale/mpc8313erdb
2279	@if [ "$(findstring _33_,$@)" ] ; then \
2280		$(XECHO) -n "...33M ..." ; \
2281		echo "#define CONFIG_SYS_33MHZ" >>$(obj)include/config.h ; \
2282	fi ; \
2283	if [ "$(findstring _66_,$@)" ] ; then \
2284		$(XECHO) -n "...66M..." ; \
2285		echo "#define CONFIG_SYS_66MHZ" >>$(obj)include/config.h ; \
2286	fi ; \
2287	if [ "$(findstring _NAND_,$@)" ] ; then \
2288		$(XECHO) -n "...NAND..." ; \
2289		echo "TEXT_BASE = 0x00100000" > $(obj)board/freescale/mpc8313erdb/config.tmp ; \
2290		echo "#define CONFIG_NAND_U_BOOT" >>$(obj)include/config.h ; \
2291	fi ;
2292	@$(MKCONFIG) -a MPC8313ERDB ppc mpc83xx mpc8313erdb freescale
2293	@if [ "$(findstring _NAND_,$@)" ] ; then \
2294		echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk ; \
2295	fi ;
2296
2297MPC8315ERDB_config: unconfig
2298	@$(MKCONFIG) -a MPC8315ERDB ppc mpc83xx mpc8315erdb freescale
2299
2300MPC8323ERDB_config:	unconfig
2301	@$(MKCONFIG) -a MPC8323ERDB ppc mpc83xx mpc8323erdb freescale
2302
2303MPC832XEMDS_config \
2304MPC832XEMDS_HOST_33_config \
2305MPC832XEMDS_HOST_66_config \
2306MPC832XEMDS_SLAVE_config \
2307MPC832XEMDS_ATM_config:	unconfig
2308	@mkdir -p $(obj)include
2309	@if [ "$(findstring _HOST_,$@)" ] ; then \
2310		$(XECHO) -n "... PCI HOST " ; \
2311		echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \
2312	fi ; \
2313	if [ "$(findstring _SLAVE_,$@)" ] ; then \
2314		$(XECHO) "...PCI SLAVE 66M"  ; \
2315		echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \
2316		echo "#define CONFIG_PCISLAVE" >>$(obj)include/config.h ; \
2317	fi ; \
2318	if [ "$(findstring _33_,$@)" ] ; then \
2319		$(XECHO) -n "...33M ..." ; \
2320		echo "#define PCI_33M" >>$(obj)include/config.h ; \
2321		echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
2322	fi ; \
2323	if [ "$(findstring _66_,$@)" ] ; then \
2324		$(XECHO) -n "...66M..." ; \
2325		echo "#define PCI_66M" >>$(obj)include/config.h ; \
2326		echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
2327	fi ; \
2328	if [ "$(findstring _ATM_,$@)" ] ; then \
2329		$(XECHO) -n "...ATM..." ; \
2330		echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
2331		echo "#define CONFIG_PQ_MDS_PIB_ATM	1" >>$(obj)include/config.h ; \
2332	fi ;
2333	@$(MKCONFIG) -a MPC832XEMDS ppc mpc83xx mpc832xemds freescale
2334
2335MPC8349EMDS_config:	unconfig
2336	@$(MKCONFIG) $(@:_config=) ppc mpc83xx mpc8349emds freescale
2337
2338MPC8349ITX_config \
2339MPC8349ITX_LOWBOOT_config \
2340MPC8349ITXGP_config:	unconfig
2341	@mkdir -p $(obj)include
2342	@mkdir -p $(obj)board/freescale/mpc8349itx
2343	@echo "#define CONFIG_$(subst _LOWBOOT,,$(@:_config=))" >> $(obj)include/config.h
2344	@if [ "$(findstring GP,$@)" ] ; then \
2345		echo "TEXT_BASE = 0xFE000000" >$(obj)board/freescale/mpc8349itx/config.tmp ; \
2346	fi
2347	@if [ "$(findstring LOWBOOT,$@)" ] ; then \
2348		echo "TEXT_BASE = 0xFE000000" >$(obj)board/freescale/mpc8349itx/config.tmp ; \
2349	fi
2350	@$(MKCONFIG) -a -n $(@:_config=) MPC8349ITX ppc mpc83xx mpc8349itx freescale
2351
2352MPC8360EMDS_config \
2353MPC8360EMDS_HOST_33_config \
2354MPC8360EMDS_HOST_66_config \
2355MPC8360EMDS_SLAVE_config \
2356MPC8360EMDS_ATM_config: unconfig
2357	@mkdir -p $(obj)include
2358	@if [ "$(findstring _HOST_,$@)" ] ; then \
2359		$(XECHO) -n "... PCI HOST " ; \
2360		echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \
2361	fi ; \
2362	if [ "$(findstring _SLAVE_,$@)" ] ; then \
2363		$(XECHO) "...PCI SLAVE 66M"  ; \
2364		echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \
2365		echo "#define CONFIG_PCISLAVE" >>$(obj)include/config.h ; \
2366	fi ; \
2367	if [ "$(findstring _33_,$@)" ] ; then \
2368		$(XECHO) -n "...33M ..." ; \
2369		echo "#define PCI_33M" >>$(obj)include/config.h ; \
2370		echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
2371	fi ; \
2372	if [ "$(findstring _66_,$@)" ] ; then \
2373		$(XECHO) -n "...66M..." ; \
2374		echo "#define PCI_66M" >>$(obj)include/config.h ; \
2375		echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
2376	fi ; \
2377	if [ "$(findstring _ATM_,$@)" ] ; then \
2378		$(XECHO) -n "...ATM..." ; \
2379		echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
2380		echo "#define CONFIG_PQ_MDS_PIB_ATM	1" >>$(obj)include/config.h ; \
2381	fi ;
2382	@$(MKCONFIG) -a MPC8360EMDS ppc mpc83xx mpc8360emds freescale
2383
2384MPC8360ERDK_33_config \
2385MPC8360ERDK_66_config \
2386MPC8360ERDK_config:	unconfig
2387	@mkdir -p $(obj)include
2388	@if [ "$(findstring _33_,$@)" ] ; then \
2389		$(XECHO) -n "... CLKIN 33MHz " ; \
2390		echo "#define CONFIG_CLKIN_33MHZ" >>$(obj)include/config.h ;\
2391	fi ;
2392	@$(MKCONFIG) -a MPC8360ERDK ppc mpc83xx mpc8360erdk freescale
2393
2394MPC837XEMDS_config \
2395MPC837XEMDS_HOST_config:	unconfig
2396	@mkdir -p $(obj)include
2397	@if [ "$(findstring _HOST_,$@)" ] ; then \
2398		$(XECHO) -n "... PCI HOST " ; \
2399		echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \
2400	fi ;
2401	@$(MKCONFIG) -a MPC837XEMDS ppc mpc83xx mpc837xemds freescale
2402
2403MPC837XERDB_config:	unconfig
2404	@$(MKCONFIG) -a MPC837XERDB ppc mpc83xx mpc837xerdb freescale
2405
2406MVBLM7_config: unconfig
2407	@$(MKCONFIG) $(@:_config=) ppc mpc83xx mvblm7 matrix_vision
2408
2409sbc8349_config \
2410sbc8349_PCI_33_config \
2411sbc8349_PCI_66_config: unconfig
2412	@$(MKCONFIG) -t $(@:_config=) sbc8349 ppc mpc83xx sbc8349
2413
2414SIMPC8313_LP_config \
2415SIMPC8313_SP_config: unconfig
2416	@mkdir -p $(obj)include
2417	@mkdir -p $(obj)board/sheldon/simpc8313
2418	@if [ "$(findstring _LP_,$@)" ] ; then \
2419		$(XECHO) -n "...Large Page NAND..." ; \
2420		echo "#define CONFIG_NAND_LP" >> $(obj)include/config.h ; \
2421	fi ; \
2422	if [ "$(findstring _SP_,$@)" ] ; then \
2423		$(XECHO) -n "...Small Page NAND..." ; \
2424		echo "#define CONFIG_NAND_SP" >> $(obj)include/config.h ; \
2425	fi ;
2426	@$(MKCONFIG) -a SIMPC8313 ppc mpc83xx simpc8313 sheldon
2427	@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
2428
2429TQM834x_config:	unconfig
2430	@$(MKCONFIG) $(@:_config=) ppc mpc83xx tqm834x tqc
2431
2432vme8349_config:		unconfig
2433	@$(MKCONFIG) $(@:_config=) ppc mpc83xx vme8349 esd
2434
2435#########################################################################
2436## MPC85xx Systems
2437#########################################################################
2438
2439ATUM8548_config:	unconfig
2440	@$(MKCONFIG) $(@:_config=) ppc mpc85xx atum8548
2441
2442MPC8536DS_NAND_config \
2443MPC8536DS_SDCARD_config \
2444MPC8536DS_SPIFLASH_config \
2445MPC8536DS_36BIT_config \
2446MPC8536DS_config:       unconfig
2447	@$(MKCONFIG) -t $(@:_config=) MPC8536DS ppc mpc85xx mpc8536ds freescale
2448
2449MPC8540ADS_config:	unconfig
2450	@$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8540ads freescale
2451
2452MPC8540EVAL_config \
2453MPC8540EVAL_33_config \
2454MPC8540EVAL_66_config \
2455MPC8540EVAL_33_slave_config \
2456MPC8540EVAL_66_slave_config:	  unconfig
2457	@mkdir -p $(obj)include
2458	@if [ "$(findstring _33_,$@)" ] ; then \
2459		$(XECHO) "... 33 MHz PCI" ; \
2460	else \
2461		echo "#define CONFIG_SYSCLK_66M" >>$(obj)include/config.h ; \
2462		$(XECHO) "... 66 MHz PCI" ; \
2463	fi ; \
2464	if [ "$(findstring _slave_,$@)" ] ; then \
2465		echo "#define CONFIG_PCI_SLAVE" >>$(obj)include/config.h ; \
2466		$(XECHO) " slave" ; \
2467	else \
2468		$(XECHO) " host" ; \
2469	fi
2470	@$(MKCONFIG) -a MPC8540EVAL ppc mpc85xx mpc8540eval
2471
2472MPC8560ADS_config:	unconfig
2473	@$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8560ads freescale
2474
2475MPC8541CDS_legacy_config \
2476MPC8541CDS_config:	unconfig
2477	@mkdir -p $(obj)include
2478	@if [ "$(findstring _legacy_,$@)" ] ; then \
2479		echo "#define CONFIG_LEGACY" >>$(obj)include/config.h ; \
2480		$(XECHO) "... legacy" ; \
2481	fi
2482	@$(MKCONFIG) -a MPC8541CDS ppc mpc85xx mpc8541cds freescale
2483
2484MPC8544DS_config:	unconfig
2485	@$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8544ds freescale
2486
2487MPC8548CDS_legacy_config \
2488MPC8548CDS_config:	unconfig
2489	@mkdir -p $(obj)include
2490	@if [ "$(findstring _legacy_,$@)" ] ; then \
2491		echo "#define CONFIG_LEGACY" >>$(obj)include/config.h ; \
2492		$(XECHO) "... legacy" ; \
2493	fi
2494	@$(MKCONFIG) -a MPC8548CDS ppc mpc85xx mpc8548cds freescale
2495
2496MPC8555CDS_legacy_config \
2497MPC8555CDS_config:	unconfig
2498	@mkdir -p $(obj)include
2499	@if [ "$(findstring _legacy_,$@)" ] ; then \
2500		echo "#define CONFIG_LEGACY" >>$(obj)include/config.h ; \
2501		$(XECHO) "... legacy" ; \
2502	fi
2503	@$(MKCONFIG) -a MPC8555CDS ppc mpc85xx mpc8555cds freescale
2504
2505MPC8568MDS_config:	unconfig
2506	@$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8568mds freescale
2507
2508MPC8569MDS_config:	unconfig
2509	@$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8569mds freescale
2510
2511MPC8572DS_36BIT_config \
2512MPC8572DS_config:       unconfig
2513	@$(MKCONFIG) -t $(@:_config=) MPC8572DS ppc mpc85xx mpc8572ds freescale
2514
2515P2020DS_36BIT_config \
2516P2020DS_config:		unconfig
2517	@$(MKCONFIG) -t $(@:_config=) P2020DS ppc mpc85xx p2020ds freescale
2518
2519P1011RDB_config	\
2520P1011RDB_NAND_config \
2521P1011RDB_SDCARD_config \
2522P1011RDB_SPIFLASH_config \
2523P1020RDB_config	\
2524P1020RDB_NAND_config \
2525P1020RDB_SDCARD_config \
2526P1020RDB_SPIFLASH_config \
2527P2010RDB_config \
2528P2010RDB_NAND_config \
2529P2010RDB_SDCARD_config \
2530P2010RDB_SPIFLASH_config \
2531P2020RDB_config \
2532P2020RDB_NAND_config \
2533P2020RDB_SDCARD_config \
2534P2020RDB_SPIFLASH_config:	unconfig
2535	@$(MKCONFIG) -t $(@:_config=) P1_P2_RDB ppc mpc85xx p1_p2_rdb freescale
2536
2537PM854_config:	unconfig
2538	@$(MKCONFIG) $(@:_config=) ppc mpc85xx pm854
2539
2540PM856_config:	unconfig
2541	@$(MKCONFIG) $(@:_config=) ppc mpc85xx pm856
2542
2543sbc8540_config \
2544sbc8540_33_config \
2545sbc8540_66_config:	unconfig
2546	@$(MKCONFIG) -t $(@:_config=) SBC8540 ppc mpc85xx sbc8560
2547
2548sbc8548_config \
2549sbc8548_PCI_33_config \
2550sbc8548_PCI_66_config \
2551sbc8548_PCI_33_PCIE_config \
2552sbc8548_PCI_66_PCIE_config: unconfig
2553	@$(MKCONFIG) -t $(@:_config=) sbc8548 ppc mpc85xx sbc8548
2554
2555sbc8560_config \
2556sbc8560_33_config \
2557sbc8560_66_config:	unconfig
2558	@$(MKCONFIG) -t $(@:_config=) sbc8560 ppc mpc85xx sbc8560
2559
2560socrates_config:	unconfig
2561	@$(MKCONFIG) $(@:_config=) ppc mpc85xx socrates
2562
2563stxgp3_config:		unconfig
2564	@$(MKCONFIG) $(@:_config=) ppc mpc85xx stxgp3 stx
2565
2566stxssa_config		\
2567stxssa_4M_config:	unconfig
2568	@mkdir -p $(obj)include
2569	@if [ "$(findstring _4M_,$@)" ] ; then \
2570		echo "#define CONFIG_STXSSA_4M" >>$(obj)include/config.h ; \
2571		$(XECHO) "... with 4 MiB flash memory" ; \
2572	fi
2573	@$(MKCONFIG) -a stxssa ppc mpc85xx stxssa stx
2574
2575TQM8540_config		\
2576TQM8541_config		\
2577TQM8548_config		\
2578TQM8548_AG_config	\
2579TQM8548_BE_config	\
2580TQM8555_config		\
2581TQM8560_config:		unconfig
2582	@mkdir -p $(obj)include
2583	@BTYPE=$(@:_config=); \
2584	CTYPE=$(subst TQM,,$(subst _AG,,$(subst _BE,,$(@:_config=)))); \
2585	$(XECHO) "... "$${BTYPE}" (MPC"$${CTYPE}")"; \
2586	echo "#define CONFIG_MPC$${CTYPE}">>$(obj)include/config.h; \
2587	echo "#define CONFIG_$${BTYPE}">>$(obj)include/config.h; \
2588	echo "#define CONFIG_HOSTNAME tqm$${CTYPE}">>$(obj)include/config.h; \
2589	echo "#define CONFIG_BOARDNAME \"$${BTYPE}\"">>$(obj)include/config.h;
2590	@$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx tqc
2591	@echo "CONFIG_$(@:_config=) = y">>$(obj)include/config.mk;
2592
2593XPEDITE5200_config:	unconfig
2594	@$(MKCONFIG) $(@:_config=) ppc mpc85xx xpedite5200 xes
2595
2596XPEDITE5370_config:	unconfig
2597	@$(MKCONFIG) $(@:_config=) ppc mpc85xx xpedite5370 xes
2598
2599#########################################################################
2600## MPC86xx Systems
2601#########################################################################
2602
2603MPC8610HPCD_config:	unconfig
2604	@$(MKCONFIG) $(@:_config=) ppc mpc86xx mpc8610hpcd freescale
2605
2606MPC8641HPCN_36BIT_config \
2607MPC8641HPCN_config:    unconfig
2608	@mkdir -p $(obj)include
2609	@if [ "$(findstring _36BIT_,$@)" ] ; then \
2610		echo "#define CONFIG_PHYS_64BIT" >>$(obj)include/config.h ; \
2611		$(XECHO) "... enabling 36-bit physical addressing." ; \
2612	fi
2613	@$(MKCONFIG) -a MPC8641HPCN ppc mpc86xx mpc8641hpcn freescale
2614
2615sbc8641d_config:	unconfig
2616	@$(MKCONFIG) $(@:_config=) ppc mpc86xx sbc8641d
2617
2618XPEDITE5170_config:	unconfig
2619	@$(MKCONFIG) $(@:_config=) ppc mpc86xx xpedite5170 xes
2620
2621#########################################################################
2622## 74xx/7xx Systems
2623#########################################################################
2624
2625AmigaOneG3SE_config:	unconfig
2626	@$(MKCONFIG) $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI
2627
2628BAB7xx_config: unconfig
2629	@$(MKCONFIG) $(@:_config=) ppc 74xx_7xx bab7xx eltec
2630
2631CPCI750_config:	unconfig
2632	@$(MKCONFIG) CPCI750 ppc 74xx_7xx cpci750 esd
2633
2634DB64360_config:	unconfig
2635	@$(MKCONFIG) DB64360 ppc 74xx_7xx db64360 Marvell
2636
2637DB64460_config:	unconfig
2638	@$(MKCONFIG) DB64460 ppc 74xx_7xx db64460 Marvell
2639
2640ELPPC_config: unconfig
2641	@$(MKCONFIG) $(@:_config=) ppc 74xx_7xx elppc eltec
2642
2643EVB64260_config	\
2644EVB64260_750CX_config:	unconfig
2645	@$(MKCONFIG) EVB64260 ppc 74xx_7xx evb64260
2646
2647mpc7448hpc2_config:  unconfig
2648	@$(MKCONFIG) $(@:_config=) ppc 74xx_7xx mpc7448hpc2 freescale
2649
2650P3G4_config: unconfig
2651	@$(MKCONFIG) $(@:_config=) ppc 74xx_7xx evb64260
2652
2653p3m750_config	\
2654p3m7448_config:		unconfig
2655	@mkdir -p $(obj)include
2656	@if [ "$(findstring 750_,$@)" ] ; then \
2657		echo "#define CONFIG_P3M750" >>$(obj)include/config.h ; \
2658	else \
2659		echo "#define CONFIG_P3M7448" >>$(obj)include/config.h ; \
2660	fi
2661	@$(MKCONFIG) -a p3mx ppc 74xx_7xx p3mx prodrive
2662
2663PCIPPC2_config \
2664PCIPPC6_config: unconfig
2665	@$(MKCONFIG) $(@:_config=) ppc 74xx_7xx pcippc2
2666
2667ppmc7xx_config: unconfig
2668	@$(MKCONFIG) $(@:_config=) ppc 74xx_7xx ppmc7xx
2669
2670ZUMA_config:	unconfig
2671	@$(MKCONFIG) $(@:_config=) ppc 74xx_7xx evb64260
2672
2673#========================================================================
2674# ARM
2675#========================================================================
2676#########################################################################
2677## StrongARM Systems
2678#########################################################################
2679
2680assabet_config	:	unconfig
2681	@$(MKCONFIG) $(@:_config=) arm sa1100 assabet
2682
2683dnp1110_config	:	unconfig
2684	@$(MKCONFIG) $(@:_config=) arm sa1100 dnp1110
2685
2686gcplus_config	:	unconfig
2687	@$(MKCONFIG) $(@:_config=) arm sa1100 gcplus
2688
2689lart_config	:	unconfig
2690	@$(MKCONFIG) $(@:_config=) arm sa1100 lart
2691
2692shannon_config	:	unconfig
2693	@$(MKCONFIG) $(@:_config=) arm sa1100 shannon
2694
2695#########################################################################
2696## ARM92xT Systems
2697#########################################################################
2698
2699a320evb_config	:	unconfig
2700	@$(MKCONFIG) $(@:_config=) arm arm920t a320evb faraday a320
2701
2702#########################################################################
2703## Atmel AT91RM9200 Systems
2704#########################################################################
2705
2706at91rm9200dk_config	:	unconfig
2707	@$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk atmel at91rm9200
2708
2709at91rm9200ek_config	:	unconfig
2710	@$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200ek atmel at91rm9200
2711
2712cmc_pu2_config	:	unconfig
2713	@$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
2714
2715CPUAT91_RAM_config \
2716CPUAT91_config	:	unconfig
2717	@mkdir -p $(obj)include
2718	@echo "#define CONFIG_$(@:_config=) 1"	>$(obj)include/config.h
2719	@$(MKCONFIG) -a cpuat91 arm arm920t cpuat91 eukrea at91rm9200
2720
2721csb637_config	:	unconfig
2722	@$(MKCONFIG) $(@:_config=) arm arm920t csb637 NULL at91rm9200
2723
2724kb9202_config	:	unconfig
2725	@$(MKCONFIG) $(@:_config=) arm arm920t kb9202 NULL at91rm9200
2726
2727m501sk_config	:	unconfig
2728	@$(MKCONFIG) $(@:_config=) arm arm920t m501sk NULL at91rm9200
2729
2730mp2usb_config	:	unconfig
2731	@$(MKCONFIG) $(@:_config=) arm arm920t mp2usb NULL at91rm9200
2732
2733#########################################################################
2734## Atmel ARM926EJ-S Systems
2735#########################################################################
2736
2737afeb9260_config:	unconfig
2738	@$(MKCONFIG) $(@:_config=) arm arm926ejs afeb9260 NULL at91
2739
2740at91cap9adk_config	:	unconfig
2741	@$(MKCONFIG) $(@:_config=) arm arm926ejs at91cap9adk atmel at91
2742
2743at91sam9260ek_nandflash_config \
2744at91sam9260ek_dataflash_cs0_config \
2745at91sam9260ek_dataflash_cs1_config \
2746at91sam9260ek_config \
2747at91sam9g20ek_nandflash_config \
2748at91sam9g20ek_dataflash_cs0_config \
2749at91sam9g20ek_dataflash_cs1_config \
2750at91sam9g20ek_config	:	unconfig
2751	@mkdir -p $(obj)include
2752	@if [ "$(findstring 9g20,$@)" ] ; then \
2753		echo "#define CONFIG_AT91SAM9G20EK 1"	>>$(obj)include/config.h ; \
2754		$(XECHO) "... 9G20 Variant" ; \
2755	else \
2756		echo "#define CONFIG_AT91SAM9260EK 1"	>>$(obj)include/config.h ; \
2757	fi;
2758	@if [ "$(findstring _nandflash,$@)" ] ; then \
2759		echo "#define CONFIG_SYS_USE_NANDFLASH 1"	>>$(obj)include/config.h ; \
2760		$(XECHO) "... with environment variable in NAND FLASH" ; \
2761	elif [ "$(findstring dataflash_cs0,$@)" ] ; then \
2762		echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1"	>>$(obj)include/config.h ; \
2763		$(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
2764	else \
2765		echo "#define CONFIG_SYS_USE_DATAFLASH_CS1 1"	>>$(obj)include/config.h ; \
2766		$(XECHO) "... with environment variable in SPI DATAFLASH CS1" ; \
2767	fi;
2768	@$(MKCONFIG) -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91
2769
2770at91sam9xeek_nandflash_config \
2771at91sam9xeek_dataflash_cs0_config \
2772at91sam9xeek_dataflash_cs1_config \
2773at91sam9xeek_config	:	unconfig
2774	@mkdir -p $(obj)include
2775	@if [ "$(findstring _nandflash,$@)" ] ; then \
2776		echo "#define CONFIG_SYS_USE_NANDFLASH 1"	>>$(obj)include/config.h ; \
2777		$(XECHO) "... with environment variable in NAND FLASH" ; \
2778	elif [ "$(findstring dataflash_cs0,$@)" ] ; then \
2779		echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1"	>>$(obj)include/config.h ; \
2780		$(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
2781	else \
2782		echo "#define CONFIG_SYS_USE_DATAFLASH_CS1 1"	>>$(obj)include/config.h ; \
2783		$(XECHO) "... with environment variable in SPI DATAFLASH CS1" ; \
2784	fi;
2785	@$(MKCONFIG) -n at91sam9xeek -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91
2786
2787at91sam9261ek_nandflash_config \
2788at91sam9261ek_dataflash_cs0_config \
2789at91sam9261ek_dataflash_cs3_config \
2790at91sam9261ek_config \
2791at91sam9g10ek_nandflash_config \
2792at91sam9g10ek_dataflash_cs0_config \
2793at91sam9g10ek_dataflash_cs3_config \
2794at91sam9g10ek_config	:	unconfig
2795	@mkdir -p $(obj)include
2796	@if [ "$(findstring 9g10,$@)" ] ; then \
2797		echo "#define CONFIG_AT91SAM9G10EK 1"	>>$(obj)include/config.h ; \
2798		$(XECHO) "... 9G10 Variant" ; \
2799	else \
2800		echo "#define CONFIG_AT91SAM9261EK 1"	>>$(obj)include/config.h ; \
2801	fi;
2802	@if [ "$(findstring _nandflash,$@)" ] ; then \
2803		echo "#define CONFIG_SYS_USE_NANDFLASH 1"	>>$(obj)include/config.h ; \
2804		$(XECHO) "... with environment variable in NAND FLASH" ; \
2805	elif [ "$(findstring dataflash_cs0,$@)" ] ; then \
2806		echo "#define CONFIG_SYS_USE_DATAFLASH_CS3 1"	>>$(obj)include/config.h ; \
2807		$(XECHO) "... with environment variable in SPI DATAFLASH CS3" ; \
2808	else \
2809		echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1"	>>$(obj)include/config.h ; \
2810		$(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
2811	fi;
2812	@$(MKCONFIG) -a at91sam9261ek arm arm926ejs at91sam9261ek atmel at91
2813
2814at91sam9263ek_norflash_config \
2815at91sam9263ek_norflash_boot_config \
2816at91sam9263ek_nandflash_config \
2817at91sam9263ek_dataflash_config \
2818at91sam9263ek_dataflash_cs0_config \
2819at91sam9263ek_config	:	unconfig
2820	@mkdir -p $(obj)include
2821	@if [ "$(findstring _nandflash,$@)" ] ; then \
2822		echo "#define CONFIG_SYS_USE_NANDFLASH 1"	>>$(obj)include/config.h ; \
2823		$(XECHO) "... with environment variable in NAND FLASH" ; \
2824	elif [ "$(findstring norflash,$@)" ] ; then \
2825		echo "#define CONFIG_SYS_USE_NORFLASH 1"	>>$(obj)include/config.h ; \
2826		$(XECHO) "... with environment variable in NOR FLASH" ; \
2827	else \
2828		echo "#define CONFIG_SYS_USE_DATAFLASH 1"	>>$(obj)include/config.h ; \
2829		$(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
2830	fi;
2831	@if [ "$(findstring norflash_boot,$@)" ] ; then \
2832		echo "#define CONFIG_SYS_USE_BOOT_NORFLASH 1"	>>$(obj)include/config.h ; \
2833		$(XECHO) "... and boot from NOR FLASH" ; \
2834	fi;
2835	@$(MKCONFIG) -a at91sam9263ek arm arm926ejs at91sam9263ek atmel at91
2836
2837at91sam9rlek_nandflash_config \
2838at91sam9rlek_dataflash_config \
2839at91sam9rlek_dataflash_cs0_config \
2840at91sam9rlek_config	:	unconfig
2841	@mkdir -p $(obj)include
2842	@if [ "$(findstring _nandflash,$@)" ] ; then \
2843		echo "#define CONFIG_SYS_USE_NANDFLASH 1"	>>$(obj)include/config.h ; \
2844		$(XECHO) "... with environment variable in NAND FLASH" ; \
2845	else \
2846		echo "#define CONFIG_SYS_USE_DATAFLASH 1"	>>$(obj)include/config.h ; \
2847		$(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
2848	fi;
2849	@$(MKCONFIG) -a at91sam9rlek arm arm926ejs at91sam9rlek atmel at91
2850
2851CPU9G20_128M_config \
2852CPU9G20_config \
2853CPU9260_128M_config \
2854CPU9260_config	:	unconfig
2855	@mkdir -p $(obj)include
2856	@echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
2857	@$(MKCONFIG) -a cpu9260 arm arm926ejs cpu9260 eukrea at91
2858
2859meesc_config	:	unconfig
2860	@$(MKCONFIG) $(@:_config=) arm arm926ejs meesc esd at91
2861
2862pm9261_config	:	unconfig
2863	@$(MKCONFIG) $(@:_config=) arm arm926ejs pm9261 ronetix at91
2864
2865at91sam9m10g45ek_nandflash_config \
2866at91sam9m10g45ek_dataflash_config \
2867at91sam9m10g45ek_dataflash_cs0_config \
2868at91sam9m10g45ek_config \
2869at91sam9g45ekes_nandflash_config \
2870at91sam9g45ekes_dataflash_config \
2871at91sam9g45ekes_dataflash_cs0_config \
2872at91sam9g45ekes_config	:	unconfig
2873	@mkdir -p $(obj)include
2874		@if [ "$(findstring 9m10,$@)" ] ; then \
2875		echo "#define CONFIG_AT91SAM9M10G45EK 1"	>>$(obj)include/config.h ; \
2876		$(XECHO) "... 9M10G45 Variant" ; \
2877	else \
2878		echo "#define CONFIG_AT91SAM9G45EKES 1"	>>$(obj)include/config.h ; \
2879	fi;
2880
2881	@if [ "$(findstring _nandflash,$@)" ] ; then \
2882		echo "#define CONFIG_SYS_USE_NANDFLASH 1"	>>$(obj)include/config.h ; \
2883		$(XECHO) "... with environment variable in NAND FLASH" ; \
2884	else \
2885		echo "#define CONFIG_ATMEL_SPI 1"	>>$(obj)include/config.h ; \
2886		$(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \
2887	fi;
2888	@$(MKCONFIG) -a at91sam9m10g45ek arm arm926ejs at91sam9m10g45ek atmel at91
2889
2890pm9263_config	:	unconfig
2891	@$(MKCONFIG) $(@:_config=) arm arm926ejs pm9263 ronetix at91
2892
2893SBC35_A9G20_NANDFLASH_config \
2894SBC35_A9G20_EEPROM_config \
2895SBC35_A9G20_config	:	unconfig
2896	@mkdir -p $(obj)include
2897	@echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
2898	@$(MKCONFIG) -a sbc35_a9g20 arm arm926ejs sbc35_a9g20 calao at91
2899
2900TNY_A9G20_NANDFLASH_config \
2901TNY_A9G20_EEPROM_config \
2902TNY_A9G20_config \
2903TNY_A9260_NANDFLASH_config \
2904TNY_A9260_EEPROM_config \
2905TNY_A9260_config	:	unconfig
2906	@mkdir -p $(obj)include
2907	@echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
2908	@$(MKCONFIG) -a tny_a9260 arm arm926ejs tny_a9260 calao at91
2909
2910########################################################################
2911## ARM Integrator boards - see doc/README-integrator for more info.
2912integratorap_config	\
2913ap_config		\
2914ap966_config		\
2915ap922_config		\
2916ap922_XA10_config	\
2917ap7_config		\
2918ap720t_config		\
2919ap920t_config		\
2920ap926ejs_config		\
2921ap946es_config: unconfig
2922	@board/armltd/integrator/split_by_variant.sh ap $@
2923
2924integratorcp_config	\
2925cp_config		\
2926cp920t_config		\
2927cp926ejs_config		\
2928cp946es_config		\
2929cp1136_config		\
2930cp966_config		\
2931cp922_config		\
2932cp922_XA10_config	\
2933cp1026_config: unconfig
2934	@board/armltd/integrator/split_by_variant.sh cp $@
2935
2936da830evm_config:	unconfig
2937	@$(MKCONFIG) $(@:_config=) arm arm926ejs da830evm davinci davinci
2938
2939davinci_dvevm_config :	unconfig
2940	@$(MKCONFIG) $(@:_config=) arm arm926ejs dvevm davinci davinci
2941
2942davinci_schmoogie_config :	unconfig
2943	@$(MKCONFIG) $(@:_config=) arm arm926ejs schmoogie davinci davinci
2944
2945davinci_sffsdr_config :	unconfig
2946	@$(MKCONFIG) $(@:_config=) arm arm926ejs sffsdr davinci davinci
2947
2948davinci_sonata_config :	unconfig
2949	@$(MKCONFIG) $(@:_config=) arm arm926ejs sonata davinci davinci
2950
2951davinci_dm355evm_config :	unconfig
2952	@$(MKCONFIG) $(@:_config=) arm arm926ejs dm355evm davinci davinci
2953
2954davinci_dm355leopard_config :	unconfig
2955	@$(MKCONFIG) $(@:_config=) arm arm926ejs dm355leopard davinci davinci
2956
2957davinci_dm365evm_config :	unconfig
2958	@$(MKCONFIG) $(@:_config=) arm arm926ejs dm365evm davinci davinci
2959
2960davinci_dm6467evm_config :	unconfig
2961	@$(MKCONFIG) $(@:_config=) arm arm926ejs dm6467evm davinci davinci
2962
2963imx27lite_config:	unconfig
2964	@$(MKCONFIG) $(@:_config=) arm arm926ejs imx27lite logicpd mx27
2965
2966lpd7a400_config \
2967lpd7a404_config:	unconfig
2968	@$(MKCONFIG) $(@:_config=) arm lh7a40x lpd7a40x
2969
2970mv88f6281gtw_ge_config: unconfig
2971	@$(MKCONFIG) $(@:_config=) arm arm926ejs $(@:_config=) Marvell kirkwood
2972
2973mx1ads_config	:	unconfig
2974	@$(MKCONFIG) $(@:_config=) arm arm920t mx1ads NULL imx
2975
2976mx1fs2_config	:	unconfig
2977	@$(MKCONFIG) $(@:_config=) arm arm920t mx1fs2 NULL imx
2978
2979netstar_config:		unconfig
2980	@$(MKCONFIG) $(@:_config=) arm arm925t netstar
2981
2982nhk8815_config \
2983nhk8815_onenand_config:	unconfig
2984	@mkdir -p $(obj)include
2985	@ > $(obj)include/config.h
2986	@if [ "$(findstring _onenand, $@)" ] ; then \
2987		echo "#define CONFIG_BOOT_ONENAND" >> $(obj)include/config.h; \
2988		$(XECHO) "... configured to boot from OneNand Flash"; \
2989	else \
2990		$(XECHO) "... configured to boot from Nand Flash"; \
2991	fi
2992	@$(MKCONFIG) -a nhk8815 arm arm926ejs nhk8815 st nomadik
2993
2994omap1510inn_config :	unconfig
2995	@$(MKCONFIG) $(@:_config=) arm arm925t omap1510inn ti
2996
2997xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1))))
2998
2999omap1610inn_config \
3000omap1610inn_cs0boot_config \
3001omap1610inn_cs3boot_config \
3002omap1610inn_cs_autoboot_config \
3003omap1610h2_config \
3004omap1610h2_cs0boot_config \
3005omap1610h2_cs3boot_config \
3006omap1610h2_cs_autoboot_config:	unconfig
3007	@mkdir -p $(obj)include
3008	@if [ "$(findstring _cs0boot_, $@)" ] ; then \
3009		echo "#define CONFIG_CS0_BOOT" >> .$(obj)include/config.h ; \
3010		$(XECHO) "... configured for CS0 boot"; \
3011	elif [ "$(findstring _cs_autoboot_, $@)" ] ; then \
3012		echo "#define CONFIG_CS_AUTOBOOT" >> $(obj)include/config.h ; \
3013		$(XECHO) "... configured for CS_AUTO boot"; \
3014	else \
3015		echo "#define CONFIG_CS3_BOOT" >> $(obj)include/config.h ; \
3016		$(XECHO) "... configured for CS3 boot"; \
3017	fi;
3018	@$(MKCONFIG) -a $(call xtract_omap1610xxx,$@) arm arm926ejs omap1610inn ti omap
3019
3020omap5912osk_config :	unconfig
3021	@$(MKCONFIG) $(@:_config=) arm arm926ejs omap5912osk ti omap
3022
3023openrd_base_config: unconfig
3024	@$(MKCONFIG) $(@:_config=) arm arm926ejs $(@:_config=) Marvell kirkwood
3025
3026xtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
3027
3028omap730p2_config \
3029omap730p2_cs0boot_config \
3030omap730p2_cs3boot_config :	unconfig
3031	@mkdir -p $(obj)include
3032	@if [ "$(findstring _cs0boot_, $@)" ] ; then \
3033		echo "#define CONFIG_CS0_BOOT" >> $(obj)include/config.h ; \
3034		$(XECHO) "... configured for CS0 boot"; \
3035	else \
3036		echo "#define CONFIG_CS3_BOOT" >> $(obj)include/config.h ; \
3037		$(XECHO) "... configured for CS3 boot"; \
3038	fi;
3039	@$(MKCONFIG) -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2 ti omap
3040
3041rd6281a_config: unconfig
3042	@$(MKCONFIG) $(@:_config=) arm arm926ejs $(@:_config=) Marvell kirkwood
3043
3044sbc2410x_config: unconfig
3045	@$(MKCONFIG) $(@:_config=) arm arm920t sbc2410x NULL s3c24x0
3046
3047scb9328_config	:	unconfig
3048	@$(MKCONFIG) $(@:_config=) arm arm920t scb9328 NULL imx
3049
3050sheevaplug_config: unconfig
3051	@$(MKCONFIG) $(@:_config=) arm arm926ejs $(@:_config=) Marvell kirkwood
3052
3053smdk2400_config	:	unconfig
3054	@$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 samsung s3c24x0
3055
3056smdk2410_config	:	unconfig
3057	@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0
3058
3059SX1_stdout_serial_config \
3060SX1_config:		unconfig
3061	@mkdir -p $(obj)include
3062	@if [ "$(findstring _stdout_serial_, $@)" ] ; then \
3063		echo "#undef CONFIG_STDOUT_USBTTY" >> $(obj)include/config.h ; \
3064		$(XECHO) "... configured for stdout serial"; \
3065	else \
3066		echo "#define CONFIG_STDOUT_USBTTY" >> $(obj)include/config.h ; \
3067		$(XECHO) "... configured for stdout usbtty"; \
3068	fi;
3069	@$(MKCONFIG) SX1 arm arm925t sx1
3070
3071# TRAB default configuration:	8 MB Flash, 32 MB RAM
3072xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
3073
3074trab_config \
3075trab_bigram_config \
3076trab_bigflash_config \
3077trab_old_config:	unconfig
3078	@mkdir -p $(obj)include
3079	@mkdir -p $(obj)board/trab
3080	@[ -z "$(findstring _bigram,$@)" ] || \
3081		{ echo "#define CONFIG_FLASH_8MB"  >>$(obj)include/config.h ; \
3082		  echo "#define CONFIG_RAM_32MB"   >>$(obj)include/config.h ; \
3083		  $(XECHO) "... with 8 MB Flash, 32 MB RAM" ; \
3084		}
3085	@[ -z "$(findstring _bigflash,$@)" ] || \
3086		{ echo "#define CONFIG_FLASH_16MB" >>$(obj)include/config.h ; \
3087		  echo "#define CONFIG_RAM_16MB"   >>$(obj)include/config.h ; \
3088		  $(XECHO) "... with 16 MB Flash, 16 MB RAM" ; \
3089		  echo "TEXT_BASE = 0x0CF40000" >$(obj)board/trab/config.tmp ; \
3090		}
3091	@[ -z "$(findstring _old,$@)" ] || \
3092		{ echo "#define CONFIG_FLASH_8MB"  >>$(obj)include/config.h ; \
3093		  echo "#define CONFIG_RAM_16MB"   >>$(obj)include/config.h ; \
3094		  $(XECHO) "... with 8 MB Flash, 16 MB RAM" ; \
3095		  echo "TEXT_BASE = 0x0CF40000" >$(obj)board/trab/config.tmp ; \
3096		}
3097	@$(MKCONFIG) -a $(call xtract_trab,$@) arm arm920t trab NULL s3c24x0
3098
3099VCMA9_config	:	unconfig
3100	@$(MKCONFIG) $(@:_config=) arm arm920t vcma9 mpl s3c24x0
3101
3102#########################################################################
3103# ARM supplied Versatile development boards
3104#########################################################################
3105
3106cm4008_config	:	unconfig
3107	@$(MKCONFIG) $(@:_config=) arm arm920t cm4008 NULL ks8695
3108
3109cm41xx_config	:	unconfig
3110	@$(MKCONFIG) $(@:_config=) arm arm920t cm41xx NULL ks8695
3111
3112versatile_config	\
3113versatileab_config	\
3114versatilepb_config :	unconfig
3115	@board/armltd/versatile/split_by_variant.sh $@
3116
3117voiceblue_config:	unconfig
3118	@$(MKCONFIG) $(@:_config=) arm arm925t voiceblue
3119
3120#########################################################################
3121## S3C44B0 Systems
3122#########################################################################
3123
3124B2_config	:	unconfig
3125	@$(MKCONFIG) $(@:_config=) arm s3c44b0 B2 dave
3126
3127#########################################################################
3128## ARM720T Systems
3129#########################################################################
3130
3131armadillo_config:	unconfig
3132	@$(MKCONFIG) $(@:_config=) arm arm720t armadillo
3133
3134ep7312_config	:	unconfig
3135	@$(MKCONFIG) $(@:_config=) arm arm720t ep7312
3136
3137impa7_config	:	unconfig
3138	@$(MKCONFIG) $(@:_config=) arm arm720t impa7
3139
3140modnet50_config :	unconfig
3141	@$(MKCONFIG) $(@:_config=) arm arm720t modnet50
3142
3143evb4510_config :	unconfig
3144	@$(MKCONFIG) $(@:_config=) arm arm720t evb4510 NULL s3c4510b
3145
3146lpc2292sodimm_config:	unconfig
3147	@$(MKCONFIG) $(@:_config=) arm arm720t lpc2292sodimm NULL lpc2292
3148
3149SMN42_config	:	unconfig
3150	@$(MKCONFIG) $(@:_config=) arm arm720t SMN42 siemens lpc2292
3151
3152#########################################################################
3153## ARM CORTEX Systems
3154#########################################################################
3155
3156devkit8000_config :	unconfig
3157	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 devkit8000 timll omap3
3158
3159omap3_beagle_config :	unconfig
3160	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 beagle ti omap3
3161
3162omap3_overo_config :	unconfig
3163	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 overo NULL omap3
3164
3165omap3_evm_config :	unconfig
3166	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 evm ti omap3
3167
3168omap3_pandora_config :	unconfig
3169	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 pandora NULL omap3
3170
3171omap3_sdp3430_config :	unconfig
3172	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 sdp3430 ti omap3
3173
3174omap3_zoom1_config :	unconfig
3175	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom1 logicpd omap3
3176
3177omap3_zoom2_config :	unconfig
3178	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom2 logicpd omap3
3179
3180smdkc100_config:	unconfig
3181	@$(MKCONFIG) $(@:_config=) arm arm_cortexa8 smdkc100 samsung s5pc1xx
3182
3183#########################################################################
3184## XScale Systems
3185#########################################################################
3186
3187actux1_config	:	unconfig
3188	@$(MKCONFIG) $(@:_config=) arm ixp actux1
3189
3190actux2_config	:	unconfig
3191	@$(MKCONFIG) $(@:_config=) arm ixp actux2
3192
3193actux3_config	:	unconfig
3194	@$(MKCONFIG) $(@:_config=) arm ixp actux3
3195
3196actux4_config	:	unconfig
3197	@$(MKCONFIG) $(@:_config=) arm ixp actux4
3198
3199cerf250_config :	unconfig
3200	@$(MKCONFIG) $(@:_config=) arm pxa cerf250
3201
3202cradle_config	:	unconfig
3203	@$(MKCONFIG) $(@:_config=) arm pxa cradle
3204
3205csb226_config	:	unconfig
3206	@$(MKCONFIG) $(@:_config=) arm pxa csb226
3207
3208delta_config :	unconfig
3209	@$(MKCONFIG) $(@:_config=) arm pxa delta
3210
3211innokom_config	:	unconfig
3212	@$(MKCONFIG) $(@:_config=) arm pxa innokom
3213
3214ixdp425_config	:	unconfig
3215	@$(MKCONFIG) $(@:_config=) arm ixp ixdp425
3216
3217ixdpg425_config	:	unconfig
3218	@$(MKCONFIG) $(@:_config=) arm ixp ixdp425
3219
3220lubbock_config	:	unconfig
3221	@$(MKCONFIG) $(@:_config=) arm pxa lubbock
3222
3223pleb2_config	:	unconfig
3224	@$(MKCONFIG) $(@:_config=) arm pxa pleb2
3225
3226logodl_config	:	unconfig
3227	@$(MKCONFIG) $(@:_config=) arm pxa logodl
3228
3229pdnb3_config \
3230scpu_config:	unconfig
3231	@mkdir -p $(obj)include
3232	@if [ "$(findstring scpu_,$@)" ] ; then \
3233		echo "#define CONFIG_SCPU"	>>$(obj)include/config.h ; \
3234		$(XECHO) "... on SCPU board variant" ; \
3235	fi
3236	@$(MKCONFIG) -a pdnb3 arm ixp pdnb3 prodrive
3237
3238pxa255_idp_config:	unconfig
3239	@$(MKCONFIG) $(@:_config=) arm pxa pxa255_idp
3240
3241polaris_config \
3242trizepsiv_config	:	unconfig
3243	@mkdir -p $(obj)include
3244	@if [ "$(findstring polaris,$@)" ] ; then \
3245		echo "#define CONFIG_POLARIS 1"	>>$(obj)include/config.h ; \
3246	fi;
3247	@$(MKCONFIG) -a trizepsiv arm pxa trizepsiv
3248
3249wepep250_config	:	unconfig
3250	@$(MKCONFIG) $(@:_config=) arm pxa wepep250
3251
3252xaeniax_config	:	unconfig
3253	@$(MKCONFIG) $(@:_config=) arm pxa xaeniax
3254
3255xm250_config	:	unconfig
3256	@$(MKCONFIG) $(@:_config=) arm pxa xm250
3257
3258xsengine_config :	unconfig
3259	@$(MKCONFIG) $(@:_config=) arm pxa xsengine
3260
3261zylonite_config :
3262	@$(MKCONFIG) $(@:_config=) arm pxa zylonite
3263
3264#########################################################################
3265## ARM1136 Systems
3266#########################################################################
3267
3268apollon_config		: unconfig
3269	@echo "#define CONFIG_ONENAND_U_BOOT" > $(obj)include/config.h
3270	@$(MKCONFIG) $(@:_config=) arm arm1136 apollon NULL omap24xx
3271	@echo "CONFIG_ONENAND_U_BOOT = y" >> $(obj)include/config.mk
3272
3273imx31_litekit_config	: unconfig
3274	@$(MKCONFIG) $(@:_config=) arm arm1136 imx31_litekit logicpd mx31
3275
3276imx31_phycore_eet_config \
3277imx31_phycore_config	: unconfig
3278	@mkdir -p $(obj)include
3279	@if [ -n "$(findstring _eet_,$@)" ]; then			\
3280		echo "#define CONFIG_IMX31_PHYCORE_EET" >> $(obj)include/config.h;	\
3281	fi
3282	@$(MKCONFIG) -a imx31_phycore arm arm1136 imx31_phycore NULL mx31
3283
3284mx31ads_config		: unconfig
3285	@$(MKCONFIG) $(@:_config=) arm arm1136 mx31ads freescale mx31
3286
3287mx31pdk_config \
3288mx31pdk_nand_config	: unconfig
3289	@mkdir -p $(obj)include
3290	@if [ -n "$(findstring _nand_,$@)" ]; then					\
3291		echo "#define CONFIG_NAND_U_BOOT" >> $(obj)include/config.h;		\
3292	else										\
3293		echo "#define CONFIG_SKIP_LOWLEVEL_INIT" >> $(obj)include/config.h;	\
3294		echo "#define CONFIG_SKIP_RELOCATE_UBOOT" >> $(obj)include/config.h;	\
3295	fi
3296	@$(MKCONFIG) -a mx31pdk arm arm1136 mx31pdk freescale mx31
3297
3298omap2420h4_config	: unconfig
3299	@$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 ti omap24xx
3300
3301qong_config		: unconfig
3302	@$(MKCONFIG) $(@:_config=) arm arm1136 qong davedenx mx31
3303
3304#########################################################################
3305## ARM1176 Systems
3306#########################################################################
3307smdk6400_noUSB_config	\
3308smdk6400_config	:	unconfig
3309	@mkdir -p $(obj)include $(obj)board/samsung/smdk6400
3310	@mkdir -p $(obj)nand_spl/board/samsung/smdk6400
3311	@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
3312	@if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then			\
3313		echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\
3314		$(MKCONFIG) $(@:_config=) arm arm1176 smdk6400 samsung s3c64xx;		\
3315	else										\
3316		echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\
3317		$(MKCONFIG) $(@:_noUSB_config=) arm arm1176 smdk6400 samsung s3c64xx;	\
3318	fi
3319	@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
3320
3321#========================================================================
3322# i386
3323#========================================================================
3324#########################################################################
3325## AMD SC520 CDP
3326#########################################################################
3327eNET_config	:	unconfig
3328	@$(MKCONFIG) $(@:_config=) i386 i386 eNET NULL sc520
3329
3330sc520_cdp_config	:	unconfig
3331	@$(MKCONFIG) $(@:_config=) i386 i386 sc520_cdp NULL sc520
3332
3333sc520_spunk_config	:	unconfig
3334	@$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk NULL sc520
3335
3336sc520_spunk_rel_config	:	unconfig
3337	@$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk NULL sc520
3338
3339#========================================================================
3340# MIPS
3341#========================================================================
3342#########################################################################
3343## MIPS32 4Kc
3344#########################################################################
3345
3346xtract_incaip = $(subst _100MHz,,$(subst _133MHz,,$(subst _150MHz,,$(subst _config,,$1))))
3347
3348incaip_100MHz_config	\
3349incaip_133MHz_config	\
3350incaip_150MHz_config	\
3351incaip_config: unconfig
3352	@mkdir -p $(obj)include
3353	@[ -z "$(findstring _100MHz,$@)" ] || \
3354		{ echo "#define CPU_CLOCK_RATE 100000000" >>$(obj)include/config.h ; \
3355		  $(XECHO) "... with 100MHz system clock" ; \
3356		}
3357	@[ -z "$(findstring _133MHz,$@)" ] || \
3358		{ echo "#define CPU_CLOCK_RATE 133000000" >>$(obj)include/config.h ; \
3359		  $(XECHO) "... with 133MHz system clock" ; \
3360		}
3361	@[ -z "$(findstring _150MHz,$@)" ] || \
3362		{ echo "#define CPU_CLOCK_RATE 150000000" >>$(obj)include/config.h ; \
3363		  $(XECHO) "... with 150MHz system clock" ; \
3364		}
3365	@$(MKCONFIG) -a $(call xtract_incaip,$@) mips mips incaip
3366
3367tb0229_config: unconfig
3368	@$(MKCONFIG) $(@:_config=) mips mips tb0229
3369
3370vct_premium_config		\
3371vct_premium_small_config	\
3372vct_premium_onenand_config	\
3373vct_premium_onenand_small_config \
3374vct_platinum_config		\
3375vct_platinum_small_config	\
3376vct_platinum_onenand_config	\
3377vct_platinum_onenand_small_config \
3378vct_platinumavc_config		\
3379vct_platinumavc_small_config	\
3380vct_platinumavc_onenand_config	\
3381vct_platinumavc_onenand_small_config: unconfig
3382	@mkdir -p $(obj)include
3383	@if [ "$(findstring _premium,$@)" ] ; then \
3384		echo "#define CONFIG_VCT_PREMIUM" > $(obj)include/config.h ; \
3385		$(XECHO) "... on Premium board variant" ; \
3386	fi
3387	@if [ "$(findstring _platinum_,$@)" ] ; then \
3388		echo "#define CONFIG_VCT_PLATINUM" > $(obj)include/config.h ; \
3389		$(XECHO) "... on Platinum board variant" ; \
3390	fi
3391	@if [ "$(findstring _platinumavc,$@)" ] ; then \
3392		echo "#define CONFIG_VCT_PLATINUMAVC" > $(obj)include/config.h ; \
3393		$(XECHO) "... on PlatinumAVC board variant" ; \
3394	fi
3395	@if [ "$(findstring _onenand,$@)" ] ; then \
3396		echo "#define CONFIG_VCT_ONENAND" >> $(obj)include/config.h ; \
3397		$(XECHO) "... on OneNAND board variant" ; \
3398	fi
3399	@if [ "$(findstring _small,$@)" ] ; then \
3400		echo "#define CONFIG_VCT_SMALL_IMAGE" >> $(obj)include/config.h ; \
3401		$(XECHO) "... stripped down image variant" ; \
3402	fi
3403	@$(MKCONFIG) -a vct mips mips vct micronas
3404
3405#########################################################################
3406## MIPS32 AU1X00
3407#########################################################################
3408
3409dbau1000_config		:	unconfig
3410	@mkdir -p $(obj)include
3411	@echo "#define CONFIG_DBAU1000 1" >$(obj)include/config.h
3412	@$(MKCONFIG) -a dbau1x00 mips mips dbau1x00
3413
3414dbau1100_config		:	unconfig
3415	@mkdir -p $(obj)include
3416	@echo "#define CONFIG_DBAU1100 1" >$(obj)include/config.h
3417	@$(MKCONFIG) -a dbau1x00 mips mips dbau1x00
3418
3419dbau1500_config		:	unconfig
3420	@mkdir -p $(obj)include
3421	@echo "#define CONFIG_DBAU1500 1" >$(obj)include/config.h
3422	@$(MKCONFIG) -a dbau1x00 mips mips dbau1x00
3423
3424dbau1550_config		:	unconfig
3425	@mkdir -p $(obj)include
3426	@echo "#define CONFIG_DBAU1550 1" >$(obj)include/config.h
3427	@$(MKCONFIG) -a dbau1x00 mips mips dbau1x00
3428
3429dbau1550_el_config	:	unconfig
3430	@mkdir -p $(obj)include
3431	@echo "#define CONFIG_DBAU1550 1" >$(obj)include/config.h
3432	@$(MKCONFIG) -a dbau1x00 mips mips dbau1x00
3433
3434gth2_config		:	unconfig
3435	@mkdir -p $(obj)include
3436	@echo "#define CONFIG_GTH2 1" >$(obj)include/config.h
3437	@$(MKCONFIG) -a gth2 mips mips gth2
3438
3439pb1000_config		:	unconfig
3440	@mkdir -p $(obj)include
3441	@echo "#define CONFIG_PB1000 1" >$(obj)include/config.h
3442	@$(MKCONFIG) -a pb1x00 mips mips pb1x00
3443
3444qemu_mips_config	: unconfig
3445	@mkdir -p $(obj)include
3446	@echo "#define CONFIG_QEMU_MIPS 1" >$(obj)include/config.h
3447	@$(MKCONFIG) -a qemu-mips mips mips qemu-mips
3448
3449#########################################################################
3450## MIPS64 5Kc
3451#########################################################################
3452
3453purple_config :		unconfig
3454	@$(MKCONFIG) $(@:_config=) mips mips purple
3455
3456#========================================================================
3457# Nios
3458#========================================================================
3459#########################################################################
3460## Nios32
3461#########################################################################
3462
3463ADNPESC1_DNPEVA2_base_32_config	\
3464ADNPESC1_base_32_config		\
3465ADNPESC1_config: unconfig
3466	@mkdir -p $(obj)include
3467	@[ -z "$(findstring _DNPEVA2,$@)" ] || \
3468		{ echo "#define CONFIG_DNPEVA2 1" >>$(obj)include/config.h ; \
3469		  $(XECHO) "... DNP/EVA2 configuration" ; \
3470		}
3471	@[ -z "$(findstring _base_32,$@)" ] || \
3472		{ echo "#define CONFIG_NIOS_BASE_32 1" >>$(obj)include/config.h ; \
3473		  $(XECHO) "... NIOS 'base_32' configuration" ; \
3474		}
3475	@[ -z "$(findstring ADNPESC1_config,$@)" ] || \
3476		{ echo "#define CONFIG_NIOS_BASE_32 1" >>$(obj)include/config.h ; \
3477		  $(XECHO) "... NIOS 'base_32' configuration (DEFAULT)" ; \
3478		}
3479	@$(MKCONFIG) -a ADNPESC1 nios nios adnpesc1 ssv
3480
3481DK1C20_safe_32_config		\
3482DK1C20_standard_32_config	\
3483DK1C20_config:	unconfig
3484	@mkdir -p $(obj)include
3485	@[ -z "$(findstring _safe_32,$@)" ] || \
3486		{ echo "#define CONFIG_NIOS_SAFE_32 1" >>$(obj)include/config.h ; \
3487		  $(XECHO) "... NIOS 'safe_32' configuration" ; \
3488		}
3489	@[ -z "$(findstring _standard_32,$@)" ] || \
3490		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \
3491		  $(XECHO) "... NIOS 'standard_32' configuration" ; \
3492		}
3493	@[ -z "$(findstring DK1C20_config,$@)" ] || \
3494		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \
3495		  $(XECHO) "... NIOS 'standard_32' configuration (DEFAULT)" ; \
3496		}
3497	@$(MKCONFIG) -a DK1C20 nios nios dk1c20 altera
3498
3499DK1S10_safe_32_config		\
3500DK1S10_standard_32_config	\
3501DK1S10_mtx_ldk_20_config	\
3502DK1S10_config:	unconfig
3503	@mkdir -p $(obj)include
3504	@[ -z "$(findstring _safe_32,$@)" ] || \
3505		{ echo "#define CONFIG_NIOS_SAFE_32 1" >>$(obj)include/config.h ; \
3506		  $(XECHO) "... NIOS 'safe_32' configuration" ; \
3507		}
3508	@[ -z "$(findstring _standard_32,$@)" ] || \
3509		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \
3510		  $(XECHO) "... NIOS 'standard_32' configuration" ; \
3511		}
3512	@[ -z "$(findstring _mtx_ldk_20,$@)" ] || \
3513		{ echo "#define CONFIG_NIOS_MTX_LDK_20 1" >>$(obj)include/config.h ; \
3514		  $(XECHO) "... NIOS 'mtx_ldk_20' configuration" ; \
3515		}
3516	@[ -z "$(findstring DK1S10_config,$@)" ] || \
3517		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \
3518		  $(XECHO) "... NIOS 'standard_32' configuration (DEFAULT)" ; \
3519		}
3520	@$(MKCONFIG) -a DK1S10 nios nios dk1s10 altera
3521
3522#########################################################################
3523## Nios-II
3524#########################################################################
3525
3526EP1C20_config : unconfig
3527	@$(MKCONFIG)  EP1C20 nios2 nios2 ep1c20 altera
3528
3529EP1S10_config : unconfig
3530	@$(MKCONFIG)  EP1S10 nios2 nios2 ep1s10 altera
3531
3532EP1S40_config : unconfig
3533	@$(MKCONFIG)  EP1S40 nios2 nios2 ep1s40 altera
3534
3535PK1C20_config : unconfig
3536	@$(MKCONFIG)  PK1C20 nios2 nios2 pk1c20 psyent
3537
3538PCI5441_config : unconfig
3539	@$(MKCONFIG)  PCI5441 nios2 nios2 pci5441 psyent
3540
3541#========================================================================
3542## Microblaze
3543#========================================================================
3544
3545microblaze-generic_config:	unconfig
3546	@mkdir -p $(obj)include
3547	@$(MKCONFIG) -a $(@:_config=) microblaze microblaze microblaze-generic xilinx
3548
3549#========================================================================
3550# Blackfin
3551#========================================================================
3552
3553# Analog Devices boards
3554BFIN_BOARDS = bf518f-ezbrd bf526-ezbrd bf527-ezkit bf533-ezkit bf533-stamp \
3555	bf537-pnav bf537-stamp bf538f-ezkit bf548-ezkit bf561-ezkit
3556
3557# Bluetechnix tinyboards
3558BFIN_BOARDS += cm-bf527 cm-bf533 cm-bf537e cm-bf537u cm-bf548 cm-bf561 tcm-bf537
3559
3560# Misc third party boards
3561BFIN_BOARDS += bf537-minotaur bf537-srv1 blackstamp
3562
3563# I-SYST Micromodule
3564BFIN_BOARDS += ibf-dsp561
3565
3566$(BFIN_BOARDS:%=%_config)	: unconfig
3567	@$(MKCONFIG) $(@:_config=) blackfin blackfin $(@:_config=)
3568
3569#========================================================================
3570# AVR32
3571#========================================================================
3572
3573atngw100_config	:	unconfig
3574	@$(MKCONFIG) $(@:_config=) avr32 at32ap atngw100 atmel at32ap700x
3575
3576atstk1002_config	:	unconfig
3577	@$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x
3578
3579atstk1003_config	:	unconfig
3580	@$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x
3581
3582atstk1004_config	:	unconfig
3583	@$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x
3584
3585atstk1006_config	:	unconfig
3586	@$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x
3587
3588favr-32-ezkit_config	:	unconfig
3589	@$(MKCONFIG) $(@:_config=) avr32 at32ap favr-32-ezkit earthlcd at32ap700x
3590
3591hammerhead_config	:	unconfig
3592	@$(MKCONFIG) $(@:_config=) avr32 at32ap hammerhead miromico at32ap700x
3593
3594mimc200_config		:	unconfig
3595	@$(MKCONFIG) $(@:_config=) avr32 at32ap mimc200 mimc at32ap700x
3596
3597#========================================================================
3598# SH3 (SuperH)
3599#========================================================================
3600
3601#########################################################################
3602## sh2 (Renesas SuperH)
3603#########################################################################
3604rsk7203_config: unconfig
3605	@mkdir -p $(obj)include
3606	@echo "#define CONFIG_RSK7203 1" > $(obj)include/config.h
3607	@$(MKCONFIG) -a $(@:_config=) sh sh2 rsk7203 renesas
3608
3609#########################################################################
3610## sh3 (Renesas SuperH)
3611#########################################################################
3612
3613mpr2_config: unconfig
3614	@mkdir -p $(obj)include
3615	@echo "#define CONFIG_MPR2 1" > $(obj)include/config.h
3616	@$(MKCONFIG) -a $(@:_config=) sh sh3 mpr2
3617
3618ms7720se_config: unconfig
3619	@mkdir -p $(obj)include
3620	@echo "#define CONFIG_MS7720SE 1" > $(obj)include/config.h
3621	@$(MKCONFIG) -a $(@:_config=) sh sh3 ms7720se
3622
3623#########################################################################
3624## sh4 (Renesas SuperH)
3625#########################################################################
3626
3627MigoR_config :       unconfig
3628	@mkdir -p $(obj)include
3629	@echo "#define CONFIG_MIGO_R 1" > $(obj)include/config.h
3630	@$(MKCONFIG) -a $(@:_config=) sh sh4 MigoR renesas
3631
3632ms7750se_config: unconfig
3633	@mkdir -p $(obj)include
3634	@echo "#define CONFIG_MS7750SE 1" > $(obj)include/config.h
3635	@$(MKCONFIG) -a $(@:_config=) sh sh4 ms7750se
3636
3637ms7722se_config :	unconfig
3638	@mkdir -p $(obj)include
3639	@echo "#define CONFIG_MS7722SE 1" > $(obj)include/config.h
3640	@$(MKCONFIG) -a $(@:_config=) sh sh4 ms7722se
3641
3642r2dplus_config  :   unconfig
3643	@mkdir -p $(obj)include
3644	@echo "#define CONFIG_R2DPLUS 1" > $(obj)include/config.h
3645	@$(MKCONFIG) -a $(@:_config=) sh sh4 r2dplus renesas
3646
3647r7780mp_config: unconfig
3648	@mkdir -p $(obj)include
3649	@echo "#define CONFIG_R7780MP 1" > $(obj)include/config.h
3650	@$(MKCONFIG) -a $(@:_config=) sh sh4 r7780mp renesas
3651
3652sh7763rdp_config  :   unconfig
3653	@mkdir -p $(obj)include
3654	@echo "#define CONFIG_SH7763RDP 1" > $(obj)include/config.h
3655	@$(MKCONFIG) -a $(@:_config=) sh sh4 sh7763rdp renesas
3656
3657xtract_sh7785lcr = $(subst _32bit,,$(subst _config,,$1))
3658sh7785lcr_32bit_config \
3659sh7785lcr_config  :   unconfig
3660	@mkdir -p $(obj)include
3661	@mkdir -p $(obj)board/renesas/sh7785lcr
3662	@echo "#define CONFIG_SH7785LCR 1" > $(obj)include/config.h
3663	@if [ "$(findstring 32bit, $@)" ] ; then \
3664		echo "#define CONFIG_SH_32BIT 1" >> $(obj)include/config.h ; \
3665		echo "TEXT_BASE = 0x8ff80000" > \
3666			$(obj)board/renesas/sh7785lcr/config.tmp ; \
3667		  $(XECHO) " ... enable 32-Bit Address Extended Mode" ; \
3668	fi
3669	@$(MKCONFIG) -a $(call xtract_sh7785lcr,$@) sh sh4 sh7785lcr renesas
3670
3671ap325rxa_config  :   unconfig
3672	@mkdir -p $(obj)include
3673	@echo "#define CONFIG_AP325RXA 1" > $(obj)include/config.h
3674	@$(MKCONFIG) -a $(@:_config=) sh sh4 ap325rxa renesas
3675
3676espt_config  :   unconfig
3677	@mkdir -p $(obj)include
3678	@echo "#define CONFIG_ESPT 1" > $(obj)include/config.h
3679	@$(MKCONFIG) -a $(@:_config=) sh sh4 espt
3680
3681#========================================================================
3682# SPARC
3683#========================================================================
3684
3685#########################################################################
3686## LEON3
3687#########################################################################
3688
3689# Gaisler GR-XC3S-1500 board
3690gr_xc3s_1500_config : unconfig
3691	@$(MKCONFIG) $(@:_config=) sparc leon3 gr_xc3s_1500 gaisler
3692
3693# Gaisler GR-CPCI-AX2000 board, a General purpose FPGA-AX system
3694gr_cpci_ax2000_config : unconfig
3695	@$(MKCONFIG) $(@:_config=) sparc leon3 gr_cpci_ax2000 gaisler
3696
3697# Gaisler GRLIB template design (GPL SPARC/LEON3) for Altera NIOS
3698# Development board Stratix II edition, FPGA Device EP2S60.
3699gr_ep2s60_config: unconfig
3700	@$(MKCONFIG) $(@:_config=) sparc leon3 gr_ep2s60 gaisler
3701
3702# Gaisler LEON3 GRSIM simulator
3703grsim_config : unconfig
3704	@$(MKCONFIG) $(@:_config=) sparc leon3 grsim gaisler
3705
3706#########################################################################
3707## LEON2
3708#########################################################################
3709
3710# Gaisler LEON2 GRSIM simulator
3711grsim_leon2_config : unconfig
3712	@$(MKCONFIG) $(@:_config=) sparc leon2 grsim_leon2 gaisler
3713
3714#########################################################################
3715#########################################################################
3716#########################################################################
3717
3718clean:
3719	@rm -f $(obj)examples/standalone/82559_eeprom			  \
3720	       $(obj)examples/standalone/atmel_df_pow2			  \
3721	       $(obj)examples/standalone/eepro100_eeprom		  \
3722	       $(obj)examples/standalone/hello_world			  \
3723	       $(obj)examples/standalone/interrupt			  \
3724	       $(obj)examples/standalone/mem_to_mem_idma2intr		  \
3725	       $(obj)examples/standalone/sched				  \
3726	       $(obj)examples/standalone/smc91111_eeprom		  \
3727	       $(obj)examples/standalone/test_burst			  \
3728	       $(obj)examples/standalone/timer
3729	@rm -f $(obj)examples/api/demo{,.bin}
3730	@rm -f $(obj)tools/bmp_logo	   $(obj)tools/easylogo/easylogo  \
3731	       $(obj)tools/env/{fw_printenv,fw_setenv}			  \
3732	       $(obj)tools/envcrc					  \
3733	       $(obj)tools/gdb/{astest,gdbcont,gdbsend}			  \
3734	       $(obj)tools/gen_eth_addr    $(obj)tools/img2srec		  \
3735	       $(obj)tools/mkimage	   $(obj)tools/mpc86x_clk	  \
3736	       $(obj)tools/ncb		   $(obj)tools/ubsha1
3737	@rm -f $(obj)board/cray/L1/{bootscript.c,bootscript.image}	  \
3738	       $(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin}	  \
3739	       $(obj)board/trab/trab_fkt   $(obj)board/voiceblue/eeprom   \
3740	       $(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds  \
3741	       $(obj)lib_blackfin/u-boot.lds				  \
3742	       $(obj)u-boot.lds						  \
3743	       $(obj)cpu/blackfin/bootrom-asm-offsets.[chs]
3744	@rm -f $(obj)include/bmp_logo.h
3745	@rm -f $(obj)nand_spl/{u-boot.lds,u-boot-spl,u-boot-spl.map,System.map}
3746	@rm -f $(obj)onenand_ipl/onenand-{ipl,ipl.bin,ipl.map}
3747	@rm -f $(ONENAND_BIN)
3748	@rm -f $(obj)onenand_ipl/u-boot.lds
3749	@rm -f $(TIMESTAMP_FILE) $(VERSION_FILE)
3750	@find $(OBJTREE) -type f \
3751		\( -name 'core' -o -name '*.bak' -o -name '*~' \
3752		-o -name '*.o'	-o -name '*.a' -o -name '*.exe'	\) -print \
3753		| xargs rm -f
3754
3755clobber:	clean
3756	@find $(OBJTREE) -type f \( -name .depend \
3757		-o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \
3758		-print0 \
3759		| xargs -0 rm -f
3760	@rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS \
3761		$(obj)cscope.* $(obj)*.*~
3762	@rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL)
3763	@rm -f $(obj)u-boot.kwb
3764	@rm -f $(obj)tools/{env/crc32.c,inca-swap-bytes}
3765	@rm -f $(obj)cpu/mpc824x/bedbug_603e.c
3766	@rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm
3767	@[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f
3768	@[ ! -d $(obj)onenand_ipl ] || find $(obj)onenand_ipl -name "*" -type l -print | xargs rm -f
3769
3770ifeq ($(OBJTREE),$(SRCTREE))
3771mrproper \
3772distclean:	clobber unconfig
3773else
3774mrproper \
3775distclean:	clobber unconfig
3776	rm -rf $(obj)*
3777endif
3778
3779backup:
3780	F=`basename $(TOPDIR)` ; cd .. ; \
3781	gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
3782
3783#########################################################################
3784