fc7b117e3fe839a5fe688d7db510b8fa7086295a
[platform/kernel/u-boot.git] / Makefile
1 #
2 # (C) Copyright 2000-2006
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
24 VERSION = 1
25 PATCHLEVEL = 1
26 SUBLEVEL = 4
27 EXTRAVERSION =
28 U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
29 VERSION_FILE = $(obj)include/version_autogenerated.h
30
31 HOSTARCH := $(shell uname -m | \
32         sed -e s/i.86/i386/ \
33             -e s/sun4u/sparc64/ \
34             -e s/arm.*/arm/ \
35             -e s/sa110/arm/ \
36             -e s/powerpc/ppc/ \
37             -e s/macppc/ppc/)
38
39 HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
40             sed -e 's/\(cygwin\).*/cygwin/')
41
42 export  HOSTARCH HOSTOS
43
44 # Deal with colliding definitions from tcsh etc.
45 VENDOR=
46
47 #########################################################################
48 #
49 # U-boot build supports producing a object files to the separate external
50 # directory. Two use cases are supported:
51
52 # 1) Add O= to the make command line
53 # 'make O=/tmp/build all'
54 #
55 # 2) Set environement variable BUILD_DIR to point to the desired location
56 # 'export BUILD_DIR=/tmp/build'
57 # 'make'
58 #
59 # The second approach can also be used with a MAKEALL script
60 # 'export BUILD_DIR=/tmp/build'
61 # './MAKEALL'
62
63 # Command line 'O=' setting overrides BUILD_DIR environent variable.
64
65 # When none of the above methods is used the local build is performed and
66 # the object files are placed in the source directory.
67
68
69 ifdef O
70 ifeq ("$(origin O)", "command line")
71 BUILD_DIR := $(O)
72 endif
73 endif
74
75 ifneq ($(BUILD_DIR),)
76 saved-output := $(BUILD_DIR)
77 BUILD_DIR := $(shell cd $(BUILD_DIR) && /bin/pwd)
78 $(if $(BUILD_DIR),,$(error output directory "$(saved-output)" does not exist))
79 endif # ifneq ($(BUILD_DIR),)
80
81 OBJTREE         := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR))
82 SRCTREE         := $(CURDIR)
83 TOPDIR          := $(SRCTREE)
84 LNDIR           := $(OBJTREE)
85 export  TOPDIR SRCTREE OBJTREE
86
87 MKCONFIG        := $(SRCTREE)/mkconfig
88 export MKCONFIG
89
90 ifneq ($(OBJTREE),$(SRCTREE))
91 REMOTE_BUILD    := 1
92 export REMOTE_BUILD
93 endif
94
95 # $(obj) and (src) are defined in config.mk but here in main Makefile
96 # we also need them before config.mk is included which is the case for
97 # some targets like unconfig, clean, clobber, distclean, etc.
98 ifneq ($(OBJTREE),$(SRCTREE))
99 obj := $(OBJTREE)/
100 src := $(SRCTREE)/
101 else
102 obj :=
103 src :=
104 endif   
105 export obj src
106
107 #########################################################################
108
109 ifeq ($(OBJTREE)/include/config.mk,$(wildcard $(OBJTREE)/include/config.mk))
110
111 # load ARCH, BOARD, and CPU configuration
112 include $(OBJTREE)/include/config.mk
113 export  ARCH CPU BOARD VENDOR SOC
114
115 ifndef CROSS_COMPILE
116 ifeq ($(HOSTARCH),ppc)
117 CROSS_COMPILE =
118 else
119 ifeq ($(ARCH),ppc)
120 CROSS_COMPILE = powerpc-linux-
121 endif
122 ifeq ($(ARCH),arm)
123 CROSS_COMPILE = arm-linux-
124 endif
125 ifeq ($(ARCH),i386)
126 ifeq ($(HOSTARCH),i386)
127 CROSS_COMPILE =
128 else
129 CROSS_COMPILE = i386-linux-
130 endif
131 endif
132 ifeq ($(ARCH),mips)
133 CROSS_COMPILE = mips_4KC-
134 endif
135 ifeq ($(ARCH),nios)
136 CROSS_COMPILE = nios-elf-
137 endif
138 ifeq ($(ARCH),nios2)
139 CROSS_COMPILE = nios2-elf-
140 endif
141 ifeq ($(ARCH),m68k)
142 CROSS_COMPILE = m68k-elf-
143 endif
144 ifeq ($(ARCH),microblaze)
145 CROSS_COMPILE = mb-
146 endif
147 ifeq ($(ARCH),blackfin)
148 CROSS_COMPILE = bfin-elf-
149 endif
150 endif
151 endif
152
153 export  CROSS_COMPILE
154
155 # load other configuration
156 include $(TOPDIR)/config.mk
157
158 #########################################################################
159 # U-Boot objects....order is important (i.e. start must be first)
160
161 OBJS  = cpu/$(CPU)/start.o
162 ifeq ($(CPU),i386)
163 OBJS += cpu/$(CPU)/start16.o
164 OBJS += cpu/$(CPU)/reset.o
165 endif
166 ifeq ($(CPU),ppc4xx)
167 OBJS += cpu/$(CPU)/resetvec.o
168 endif
169 ifeq ($(CPU),mpc83xx)
170 OBJS += cpu/$(CPU)/resetvec.o
171 endif
172 ifeq ($(CPU),mpc85xx)
173 OBJS += cpu/$(CPU)/resetvec.o
174 endif
175 ifeq ($(CPU),bf533)
176 OBJS += cpu/$(CPU)/start1.o     cpu/$(CPU)/interrupt.o  cpu/$(CPU)/cache.o
177 OBJS += cpu/$(CPU)/cplbhdlr.o   cpu/$(CPU)/cplbmgr.o    cpu/$(CPU)/flush.o
178 endif
179
180 OBJS := $(addprefix $(obj),$(OBJS))
181
182 LIBS  = lib_generic/libgeneric.a
183 LIBS += board/$(BOARDDIR)/lib$(BOARD).a
184 LIBS += cpu/$(CPU)/lib$(CPU).a
185 ifdef SOC
186 LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).a
187 endif
188 LIBS += lib_$(ARCH)/lib$(ARCH).a
189 LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
190         fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a
191 LIBS += net/libnet.a
192 LIBS += disk/libdisk.a
193 LIBS += rtc/librtc.a
194 LIBS += dtt/libdtt.a
195 LIBS += drivers/libdrivers.a
196 LIBS += drivers/nand/libnand.a
197 LIBS += drivers/nand_legacy/libnand_legacy.a
198 LIBS += drivers/sk98lin/libsk98lin.a
199 LIBS += post/libpost.a post/cpu/libcpu.a
200 LIBS += common/libcommon.a
201 LIBS += $(BOARDLIBS)
202
203 LIBS := $(addprefix $(obj),$(LIBS))
204 .PHONY : $(LIBS)
205
206 # Add GCC lib
207 PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
208
209 # The "tools" are needed early, so put this first
210 # Don't include stuff already done in $(LIBS)
211 SUBDIRS = tools \
212           examples \
213           post \
214           post/cpu
215 .PHONY : $(SUBDIRS)
216
217 __OBJS := $(subst $(obj),,$(OBJS))
218 __LIBS := $(subst $(obj),,$(LIBS))
219
220 #########################################################################
221 #########################################################################
222
223 ALL = $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map
224
225 all:            $(ALL)
226
227 $(obj)u-boot.hex:       $(obj)u-boot
228                 $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@
229
230 $(obj)u-boot.srec:      $(obj)u-boot
231                 $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
232
233 $(obj)u-boot.bin:       $(obj)u-boot
234                 $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
235
236 $(obj)u-boot.img:       $(obj)u-boot.bin
237                 ./tools/mkimage -A $(ARCH) -T firmware -C none \
238                 -a $(TEXT_BASE) -e 0 \
239                 -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \
240                         sed -e 's/"[     ]*$$/ for $(BOARD) board"/') \
241                 -d $< $@
242
243 $(obj)u-boot.dis:       $(obj)u-boot
244                 $(OBJDUMP) -d $< > $@
245
246 $(obj)u-boot:           depend version $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
247                 UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
248                 cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \
249                         --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \
250                         -Map u-boot.map -o u-boot
251
252 $(OBJS):
253                 $(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@))
254
255 $(LIBS):
256                 $(MAKE) -C $(dir $(subst $(obj),,$@))
257
258 $(SUBDIRS):
259                 $(MAKE) -C $@ all
260
261 version:
262                 @echo -n "#define U_BOOT_VERSION \"U-Boot " > $(VERSION_FILE); \
263                 echo -n "$(U_BOOT_VERSION)" >> $(VERSION_FILE); \
264                 echo -n $(shell $(CONFIG_SHELL) $(TOPDIR)/tools/setlocalversion \
265                          $(TOPDIR)) >> $(VERSION_FILE); \
266                 echo "\"" >> $(VERSION_FILE)
267
268 gdbtools:
269                 $(MAKE) -C tools/gdb all || exit 1
270
271 updater:
272                 $(MAKE) -C tools/updater all || exit 1
273
274 env:
275                 $(MAKE) -C tools/env all || exit 1
276
277 depend dep:
278                 for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done
279
280 tags ctags:
281                 ctags -w -o $(OBJTREE)/ctags `find $(SUBDIRS) include \
282                                 lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
283                                 fs/cramfs fs/fat fs/fdos fs/jffs2 \
284                                 net disk rtc dtt drivers drivers/sk98lin common \
285                         \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
286
287 etags:
288                 etags -a -o $(OBJTREE)/etags `find $(SUBDIRS) include \
289                                 lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
290                                 fs/cramfs fs/fat fs/fdos fs/jffs2 \
291                                 net disk rtc dtt drivers drivers/sk98lin common \
292                         \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
293
294 $(obj)System.map:       $(obj)u-boot
295                 @$(NM) $< | \
296                 grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
297                 sort > $(obj)System.map
298
299 #########################################################################
300 else
301 all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \
302 $(obj)u-boot.img $(obj)u-boot.dis $(obj)u-boot \
303 $(SUBDIRS) version gdbtools updater env depend \
304 dep tags ctags etags $(obj)System.map:
305         @echo "System not configured - see README" >&2
306         @ exit 1
307 endif
308
309 #########################################################################
310
311 unconfig:
312         @rm -f $(obj)include/config.h $(obj)include/config.mk $(obj)board/*/config.tmp
313
314 #========================================================================
315 # PowerPC
316 #========================================================================
317
318 #########################################################################
319 ## MPC5xx Systems
320 #########################################################################
321
322 canmb_config:   unconfig
323         @$(MKCONFIG) -a canmb ppc mpc5xxx canmb
324
325 cmi_mpc5xx_config:      unconfig
326         @$(MKCONFIG) $(@:_config=) ppc mpc5xx cmi
327
328 PATI_config:            unconfig
329         @$(MKCONFIG) $(@:_config=) ppc mpc5xx pati mpl
330
331 #########################################################################
332 ## MPC5xxx Systems
333 #########################################################################
334
335 aev_config: unconfig
336         @$(MKCONFIG) -a aev ppc mpc5xxx tqm5200
337
338 BC3450_config:  unconfig
339         @$(MKCONFIG) -a BC3450 ppc mpc5xxx bc3450
340
341 cpci5200_config:  unconfig
342         @$(MKCONFIG) -a cpci5200  ppc mpc5xxx cpci5200 esd
343
344 hmi1001_config:         unconfig
345         @$(MKCONFIG) hmi1001 ppc mpc5xxx hmi1001
346
347 Lite5200_config                         \
348 Lite5200_LOWBOOT_config                 \
349 Lite5200_LOWBOOT08_config               \
350 icecube_5200_config                     \
351 icecube_5200_LOWBOOT_config             \
352 icecube_5200_LOWBOOT08_config           \
353 icecube_5200_DDR_config                 \
354 icecube_5200_DDR_LOWBOOT_config         \
355 icecube_5200_DDR_LOWBOOT08_config       \
356 icecube_5100_config:                    unconfig
357         @mkdir -p $(obj)include
358         @mkdir -p $(obj)board/icecube
359         @ >$(obj)include/config.h
360         @[ -z "$(findstring LOWBOOT_,$@)" ] || \
361                 { if [ "$(findstring DDR,$@)" ] ; \
362                         then echo "TEXT_BASE = 0xFF800000" >$(obj)board/icecube/config.tmp ; \
363                         else echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \
364                   fi ; \
365                   echo "... with LOWBOOT configuration" ; \
366                 }
367         @[ -z "$(findstring LOWBOOT08,$@)" ] || \
368                 { echo "TEXT_BASE = 0xFF800000" >$(obj)board/icecube/config.tmp ; \
369                   echo "... with 8 MB flash only" ; \
370                   echo "... with LOWBOOT configuration" ; \
371                 }
372         @[ -z "$(findstring DDR,$@)" ] || \
373                 { echo "#define CONFIG_MPC5200_DDR"     >>$(obj)include/config.h ; \
374                   echo "... DDR memory revision" ; \
375                 }
376         @[ -z "$(findstring 5200,$@)" ] || \
377                 { echo "#define CONFIG_MPC5200"         >>$(obj)include/config.h ; \
378                   echo "... with MPC5200 processor" ; \
379                 }
380         @[ -z "$(findstring 5100,$@)" ] || \
381                 { echo "#define CONFIG_MGT5100"         >>$(obj)include/config.h ; \
382                   echo "... with MGT5100 processor" ; \
383                 }
384         @$(MKCONFIG) -a IceCube ppc mpc5xxx icecube
385
386 inka4x0_config: unconfig
387         @$(MKCONFIG) inka4x0 ppc mpc5xxx inka4x0
388
389 lite5200b_config        \
390 lite5200b_LOWBOOT_config:       unconfig
391         @mkdir -p $(obj)include
392         @mkdir -p $(obj)board/icecube
393         @ >$(obj)include/config.h
394         @ echo "#define CONFIG_MPC5200_DDR"     >>$(obj)include/config.h
395         @ echo "... DDR memory revision"
396         @ echo "#define CONFIG_MPC5200"         >>$(obj)include/config.h
397         @ echo "#define CONFIG_LITE5200B"       >>$(obj)include/config.h
398         @[ -z "$(findstring LOWBOOT_,$@)" ] || \
399                 { echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \
400                   echo "... with LOWBOOT configuration" ; \
401                 }
402         @ echo "... with MPC5200B processor"
403         @$(MKCONFIG) -a IceCube  ppc mpc5xxx icecube
404
405 mcc200_config   \
406 mcc200_SDRAM_config     \
407 mcc200_highboot_config  \
408 mcc200_COM12_config     \
409 mcc200_COM12_SDRAM_config       \
410 mcc200_COM12_highboot_config    \
411 mcc200_COM12_highboot_SDRAM_config      \
412 mcc200_highboot_SDRAM_config    \
413 prs200_config   \
414 prs200_DDR_config       \
415 prs200_highboot_config  \
416 prs200_highboot_DDR_config:     unconfig
417         @mkdir -p $(obj)include
418         @mkdir -p $(obj)board/mcc200
419         @ >$(obj)include/config.h
420         @[ -n "$(findstring highboot,$@)" ] || \
421                 { echo "... with lowboot configuration" ; \
422                 }
423         @[ -z "$(findstring highboot,$@)" ] || \
424                 { echo "TEXT_BASE = 0xFFF00000" >$(obj)board/mcc200/config.tmp ; \
425                   echo "... with highboot configuration" ; \
426                 }
427         @[ -n "$(findstring _SDRAM,$@)" ] || \
428                 { if [ -n "$(findstring mcc200,$@)" ]; \
429                   then \
430                         echo "... with DDR" ; \
431                   else \
432                         if [ -n "$(findstring _DDR,$@)" ];\
433                         then \
434                                 echo "... with DDR" ; \
435                         else \
436                                 echo "#define CONFIG_MCC200_SDRAM" >>$(obj)include/config.h ;\
437                                 echo "... with SDRAM" ; \
438                         fi; \
439                   fi; \
440                 }
441         @[ -z "$(findstring _SDRAM,$@)" ] || \
442                 { echo "#define CONFIG_MCC200_SDRAM"    >>$(obj)include/config.h ; \
443                   echo "... with SDRAM" ; \
444                 }
445         @[ -z "$(findstring COM12,$@)" ] || \
446                 { echo "#define CONFIG_CONSOLE_COM12"   >>$(obj)include/config.h ; \
447                   echo "... with console on COM12" ; \
448                 }
449         @[ -z "$(findstring prs200,$@)" ] || \
450                 { echo "#define CONFIG_PRS200"  >>$(obj)include/config.h ;\
451                 }
452         @$(MKCONFIG) -n $@ -a mcc200 ppc mpc5xxx mcc200
453
454 o2dnt_config:
455         @$(MKCONFIG) o2dnt ppc mpc5xxx o2dnt
456
457 pf5200_config:  unconfig
458         @$(MKCONFIG) pf5200  ppc mpc5xxx pf5200 esd
459
460 PM520_config \
461 PM520_DDR_config \
462 PM520_ROMBOOT_config \
463 PM520_ROMBOOT_DDR_config:       unconfig
464         @mkdir -p $(obj)include
465         @ >$(obj)include/config.h
466         @[ -z "$(findstring DDR,$@)" ] || \
467                 { echo "#define CONFIG_MPC5200_DDR"     >>$(obj)include/config.h ; \
468                   echo "... DDR memory revision" ; \
469                 }
470         @[ -z "$(findstring ROMBOOT,$@)" ] || \
471                 { echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \
472                   echo "... booting from 8-bit flash" ; \
473                 }
474         @$(MKCONFIG) -a PM520 ppc mpc5xxx pm520
475
476 smmaco4_config: unconfig
477         @$(MKCONFIG) -a smmaco4 ppc mpc5xxx tqm5200
478
479 spieval_config: unconfig
480         @$(MKCONFIG) -a spieval ppc mpc5xxx tqm5200
481
482 TB5200_B_config \
483 TB5200_config:  unconfig
484         @mkdir -p $(obj)include
485         @[ -z "$(findstring _B,$@)" ] || \
486                 { echo "#define CONFIG_TQM5200_B"       >>$(obj)include/config.h ; \
487                   echo "... with MPC5200B processor" ; \
488                 }
489         @$(MKCONFIG) -n $@ -a TB5200 ppc mpc5xxx tqm5200
490
491 MINI5200_config \
492 EVAL5200_config \
493 TOP5200_config: unconfig
494         @mkdir -p $(obj)include
495         @ echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h
496         @$(MKCONFIG) -n $@ -a TOP5200 ppc mpc5xxx top5200 emk
497
498 Total5100_config                \
499 Total5200_config                \
500 Total5200_lowboot_config        \
501 Total5200_Rev2_config           \
502 Total5200_Rev2_lowboot_config:  unconfig
503         @mkdir -p $(obj)include
504         @mkdir -p $(obj)board/total5200
505         @ >$(obj)include/config.h
506         @[ -z "$(findstring 5100,$@)" ] || \
507                 { echo "#define CONFIG_MGT5100"         >>$(obj)include/config.h ; \
508                   echo "... with MGT5100 processor" ; \
509                 }
510         @[ -z "$(findstring 5200,$@)" ] || \
511                 { echo "#define CONFIG_MPC5200"         >>$(obj)include/config.h ; \
512                   echo "... with MPC5200 processor" ; \
513                 }
514         @[ -n "$(findstring Rev,$@)" ] || \
515                 { echo "#define CONFIG_TOTAL5200_REV 1" >>$(obj)include/config.h ; \
516                   echo "... revision 1 board" ; \
517                 }
518         @[ -z "$(findstring Rev2_,$@)" ] || \
519                 { echo "#define CONFIG_TOTAL5200_REV 2" >>$(obj)include/config.h ; \
520                   echo "... revision 2 board" ; \
521                 }
522         @[ -z "$(findstring lowboot_,$@)" ] || \
523                 { echo "TEXT_BASE = 0xFE000000" >$(obj)board/total5200/config.tmp ; \
524                   echo "... with lowboot configuration" ; \
525                 }
526         @$(MKCONFIG) -a Total5200 ppc mpc5xxx total5200
527
528 cam5200_config \
529 fo300_config \
530 MiniFAP_config \
531 TQM5200S_config \
532 TQM5200S_HIGHBOOT_config \
533 TQM5200_B_config \
534 TQM5200_B_HIGHBOOT_config \
535 TQM5200_config  \
536 TQM5200_STK100_config:  unconfig
537         @mkdir -p $(obj)include
538         @mkdir -p $(obj)board/tqm5200
539         @ >$(obj)include/config.h
540         @[ -z "$(findstring cam5200,$@)" ] || \
541                 { echo "#define CONFIG_CAM5200" >>$(obj)include/config.h ; \
542                   echo "#define CONFIG_TQM5200S"        >>$(obj)include/config.h ; \
543                   echo "#define CONFIG_TQM5200_B"       >>$(obj)include/config.h ; \
544                   echo "... TQM5200S on Cam5200" ; \
545                 }
546         @[ -z "$(findstring fo300,$@)" ] || \
547                 { echo "#define CONFIG_FO300"   >>$(obj)include/config.h ; \
548                   echo "... TQM5200 on FO300" ; \
549                 }
550         @[ -z "$(findstring MiniFAP,$@)" ] || \
551                 { echo "#define CONFIG_MINIFAP" >>$(obj)include/config.h ; \
552                   echo "... TQM5200_AC on MiniFAP" ; \
553                 }
554         @[ -z "$(findstring STK100,$@)" ] || \
555                 { echo "#define CONFIG_STK52XX_REV100"  >>$(obj)include/config.h ; \
556                   echo "... on a STK52XX.100 base board" ; \
557                 }
558         @[ -z "$(findstring TQM5200_B,$@)" ] || \
559                 { echo "#define CONFIG_TQM5200_B"       >>$(obj)include/config.h ; \
560                 }
561         @[ -z "$(findstring TQM5200S,$@)" ] || \
562                 { echo "#define CONFIG_TQM5200S"        >>$(obj)include/config.h ; \
563                   echo "#define CONFIG_TQM5200_B"       >>$(obj)include/config.h ; \
564                 }
565         @[ -z "$(findstring HIGHBOOT,$@)" ] || \
566                 { echo "TEXT_BASE = 0xFFF00000" >$(obj)board/tqm5200/config.tmp ; \
567                 }
568         @$(MKCONFIG) -n $@ -a TQM5200 ppc mpc5xxx tqm5200
569
570 #########################################################################
571 ## MPC8xx Systems
572 #########################################################################
573
574 Adder_config    \
575 Adder87x_config \
576 AdderII_config  \
577         :               unconfig
578         @mkdir -p $(obj)include
579         $(if $(findstring AdderII,$@), \
580         @echo "#define CONFIG_MPC852T" > $(obj)include/config.h)
581         @$(MKCONFIG) -a Adder ppc mpc8xx adder
582
583 ADS860_config     \
584 FADS823_config    \
585 FADS850SAR_config \
586 MPC86xADS_config  \
587 MPC885ADS_config  \
588 FADS860T_config:        unconfig
589         @$(MKCONFIG) $(@:_config=) ppc mpc8xx fads
590
591 AMX860_config   :       unconfig
592         @$(MKCONFIG) $(@:_config=) ppc mpc8xx amx860 westel
593
594 c2mon_config:           unconfig
595         @$(MKCONFIG) $(@:_config=) ppc mpc8xx c2mon
596
597 CCM_config:             unconfig
598         @$(MKCONFIG) $(@:_config=) ppc mpc8xx CCM siemens
599
600 cogent_mpc8xx_config:   unconfig
601         @$(MKCONFIG) $(@:_config=) ppc mpc8xx cogent
602
603 ELPT860_config:         unconfig
604         @$(MKCONFIG) $(@:_config=) ppc mpc8xx elpt860 LEOX
605
606 EP88x_config:           unconfig
607         @$(MKCONFIG) $(@:_config=) ppc mpc8xx ep88x
608
609 ESTEEM192E_config:      unconfig
610         @$(MKCONFIG) $(@:_config=) ppc mpc8xx esteem192e
611
612 ETX094_config   :       unconfig
613         @$(MKCONFIG) $(@:_config=) ppc mpc8xx etx094
614
615 FLAGADM_config: unconfig
616         @$(MKCONFIG) $(@:_config=) ppc mpc8xx flagadm
617
618 xtract_GEN860T = $(subst _SC,,$(subst _config,,$1))
619
620 GEN860T_SC_config       \
621 GEN860T_config: unconfig
622         @mkdir -p $(obj)include
623         @ >$(obj)include/config.h
624         @[ -z "$(findstring _SC,$@)" ] || \
625                 { echo "#define CONFIG_SC" >>$(obj)include/config.h ; \
626                   echo "With reduced H/W feature set (SC)..." ; \
627                 }
628         @$(MKCONFIG) -a $(call xtract_GEN860T,$@) ppc mpc8xx gen860t
629
630 GENIETV_config: unconfig
631         @$(MKCONFIG) $(@:_config=) ppc mpc8xx genietv
632
633 GTH_config:     unconfig
634         @$(MKCONFIG) $(@:_config=) ppc mpc8xx gth
635
636 hermes_config   :       unconfig
637         @$(MKCONFIG) $(@:_config=) ppc mpc8xx hermes
638
639 HMI10_config    :       unconfig
640         @$(MKCONFIG) $(@:_config=) ppc mpc8xx tqm8xx
641
642 IAD210_config: unconfig
643         @$(MKCONFIG) $(@:_config=) ppc mpc8xx IAD210 siemens
644
645 xtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1))
646
647 ICU862_100MHz_config    \
648 ICU862_config: unconfig
649         @mkdir -p $(obj)include
650         @ >$(obj)include/config.h
651         @[ -z "$(findstring _100MHz,$@)" ] || \
652                 { echo "#define CONFIG_100MHz"  >>$(obj)include/config.h ; \
653                   echo "... with 100MHz system clock" ; \
654                 }
655         @$(MKCONFIG) -a $(call xtract_ICU862,$@) ppc mpc8xx icu862
656
657 IP860_config    :       unconfig
658         @$(MKCONFIG) $(@:_config=) ppc mpc8xx ip860
659
660 IVML24_256_config \
661 IVML24_128_config \
662 IVML24_config:  unconfig
663         @mkdir -p $(obj)include
664         @ >$(obj)include/config.h
665         @[ -z "$(findstring IVML24_config,$@)" ] || \
666                  { echo "#define CONFIG_IVML24_16M"     >>$(obj)include/config.h ; \
667                  }
668         @[ -z "$(findstring IVML24_128_config,$@)" ] || \
669                  { echo "#define CONFIG_IVML24_32M"     >>$(obj)include/config.h ; \
670                  }
671         @[ -z "$(findstring IVML24_256_config,$@)" ] || \
672                  { echo "#define CONFIG_IVML24_64M"     >>$(obj)include/config.h ; \
673                  }
674         @$(MKCONFIG) -a IVML24 ppc mpc8xx ivm
675
676 IVMS8_256_config \
677 IVMS8_128_config \
678 IVMS8_config:   unconfig
679         @mkdir -p $(obj)include
680         @ >$(obj)include/config.h
681         @[ -z "$(findstring IVMS8_config,$@)" ] || \
682                  { echo "#define CONFIG_IVMS8_16M"      >>$(obj)include/config.h ; \
683                  }
684         @[ -z "$(findstring IVMS8_128_config,$@)" ] || \
685                  { echo "#define CONFIG_IVMS8_32M"      >>$(obj)include/config.h ; \
686                  }
687         @[ -z "$(findstring IVMS8_256_config,$@)" ] || \
688                  { echo "#define CONFIG_IVMS8_64M"      >>$(obj)include/config.h ; \
689                  }
690         @$(MKCONFIG) -a IVMS8 ppc mpc8xx ivm
691
692 KUP4K_config    :       unconfig
693         @$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4k kup
694
695 KUP4X_config    :       unconfig
696         @$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4x kup
697
698 LANTEC_config   :       unconfig
699         @$(MKCONFIG) $(@:_config=) ppc mpc8xx lantec
700
701 lwmon_config:           unconfig
702         @$(MKCONFIG) $(@:_config=) ppc mpc8xx lwmon
703
704 MBX_config      \
705 MBX860T_config: unconfig
706         @$(MKCONFIG) $(@:_config=) ppc mpc8xx mbx8xx
707
708 MHPC_config:            unconfig
709         @$(MKCONFIG) $(@:_config=) ppc mpc8xx mhpc eltec
710
711 MVS1_config :           unconfig
712         @$(MKCONFIG) $(@:_config=) ppc mpc8xx mvs1
713
714 xtract_NETVIA = $(subst _V2,,$(subst _config,,$1))
715
716 NETVIA_V2_config \
717 NETVIA_config:          unconfig
718         @mkdir -p $(obj)include
719         @ >$(obj)include/config.h
720         @[ -z "$(findstring NETVIA_config,$@)" ] || \
721                  { echo "#define CONFIG_NETVIA_VERSION 1" >>$(obj)include/config.h ; \
722                   echo "... Version 1" ; \
723                  }
724         @[ -z "$(findstring NETVIA_V2_config,$@)" ] || \
725                  { echo "#define CONFIG_NETVIA_VERSION 2" >>$(obj)include/config.h ; \
726                   echo "... Version 2" ; \
727                  }
728         @$(MKCONFIG) -a $(call xtract_NETVIA,$@) ppc mpc8xx netvia
729
730 xtract_NETPHONE = $(subst _V2,,$(subst _config,,$1))
731
732 NETPHONE_V2_config \
733 NETPHONE_config:        unconfig
734         @mkdir -p $(obj)include
735         @ >$(obj)include/config.h
736         @[ -z "$(findstring NETPHONE_config,$@)" ] || \
737                  { echo "#define CONFIG_NETPHONE_VERSION 1" >>$(obj)include/config.h ; \
738                  }
739         @[ -z "$(findstring NETPHONE_V2_config,$@)" ] || \
740                  { echo "#define CONFIG_NETPHONE_VERSION 2" >>$(obj)include/config.h ; \
741                  }
742         @$(MKCONFIG) -a $(call xtract_NETPHONE,$@) ppc mpc8xx netphone
743
744 xtract_NETTA = $(subst _SWAPHOOK,,$(subst _6412,,$(subst _ISDN,,$(subst _config,,$1))))
745
746 NETTA_ISDN_6412_SWAPHOOK_config \
747 NETTA_ISDN_SWAPHOOK_config \
748 NETTA_6412_SWAPHOOK_config \
749 NETTA_SWAPHOOK_config \
750 NETTA_ISDN_6412_config \
751 NETTA_ISDN_config \
752 NETTA_6412_config \
753 NETTA_config:           unconfig
754         @mkdir -p $(obj)include
755         @ >$(obj)include/config.h
756         @[ -z "$(findstring ISDN_,$@)" ] || \
757                  { echo "#define CONFIG_NETTA_ISDN 1" >>$(obj)include/config.h ; \
758                  }
759         @[ -n "$(findstring ISDN_,$@)" ] || \
760                  { echo "#undef CONFIG_NETTA_ISDN" >>$(obj)include/config.h ; \
761                  }
762         @[ -z "$(findstring 6412_,$@)" ] || \
763                  { echo "#define CONFIG_NETTA_6412 1" >>$(obj)include/config.h ; \
764                  }
765         @[ -n "$(findstring 6412_,$@)" ] || \
766                  { echo "#undef CONFIG_NETTA_6412" >>$(obj)include/config.h ; \
767                  }
768         @[ -z "$(findstring SWAPHOOK_,$@)" ] || \
769                  { echo "#define CONFIG_NETTA_SWAPHOOK 1" >>$(obj)include/config.h ; \
770                  }
771         @[ -n "$(findstring SWAPHOOK_,$@)" ] || \
772                  { echo "#undef CONFIG_NETTA_SWAPHOOK" >>$(obj)include/config.h ; \
773                  }
774         @$(MKCONFIG) -a $(call xtract_NETTA,$@) ppc mpc8xx netta
775
776 xtract_NETTA2 = $(subst _V2,,$(subst _config,,$1))
777
778 NETTA2_V2_config \
779 NETTA2_config:          unconfig
780         @mkdir -p $(obj)include
781         @ >$(obj)include/config.h
782         @[ -z "$(findstring NETTA2_config,$@)" ] || \
783                  { echo "#define CONFIG_NETTA2_VERSION 1" >>$(obj)include/config.h ; \
784                  }
785         @[ -z "$(findstring NETTA2_V2_config,$@)" ] || \
786                  { echo "#define CONFIG_NETTA2_VERSION 2" >>$(obj)include/config.h ; \
787                  }
788         @$(MKCONFIG) -a $(call xtract_NETTA2,$@) ppc mpc8xx netta2
789
790 NC650_Rev1_config \
791 NC650_Rev2_config \
792 CP850_config:   unconfig
793         @mkdir -p $(obj)include
794         @ >$(obj)include/config.h
795         @[ -z "$(findstring CP850,$@)" ] || \
796                  { echo "#define CONFIG_CP850 1" >>$(obj)include/config.h ; \
797                    echo "#define CONFIG_IDS852_REV2 1" >>$(obj)include/config.h ; \
798                  }
799         @[ -z "$(findstring Rev1,$@)" ] || \
800                  { echo "#define CONFIG_IDS852_REV1 1" >>$(obj)include/config.h ; \
801                  }
802         @[ -z "$(findstring Rev2,$@)" ] || \
803                  { echo "#define CONFIG_IDS852_REV2 1" >>$(obj)include/config.h ; \
804                  }
805         @$(MKCONFIG) -a NC650 ppc mpc8xx nc650
806
807 NX823_config:           unconfig
808         @$(MKCONFIG) $(@:_config=) ppc mpc8xx nx823
809
810 pcu_e_config:           unconfig
811         @$(MKCONFIG) $(@:_config=) ppc mpc8xx pcu_e siemens
812
813 QS850_config:   unconfig
814         @$(MKCONFIG) $(@:_config=) ppc mpc8xx qs850 snmc
815
816 QS823_config:   unconfig
817         @$(MKCONFIG) $(@:_config=) ppc mpc8xx qs850 snmc
818
819 QS860T_config:  unconfig
820         @$(MKCONFIG) $(@:_config=) ppc mpc8xx qs860t snmc
821
822 quantum_config: unconfig
823         @$(MKCONFIG) $(@:_config=) ppc mpc8xx quantum
824
825 R360MPI_config: unconfig
826         @$(MKCONFIG) $(@:_config=) ppc mpc8xx r360mpi
827
828 RBC823_config:  unconfig
829         @$(MKCONFIG) $(@:_config=) ppc mpc8xx rbc823
830
831 RPXClassic_config:      unconfig
832         @$(MKCONFIG) $(@:_config=) ppc mpc8xx RPXClassic
833
834 RPXlite_config:         unconfig
835         @$(MKCONFIG) $(@:_config=) ppc mpc8xx RPXlite
836
837 RPXlite_DW_64_config            \
838 RPXlite_DW_LCD_config           \
839 RPXlite_DW_64_LCD_config        \
840 RPXlite_DW_NVRAM_config         \
841 RPXlite_DW_NVRAM_64_config      \
842 RPXlite_DW_NVRAM_LCD_config     \
843 RPXlite_DW_NVRAM_64_LCD_config  \
844 RPXlite_DW_config:         unconfig
845         @mkdir -p $(obj)include
846         @ >$(obj)include/config.h
847         @[ -z "$(findstring _64,$@)" ] || \
848                 { echo "#define RPXlite_64MHz"          >>$(obj)include/config.h ; \
849                   echo "... with 64MHz system clock ..."; \
850                 }
851         @[ -z "$(findstring _LCD,$@)" ] || \
852                 { echo "#define CONFIG_LCD"             >>$(obj)include/config.h ; \
853                   echo "#define CONFIG_NEC_NL6448BC20"  >>$(obj)include/config.h ; \
854                   echo "... with LCD display ..."; \
855                 }
856         @[ -z "$(findstring _NVRAM,$@)" ] || \
857                 { echo "#define  CFG_ENV_IS_IN_NVRAM"   >>$(obj)include/config.h ; \
858                   echo "... with ENV in NVRAM ..."; \
859                 }
860         @$(MKCONFIG) -a RPXlite_DW ppc mpc8xx RPXlite_dw
861
862 rmu_config:     unconfig
863         @$(MKCONFIG) $(@:_config=) ppc mpc8xx rmu
864
865 RRvision_config:        unconfig
866         @$(MKCONFIG) $(@:_config=) ppc mpc8xx RRvision
867
868 RRvision_LCD_config:    unconfig
869         @mkdir -p $(obj)include
870         @echo "#define CONFIG_LCD" >$(obj)include/config.h
871         @echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h
872         @$(MKCONFIG) -a RRvision ppc mpc8xx RRvision
873
874 SM850_config    :       unconfig
875         @$(MKCONFIG) $(@:_config=) ppc mpc8xx tqm8xx
876
877 spc1920_config:
878         @$(MKCONFIG) $(@:_config=) ppc mpc8xx spc1920
879
880 SPD823TS_config:        unconfig
881         @$(MKCONFIG) $(@:_config=) ppc mpc8xx spd8xx
882
883 stxxtc_config:  unconfig
884         @$(MKCONFIG) $(@:_config=) ppc mpc8xx stxxtc
885
886 svm_sc8xx_config:       unconfig
887         @$(MKCONFIG) $(@:_config=) ppc mpc8xx svm_sc8xx
888
889 SXNI855T_config:        unconfig
890         @$(MKCONFIG) $(@:_config=) ppc mpc8xx sixnet
891
892 # EMK MPC8xx based modules
893 TOP860_config:          unconfig
894         @$(MKCONFIG) $(@:_config=) ppc mpc8xx top860 emk
895
896 # Play some tricks for configuration selection
897 # Only 855 and 860 boards may come with FEC
898 # and only 823 boards may have LCD support
899 xtract_8xx = $(subst _LCD,,$(subst _config,,$1))
900
901 FPS850L_config          \
902 FPS860L_config          \
903 NSCU_config             \
904 TQM823L_config          \
905 TQM823L_LCD_config      \
906 TQM850L_config          \
907 TQM855L_config          \
908 TQM860L_config          \
909 TQM862L_config          \
910 TQM823M_config          \
911 TQM850M_config          \
912 TQM855M_config          \
913 TQM860M_config          \
914 TQM862M_config          \
915 TQM866M_config          \
916 TQM885D_config          \
917 virtlab2_config:        unconfig
918         @mkdir -p $(obj)include
919         @ >$(obj)include/config.h
920         @[ -z "$(findstring _LCD,$@)" ] || \
921                 { echo "#define CONFIG_LCD"             >>$(obj)include/config.h ; \
922                   echo "#define CONFIG_NEC_NL6448BC20"  >>$(obj)include/config.h ; \
923                   echo "... with LCD display" ; \
924                 }
925         @$(MKCONFIG) -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
926
927 TTTech_config:  unconfig
928         @mkdir -p $(obj)include
929         @echo "#define CONFIG_LCD" >$(obj)include/config.h
930         @echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h
931         @$(MKCONFIG) -a TQM823L ppc mpc8xx tqm8xx
932
933 uc100_config    :       unconfig
934         @$(MKCONFIG) $(@:_config=) ppc mpc8xx uc100
935
936 v37_config:     unconfig
937         @mkdir -p $(obj)include
938         @echo "#define CONFIG_LCD" >$(obj)include/config.h
939         @echo "#define CONFIG_SHARP_LQ084V1DG21" >>$(obj)include/config.h
940         @$(MKCONFIG) $(@:_config=) ppc mpc8xx v37
941
942 wtk_config:     unconfig
943         @mkdir -p $(obj)include
944         @echo "#define CONFIG_LCD" >$(obj)include/config.h
945         @echo "#define CONFIG_SHARP_LQ065T9DR51U" >>$(obj)include/config.h
946         @$(MKCONFIG) -a TQM823L ppc mpc8xx tqm8xx
947
948 #########################################################################
949 ## PPC4xx Systems
950 #########################################################################
951 xtract_4xx = $(subst _25,,$(subst _33,,$(subst _BA,,$(subst _ME,,$(subst _HI,,$(subst _config,,$1))))))
952
953 ADCIOP_config:  unconfig
954         @$(MKCONFIG) $(@:_config=) ppc ppc4xx adciop esd
955
956 AP1000_config:unconfig
957         @$(MKCONFIG) $(@:_config=) ppc ppc4xx ap1000 amirix
958
959 APC405_config:  unconfig
960         @$(MKCONFIG) $(@:_config=) ppc ppc4xx apc405 esd
961
962 AR405_config:   unconfig
963         @$(MKCONFIG) $(@:_config=) ppc ppc4xx ar405 esd
964
965 ASH405_config:  unconfig
966         @$(MKCONFIG) $(@:_config=) ppc ppc4xx ash405 esd
967
968 bamboo_config:  unconfig
969         @$(MKCONFIG) $(@:_config=) ppc ppc4xx bamboo amcc
970
971 bubinga_config: unconfig
972         @$(MKCONFIG) $(@:_config=) ppc ppc4xx bubinga amcc
973
974 CANBT_config:   unconfig
975         @$(MKCONFIG) $(@:_config=) ppc ppc4xx canbt esd
976
977 CATcenter_config        \
978 CATcenter_25_config     \
979 CATcenter_33_config:    unconfig
980         @mkdir -p $(obj)include
981         @ echo "/* CATcenter uses PPChameleon Model ME */"  > $(obj)include/config.h
982         @ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >> $(obj)include/config.h
983         @[ -z "$(findstring _25,$@)" ] || \
984                 { echo "#define CONFIG_PPCHAMELEON_CLK_25" >> $(obj)include/config.h ; \
985                   echo "SysClk = 25MHz" ; \
986                 }
987         @[ -z "$(findstring _33,$@)" ] || \
988                 { echo "#define CONFIG_PPCHAMELEON_CLK_33" >> $(obj)include/config.h ; \
989                   echo "SysClk = 33MHz" ; \
990                 }
991         @$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
992
993 CPCI2DP_config: unconfig
994         @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci2dp esd
995
996 CPCI405_config  \
997 CPCI4052_config \
998 CPCI405DT_config        \
999 CPCI405AB_config:       unconfig
1000         @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci405 esd
1001         @echo "BOARD_REVISION = $(@:_config=)"  >> $(obj)include/config.mk
1002
1003 CPCI440_config: unconfig
1004         @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci440 esd
1005
1006 CPCIISER4_config:       unconfig
1007         @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpciiser4 esd
1008
1009 CRAYL1_config:  unconfig
1010         @$(MKCONFIG) $(@:_config=) ppc ppc4xx L1 cray
1011
1012 csb272_config:  unconfig
1013         @$(MKCONFIG) $(@:_config=) ppc ppc4xx csb272
1014
1015 csb472_config:  unconfig
1016         @$(MKCONFIG) $(@:_config=) ppc ppc4xx csb472
1017
1018 DASA_SIM_config: unconfig
1019         @$(MKCONFIG) $(@:_config=) ppc ppc4xx dasa_sim esd
1020
1021 DP405_config:   unconfig
1022         @$(MKCONFIG) $(@:_config=) ppc ppc4xx dp405 esd
1023
1024 DU405_config:   unconfig
1025         @$(MKCONFIG) $(@:_config=) ppc ppc4xx du405 esd
1026
1027 ebony_config:   unconfig
1028         @$(MKCONFIG) $(@:_config=) ppc ppc4xx ebony amcc
1029
1030 ERIC_config:    unconfig
1031         @$(MKCONFIG) $(@:_config=) ppc ppc4xx eric
1032
1033 EXBITGEN_config:        unconfig
1034         @$(MKCONFIG) $(@:_config=) ppc ppc4xx exbitgen
1035
1036 G2000_config:   unconfig
1037         @$(MKCONFIG) $(@:_config=) ppc ppc4xx g2000
1038
1039 HH405_config:   unconfig
1040         @$(MKCONFIG) $(@:_config=) ppc ppc4xx hh405 esd
1041
1042 HUB405_config:  unconfig
1043         @$(MKCONFIG) $(@:_config=) ppc ppc4xx hub405 esd
1044
1045 JSE_config:     unconfig
1046         @$(MKCONFIG) $(@:_config=) ppc ppc4xx jse
1047
1048 KAREF_config: unconfig
1049         @$(MKCONFIG) $(@:_config=) ppc ppc4xx karef sandburst
1050
1051 luan_config:    unconfig
1052         @$(MKCONFIG) $(@:_config=) ppc ppc4xx luan amcc
1053
1054 METROBOX_config: unconfig
1055         @$(MKCONFIG) $(@:_config=) ppc ppc4xx metrobox sandburst
1056
1057 MIP405_config:  unconfig
1058         @$(MKCONFIG) $(@:_config=) ppc ppc4xx mip405 mpl
1059
1060 MIP405T_config: unconfig
1061         @mkdir -p $(obj)include
1062         @echo "#define CONFIG_MIP405T" >$(obj)include/config.h
1063         @echo "Enable subset config for MIP405T"
1064         @$(MKCONFIG) -a MIP405 ppc ppc4xx mip405 mpl
1065
1066 ML2_config:     unconfig
1067         @$(MKCONFIG) $(@:_config=) ppc ppc4xx ml2
1068
1069 ml300_config:   unconfig
1070         @$(MKCONFIG) $(@:_config=) ppc ppc4xx ml300 xilinx
1071
1072 ocotea_config:  unconfig
1073         @$(MKCONFIG) $(@:_config=) ppc ppc4xx ocotea amcc
1074
1075 OCRTC_config            \
1076 ORSG_config:    unconfig
1077         @$(MKCONFIG) $(@:_config=) ppc ppc4xx ocrtc esd
1078
1079 p3p440_config:  unconfig
1080         @$(MKCONFIG) $(@:_config=) ppc ppc4xx p3p440 prodrive
1081
1082 PCI405_config:  unconfig
1083         @$(MKCONFIG) $(@:_config=) ppc ppc4xx pci405 esd
1084
1085 pcs440ep_config:        unconfig
1086         @$(MKCONFIG) $(@:_config=) ppc ppc4xx pcs440ep
1087
1088 PIP405_config:  unconfig
1089         @$(MKCONFIG) $(@:_config=) ppc ppc4xx pip405 mpl
1090
1091 PLU405_config:  unconfig
1092         @$(MKCONFIG) $(@:_config=) ppc ppc4xx plu405 esd
1093
1094 PMC405_config:  unconfig
1095         @$(MKCONFIG) $(@:_config=) ppc ppc4xx pmc405 esd
1096
1097 PPChameleonEVB_config           \
1098 PPChameleonEVB_BA_25_config     \
1099 PPChameleonEVB_ME_25_config     \
1100 PPChameleonEVB_HI_25_config     \
1101 PPChameleonEVB_BA_33_config     \
1102 PPChameleonEVB_ME_33_config     \
1103 PPChameleonEVB_HI_33_config:    unconfig
1104         @mkdir -p $(obj)include
1105         @ >$(obj)include/config.h
1106         @[ -z "$(findstring EVB_BA,$@)" ] || \
1107                 { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>$(obj)include/config.h ; \
1108                   echo "... BASIC model" ; \
1109                 }
1110         @[ -z "$(findstring EVB_ME,$@)" ] || \
1111                 { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>$(obj)include/config.h ; \
1112                   echo "... MEDIUM model" ; \
1113                 }
1114         @[ -z "$(findstring EVB_HI,$@)" ] || \
1115                 { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>$(obj)include/config.h ; \
1116                   echo "... HIGH-END model" ; \
1117                 }
1118         @[ -z "$(findstring _25,$@)" ] || \
1119                 { echo "#define CONFIG_PPCHAMELEON_CLK_25" >>$(obj)include/config.h ; \
1120                   echo "SysClk = 25MHz" ; \
1121                 }
1122         @[ -z "$(findstring _33,$@)" ] || \
1123                 { echo "#define CONFIG_PPCHAMELEON_CLK_33" >>$(obj)include/config.h ; \
1124                   echo "SysClk = 33MHz" ; \
1125                 }
1126         @$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
1127
1128 sbc405_config:  unconfig
1129         @$(MKCONFIG) $(@:_config=) ppc ppc4xx sbc405
1130
1131 sycamore_config:        unconfig
1132         @echo "Configuring for sycamore board as subset of walnut..."
1133         @$(MKCONFIG) -a walnut ppc ppc4xx walnut amcc
1134
1135 VOH405_config:  unconfig
1136         @$(MKCONFIG) $(@:_config=) ppc ppc4xx voh405 esd
1137
1138 VOM405_config:  unconfig
1139         @$(MKCONFIG) $(@:_config=) ppc ppc4xx vom405 esd
1140
1141 CMS700_config:  unconfig
1142         @$(MKCONFIG) $(@:_config=) ppc ppc4xx cms700 esd
1143
1144 W7OLMC_config   \
1145 W7OLMG_config: unconfig
1146         @$(MKCONFIG) $(@:_config=) ppc ppc4xx w7o
1147
1148 walnut_config: unconfig
1149         @$(MKCONFIG) $(@:_config=) ppc ppc4xx walnut amcc
1150
1151 WUH405_config:  unconfig
1152         @$(MKCONFIG) $(@:_config=) ppc ppc4xx wuh405 esd
1153
1154 XPEDITE1K_config:       unconfig
1155         @$(MKCONFIG) $(@:_config=) ppc ppc4xx xpedite1k
1156
1157 yosemite_config:        unconfig
1158         @$(MKCONFIG) $(@:_config=) ppc ppc4xx yosemite amcc
1159
1160 yellowstone_config:     unconfig
1161         @$(MKCONFIG) $(@:_config=) ppc ppc4xx yellowstone amcc
1162
1163 yucca_config:   unconfig
1164         @$(MKCONFIG) $(@:_config=) ppc ppc4xx yucca amcc
1165
1166 #########################################################################
1167 ## MPC8220 Systems
1168 #########################################################################
1169
1170 Alaska8220_config       \
1171 Yukon8220_config:       unconfig
1172         @$(MKCONFIG) $(@:_config=) ppc mpc8220 alaska
1173
1174 sorcery_config:         unconfig
1175         @$(MKCONFIG) $(@:_config=) ppc mpc8220 sorcery
1176
1177 #########################################################################
1178 ## MPC824x Systems
1179 #########################################################################
1180 xtract_82xx = $(subst _BIGFLASH,,$(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1))))))
1181
1182 A3000_config: unconfig
1183         @$(MKCONFIG) $(@:_config=) ppc mpc824x a3000
1184
1185 barco_config: unconfig
1186         @$(MKCONFIG) $(@:_config=) ppc mpc824x barco
1187
1188 BMW_config: unconfig
1189         @$(MKCONFIG) $(@:_config=) ppc mpc824x bmw
1190
1191 CPC45_config    \
1192 CPC45_ROMBOOT_config:   unconfig
1193         @$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc824x cpc45
1194         @cd $(obj)include ;                             \
1195         if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
1196                 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
1197                 echo "... booting from 8-bit flash" ; \
1198         else \
1199                 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
1200                 echo "... booting from 64-bit flash" ; \
1201         fi; \
1202         echo "export CONFIG_BOOT_ROM" >> config.mk;
1203
1204 CU824_config: unconfig
1205         @$(MKCONFIG) $(@:_config=) ppc mpc824x cu824
1206
1207 debris_config: unconfig
1208         @$(MKCONFIG) $(@:_config=) ppc mpc824x debris etin
1209
1210 eXalion_config: unconfig
1211         @$(MKCONFIG) $(@:_config=) ppc mpc824x eXalion
1212
1213 HIDDEN_DRAGON_config: unconfig
1214         @$(MKCONFIG) $(@:_config=) ppc mpc824x hidden_dragon
1215
1216 kvme080_config: unconfig
1217         @$(MKCONFIG) $(@:_config=) ppc mpc824x kvme080 etin
1218
1219 MOUSSE_config: unconfig
1220         @$(MKCONFIG) $(@:_config=) ppc mpc824x mousse
1221
1222 MUSENKI_config: unconfig
1223         @$(MKCONFIG) $(@:_config=) ppc mpc824x musenki
1224
1225 MVBLUE_config:  unconfig
1226         @$(MKCONFIG) $(@:_config=) ppc mpc824x mvblue
1227
1228 OXC_config: unconfig
1229         @$(MKCONFIG) $(@:_config=) ppc mpc824x oxc
1230
1231 PN62_config: unconfig
1232         @$(MKCONFIG) $(@:_config=) ppc mpc824x pn62
1233
1234 Sandpoint8240_config: unconfig
1235         @$(MKCONFIG) $(@:_config=) ppc mpc824x sandpoint
1236
1237 Sandpoint8245_config: unconfig
1238         @$(MKCONFIG) $(@:_config=) ppc mpc824x sandpoint
1239
1240 sbc8240_config: unconfig
1241         @$(MKCONFIG) $(@:_config=) ppc mpc824x sbc8240
1242
1243 SL8245_config: unconfig
1244         @$(MKCONFIG) $(@:_config=) ppc mpc824x sl8245
1245
1246 utx8245_config: unconfig
1247         @$(MKCONFIG) $(@:_config=) ppc mpc824x utx8245
1248
1249 #########################################################################
1250 ## MPC8260 Systems
1251 #########################################################################
1252
1253 atc_config:     unconfig
1254         @$(MKCONFIG) $(@:_config=) ppc mpc8260 atc
1255
1256 cogent_mpc8260_config:  unconfig
1257         @$(MKCONFIG) $(@:_config=) ppc mpc8260 cogent
1258
1259 CPU86_config    \
1260 CPU86_ROMBOOT_config: unconfig
1261         @$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc8260 cpu86
1262         @cd $(obj)include ;                             \
1263         if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
1264                 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
1265                 echo "... booting from 8-bit flash" ; \
1266         else \
1267                 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
1268                 echo "... booting from 64-bit flash" ; \
1269         fi; \
1270         echo "export CONFIG_BOOT_ROM" >> config.mk;
1271
1272 CPU87_config    \
1273 CPU87_ROMBOOT_config: unconfig
1274         @$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc8260 cpu87
1275         @cd $(obj)include ;                             \
1276         if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
1277                 echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
1278                 echo "... booting from 8-bit flash" ; \
1279         else \
1280                 echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
1281                 echo "... booting from 64-bit flash" ; \
1282         fi; \
1283         echo "export CONFIG_BOOT_ROM" >> config.mk;
1284
1285 ep8248_config   \
1286 ep8248E_config  :       unconfig
1287         @$(MKCONFIG) ep8248 ppc mpc8260 ep8248
1288
1289 ep8260_config:  unconfig
1290         @$(MKCONFIG) $(@:_config=) ppc mpc8260 ep8260
1291
1292 gw8260_config:  unconfig
1293         @$(MKCONFIG) $(@:_config=) ppc mpc8260 gw8260
1294
1295 hymod_config:   unconfig
1296         @$(MKCONFIG) $(@:_config=) ppc mpc8260 hymod
1297
1298 IDS8247_config: unconfig
1299         @$(MKCONFIG) $(@:_config=) ppc mpc8260 ids8247
1300
1301 IPHASE4539_config:      unconfig
1302         @$(MKCONFIG) $(@:_config=) ppc mpc8260 iphase4539
1303
1304 ISPAN_config            \
1305 ISPAN_REVB_config:      unconfig
1306         @mkdir -p $(obj)include
1307         @if [ "$(findstring _REVB_,$@)" ] ; then \
1308                 echo "#define CFG_REV_B" > $(obj)include/config.h ; \
1309         fi
1310         @$(MKCONFIG) -a ISPAN ppc mpc8260 ispan
1311
1312 MPC8260ADS_config       \
1313 MPC8260ADS_lowboot_config       \
1314 MPC8260ADS_33MHz_config \
1315 MPC8260ADS_33MHz_lowboot_config \
1316 MPC8260ADS_40MHz_config \
1317 MPC8260ADS_40MHz_lowboot_config \
1318 MPC8272ADS_config       \
1319 MPC8272ADS_lowboot_config       \
1320 PQ2FADS_config          \
1321 PQ2FADS_lowboot_config          \
1322 PQ2FADS-VR_config       \
1323 PQ2FADS-VR_lowboot_config       \
1324 PQ2FADS-ZU_config       \
1325 PQ2FADS-ZU_lowboot_config       \
1326 PQ2FADS-ZU_66MHz_config \
1327 PQ2FADS-ZU_66MHz_lowboot_config \
1328         :               unconfig
1329         @mkdir -p $(obj)include
1330         @mkdir -p $(obj)board/mpc8260ads
1331         $(if $(findstring PQ2FADS,$@), \
1332         @echo "#define CONFIG_ADSTYPE CFG_PQ2FADS" > $(obj)include/config.h, \
1333         @echo "#define CONFIG_ADSTYPE CFG_"$(subst MPC,,$(word 1,$(subst _, ,$@))) > $(obj)include/config.h)
1334         $(if $(findstring MHz,$@), \
1335         @echo "#define CONFIG_8260_CLKIN" $(subst MHz,,$(word 2,$(subst _, ,$@)))"000000" >> $(obj)include/config.h, \
1336         $(if $(findstring VR,$@), \
1337         @echo "#define CONFIG_8260_CLKIN 66000000" >> $(obj)include/config.h))
1338         @[ -z "$(findstring lowboot_,$@)" ] || \
1339                 { echo "TEXT_BASE = 0xFF800000" >$(obj)board/mpc8260ads/config.tmp ; \
1340                   echo "... with lowboot configuration" ; \
1341                 }
1342         @$(MKCONFIG) -a MPC8260ADS ppc mpc8260 mpc8260ads
1343
1344 MPC8266ADS_config:      unconfig
1345         @$(MKCONFIG) $(@:_config=) ppc mpc8260 mpc8266ads
1346
1347 # PM825/PM826 default configuration:  small (= 8 MB) Flash / boot from 64-bit flash
1348 PM825_config    \
1349 PM825_ROMBOOT_config    \
1350 PM825_BIGFLASH_config   \
1351 PM825_ROMBOOT_BIGFLASH_config   \
1352 PM826_config    \
1353 PM826_ROMBOOT_config    \
1354 PM826_BIGFLASH_config   \
1355 PM826_ROMBOOT_BIGFLASH_config:  unconfig
1356         @mkdir -p $(obj)include
1357         @mkdir -p $(obj)board/pm826
1358         @if [ "$(findstring PM825_,$@)" ] ; then \
1359                 echo "#define CONFIG_PCI"       >$(obj)include/config.h ; \
1360         else \
1361                 >$(obj)include/config.h ; \
1362         fi
1363         @if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
1364                 echo "... booting from 8-bit flash" ; \
1365                 echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \
1366                 echo "TEXT_BASE = 0xFF800000" >$(obj)board/pm826/config.tmp ; \
1367                 if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
1368                         echo "... with 32 MB Flash" ; \
1369                         echo "#define CONFIG_FLASH_32MB" >>$(obj)include/config.h ; \
1370                 fi; \
1371         else \
1372                 echo "... booting from 64-bit flash" ; \
1373                 if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
1374                         echo "... with 32 MB Flash" ; \
1375                         echo "#define CONFIG_FLASH_32MB" >>$(obj)include/config.h ; \
1376                         echo "TEXT_BASE = 0x40000000" >$(obj)board/pm826/config.tmp ; \
1377                 else \
1378                         echo "TEXT_BASE = 0xFF000000" >$(obj)board/pm826/config.tmp ; \
1379                 fi; \
1380         fi
1381         @$(MKCONFIG) -a PM826 ppc mpc8260 pm826
1382
1383 PM828_config    \
1384 PM828_PCI_config        \
1385 PM828_ROMBOOT_config    \
1386 PM828_ROMBOOT_PCI_config:       unconfig
1387         @mkdir -p $(obj)include
1388         @mkdir -p $(obj)board/pm826
1389         @if [ "$(findstring _PCI_,$@)" ] ; then \
1390                 echo "#define CONFIG_PCI"  >>$(obj)include/config.h ; \
1391                 echo "... with PCI enabled" ; \
1392         else \
1393                 >$(obj)include/config.h ; \
1394         fi
1395         @if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
1396                 echo "... booting from 8-bit flash" ; \
1397                 echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \
1398                 echo "TEXT_BASE = 0xFF800000" >$(obj)board/pm826/config.tmp ; \
1399         fi
1400         @$(MKCONFIG) -a PM828 ppc mpc8260 pm828
1401
1402 ppmc8260_config:        unconfig
1403         @$(MKCONFIG) $(@:_config=) ppc mpc8260 ppmc8260
1404
1405 Rattler8248_config      \
1406 Rattler_config:         unconfig
1407         @mkdir -p $(obj)include
1408         $(if $(findstring 8248,$@), \
1409         @echo "#define CONFIG_MPC8248" > $(obj)include/config.h)
1410         @$(MKCONFIG) -a Rattler ppc mpc8260 rattler
1411
1412 RPXsuper_config:        unconfig
1413         @$(MKCONFIG) $(@:_config=) ppc mpc8260 rpxsuper
1414
1415 rsdproto_config:        unconfig
1416         @$(MKCONFIG) $(@:_config=) ppc mpc8260 rsdproto
1417
1418 sacsng_config:  unconfig
1419         @$(MKCONFIG) $(@:_config=) ppc mpc8260 sacsng
1420
1421 sbc8260_config: unconfig
1422         @$(MKCONFIG) $(@:_config=) ppc mpc8260 sbc8260
1423
1424 SCM_config:             unconfig
1425         @$(MKCONFIG) $(@:_config=) ppc mpc8260 SCM siemens
1426
1427 TQM8255_AA_config \
1428 TQM8260_AA_config \
1429 TQM8260_AB_config \
1430 TQM8260_AC_config \
1431 TQM8260_AD_config \
1432 TQM8260_AE_config \
1433 TQM8260_AF_config \
1434 TQM8260_AG_config \
1435 TQM8260_AH_config \
1436 TQM8260_AI_config \
1437 TQM8265_AA_config:  unconfig
1438         @mkdir -p $(obj)include
1439         @case "$@" in \
1440         TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no;  BMODE=8260;;  \
1441         TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no;  BMODE=8260;; \
1442         TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;;  \
1443         TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;;  \
1444         TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=60x;;  \
1445         TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no;  BMODE=8260;; \
1446         TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=60x;;  \
1447         TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=8260;; \
1448         TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes; BMODE=60x;;  \
1449         TQM8260_AI_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=60x;;  \
1450         TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no;  BMODE=60x;;  \
1451         esac; \
1452         >$(obj)include/config.h ; \
1453         if [ "$${CTYPE}" != "MPC8260" ] ; then \
1454                 echo "#define CONFIG_$${CTYPE}" >>$(obj)include/config.h ; \
1455         fi; \
1456         echo "#define CONFIG_$${CFREQ}MHz"      >>$(obj)include/config.h ; \
1457         echo "... with $${CFREQ}MHz system clock" ; \
1458         if [ "$${CACHE}" == "yes" ] ; then \
1459                 echo "#define CONFIG_L2_CACHE"  >>$(obj)include/config.h ; \
1460                 echo "... with L2 Cache support" ; \
1461         else \
1462                 echo "#undef CONFIG_L2_CACHE"   >>$(obj)include/config.h ; \
1463                 echo "... without L2 Cache support" ; \
1464         fi; \
1465         if [ "$${BMODE}" == "60x" ] ; then \
1466                 echo "#define CONFIG_BUSMODE_60x" >>$(obj)include/config.h ; \
1467                 echo "... with 60x Bus Mode" ; \
1468         else \
1469                 echo "#undef CONFIG_BUSMODE_60x"  >>$(obj)include/config.h ; \
1470                 echo "... without 60x Bus Mode" ; \
1471         fi
1472         @$(MKCONFIG) -a TQM8260 ppc mpc8260 tqm8260
1473
1474 VoVPN-GW_66MHz_config   \
1475 VoVPN-GW_100MHz_config:         unconfig
1476         @mkdir -p $(obj)include
1477         @echo "#define CONFIG_CLKIN_$(word 2,$(subst _, ,$@))" > $(obj)include/config.h
1478         @$(MKCONFIG) -a VoVPN-GW ppc mpc8260 vovpn-gw funkwerk
1479
1480 ZPC1900_config: unconfig
1481         @$(MKCONFIG) $(@:_config=) ppc mpc8260 zpc1900
1482
1483 #########################################################################
1484 ## Coldfire
1485 #########################################################################
1486
1487 cobra5272_config :              unconfig
1488         @$(MKCONFIG) $(@:_config=) m68k mcf52x2 cobra5272
1489
1490 EB+MCF-EV123_config :           unconfig
1491         @mkdir -p $(obj)include
1492         @mkdir -p $(obj)board/BuS/EB+MCF-EV123
1493         @ >$(obj)include/config.h
1494         @echo "TEXT_BASE = 0xFFE00000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk
1495         @$(MKCONFIG) EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS
1496
1497 EB+MCF-EV123_internal_config :  unconfig
1498         @mkdir -p $(obj)include
1499         @mkdir -p $(obj)board/BuS/EB+MCF-EV123
1500         @ >$(obj)include/config.h
1501         @echo "TEXT_BASE = 0xF0000000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk
1502         @$(MKCONFIG) EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS
1503
1504 M5271EVB_config :               unconfig
1505         @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5271evb
1506
1507 M5272C3_config :                unconfig
1508         @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5272c3
1509
1510 M5282EVB_config :               unconfig
1511         @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5282evb
1512
1513 TASREG_config :         unconfig
1514         @$(MKCONFIG) $(@:_config=) m68k mcf52x2 tasreg esd
1515
1516 r5200_config :          unconfig
1517         @$(MKCONFIG) $(@:_config=) m68k mcf52x2 r5200
1518
1519 #########################################################################
1520 ## MPC83xx Systems
1521 #########################################################################
1522
1523 MPC8349ADS_config:      unconfig
1524         @$(MKCONFIG) $(@:_config=) ppc mpc83xx mpc8349ads
1525
1526 TQM834x_config: unconfig
1527         @$(MKCONFIG) $(@:_config=) ppc mpc83xx tqm834x
1528
1529 MPC8349EMDS_config:     unconfig
1530         @$(MKCONFIG) $(@:_config=) ppc mpc83xx mpc8349emds
1531
1532 #########################################################################
1533 ## MPC85xx Systems
1534 #########################################################################
1535
1536 MPC8540ADS_config:      unconfig
1537         @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8540ads
1538
1539 MPC8540EVAL_config \
1540 MPC8540EVAL_33_config \
1541 MPC8540EVAL_66_config \
1542 MPC8540EVAL_33_slave_config \
1543 MPC8540EVAL_66_slave_config:      unconfig
1544         @mkdir -p $(obj)include
1545         @echo "" >$(obj)include/config.h ; \
1546         if [ "$(findstring _33_,$@)" ] ; then \
1547                 echo -n "... 33 MHz PCI" ; \
1548         else \
1549                 echo "#define CONFIG_SYSCLK_66M" >>$(obj)include/config.h ; \
1550                 echo -n "... 66 MHz PCI" ; \
1551         fi ; \
1552         if [ "$(findstring _slave_,$@)" ] ; then \
1553                 echo "#define CONFIG_PCI_SLAVE" >>$(obj)include/config.h ; \
1554                 echo " slave" ; \
1555         else \
1556                 echo " host" ; \
1557         fi
1558         @$(MKCONFIG) -a MPC8540EVAL ppc mpc85xx mpc8540eval
1559
1560 MPC8560ADS_config:      unconfig
1561         @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8560ads
1562
1563 MPC8541CDS_config:      unconfig
1564         @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8541cds cds
1565
1566 MPC8548CDS_config:      unconfig
1567         @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8548cds cds
1568
1569 MPC8555CDS_config:      unconfig
1570         @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8555cds cds
1571
1572 PM854_config:   unconfig
1573         @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm854
1574
1575 PM856_config:   unconfig
1576         @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm856
1577
1578 sbc8540_config \
1579 sbc8540_33_config \
1580 sbc8540_66_config:      unconfig
1581         @mkdir -p $(obj)include
1582         @if [ "$(findstring _66_,$@)" ] ; then \
1583                 echo "#define CONFIG_PCI_66"    >>$(obj)include/config.h ; \
1584                 echo "... 66 MHz PCI" ; \
1585         else \
1586                 >$(obj)include/config.h ; \
1587                 echo "... 33 MHz PCI" ; \
1588         fi
1589         @$(MKCONFIG) -a SBC8540 ppc mpc85xx sbc8560
1590
1591 sbc8560_config \
1592 sbc8560_33_config \
1593 sbc8560_66_config:      unconfig
1594         @mkdir -p $(obj)include
1595         @if [ "$(findstring _66_,$@)" ] ; then \
1596                 echo "#define CONFIG_PCI_66"    >>$(obj)include/config.h ; \
1597                 echo "... 66 MHz PCI" ; \
1598         else \
1599                 >$(obj)include/config.h ; \
1600                 echo "... 33 MHz PCI" ; \
1601         fi
1602         @$(MKCONFIG) -a sbc8560 ppc mpc85xx sbc8560
1603
1604 stxgp3_config:          unconfig
1605         @$(MKCONFIG) $(@:_config=) ppc mpc85xx stxgp3
1606
1607 TQM8540_config          \
1608 TQM8541_config          \
1609 TQM8555_config          \
1610 TQM8560_config:         unconfig
1611         @mkdir -p $(obj)include
1612         @CTYPE=$(subst TQM,,$(@:_config=)); \
1613         >$(obj)include/config.h ; \
1614         echo "... TQM"$${CTYPE}; \
1615         echo "#define CONFIG_MPC$${CTYPE}">>$(obj)include/config.h; \
1616         echo "#define CONFIG_TQM$${CTYPE}">>$(obj)include/config.h; \
1617         echo "#define CONFIG_HOSTNAME tqm$${CTYPE}">>$(obj)include/config.h; \
1618         echo "#define CONFIG_BOARDNAME \"TQM$${CTYPE}\"">>$(obj)include/config.h; \
1619         echo "#define CFG_BOOTFILE \"bootfile=/tftpboot/tqm$${CTYPE}/uImage\0\"">>$(obj)include/config.h
1620         @$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx
1621
1622 #########################################################################
1623 ## 74xx/7xx Systems
1624 #########################################################################
1625
1626 AmigaOneG3SE_config:    unconfig
1627         @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI
1628
1629 BAB7xx_config: unconfig
1630         @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx bab7xx eltec
1631
1632 CPCI750_config:        unconfig
1633         @$(MKCONFIG) CPCI750 ppc 74xx_7xx cpci750 esd
1634
1635 DB64360_config:  unconfig
1636         @$(MKCONFIG) DB64360 ppc 74xx_7xx db64360 Marvell
1637
1638 DB64460_config:  unconfig
1639         @$(MKCONFIG) DB64460 ppc 74xx_7xx db64460 Marvell
1640
1641 ELPPC_config: unconfig
1642         @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx elppc eltec
1643
1644 EVB64260_config \
1645 EVB64260_750CX_config:  unconfig
1646         @$(MKCONFIG) EVB64260 ppc 74xx_7xx evb64260
1647
1648 P3G4_config: unconfig
1649         @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx evb64260
1650
1651 PCIPPC2_config \
1652 PCIPPC6_config: unconfig
1653         @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx pcippc2
1654
1655 ZUMA_config:    unconfig
1656         @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx evb64260
1657
1658 ppmc7xx_config: unconfig
1659         @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx ppmc7xx
1660
1661 #========================================================================
1662 # ARM
1663 #========================================================================
1664 #########################################################################
1665 ## StrongARM Systems
1666 #########################################################################
1667
1668 assabet_config  :       unconfig
1669         @$(MKCONFIG) $(@:_config=) arm sa1100 assabet
1670
1671 dnp1110_config  :       unconfig
1672         @$(MKCONFIG) $(@:_config=) arm sa1100 dnp1110
1673
1674 gcplus_config   :       unconfig
1675         @$(MKCONFIG) $(@:_config=) arm sa1100 gcplus
1676
1677 lart_config     :       unconfig
1678         @$(MKCONFIG) $(@:_config=) arm sa1100 lart
1679
1680 shannon_config  :       unconfig
1681         @$(MKCONFIG) $(@:_config=) arm sa1100 shannon
1682
1683 #########################################################################
1684 ## ARM92xT Systems
1685 #########################################################################
1686
1687 xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
1688
1689 xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1))))
1690
1691 xtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
1692
1693 at91rm9200dk_config     :       unconfig
1694         @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk NULL at91rm9200
1695
1696 cmc_pu2_config  :       unconfig
1697         @$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200
1698
1699 csb637_config   :       unconfig
1700         @$(MKCONFIG) $(@:_config=) arm arm920t csb637 NULL at91rm9200
1701
1702 mp2usb_config   :       unconfig
1703         @$(MKCONFIG) $(@:_config=) arm arm920t mp2usb NULL at91rm9200
1704
1705
1706 ########################################################################
1707 ## ARM Integrator boards - see doc/README-integrator for more info.
1708 integratorap_config     \
1709 ap_config               \
1710 ap966_config            \
1711 ap922_config            \
1712 ap922_XA10_config       \
1713 ap7_config              \
1714 ap720t_config           \
1715 ap920t_config           \
1716 ap926ejs_config         \
1717 ap946es_config: unconfig
1718         @board/integratorap/split_by_variant.sh $@
1719
1720 integratorcp_config     \
1721 cp_config               \
1722 cp920t_config           \
1723 cp926ejs_config         \
1724 cp946es_config          \
1725 cp1136_config           \
1726 cp966_config            \
1727 cp922_config            \
1728 cp922_XA10_config       \
1729 cp1026_config: unconfig
1730         @board/integratorcp/split_by_variant.sh $@
1731
1732 kb9202_config   :       unconfig
1733         @$(MKCONFIG) $(@:_config=) arm arm920t kb9202 NULL at91rm9200
1734
1735 lpd7a400_config \
1736 lpd7a404_config:        unconfig
1737         @$(MKCONFIG) $(@:_config=) arm lh7a40x lpd7a40x
1738
1739 mx1ads_config   :       unconfig
1740         @$(MKCONFIG) $(@:_config=) arm arm920t mx1ads NULL imx
1741
1742 mx1fs2_config   :       unconfig
1743         @$(MKCONFIG) $(@:_config=) arm arm920t mx1fs2 NULL imx
1744
1745 netstar_32_config       \
1746 netstar_config:         unconfig
1747         @mkdir -p $(obj)include
1748         @if [ "$(findstring _32_,$@)" ] ; then \
1749                 echo "... 32MB SDRAM" ; \
1750                 echo "#define PHYS_SDRAM_1_SIZE SZ_32M" >>$(obj)include/config.h ; \
1751         else \
1752                 echo "... 64MB SDRAM" ; \
1753                 echo "#define PHYS_SDRAM_1_SIZE SZ_64M" >>$(obj)include/config.h ; \
1754         fi
1755         @$(MKCONFIG) -a netstar arm arm925t netstar
1756
1757 omap1510inn_config :    unconfig
1758         @$(MKCONFIG) $(@:_config=) arm arm925t omap1510inn
1759
1760 omap5912osk_config :    unconfig
1761         @$(MKCONFIG) $(@:_config=) arm arm926ejs omap5912osk NULL omap
1762
1763 omap1610inn_config \
1764 omap1610inn_cs0boot_config \
1765 omap1610inn_cs3boot_config \
1766 omap1610inn_cs_autoboot_config \
1767 omap1610h2_config \
1768 omap1610h2_cs0boot_config \
1769 omap1610h2_cs3boot_config \
1770 omap1610h2_cs_autoboot_config:  unconfig
1771         @mkdir -p $(obj)include
1772         @if [ "$(findstring _cs0boot_, $@)" ] ; then \
1773                 echo "#define CONFIG_CS0_BOOT" >> .$(obj)/include/config.h ; \
1774                 echo "... configured for CS0 boot"; \
1775         elif [ "$(findstring _cs_autoboot_, $@)" ] ; then \
1776                 echo "#define CONFIG_CS_AUTOBOOT" >> $(obj)./include/config.h ; \
1777                 echo "... configured for CS_AUTO boot"; \
1778         else \
1779                 echo "#define CONFIG_CS3_BOOT" >> $(obj)./include/config.h ; \
1780                 echo "... configured for CS3 boot"; \
1781         fi;
1782         @$(MKCONFIG) -a $(call xtract_omap1610xxx,$@) arm arm926ejs omap1610inn NULL omap
1783
1784 omap730p2_config \
1785 omap730p2_cs0boot_config \
1786 omap730p2_cs3boot_config :      unconfig
1787         @mkdir -p $(obj)include
1788         @if [ "$(findstring _cs0boot_, $@)" ] ; then \
1789                 echo "#define CONFIG_CS0_BOOT" >> $(obj)include/config.h ; \
1790                 echo "... configured for CS0 boot"; \
1791         else \
1792                 echo "#define CONFIG_CS3_BOOT" >> $(obj)include/config.h ; \
1793                 echo "... configured for CS3 boot"; \
1794         fi;
1795         @$(MKCONFIG) -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2 NULL omap
1796
1797 sbc2410x_config: unconfig
1798         @$(MKCONFIG) $(@:_config=) arm arm920t sbc2410x NULL s3c24x0
1799
1800 scb9328_config  :       unconfig
1801         @$(MKCONFIG) $(@:_config=) arm arm920t scb9328 NULL imx
1802
1803 smdk2400_config :       unconfig
1804         @$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 NULL s3c24x0
1805
1806 smdk2410_config :       unconfig
1807         @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
1808
1809 SX1_config :            unconfig
1810         @$(MKCONFIG) $(@:_config=) arm arm925t sx1
1811
1812 # TRAB default configuration:   8 MB Flash, 32 MB RAM
1813 trab_config \
1814 trab_bigram_config \
1815 trab_bigflash_config \
1816 trab_old_config:        unconfig
1817         @mkdir -p $(obj)include
1818         @mkdir -p $(obj)board/trab
1819         @ >$(obj)include/config.h
1820         @[ -z "$(findstring _bigram,$@)" ] || \
1821                 { echo "#define CONFIG_FLASH_8MB"  >>$(obj)include/config.h ; \
1822                   echo "#define CONFIG_RAM_32MB"   >>$(obj)include/config.h ; \
1823                   echo "... with 8 MB Flash, 32 MB RAM" ; \
1824                 }
1825         @[ -z "$(findstring _bigflash,$@)" ] || \
1826                 { echo "#define CONFIG_FLASH_16MB" >>$(obj)include/config.h ; \
1827                   echo "#define CONFIG_RAM_16MB"   >>$(obj)include/config.h ; \
1828                   echo "... with 16 MB Flash, 16 MB RAM" ; \
1829                   echo "TEXT_BASE = 0x0CF40000" >$(obj)board/trab/config.tmp ; \
1830                 }
1831         @[ -z "$(findstring _old,$@)" ] || \
1832                 { echo "#define CONFIG_FLASH_8MB"  >>$(obj)include/config.h ; \
1833                   echo "#define CONFIG_RAM_16MB"   >>$(obj)include/config.h ; \
1834                   echo "... with 8 MB Flash, 16 MB RAM" ; \
1835                   echo "TEXT_BASE = 0x0CF40000" >$(obj)board/trab/config.tmp ; \
1836                 }
1837         @$(MKCONFIG) -a $(call xtract_trab,$@) arm arm920t trab NULL s3c24x0
1838
1839 VCMA9_config    :       unconfig
1840         @$(MKCONFIG) $(@:_config=) arm arm920t vcma9 mpl s3c24x0
1841
1842 #========================================================================
1843 # ARM supplied Versatile development boards
1844 #========================================================================
1845 versatile_config        \
1846 versatileab_config      \
1847 versatilepb_config :    unconfig
1848         @board/versatile/split_by_variant.sh $@
1849
1850 voiceblue_smallflash_config     \
1851 voiceblue_config:       unconfig
1852         @mkdir -p $(obj)include
1853         @mkdir -p $(obj)board/voiceblue
1854         @if [ "$(findstring _smallflash_,$@)" ] ; then \
1855                 echo "... boot from lower flash bank" ; \
1856                 echo "#define VOICEBLUE_SMALL_FLASH" >>$(obj)include/config.h ; \
1857                 echo "VOICEBLUE_SMALL_FLASH=y" >$(obj)board/voiceblue/config.tmp ; \
1858         else \
1859                 echo "... boot from upper flash bank" ; \
1860                 >$(obj)include/config.h ; \
1861                 echo "VOICEBLUE_SMALL_FLASH=n" >$(obj)board/voiceblue/config.tmp ; \
1862         fi
1863         @$(MKCONFIG) -a voiceblue arm arm925t voiceblue
1864
1865 cm4008_config   :       unconfig
1866         @$(MKCONFIG) $(@:_config=) arm arm920t cm4008 NULL ks8695
1867
1868 cm41xx_config   :       unconfig
1869         @$(MKCONFIG) $(@:_config=) arm arm920t cm41xx NULL ks8695
1870
1871 gth2_config             :       unconfig
1872         @mkdir -p $(obj)include
1873         @ >$(obj)include/config.h
1874         @echo "#define CONFIG_GTH2 1" >>$(obj)include/config.h
1875         @$(MKCONFIG) -a gth2 mips mips gth2
1876
1877 #########################################################################
1878 ## S3C44B0 Systems
1879 #########################################################################
1880
1881 B2_config       :       unconfig
1882         @$(MKCONFIG) $(@:_config=) arm s3c44b0 B2 dave
1883
1884 #########################################################################
1885 ## ARM720T Systems
1886 #########################################################################
1887
1888 armadillo_config:       unconfig
1889         @$(MKCONFIG) $(@:_config=) arm arm720t armadillo
1890
1891 ep7312_config   :       unconfig
1892         @$(MKCONFIG) $(@:_config=) arm arm720t ep7312
1893
1894 impa7_config    :       unconfig
1895         @$(MKCONFIG) $(@:_config=) arm arm720t impa7
1896
1897 modnet50_config :       unconfig
1898         @$(MKCONFIG) $(@:_config=) arm arm720t modnet50
1899
1900 evb4510_config :        unconfig
1901         @$(MKCONFIG) $(@:_config=) arm arm720t evb4510
1902
1903 #########################################################################
1904 ## XScale Systems
1905 #########################################################################
1906
1907 adsvix_config   :       unconfig
1908         @$(MKCONFIG) $(@:_config=) arm pxa adsvix
1909
1910 cerf250_config :        unconfig
1911         @$(MKCONFIG) $(@:_config=) arm pxa cerf250
1912
1913 cradle_config   :       unconfig
1914         @$(MKCONFIG) $(@:_config=) arm pxa cradle
1915
1916 csb226_config   :       unconfig
1917         @$(MKCONFIG) $(@:_config=) arm pxa csb226
1918
1919 delta_config :
1920         @$(MKCONFIG) $(@:_config=) arm pxa delta
1921
1922 innokom_config  :       unconfig
1923         @$(MKCONFIG) $(@:_config=) arm pxa innokom
1924
1925 ixdp425_config  :       unconfig
1926         @$(MKCONFIG) $(@:_config=) arm ixp ixdp425
1927
1928 ixdpg425_config :       unconfig
1929         @$(MKCONFIG) $(@:_config=) arm ixp ixdp425
1930
1931 lubbock_config  :       unconfig
1932         @$(MKCONFIG) $(@:_config=) arm pxa lubbock
1933
1934 pleb2_config    :       unconfig
1935         @$(MKCONFIG) $(@:_config=) arm pxa pleb2
1936
1937 logodl_config   :       unconfig
1938         @$(MKCONFIG) $(@:_config=) arm pxa logodl
1939
1940 pdnb3_config    :       unconfig
1941         @$(MKCONFIG) $(@:_config=) arm ixp pdnb3 prodrive
1942
1943 pxa255_idp_config:      unconfig
1944         @$(MKCONFIG) $(@:_config=) arm pxa pxa255_idp
1945
1946 wepep250_config :       unconfig
1947         @$(MKCONFIG) $(@:_config=) arm pxa wepep250
1948
1949 xaeniax_config  :       unconfig
1950         @$(MKCONFIG) $(@:_config=) arm pxa xaeniax
1951
1952 xm250_config    :       unconfig
1953         @$(MKCONFIG) $(@:_config=) arm pxa xm250
1954
1955 xsengine_config :       unconfig
1956         @$(MKCONFIG) $(@:_config=) arm pxa xsengine
1957
1958 zylonite_config :
1959         @$(MKCONFIG) $(@:_config=) arm pxa zylonite
1960
1961 #########################################################################
1962 ## ARM1136 Systems
1963 #########################################################################
1964 omap2420h4_config :    unconfig
1965         @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4
1966
1967 #========================================================================
1968 # i386
1969 #========================================================================
1970 #########################################################################
1971 ## AMD SC520 CDP
1972 #########################################################################
1973 sc520_cdp_config        :       unconfig
1974         @$(MKCONFIG) $(@:_config=) i386 i386 sc520_cdp
1975
1976 sc520_spunk_config      :       unconfig
1977         @$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk
1978
1979 sc520_spunk_rel_config  :       unconfig
1980         @$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk
1981
1982 #========================================================================
1983 # MIPS
1984 #========================================================================
1985 #########################################################################
1986 ## MIPS32 4Kc
1987 #########################################################################
1988
1989 xtract_incaip = $(subst _100MHz,,$(subst _133MHz,,$(subst _150MHz,,$(subst _config,,$1))))
1990
1991 incaip_100MHz_config    \
1992 incaip_133MHz_config    \
1993 incaip_150MHz_config    \
1994 incaip_config: unconfig
1995         @mkdir -p $(obj)include
1996         @ >$(obj)include/config.h
1997         @[ -z "$(findstring _100MHz,$@)" ] || \
1998                 { echo "#define CPU_CLOCK_RATE 100000000" >>$(obj)include/config.h ; \
1999                   echo "... with 100MHz system clock" ; \
2000                 }
2001         @[ -z "$(findstring _133MHz,$@)" ] || \
2002                 { echo "#define CPU_CLOCK_RATE 133000000" >>$(obj)include/config.h ; \
2003                   echo "... with 133MHz system clock" ; \
2004                 }
2005         @[ -z "$(findstring _150MHz,$@)" ] || \
2006                 { echo "#define CPU_CLOCK_RATE 150000000" >>$(obj)include/config.h ; \
2007                   echo "... with 150MHz system clock" ; \
2008                 }
2009         @$(MKCONFIG) -a $(call xtract_incaip,$@) mips mips incaip
2010
2011 tb0229_config: unconfig
2012         @$(MKCONFIG) $(@:_config=) mips mips tb0229
2013
2014 #########################################################################
2015 ## MIPS32 AU1X00
2016 #########################################################################
2017 dbau1000_config         :       unconfig
2018         @mkdir -p $(obj)include
2019         @ >$(obj)include/config.h
2020         @echo "#define CONFIG_DBAU1000 1" >>$(obj)include/config.h
2021         @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00
2022
2023 dbau1100_config         :       unconfig
2024         @mkdir -p $(obj)include
2025         @ >$(obj)include/config.h
2026         @echo "#define CONFIG_DBAU1100 1" >>$(obj)include/config.h
2027         @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00
2028
2029 dbau1500_config         :       unconfig
2030         @mkdir -p $(obj)include
2031         @ >$(obj)include/config.h
2032         @echo "#define CONFIG_DBAU1500 1" >>$(obj)include/config.h
2033         @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00
2034
2035 dbau1550_config         :       unconfig
2036         @mkdir -p $(obj)include
2037         @ >$(obj)include/config.h
2038         @echo "#define CONFIG_DBAU1550 1" >>$(obj)include/config.h
2039         @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00
2040
2041 dbau1550_el_config      :       unconfig
2042         @mkdir -p $(obj)include
2043         @ >$(obj)include/config.h
2044         @echo "#define CONFIG_DBAU1550 1" >>$(obj)include/config.h
2045         @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00
2046
2047 pb1000_config           :       unconfig
2048         @mkdir -p $(obj)include
2049         @ >$(obj)include/config.h
2050         @echo "#define CONFIG_PB1000 1" >>$(obj)include/config.h
2051         @$(MKCONFIG) -a pb1x00 mips mips pb1x00
2052
2053 #########################################################################
2054 ## MIPS64 5Kc
2055 #########################################################################
2056
2057 purple_config :         unconfig
2058         @$(MKCONFIG) $(@:_config=) mips mips purple
2059
2060 #========================================================================
2061 # Nios
2062 #========================================================================
2063 #########################################################################
2064 ## Nios32
2065 #########################################################################
2066
2067 DK1C20_safe_32_config           \
2068 DK1C20_standard_32_config       \
2069 DK1C20_config:  unconfig
2070         @mkdir -p $(obj)include
2071         @ >$(obj)include/config.h
2072         @[ -z "$(findstring _safe_32,$@)" ] || \
2073                 { echo "#define CONFIG_NIOS_SAFE_32 1" >>$(obj)include/config.h ; \
2074                   echo "... NIOS 'safe_32' configuration" ; \
2075                 }
2076         @[ -z "$(findstring _standard_32,$@)" ] || \
2077                 { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \
2078                   echo "... NIOS 'standard_32' configuration" ; \
2079                 }
2080         @[ -z "$(findstring DK1C20_config,$@)" ] || \
2081                 { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \
2082                   echo "... NIOS 'standard_32' configuration (DEFAULT)" ; \
2083                 }
2084         @$(MKCONFIG) -a DK1C20 nios nios dk1c20 altera
2085
2086 DK1S10_safe_32_config           \
2087 DK1S10_standard_32_config       \
2088 DK1S10_mtx_ldk_20_config        \
2089 DK1S10_config:  unconfig
2090         @mkdir -p $(obj)include
2091         @ >$(obj)include/config.h
2092         @[ -z "$(findstring _safe_32,$@)" ] || \
2093                 { echo "#define CONFIG_NIOS_SAFE_32 1" >>$(obj)include/config.h ; \
2094                   echo "... NIOS 'safe_32' configuration" ; \
2095                 }
2096         @[ -z "$(findstring _standard_32,$@)" ] || \
2097                 { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \
2098                   echo "... NIOS 'standard_32' configuration" ; \
2099                 }
2100         @[ -z "$(findstring _mtx_ldk_20,$@)" ] || \
2101                 { echo "#define CONFIG_NIOS_MTX_LDK_20 1" >>$(obj)include/config.h ; \
2102                   echo "... NIOS 'mtx_ldk_20' configuration" ; \
2103                 }
2104         @[ -z "$(findstring DK1S10_config,$@)" ] || \
2105                 { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \
2106                   echo "... NIOS 'standard_32' configuration (DEFAULT)" ; \
2107                 }
2108         @$(MKCONFIG) -a DK1S10 nios nios dk1s10 altera
2109
2110 ADNPESC1_DNPEVA2_base_32_config \
2111 ADNPESC1_base_32_config         \
2112 ADNPESC1_config: unconfig
2113         @mkdir -p $(obj)include
2114         @ >$(obj)include/config.h
2115         @[ -z "$(findstring _DNPEVA2,$@)" ] || \
2116                 { echo "#define CONFIG_DNPEVA2 1" >>$(obj)include/config.h ; \
2117                   echo "... DNP/EVA2 configuration" ; \
2118                 }
2119         @[ -z "$(findstring _base_32,$@)" ] || \
2120                 { echo "#define CONFIG_NIOS_BASE_32 1" >>$(obj)include/config.h ; \
2121                   echo "... NIOS 'base_32' configuration" ; \
2122                 }
2123         @[ -z "$(findstring ADNPESC1_config,$@)" ] || \
2124                 { echo "#define CONFIG_NIOS_BASE_32 1" >>$(obj)include/config.h ; \
2125                   echo "... NIOS 'base_32' configuration (DEFAULT)" ; \
2126                 }
2127         @$(MKCONFIG) -a ADNPESC1 nios nios adnpesc1 ssv
2128
2129 #########################################################################
2130 ## Nios-II
2131 #########################################################################
2132
2133 EP1C20_config : unconfig
2134         @$(MKCONFIG)  EP1C20 nios2 nios2 ep1c20 altera
2135
2136 EP1S10_config : unconfig
2137         @$(MKCONFIG)  EP1S10 nios2 nios2 ep1s10 altera
2138
2139 EP1S40_config : unconfig
2140         @$(MKCONFIG)  EP1S40 nios2 nios2 ep1s40 altera
2141
2142 PK1C20_config : unconfig
2143         @$(MKCONFIG)  PK1C20 nios2 nios2 pk1c20 psyent
2144
2145 PCI5441_config : unconfig
2146         @$(MKCONFIG)  PCI5441 nios2 nios2 pci5441 psyent
2147
2148 #========================================================================
2149 # MicroBlaze
2150 #========================================================================
2151 #########################################################################
2152 ## Microblaze
2153 #########################################################################
2154 suzaku_config:  unconfig
2155         @mkdir -p $(obj)include
2156         @ >$(obj)include/config.h
2157         @echo "#define CONFIG_SUZAKU 1" >> $(obj)include/config.h
2158         @$(MKCONFIG) -a $(@:_config=) microblaze microblaze suzaku AtmarkTechno
2159
2160 #########################################################################
2161 ## Blackfin
2162 #########################################################################
2163 ezkit533_config :       unconfig
2164         @$(MKCONFIG) $(@:_config=) blackfin bf533 ezkit533
2165
2166 stamp_config    :       unconfig
2167         @$(MKCONFIG) $(@:_config=) blackfin bf533 stamp
2168
2169 dspstamp_config :       unconfig
2170         @$(MKCONFIG) $(@:_config=) blackfin bf533 dsp_stamp
2171
2172 #########################################################################
2173 #########################################################################
2174 #########################################################################
2175
2176 clean:
2177         find $(OBJTREE) -type f \
2178                 \( -name 'core' -o -name '*.bak' -o -name '*~' \
2179                 -o -name '*.o'  -o -name '*.a'  \) -print \
2180                 | xargs rm -f
2181         rm -f $(obj)examples/hello_world $(obj)examples/timer \
2182               $(obj)examples/eepro100_eeprom $(obj)examples/sched \
2183               $(obj)examples/mem_to_mem_idma2intr $(obj)examples/82559_eeprom \
2184               $(obj)examples/smc91111_eeprom \
2185               $(obj)examples/test_burst
2186         rm -f $(obj)tools/img2srec $(obj)tools/mkimage $(obj)tools/envcrc \
2187                 $(obj)tools/gen_eth_addr
2188         rm -f $(obj)tools/mpc86x_clk $(obj)tools/ncb
2189         rm -f $(obj)tools/easylogo/easylogo $(obj)tools/bmp_logo
2190         rm -f $(obj)tools/gdb/astest $(obj)tools/gdb/gdbcont $(obj)tools/gdb/gdbsend
2191         rm -f $(obj)tools/env/fw_printenv $(obj)tools/env/fw_setenv
2192         rm -f $(obj)board/cray/L1/bootscript.c $(obj)board/cray/L1/bootscript.image
2193         rm -f $(obj)board/netstar/eeprom $(obj)board/netstar/crcek $(obj)board/netstar/crcit
2194         rm -f $(obj)board/netstar/*.srec $(obj)board/netstar/*.bin
2195         rm -f $(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom
2196         rm -f $(obj)board/integratorap/u-boot.lds $(obj)board/integratorcp/u-boot.lds
2197         rm -f $(obj)include/bmp_logo.h
2198
2199 clobber:        clean
2200         find $(OBJTREE) -type f \( -name .depend \
2201                 -o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \
2202                 -print0 \
2203                 | xargs -0 rm -f
2204         rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS $(obj)include/version_autogenerated.h
2205         rm -fr $(obj)*.*~
2206         rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL)
2207         rm -f $(obj)tools/crc32.c $(obj)tools/environment.c $(obj)tools/env/crc32.c
2208         rm -f $(obj)tools/inca-swap-bytes $(obj)cpu/mpc824x/bedbug_603e.c
2209         rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm
2210
2211 ifeq ($(OBJTREE),$(SRCTREE))
2212 mrproper \
2213 distclean:      clobber unconfig
2214 else
2215 mrproper \
2216 distclean:      clobber unconfig
2217         rm -rf $(OBJTREE)/*
2218 endif
2219
2220 backup:
2221         F=`basename $(TOPDIR)` ; cd .. ; \
2222         gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
2223
2224 #########################################################################