xref: /openbmc/u-boot/Makefile (revision f832d8a1)
17ebf7443Swdenk#
2d4ca31c4Swdenk# (C) Copyright 2000-2004
37ebf7443Swdenk# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
47ebf7443Swdenk#
57ebf7443Swdenk# See file CREDITS for list of people who contributed to this
67ebf7443Swdenk# project.
77ebf7443Swdenk#
87ebf7443Swdenk# This program is free software; you can redistribute it and/or
97ebf7443Swdenk# modify it under the terms of the GNU General Public License as
107ebf7443Swdenk# published by the Free Software Foundation; either version 2 of
117ebf7443Swdenk# the License, or (at your option) any later version.
127ebf7443Swdenk#
137ebf7443Swdenk# This program is distributed in the hope that it will be useful,
147ebf7443Swdenk# but WITHOUT ANY WARRANTY; without even the implied warranty of
157ebf7443Swdenk# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
167ebf7443Swdenk# GNU General Public License for more details.
177ebf7443Swdenk#
187ebf7443Swdenk# You should have received a copy of the GNU General Public License
197ebf7443Swdenk# along with this program; if not, write to the Free Software
207ebf7443Swdenk# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
217ebf7443Swdenk# MA 02111-1307 USA
227ebf7443Swdenk#
237ebf7443Swdenk
247ebf7443SwdenkHOSTARCH := $(shell uname -m | \
257ebf7443Swdenk	sed -e s/i.86/i386/ \
267ebf7443Swdenk	    -e s/sun4u/sparc64/ \
277ebf7443Swdenk	    -e s/arm.*/arm/ \
287ebf7443Swdenk	    -e s/sa110/arm/ \
297ebf7443Swdenk	    -e s/powerpc/ppc/ \
307ebf7443Swdenk	    -e s/macppc/ppc/)
317ebf7443Swdenk
327ebf7443SwdenkHOSTOS := $(shell uname -s | tr A-Z a-z | \
337ebf7443Swdenk	    sed -e 's/\(cygwin\).*/cygwin/')
347ebf7443Swdenk
357ebf7443Swdenkexport	HOSTARCH
367ebf7443Swdenk
377ebf7443Swdenk# Deal with colliding definitions from tcsh etc.
387ebf7443SwdenkVENDOR=
397ebf7443Swdenk
407ebf7443Swdenk#########################################################################
417ebf7443Swdenk
427ebf7443SwdenkTOPDIR	:= $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
437ebf7443Swdenkexport	TOPDIR
447ebf7443Swdenk
457ebf7443Swdenkifeq (include/config.mk,$(wildcard include/config.mk))
467ebf7443Swdenk# load ARCH, BOARD, and CPU configuration
477ebf7443Swdenkinclude include/config.mk
487ebf7443Swdenkexport	ARCH CPU BOARD VENDOR
497ebf7443Swdenk# load other configuration
507ebf7443Swdenkinclude $(TOPDIR)/config.mk
517ebf7443Swdenk
527ebf7443Swdenkifndef CROSS_COMPILE
537ebf7443Swdenkifeq ($(HOSTARCH),ppc)
547ebf7443SwdenkCROSS_COMPILE =
557ebf7443Swdenkelse
567ebf7443Swdenkifeq ($(ARCH),ppc)
577ebf7443SwdenkCROSS_COMPILE = ppc_8xx-
587ebf7443Swdenkendif
597ebf7443Swdenkifeq ($(ARCH),arm)
60dc7c9a1aSwdenkCROSS_COMPILE = arm-linux-
617ebf7443Swdenkendif
622262cfeeSwdenkifeq ($(ARCH),i386)
637a8e9bedSwdenkifeq ($(HOSTARCH),i386)
647a8e9bedSwdenkCROSS_COMPILE =
657a8e9bedSwdenkelse
667a8e9bedSwdenkCROSS_COMPILE = i386-linux-
677a8e9bedSwdenkendif
682262cfeeSwdenkendif
6943d9616cSwdenkifeq ($(ARCH),mips)
7043d9616cSwdenkCROSS_COMPILE = mips_4KC-
7143d9616cSwdenkendif
724a551709Swdenkifeq ($(ARCH),nios)
734a551709SwdenkCROSS_COMPILE = nios-elf-
744a551709Swdenkendif
754e5ca3ebSwdenkifeq ($(ARCH),m68k)
764e5ca3ebSwdenkCROSS_COMPILE = m68k-elf-
774e5ca3ebSwdenkendif
78507bbe3eSwdenkifeq ($(ARCH),microblaze)
79507bbe3eSwdenkCROSS_COMPILE = mb-
80507bbe3eSwdenkendif
817ebf7443Swdenkendif
827ebf7443Swdenkendif
837ebf7443Swdenk
847ebf7443Swdenkexport	CROSS_COMPILE
857ebf7443Swdenk
867ebf7443Swdenk#########################################################################
877ebf7443Swdenk# U-Boot objects....order is important (i.e. start must be first)
887ebf7443Swdenk
897ebf7443SwdenkOBJS  = cpu/$(CPU)/start.o
902262cfeeSwdenkifeq ($(CPU),i386)
912262cfeeSwdenkOBJS += cpu/$(CPU)/start16.o
922262cfeeSwdenkOBJS += cpu/$(CPU)/reset.o
932262cfeeSwdenkendif
947ebf7443Swdenkifeq ($(CPU),ppc4xx)
957ebf7443SwdenkOBJS += cpu/$(CPU)/resetvec.o
967ebf7443Swdenkendif
9742d1f039Swdenkifeq ($(CPU),mpc85xx)
9842d1f039SwdenkOBJS += cpu/$(CPU)/resetvec.o
9942d1f039Swdenkendif
1007ebf7443Swdenk
1019fd5e31fSwdenkLIBS  = lib_generic/libgeneric.a
1029fd5e31fSwdenkLIBS += board/$(BOARDDIR)/lib$(BOARD).a
1037ebf7443SwdenkLIBS += cpu/$(CPU)/lib$(CPU).a
1047ebf7443SwdenkLIBS += lib_$(ARCH)/lib$(ARCH).a
105518e2e1aSwdenkLIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
106518e2e1aSwdenk	fs/reiserfs/libreiserfs.a
1077ebf7443SwdenkLIBS += net/libnet.a
1087ebf7443SwdenkLIBS += disk/libdisk.a
1097ebf7443SwdenkLIBS += rtc/librtc.a
1107ebf7443SwdenkLIBS += dtt/libdtt.a
1117ebf7443SwdenkLIBS += drivers/libdrivers.a
1127152b1d0SwdenkLIBS += drivers/sk98lin/libsk98lin.a
1137ebf7443SwdenkLIBS += post/libpost.a post/cpu/libcpu.a
1147ebf7443SwdenkLIBS += common/libcommon.a
1159fd5e31fSwdenk.PHONY : $(LIBS)
116a8c7c708Swdenk
1174f7cb08eSwdenk# Add GCC lib
1183d3befa7SwdenkPLATFORM_LIBS += --no-warn-mismatch -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
1193d3befa7Swdenk
1207ebf7443Swdenk
121a8c7c708Swdenk# The "tools" are needed early, so put this first
122a8c7c708Swdenk# Don't include stuff already done in $(LIBS)
123a8c7c708SwdenkSUBDIRS	= tools \
124a8c7c708Swdenk	  examples \
125a8c7c708Swdenk	  post \
126a8c7c708Swdenk	  post/cpu
127b028f715Swdenk.PHONY : $(SUBDIRS)
128a8c7c708Swdenk
1297ebf7443Swdenk#########################################################################
130bdccc4feSwdenk#########################################################################
1317ebf7443Swdenk
132bdccc4feSwdenkALL = u-boot.srec u-boot.bin System.map
1337ebf7443Swdenk
134bdccc4feSwdenkall:		$(ALL)
1357ebf7443Swdenk
1367ebf7443Swdenku-boot.srec:	u-boot
1377ebf7443Swdenk		$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
1387ebf7443Swdenk
1397ebf7443Swdenku-boot.bin:	u-boot
1407ebf7443Swdenk		$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
1417ebf7443Swdenk
142bdccc4feSwdenku-boot.img:	u-boot.bin
143bdccc4feSwdenk		./tools/mkimage -A $(ARCH) -T firmware -C none \
144bdccc4feSwdenk		-a $(TEXT_BASE) -e 0 \
145bdccc4feSwdenk		-n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' include/version.h | \
146bdccc4feSwdenk			sed -e 's/"[	 ]*$$/ for $(BOARD) board"/') \
147bdccc4feSwdenk		-d $< $@
148bdccc4feSwdenk
1497ebf7443Swdenku-boot.dis:	u-boot
1507ebf7443Swdenk		$(OBJDUMP) -d $< > $@
1517ebf7443Swdenk
152a8c7c708Swdenku-boot:		depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
1538bde7f77Swdenk		UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
1548bde7f77Swdenk		$(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \
1557152b1d0Swdenk			--start-group $(LIBS) $(PLATFORM_LIBS) --end-group \
156b2184c31Swdenk			-Map u-boot.map -o u-boot
1577ebf7443Swdenk
158a8c7c708Swdenk$(LIBS):
159a8c7c708Swdenk		$(MAKE) -C `dirname $@`
160a8c7c708Swdenk
161a8c7c708Swdenk$(SUBDIRS):
162b028f715Swdenk		$(MAKE) -C $@ all
1637ebf7443Swdenk
1648f713fdfSdzugdbtools:
1658f713fdfSdzu		$(MAKE) -C tools/gdb || exit 1
1668f713fdfSdzu
1677ebf7443Swdenkdepend dep:
1687ebf7443Swdenk		@for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir .depend ; done
1697ebf7443Swdenk
1707ebf7443Swdenktags:
1717ebf7443Swdenk		ctags -w `find $(SUBDIRS) include \
172bda6c8aeSwdenk				lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
173bda6c8aeSwdenk				fs/cramfs fs/fat fs/fdos fs/jffs2 \
174bda6c8aeSwdenk				net disk rtc dtt drivers drivers/sk98lin common \
1757ebf7443Swdenk			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
1767ebf7443Swdenk
1777ebf7443Swdenketags:
1787ebf7443Swdenk		etags -a `find $(SUBDIRS) include \
1797ebf7443Swdenk			\( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
1807ebf7443Swdenk
1817ebf7443SwdenkSystem.map:	u-boot
1827ebf7443Swdenk		@$(NM) $< | \
1837ebf7443Swdenk		grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
1847ebf7443Swdenk		sort > System.map
1857ebf7443Swdenk
1867ebf7443Swdenk#########################################################################
1877ebf7443Swdenkelse
1887ebf7443Swdenkall install u-boot u-boot.srec depend dep:
1897ebf7443Swdenk	@echo "System not configured - see README" >&2
1907ebf7443Swdenk	@ exit 1
1917ebf7443Swdenkendif
1927ebf7443Swdenk
1937ebf7443Swdenk#########################################################################
1947ebf7443Swdenk
1957ebf7443Swdenkunconfig:
19617d704ebSwdenk	@rm -f include/config.h include/config.mk board/*/config.tmp
1977ebf7443Swdenk
1987ebf7443Swdenk#========================================================================
1997ebf7443Swdenk# PowerPC
2007ebf7443Swdenk#========================================================================
2010db5bca8Swdenk
2020db5bca8Swdenk#########################################################################
2030db5bca8Swdenk## MPC5xx Systems
2040db5bca8Swdenk#########################################################################
2050db5bca8Swdenk
2060db5bca8Swdenkcmi_mpc5xx_config:	unconfig
2070db5bca8Swdenk	@./mkconfig $(@:_config=) ppc mpc5xx cmi
2080db5bca8Swdenk
209b6e4c403SwdenkPATI_config:		unconfig
210b6e4c403Swdenk	@./mkconfig $(@:_config=) ppc mpc5xx pati mpl
211b6e4c403Swdenk
2127ebf7443Swdenk#########################################################################
213945af8d7Swdenk## MPC5xxx Systems
214945af8d7Swdenk#########################################################################
215e35745bbSwdenkLite5200_config				\
216e35745bbSwdenkLite5200_LOWBOOT_config			\
217e35745bbSwdenkLite5200_LOWBOOT08_config		\
218e35745bbSwdenkicecube_5200_config			\
219e35745bbSwdenkicecube_5200_LOWBOOT_config		\
220e35745bbSwdenkicecube_5200_LOWBOOT08_config		\
221b2001f27Swdenkicecube_5200_DDR_config 		\
22279d696fcSwdenkicecube_5200_DDR_LOWBOOT_config 	\
22379d696fcSwdenkicecube_5200_DDR_LOWBOOT08_config	\
224e35745bbSwdenkicecube_5100_config:			unconfig
225945af8d7Swdenk	@ >include/config.h
22617d704ebSwdenk	@[ -z "$(findstring LOWBOOT_,$@)" ] || \
22717d704ebSwdenk		{ if [ "$(findstring DDR,$@)" ] ; \
22817d704ebSwdenk			then echo "TEXT_BASE = 0xFF800000" >board/icecube/config.tmp ; \
22917d704ebSwdenk			else echo "TEXT_BASE = 0xFF000000" >board/icecube/config.tmp ; \
23017d704ebSwdenk		  fi ; \
2315cf9da48Swdenk		  echo "... with LOWBOOT configuration" ; \
2325cf9da48Swdenk		}
2335cf9da48Swdenk	@[ -z "$(findstring LOWBOOT08,$@)" ] || \
2345cf9da48Swdenk		{ echo "TEXT_BASE = 0xFF800000" >board/icecube/config.tmp ; \
2355cf9da48Swdenk		  echo "... with 8 MB flash only" ; \
23617d704ebSwdenk		  echo "... with LOWBOOT configuration" ; \
2375cf9da48Swdenk		}
238b2001f27Swdenk	@[ -z "$(findstring DDR,$@)" ] || \
239b2001f27Swdenk		{ echo "#define CONFIG_MPC5200_DDR"	>>include/config.h ; \
240b2001f27Swdenk		  echo "... DDR memory revision" ; \
241b2001f27Swdenk		}
242d4ca31c4Swdenk	@[ -z "$(findstring 5200,$@)" ] || \
243d4ca31c4Swdenk		{ echo "#define CONFIG_MPC5200"		>>include/config.h ; \
244d4ca31c4Swdenk		  echo "... with MPC5200 processor" ; \
245d4ca31c4Swdenk		}
246a0f2fe52Swdenk	@[ -z "$(findstring 5100,$@)" ] || \
247945af8d7Swdenk		{ echo "#define CONFIG_MGT5100"		>>include/config.h ; \
248945af8d7Swdenk		  echo "... with MGT5100 processor" ; \
249945af8d7Swdenk		}
250945af8d7Swdenk	@./mkconfig -a IceCube ppc mpc5xxx icecube
251945af8d7Swdenk
252d4ca31c4SwdenkMINI5200_config	\
253d4ca31c4SwdenkEVAL5200_config	\
254d4ca31c4SwdenkTOP5200_config:	unconfig
255d4ca31c4Swdenk	@ echo "#define CONFIG_$(@:_config=) 1"	>include/config.h
256d4ca31c4Swdenk	@./mkconfig -a TOP5200 ppc mpc5xxx top5200 emk
257d4ca31c4Swdenk
258efa329cbSwdenkPM520_config:	unconfig
259efa329cbSwdenk	@./mkconfig $(@:_config=) ppc mpc5xxx pm520
260efa329cbSwdenk
261945af8d7Swdenk#########################################################################
2627ebf7443Swdenk## MPC8xx Systems
2637ebf7443Swdenk#########################################################################
2647ebf7443Swdenk
2652d24a3a7SwdenkAdder_config    \
2662d24a3a7SwdenkAdder87x_config \
2672d24a3a7SwdenkAdder852_config \
2682d24a3a7Swdenk	:		unconfig
2692d24a3a7Swdenk	$(if $(findstring 852,$@), \
2702d24a3a7Swdenk	@echo "#define CONFIG_MPC852T" > include/config.h)
2712d24a3a7Swdenk	@./mkconfig -a Adder ppc mpc8xx adder
2722d24a3a7Swdenk
2730cb61d7dSwdenkAdderII_config:	unconfig
2740cb61d7dSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx adderII
2750cb61d7dSwdenk
276180d3f74SwdenkADS860_config     \
277180d3f74SwdenkFADS823_config    \
278180d3f74SwdenkFADS850SAR_config \
279180d3f74SwdenkMPC86xADS_config  \
2801114257cSwdenkMPC885ADS_config  \
281180d3f74SwdenkFADS860T_config:	unconfig
2827ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx fads
2837ebf7443Swdenk
2847ebf7443SwdenkAMX860_config	:	unconfig
2857ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
2867ebf7443Swdenk
2877ebf7443Swdenkc2mon_config:		unconfig
2887ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx c2mon
2897ebf7443Swdenk
2907ebf7443SwdenkCCM_config:		unconfig
2917ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx CCM siemens
2927ebf7443Swdenk
2937ebf7443Swdenkcogent_mpc8xx_config:	unconfig
2947ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx cogent
2957ebf7443Swdenk
2963bac3513SwdenkELPT860_config:		unconfig
2973bac3513Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx elpt860 LEOX
2983bac3513Swdenk
2997ebf7443SwdenkESTEEM192E_config:	unconfig
3007ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx esteem192e
3017ebf7443Swdenk
3027ebf7443SwdenkETX094_config	:	unconfig
3037ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx etx094
3047ebf7443Swdenk
3057ebf7443SwdenkFLAGADM_config:	unconfig
3067ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx flagadm
3077ebf7443Swdenk
3087aa78614Swdenkxtract_GEN860T = $(subst _SC,,$(subst _config,,$1))
3097aa78614Swdenk
3107aa78614SwdenkGEN860T_SC_config	\
3117ebf7443SwdenkGEN860T_config: unconfig
3127aa78614Swdenk	@ >include/config.h
3137aa78614Swdenk	@[ -z "$(findstring _SC,$@)" ] || \
3147aa78614Swdenk		{ echo "#define CONFIG_SC" >>include/config.h ; \
3157aa78614Swdenk		  echo "With reduced H/W feature set (SC)..." ; \
3167aa78614Swdenk		}
3177aa78614Swdenk	@./mkconfig -a $(call xtract_GEN860T,$@) ppc mpc8xx gen860t
3187ebf7443Swdenk
3197ebf7443SwdenkGENIETV_config:	unconfig
3207ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx genietv
3217ebf7443Swdenk
3227ebf7443SwdenkGTH_config:	unconfig
3237ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx gth
3247ebf7443Swdenk
3257ebf7443Swdenkhermes_config	:	unconfig
3267ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx hermes
3277ebf7443Swdenk
328c40b2956SwdenkHMI10_config	:	unconfig
329c40b2956Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
330c40b2956Swdenk
3317ebf7443SwdenkIAD210_config: unconfig
3327ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx IAD210 siemens
3337ebf7443Swdenk
3347ebf7443Swdenkxtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1))
3357ebf7443Swdenk
3367ebf7443SwdenkICU862_100MHz_config	\
3377ebf7443SwdenkICU862_config: unconfig
3387ebf7443Swdenk	@ >include/config.h
3397ebf7443Swdenk	@[ -z "$(findstring _100MHz,$@)" ] || \
3407ebf7443Swdenk		{ echo "#define CONFIG_100MHz"	>>include/config.h ; \
3417ebf7443Swdenk		  echo "... with 100MHz system clock" ; \
3427ebf7443Swdenk		}
3437ebf7443Swdenk	@./mkconfig -a $(call xtract_ICU862,$@) ppc mpc8xx icu862
3447ebf7443Swdenk
3457ebf7443SwdenkIP860_config	:	unconfig
3467ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx ip860
3477ebf7443Swdenk
3487ebf7443SwdenkIVML24_256_config \
3497ebf7443SwdenkIVML24_128_config \
3507ebf7443SwdenkIVML24_config:	unconfig
3517ebf7443Swdenk	@ >include/config.h
3527ebf7443Swdenk	@[ -z "$(findstring IVML24_config,$@)" ] || \
3537ebf7443Swdenk		 { echo "#define CONFIG_IVML24_16M"	>>include/config.h ; \
3547ebf7443Swdenk		 }
3557ebf7443Swdenk	@[ -z "$(findstring IVML24_128_config,$@)" ] || \
3567ebf7443Swdenk		 { echo "#define CONFIG_IVML24_32M"	>>include/config.h ; \
3577ebf7443Swdenk		 }
3587ebf7443Swdenk	@[ -z "$(findstring IVML24_256_config,$@)" ] || \
3597ebf7443Swdenk		 { echo "#define CONFIG_IVML24_64M"	>>include/config.h ; \
3607ebf7443Swdenk		 }
3617ebf7443Swdenk	@./mkconfig -a IVML24 ppc mpc8xx ivm
3627ebf7443Swdenk
3637ebf7443SwdenkIVMS8_256_config \
3647ebf7443SwdenkIVMS8_128_config \
3657ebf7443SwdenkIVMS8_config:	unconfig
3667ebf7443Swdenk	@ >include/config.h
3677ebf7443Swdenk	@[ -z "$(findstring IVMS8_config,$@)" ] || \
3687ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_16M"	>>include/config.h ; \
3697ebf7443Swdenk		 }
3707ebf7443Swdenk	@[ -z "$(findstring IVMS8_128_config,$@)" ] || \
3717ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_32M"	>>include/config.h ; \
3727ebf7443Swdenk		 }
3737ebf7443Swdenk	@[ -z "$(findstring IVMS8_256_config,$@)" ] || \
3747ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_64M"	>>include/config.h ; \
3757ebf7443Swdenk		 }
3767ebf7443Swdenk	@./mkconfig -a IVMS8 ppc mpc8xx ivm
3777ebf7443Swdenk
37856f94be3SwdenkKUP4K_config	:	unconfig
3790608e04dSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx kup4k kup
3800608e04dSwdenk
3810608e04dSwdenkKUP4X_config    :       unconfig
3820608e04dSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx kup4x kup
38356f94be3Swdenk
3847ebf7443SwdenkLANTEC_config	:	unconfig
3857ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx lantec
3867ebf7443Swdenk
3877ebf7443Swdenklwmon_config:		unconfig
3887ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx lwmon
3897ebf7443Swdenk
3907ebf7443SwdenkMBX_config	\
3917ebf7443SwdenkMBX860T_config:	unconfig
3927ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mbx8xx
3937ebf7443Swdenk
3947ebf7443SwdenkMHPC_config:		unconfig
3957ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mhpc eltec
3967ebf7443Swdenk
3977ebf7443SwdenkMVS1_config :		unconfig
3987ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mvs1
3997ebf7443Swdenk
400993cad93Swdenkxtract_NETVIA = $(subst _V2,,$(subst _config,,$1))
401993cad93Swdenk
402993cad93SwdenkNETVIA_V2_config \
4037ebf7443SwdenkNETVIA_config:		unconfig
404993cad93Swdenk	@ >include/config.h
405993cad93Swdenk	@[ -z "$(findstring NETVIA_config,$@)" ] || \
406993cad93Swdenk		 { echo "#define CONFIG_NETVIA_VERSION 1" >>include/config.h ; \
407993cad93Swdenk		  echo "... Version 1" ; \
408993cad93Swdenk		 }
409993cad93Swdenk	@[ -z "$(findstring NETVIA_V2_config,$@)" ] || \
410993cad93Swdenk		 { echo "#define CONFIG_NETVIA_VERSION 2" >>include/config.h ; \
411993cad93Swdenk		  echo "... Version 2" ; \
412993cad93Swdenk		 }
413993cad93Swdenk	@./mkconfig -a $(call xtract_NETVIA,$@) ppc mpc8xx netvia
4147ebf7443Swdenk
415c26e454dSwdenkxtract_NETPHONE = $(subst _V2,,$(subst _config,,$1))
416c26e454dSwdenk
417c26e454dSwdenkNETPHONE_V2_config \
41804a85b3bSwdenkNETPHONE_config:	unconfig
419c26e454dSwdenk	@ >include/config.h
420c26e454dSwdenk	@[ -z "$(findstring NETPHONE_config,$@)" ] || \
421c26e454dSwdenk		 { echo "#define CONFIG_NETPHONE_VERSION 1" >>include/config.h ; \
422c26e454dSwdenk		 }
423c26e454dSwdenk	@[ -z "$(findstring NETPHONE_V2_config,$@)" ] || \
424c26e454dSwdenk		 { echo "#define CONFIG_NETPHONE_VERSION 2" >>include/config.h ; \
425c26e454dSwdenk		 }
426c26e454dSwdenk	@./mkconfig -a $(call xtract_NETPHONE,$@) ppc mpc8xx netphone
42704a85b3bSwdenk
42879fa88f3Swdenkxtract_NETTA = $(subst _SWAPHOOK,,$(subst _6412,,$(subst _ISDN,,$(subst _config,,$1))))
42904a85b3bSwdenk
43079fa88f3SwdenkNETTA_ISDN_6412_SWAPHOOK_config \
43179fa88f3SwdenkNETTA_ISDN_SWAPHOOK_config \
43279fa88f3SwdenkNETTA_6412_SWAPHOOK_config \
43379fa88f3SwdenkNETTA_SWAPHOOK_config \
43479fa88f3SwdenkNETTA_ISDN_6412_config \
43504a85b3bSwdenkNETTA_ISDN_config \
43679fa88f3SwdenkNETTA_6412_config \
43704a85b3bSwdenkNETTA_config:		unconfig
43804a85b3bSwdenk	@ >include/config.h
43979fa88f3Swdenk	@[ -z "$(findstring ISDN_,$@)" ] || \
44004a85b3bSwdenk		 { echo "#define CONFIG_NETTA_ISDN 1" >>include/config.h ; \
44104a85b3bSwdenk		 }
44279fa88f3Swdenk	@[ -n "$(findstring ISDN_,$@)" ] || \
44379fa88f3Swdenk		 { echo "#undef CONFIG_NETTA_ISDN" >>include/config.h ; \
44479fa88f3Swdenk		 }
44579fa88f3Swdenk	@[ -z "$(findstring 6412_,$@)" ] || \
44679fa88f3Swdenk		 { echo "#define CONFIG_NETTA_6412 1" >>include/config.h ; \
44779fa88f3Swdenk		 }
44879fa88f3Swdenk	@[ -n "$(findstring 6412_,$@)" ] || \
44979fa88f3Swdenk		 { echo "#undef CONFIG_NETTA_6412" >>include/config.h ; \
45079fa88f3Swdenk		 }
45179fa88f3Swdenk	@[ -z "$(findstring SWAPHOOK_,$@)" ] || \
45279fa88f3Swdenk		 { echo "#define CONFIG_NETTA_SWAPHOOK 1" >>include/config.h ; \
45379fa88f3Swdenk		 }
45479fa88f3Swdenk	@[ -n "$(findstring SWAPHOOK_,$@)" ] || \
45579fa88f3Swdenk		 { echo "#undef CONFIG_NETTA_SWAPHOOK" >>include/config.h ; \
45679fa88f3Swdenk		 }
45704a85b3bSwdenk	@./mkconfig -a $(call xtract_NETTA,$@) ppc mpc8xx netta
45804a85b3bSwdenk
45979fa88f3Swdenkxtract_NETTA2 = $(subst _V2,,$(subst _config,,$1))
46079fa88f3Swdenk
46179fa88f3SwdenkNETTA2_V2_config \
46279fa88f3SwdenkNETTA2_config:		unconfig
46379fa88f3Swdenk	@ >include/config.h
46479fa88f3Swdenk	@[ -z "$(findstring NETTA2_config,$@)" ] || \
46579fa88f3Swdenk		 { echo "#define CONFIG_NETTA2_VERSION 1" >>include/config.h ; \
46679fa88f3Swdenk		 }
46779fa88f3Swdenk	@[ -z "$(findstring NETTA2_V2_config,$@)" ] || \
46879fa88f3Swdenk		 { echo "#define CONFIG_NETTA2_VERSION 2" >>include/config.h ; \
46979fa88f3Swdenk		 }
47079fa88f3Swdenk	@./mkconfig -a $(call xtract_NETTA2,$@) ppc mpc8xx netta2
47179fa88f3Swdenk
4727ebf7443SwdenkNX823_config:		unconfig
4737ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx nx823
4747ebf7443Swdenk
4757ebf7443Swdenkpcu_e_config:		unconfig
4767ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens
4777ebf7443Swdenk
4783bbc899fSwdenkQS850_config:	unconfig
4793bbc899fSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx qs850 snmc
4803bbc899fSwdenk
4813bbc899fSwdenkQS823_config:	unconfig
4823bbc899fSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx qs850 snmc
4833bbc899fSwdenk
4843bbc899fSwdenkQS860T_config:	unconfig
4853bbc899fSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx qs860t snmc
4863bbc899fSwdenk
4877ebf7443SwdenkR360MPI_config:	unconfig
4887ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx r360mpi
4897ebf7443Swdenk
490682011ffSwdenkRBC823_config:	unconfig
491682011ffSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx rbc823
492682011ffSwdenk
4937ebf7443SwdenkRPXClassic_config:	unconfig
4947ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RPXClassic
4957ebf7443Swdenk
4967ebf7443SwdenkRPXlite_config:		unconfig
4977ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RPXlite
4987ebf7443Swdenk
499e63c8ee3SwdenkRPXlite_DW_64_config  		\
500e63c8ee3SwdenkRPXlite_DW_LCD_config 		\
501e63c8ee3SwdenkRPXlite_DW_64_LCD_config 	\
502e63c8ee3SwdenkRPXlite_DW_NVRAM_config		\
503e63c8ee3SwdenkRPXlite_DW_NVRAM_64_config      \
504e63c8ee3SwdenkRPXlite_DW_NVRAM_LCD_config	\
505e63c8ee3SwdenkRPXlite_DW_NVRAM_64_LCD_config  \
506e63c8ee3SwdenkRPXlite_DW_config:         unconfig
507e63c8ee3Swdenk	@ >include/config.h
508e63c8ee3Swdenk	@[ -z "$(findstring _64,$@)" ] || \
509e63c8ee3Swdenk		{ echo "#define RPXlite_64MHz"		>>include/config.h ; \
510e63c8ee3Swdenk		  echo "... with 64MHz system clock ..."; \
511e63c8ee3Swdenk		}
512e63c8ee3Swdenk	@[ -z "$(findstring _LCD,$@)" ] || \
513e63c8ee3Swdenk		{ echo "#define CONFIG_LCD"          	>>include/config.h ; \
514e63c8ee3Swdenk		  echo "#define CONFIG_NEC_NL6448BC20"	>>include/config.h ; \
515e63c8ee3Swdenk		  echo "... with LCD display ..."; \
516e63c8ee3Swdenk		}
517e63c8ee3Swdenk	@[ -z "$(findstring _NVRAM,$@)" ] || \
518e63c8ee3Swdenk		{ echo "#define  CFG_ENV_IS_IN_NVRAM" 	>>include/config.h ; \
519e63c8ee3Swdenk		  echo "... with ENV in NVRAM ..."; \
520e63c8ee3Swdenk		}
521e63c8ee3Swdenk	@./mkconfig -a RPXlite_DW ppc mpc8xx RPXlite_dw
522e63c8ee3Swdenk
52373a8b27cSwdenkrmu_config:	unconfig
52473a8b27cSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx rmu
52573a8b27cSwdenk
5267ebf7443SwdenkRRvision_config:	unconfig
5277ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RRvision
5287ebf7443Swdenk
5297ebf7443SwdenkRRvision_LCD_config:	unconfig
5307ebf7443Swdenk	@echo "#define CONFIG_LCD" >include/config.h
5317ebf7443Swdenk	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
5327ebf7443Swdenk	@./mkconfig -a RRvision ppc mpc8xx RRvision
5337ebf7443Swdenk
5347ebf7443SwdenkSM850_config	:	unconfig
5357ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
5367ebf7443Swdenk
5377ebf7443SwdenkSPD823TS_config:	unconfig
5387ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx spd8xx
5397ebf7443Swdenk
540dc7c9a1aSwdenksvm_sc8xx_config:	unconfig
541dc7c9a1aSwdenk	@ >include/config.h
542dc7c9a1aSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx svm_sc8xx
543dc7c9a1aSwdenk
5447ebf7443SwdenkSXNI855T_config:	unconfig
5457ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx sixnet
5467ebf7443Swdenk
547db2f721fSwdenk# EMK MPC8xx based modules
548db2f721fSwdenkTOP860_config:		unconfig
549db2f721fSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx top860 emk
550db2f721fSwdenk
5517ebf7443Swdenk# Play some tricks for configuration selection
552e9132ea9Swdenk# Only 855 and 860 boards may come with FEC
553e9132ea9Swdenk# and only 823 boards may have LCD support
554e9132ea9Swdenkxtract_8xx = $(subst _LCD,,$(subst _config,,$1))
5557ebf7443Swdenk
5567ebf7443SwdenkFPS850L_config		\
557384ae025SwdenkFPS860L_config		\
558f12e568cSwdenkNSCU_config		\
5597ebf7443SwdenkTQM823L_config		\
5607ebf7443SwdenkTQM823L_LCD_config	\
5617ebf7443SwdenkTQM850L_config		\
5627ebf7443SwdenkTQM855L_config		\
5637ebf7443SwdenkTQM860L_config		\
564d126bfbdSwdenkTQM862L_config		\
565ae3af05eSwdenkTQM823M_config		\
566ae3af05eSwdenkTQM850M_config		\
567f12e568cSwdenkTQM855M_config		\
568f12e568cSwdenkTQM860M_config		\
569f12e568cSwdenkTQM862M_config		\
570c178d3daSwdenkTQM866M_config:		unconfig
5717ebf7443Swdenk	@ >include/config.h
5727ebf7443Swdenk	@[ -z "$(findstring _LCD,$@)" ] || \
5737ebf7443Swdenk		{ echo "#define CONFIG_LCD"		>>include/config.h ; \
574fd3103bbSwdenk		  echo "#define CONFIG_NEC_NL6448BC20"	>>include/config.h ; \
5757ebf7443Swdenk		  echo "... with LCD display" ; \
5767ebf7443Swdenk		}
5777ebf7443Swdenk	@./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
5787ebf7443Swdenk
5797ebf7443SwdenkTTTech_config:	unconfig
5807ebf7443Swdenk	@echo "#define CONFIG_LCD" >include/config.h
5817ebf7443Swdenk	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
5827ebf7443Swdenk	@./mkconfig -a TQM823L ppc mpc8xx tqm8xx
5837ebf7443Swdenk
584608c9146Swdenkv37_config:	unconfig
585608c9146Swdenk	@echo "#define CONFIG_LCD" >include/config.h
586608c9146Swdenk	@echo "#define CONFIG_SHARP_LQ084V1DG21" >>include/config.h
587608c9146Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx v37
588608c9146Swdenk
58991e940d9Sdzuwtk_config:	unconfig
59091e940d9Sdzu	@echo "#define CONFIG_LCD" >include/config.h
59191e940d9Sdzu	@echo "#define CONFIG_SHARP_LQ065T9DR51U" >>include/config.h
59291e940d9Sdzu	@./mkconfig -a TQM823L ppc mpc8xx tqm8xx
59391e940d9Sdzu
5947ebf7443Swdenk#########################################################################
5957ebf7443Swdenk## PPC4xx Systems
5967ebf7443Swdenk#########################################################################
597fbe4b5cbSwdenkxtract_4xx = $(subst _MODEL_BA,,$(subst _MODEL_ME,,$(subst _MODEL_HI,,$(subst _config,,$1))))
5987ebf7443Swdenk
5997ebf7443SwdenkADCIOP_config:	unconfig
6007ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx adciop esd
6017ebf7443Swdenk
6027ebf7443SwdenkAR405_config:	unconfig
6037ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ar405 esd
6047ebf7443Swdenk
605549826eaSstroeseASH405_config:	unconfig
606549826eaSstroese	@./mkconfig $(@:_config=) ppc ppc4xx ash405 esd
607549826eaSstroese
608549826eaSstroeseBUBINGA405EP_config:	unconfig
609549826eaSstroese	@./mkconfig $(@:_config=) ppc ppc4xx bubinga405ep
610549826eaSstroese
6117ebf7443SwdenkCANBT_config:	unconfig
6127ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx canbt esd
6137ebf7443Swdenk
61410767ccbSwdenkCATcenter_config:	unconfig
61510767ccbSwdenk	@ echo "/* CATcenter uses PPChameleon Model ME */"  > include/config.h
61610767ccbSwdenk	@ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >> include/config.h
61710767ccbSwdenk	@./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
61810767ccbSwdenk
6197ebf7443SwdenkCPCI405_config	\
620549826eaSstroeseCPCI4052_config	\
621549826eaSstroeseCPCI405AB_config:	unconfig
6227ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd
6237ebf7443Swdenk	@echo "BOARD_REVISION = $(@:_config=)"	>>include/config.mk
6247ebf7443Swdenk
6257ebf7443SwdenkCPCI440_config:	unconfig
6267ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpci440 esd
6277ebf7443Swdenk
6287ebf7443SwdenkCPCIISER4_config:	unconfig
6297ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd
6307ebf7443Swdenk
6317ebf7443SwdenkCRAYL1_config:	unconfig
6327ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx L1 cray
6337ebf7443Swdenk
634cd0a9de6Swdenkcsb272_config:	unconfig
635cd0a9de6Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx csb272
636cd0a9de6Swdenk
637aa245090Swdenkcsb472_config:	unconfig
638aa245090Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx csb472
639aa245090Swdenk
6407ebf7443SwdenkDASA_SIM_config: unconfig
6417ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd
6427ebf7443Swdenk
64372cd5aa7SstroeseDP405_config:	unconfig
64472cd5aa7Sstroese	@./mkconfig $(@:_config=) ppc ppc4xx dp405 esd
64572cd5aa7Sstroese
6467ebf7443SwdenkDU405_config:	unconfig
6477ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx du405 esd
6487ebf7443Swdenk
6497ebf7443SwdenkEBONY_config:	unconfig
6507ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ebony
6517ebf7443Swdenk
6527ebf7443SwdenkERIC_config:	unconfig
6537ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx eric
6547ebf7443Swdenk
655d1cbe85bSwdenkEXBITGEN_config:	unconfig
656d1cbe85bSwdenk	@./mkconfig $(@:_config=) ppc ppc4xx exbitgen
657d1cbe85bSwdenk
65872cd5aa7SstroeseHUB405_config:	unconfig
65972cd5aa7Sstroese	@./mkconfig $(@:_config=) ppc ppc4xx hub405 esd
66072cd5aa7Sstroese
661db01a2eaSwdenkJSE_config:	unconfig
662db01a2eaSwdenk	@./mkconfig $(@:_config=) ppc ppc4xx jse
663db01a2eaSwdenk
6647ebf7443SwdenkMIP405_config:	unconfig
6657ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
6667ebf7443Swdenk
667f3e0de60SwdenkMIP405T_config:	unconfig
668f3e0de60Swdenk	@echo "#define CONFIG_MIP405T" >include/config.h
669f3e0de60Swdenk	@echo "Enable subset config for MIP405T"
670f3e0de60Swdenk	@./mkconfig -a MIP405 ppc ppc4xx mip405 mpl
671f3e0de60Swdenk
6727ebf7443SwdenkML2_config:	unconfig
6737ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ml2
6747ebf7443Swdenk
675028ab6b5Swdenkml300_config:	unconfig
676028ab6b5Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ml300 xilinx
677028ab6b5Swdenk
6780e6d798cSwdenkOCOTEA_config:	unconfig
6790e6d798cSwdenk	@./mkconfig $(@:_config=) ppc ppc4xx ocotea
6800e6d798cSwdenk
6817ebf7443SwdenkOCRTC_config		\
6827ebf7443SwdenkORSG_config:	unconfig
6837ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd
6847ebf7443Swdenk
6857ebf7443SwdenkPCI405_config:	unconfig
6867ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx pci405 esd
6877ebf7443Swdenk
6887ebf7443SwdenkPIP405_config:	unconfig
6897ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
6907ebf7443Swdenk
69172cd5aa7SstroesePLU405_config:	unconfig
69272cd5aa7Sstroese	@./mkconfig $(@:_config=) ppc ppc4xx plu405 esd
69372cd5aa7Sstroese
694549826eaSstroesePMC405_config:	unconfig
695549826eaSstroese	@./mkconfig $(@:_config=) ppc ppc4xx pmc405 esd
696549826eaSstroese
697fbe4b5cbSwdenkPPChameleonEVB_MODEL_BA_config	\
698fbe4b5cbSwdenkPPChameleonEVB_MODEL_ME_config	\
699fbe4b5cbSwdenkPPChameleonEVB_MODEL_HI_config	\
70012f34241SwdenkPPChameleonEVB_config:	unconfig
701fbe4b5cbSwdenk	@ >include/config.h
702fbe4b5cbSwdenk	@[ -z "$(findstring _MODEL_BA,$@)" ] || \
703fbe4b5cbSwdenk		{ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>include/config.h ; \
704fbe4b5cbSwdenk		  echo "... BASIC model" ; \
705fbe4b5cbSwdenk		}
706fbe4b5cbSwdenk	@[ -z "$(findstring _MODEL_ME,$@)" ] || \
707fbe4b5cbSwdenk		{ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>include/config.h ; \
708fbe4b5cbSwdenk		  echo "... MEDIUM model" ; \
709fbe4b5cbSwdenk		}
710fbe4b5cbSwdenk	@[ -z "$(findstring _MODEL_HI,$@)" ] || \
711fbe4b5cbSwdenk		{ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>include/config.h ; \
712fbe4b5cbSwdenk		  echo "... HIGH-END model" ; \
713fbe4b5cbSwdenk		}
714fbe4b5cbSwdenk	@./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
71512f34241Swdenk
71672cd5aa7SstroeseVOH405_config:	unconfig
71772cd5aa7Sstroese	@./mkconfig $(@:_config=) ppc ppc4xx voh405 esd
71872cd5aa7Sstroese
7197ebf7443SwdenkW7OLMC_config	\
7207ebf7443SwdenkW7OLMG_config: unconfig
7217ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx w7o
7227ebf7443Swdenk
7237ebf7443SwdenkWALNUT405_config:	unconfig
7247ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx walnut405
7257ebf7443Swdenk
726ba56f625SwdenkXPEDITE1K_config:	unconfig
727ba56f625Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx xpedite1k
728ba56f625Swdenk
7297ebf7443Swdenk#########################################################################
7307ebf7443Swdenk## MPC824x Systems
7317ebf7443Swdenk#########################################################################
732efa329cbSwdenkxtract_82xx = $(subst _BIGFLASH,,$(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1))))))
7333bac3513Swdenk
7340332990bSwdenkA3000_config: unconfig
7350332990bSwdenk	@./mkconfig $(@:_config=) ppc mpc824x a3000
7360332990bSwdenk
7377ebf7443SwdenkBMW_config: unconfig
7387ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x bmw
7397ebf7443Swdenk
7403bac3513SwdenkCPC45_config	\
7413bac3513SwdenkCPC45_ROMBOOT_config:	unconfig
7423bac3513Swdenk	@./mkconfig $(call xtract_82xx,$@) ppc mpc824x cpc45
7433bac3513Swdenk	@cd ./include ;				\
7443bac3513Swdenk	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
7453bac3513Swdenk		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
7463bac3513Swdenk		echo "... booting from 8-bit flash" ; \
7473bac3513Swdenk	else \
7483bac3513Swdenk		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
7493bac3513Swdenk		echo "... booting from 64-bit flash" ; \
7503bac3513Swdenk	fi; \
7513bac3513Swdenk	echo "export CONFIG_BOOT_ROM" >> config.mk;
7523bac3513Swdenk
7537ebf7443SwdenkCU824_config: unconfig
7547ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x cu824
7557ebf7443Swdenk
7567abf0c58Swdenkdebris_config: unconfig
7577abf0c58Swdenk	@./mkconfig $(@:_config=) ppc mpc824x debris etin
7587abf0c58Swdenk
75980885a9dSwdenkeXalion_config: unconfig
76080885a9dSwdenk	@./mkconfig $(@:_config=) ppc mpc824x eXalion
76180885a9dSwdenk
7627ebf7443SwdenkMOUSSE_config: unconfig
7637ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x mousse
7647ebf7443Swdenk
7657ebf7443SwdenkMUSENKI_config: unconfig
7667ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x musenki
7677ebf7443Swdenk
768b4676a25SwdenkMVBLUE_config:	unconfig
769b4676a25Swdenk	@./mkconfig $(@:_config=) ppc mpc824x mvblue
770b4676a25Swdenk
7717ebf7443SwdenkOXC_config: unconfig
7727ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x oxc
7737ebf7443Swdenk
7747ebf7443SwdenkPN62_config: unconfig
7757ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x pn62
7767ebf7443Swdenk
7777ebf7443SwdenkSandpoint8240_config: unconfig
7787ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x sandpoint
7797ebf7443Swdenk
7807ebf7443SwdenkSandpoint8245_config: unconfig
7817ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x sandpoint
7827ebf7443Swdenk
783d1cbe85bSwdenkSL8245_config: unconfig
784d1cbe85bSwdenk	@./mkconfig $(@:_config=) ppc mpc824x sl8245
785d1cbe85bSwdenk
7867ebf7443Swdenkutx8245_config: unconfig
7877ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x utx8245
7887ebf7443Swdenk
7897ebf7443Swdenk#########################################################################
7907ebf7443Swdenk## MPC8260 Systems
7917ebf7443Swdenk#########################################################################
7927ebf7443Swdenk
79354387ac9Swdenkatc_config:	unconfig
79454387ac9Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 atc
79554387ac9Swdenk
7967ebf7443Swdenkcogent_mpc8260_config:	unconfig
7977ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 cogent
7987ebf7443Swdenk
7997ebf7443SwdenkCPU86_config	\
8007ebf7443SwdenkCPU86_ROMBOOT_config: unconfig
8017ebf7443Swdenk	@./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu86
8027ebf7443Swdenk	@cd ./include ;				\
8037ebf7443Swdenk	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
8047ebf7443Swdenk		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
8057ebf7443Swdenk		echo "... booting from 8-bit flash" ; \
8067ebf7443Swdenk	else \
8077ebf7443Swdenk		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
8087ebf7443Swdenk		echo "... booting from 64-bit flash" ; \
8097ebf7443Swdenk	fi; \
8107ebf7443Swdenk	echo "export CONFIG_BOOT_ROM" >> config.mk;
8117ebf7443Swdenk
8127ebf7443Swdenkep8260_config:	unconfig
8137ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 ep8260
8147ebf7443Swdenk
8157ebf7443Swdenkgw8260_config:	unconfig
8167ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 gw8260
8177ebf7443Swdenk
8187ebf7443Swdenkhymod_config:	unconfig
8197ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 hymod
8207ebf7443Swdenk
8217ebf7443SwdenkIPHASE4539_config:	unconfig
8227ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 iphase4539
8237ebf7443Swdenk
824c3c7f861SwdenkISPAN_config		\
825c3c7f861SwdenkISPAN_REVB_config:	unconfig
826c3c7f861Swdenk	@if [ "$(findstring _REVB_,$@)" ] ; then \
827c3c7f861Swdenk		echo "#define CFG_REV_B" > include/config.h ; \
828c3c7f861Swdenk	fi
829c3c7f861Swdenk	@./mkconfig -a ISPAN ppc mpc8260 ispan
830c3c7f861Swdenk
83104a85b3bSwdenkMPC8260ADS_config	\
83204a85b3bSwdenkMPC8260ADS_33MHz_config	\
83304a85b3bSwdenkMPC8260ADS_40MHz_config	\
83404a85b3bSwdenkMPC8272ADS_config	\
83504a85b3bSwdenkPQ2FADS_config		\
83604a85b3bSwdenkPQ2FADS-VR_config	\
83704a85b3bSwdenkPQ2FADS-ZU_config	\
83804a85b3bSwdenkPQ2FADS-ZU_66MHz_config	\
83904a85b3bSwdenk	:		unconfig
84004a85b3bSwdenk	$(if $(findstring PQ2FADS,$@), \
84104a85b3bSwdenk	@echo "#define CONFIG_ADSTYPE CFG_PQ2FADS" > include/config.h, \
84204a85b3bSwdenk	@echo "#define CONFIG_ADSTYPE CFG_"$(subst MPC,,$(word 1,$(subst _, ,$@))) > include/config.h)
84304a85b3bSwdenk	$(if $(findstring MHz,$@), \
84404a85b3bSwdenk	@echo "#define CONFIG_8260_CLKIN" $(subst MHz,,$(word 2,$(subst _, ,$@)))"000000" >> include/config.h, \
84504a85b3bSwdenk	$(if $(findstring VR,$@), \
84604a85b3bSwdenk	@echo "#define CONFIG_8260_CLKIN 66000000" >> include/config.h))
84704a85b3bSwdenk	@./mkconfig -a MPC8260ADS ppc mpc8260 mpc8260ads
8487ebf7443Swdenk
849db2f721fSwdenkMPC8266ADS_config:	unconfig
850db2f721fSwdenk	@./mkconfig $(@:_config=) ppc mpc8260 mpc8266ads
851db2f721fSwdenk
852efa329cbSwdenk# PM825/PM826 default configuration:  small (= 8 MB) Flash / boot from 64-bit flash
85310f67017SwdenkPM825_config	\
854efa329cbSwdenkPM825_ROMBOOT_config	\
855efa329cbSwdenkPM825_BIGFLASH_config	\
856efa329cbSwdenkPM825_ROMBOOT_BIGFLASH_config	\
8577ebf7443SwdenkPM826_config	\
858efa329cbSwdenkPM826_ROMBOOT_config	\
859efa329cbSwdenkPM826_BIGFLASH_config	\
860efa329cbSwdenkPM826_ROMBOOT_BIGFLASH_config:	unconfig
861efa329cbSwdenk	@if [ "$(findstring PM825_,$@)" ] ; then \
862efa329cbSwdenk		echo "#define CONFIG_PCI"	>include/config.h ; \
8637ebf7443Swdenk	else \
864efa329cbSwdenk		>include/config.h ; \
865efa329cbSwdenk	fi
866efa329cbSwdenk	@if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
867efa329cbSwdenk		echo "... booting from 8-bit flash" ; \
868efa329cbSwdenk		echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
869efa329cbSwdenk		echo "TEXT_BASE = 0xFF800000" >board/pm826/config.tmp ; \
870efa329cbSwdenk		if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
871efa329cbSwdenk			echo "... with 32 MB Flash" ; \
872efa329cbSwdenk			echo "#define CONFIG_FLASH_32MB" >>include/config.h ; \
8737ebf7443Swdenk		fi; \
874efa329cbSwdenk	else \
875efa329cbSwdenk		echo "... booting from 64-bit flash" ; \
876efa329cbSwdenk		if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
877efa329cbSwdenk			echo "... with 32 MB Flash" ; \
878efa329cbSwdenk			echo "#define CONFIG_FLASH_32MB" >>include/config.h ; \
879efa329cbSwdenk			echo "TEXT_BASE = 0x40000000" >board/pm826/config.tmp ; \
880efa329cbSwdenk		else \
881efa329cbSwdenk			echo "TEXT_BASE = 0xFF000000" >board/pm826/config.tmp ; \
882efa329cbSwdenk		fi; \
883efa329cbSwdenk	fi
884efa329cbSwdenk	@./mkconfig -a PM826 ppc mpc8260 pm826
885efa329cbSwdenk
886efa329cbSwdenkPM828_config	\
887efa329cbSwdenkPM828_PCI_config	\
888efa329cbSwdenkPM828_ROMBOOT_config	\
889efa329cbSwdenkPM828_ROMBOOT_PCI_config:	unconfig
890efa329cbSwdenk	@if [ -z "$(findstring _PCI_,$@)" ] ; then \
891efa329cbSwdenk		echo "#define CONFIG_PCI"  >>include/config.h ; \
892efa329cbSwdenk		echo "... with PCI enabled" ; \
893efa329cbSwdenk	else \
894efa329cbSwdenk		>include/config.h ; \
895efa329cbSwdenk	fi
896efa329cbSwdenk	@if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
897efa329cbSwdenk		echo "... booting from 8-bit flash" ; \
898efa329cbSwdenk		echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
899efa329cbSwdenk		echo "TEXT_BASE = 0xFF800000" >board/pm826/config.tmp ; \
900efa329cbSwdenk	fi
901efa329cbSwdenk	@./mkconfig -a PM828 ppc mpc8260 pm828
9027ebf7443Swdenk
9037ebf7443Swdenkppmc8260_config:	unconfig
9047ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 ppmc8260
9057ebf7443Swdenk
9067ebf7443SwdenkRPXsuper_config:	unconfig
9077ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 rpxsuper
9087ebf7443Swdenk
9097ebf7443Swdenkrsdproto_config:	unconfig
9107ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 rsdproto
9117ebf7443Swdenk
9127ebf7443Swdenksacsng_config:	unconfig
9137ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 sacsng
9147ebf7443Swdenk
9157ebf7443Swdenksbc8260_config:	unconfig
9167ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 sbc8260
9177ebf7443Swdenk
9187ebf7443SwdenkSCM_config:		unconfig
9197ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 SCM siemens
9207ebf7443Swdenk
92127b207fdSwdenkTQM8255_AA_config \
92227b207fdSwdenkTQM8260_AA_config \
92327b207fdSwdenkTQM8260_AB_config \
92427b207fdSwdenkTQM8260_AC_config \
92527b207fdSwdenkTQM8260_AD_config \
92627b207fdSwdenkTQM8260_AE_config \
92727b207fdSwdenkTQM8260_AF_config \
92827b207fdSwdenkTQM8260_AG_config \
92927b207fdSwdenkTQM8260_AH_config \
93027b207fdSwdenkTQM8265_AA_config:  unconfig
93127b207fdSwdenk	@case "$@" in \
93227b207fdSwdenk	TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no;  BMODE=8260;;  \
93327b207fdSwdenk	TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no;  BMODE=8260;; \
93427b207fdSwdenk	TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;;  \
93527b207fdSwdenk	TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;;  \
93627b207fdSwdenk	TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=60x;;  \
93727b207fdSwdenk	TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no;  BMODE=8260;; \
93827b207fdSwdenk	TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=60x;;  \
93927b207fdSwdenk	TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=8260;; \
94027b207fdSwdenk	TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes; BMODE=60x;;  \
94127b207fdSwdenk	TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no;  BMODE=60x;;  \
94227b207fdSwdenk	esac; \
94327b207fdSwdenk	>include/config.h ; \
94427b207fdSwdenk	if [ "$${CTYPE}" != "MPC8260" ] ; then \
94527b207fdSwdenk		echo "#define CONFIG_$${CTYPE}"	>>include/config.h ; \
94627b207fdSwdenk	fi; \
94727b207fdSwdenk	echo "#define CONFIG_$${CFREQ}MHz"	>>include/config.h ; \
94827b207fdSwdenk	echo "... with $${CFREQ}MHz system clock" ; \
94927b207fdSwdenk	if [ "$${CACHE}" == "yes" ] ; then \
9507ebf7443Swdenk		echo "#define CONFIG_L2_CACHE"	>>include/config.h ; \
95127b207fdSwdenk		echo "... with L2 Cache support" ; \
9527ebf7443Swdenk	else \
9537ebf7443Swdenk		echo "#undef CONFIG_L2_CACHE"	>>include/config.h ; \
9547ebf7443Swdenk		echo "... without L2 Cache support" ; \
95527b207fdSwdenk	fi; \
95627b207fdSwdenk	if [ "$${BMODE}" == "60x" ] ; then \
95727b207fdSwdenk		echo "#define CONFIG_BUSMODE_60x" >>include/config.h ; \
95827b207fdSwdenk		echo "... with 60x Bus Mode" ; \
95927b207fdSwdenk	else \
96027b207fdSwdenk		echo "#undef CONFIG_BUSMODE_60x"  >>include/config.h ; \
96127b207fdSwdenk		echo "... without 60x Bus Mode" ; \
9627ebf7443Swdenk	fi
9634532cb69Swdenk	@./mkconfig -a TQM8260 ppc mpc8260 tqm8260
9647ebf7443Swdenk
96554387ac9SwdenkZPC1900_config: unconfig
96654387ac9Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 zpc1900
9677aa78614Swdenk
9684e5ca3ebSwdenk#========================================================================
9694e5ca3ebSwdenk# M68K
9704e5ca3ebSwdenk#========================================================================
9714e5ca3ebSwdenk#########################################################################
9724e5ca3ebSwdenk## Coldfire
9734e5ca3ebSwdenk#########################################################################
9744e5ca3ebSwdenk
9754e5ca3ebSwdenkM5272C3_config :		unconfig
976bf9e3b38Swdenk	@./mkconfig $(@:_config=) m68k mcf52x2 m5272c3
9774e5ca3ebSwdenk
9784e5ca3ebSwdenkM5282EVB_config :		unconfig
979bf9e3b38Swdenk	@./mkconfig $(@:_config=) m68k mcf52x2 m5282evb
9804e5ca3ebSwdenk
9817ebf7443Swdenk#########################################################################
98242d1f039Swdenk## MPC85xx Systems
98342d1f039Swdenk#########################################################################
98442d1f039Swdenk
98542d1f039SwdenkMPC8540ADS_config:      unconfig
98642d1f039Swdenk	@./mkconfig $(@:_config=) ppc mpc85xx mpc8540ads
98742d1f039Swdenk
98842d1f039SwdenkMPC8560ADS_config:      unconfig
98942d1f039Swdenk	@./mkconfig $(@:_config=) ppc mpc85xx mpc8560ads
99042d1f039Swdenk
9917abf0c58Swdenkstxgp3_config:      unconfig
9927abf0c58Swdenk	@./mkconfig $(@:_config=) ppc mpc85xx stxgp3
9937abf0c58Swdenk
99442d1f039Swdenk#########################################################################
9957ebf7443Swdenk## 74xx/7xx Systems
9967ebf7443Swdenk#########################################################################
9977ebf7443Swdenk
998c7de829cSwdenkAmigaOneG3SE_config:	unconfig
999c7de829cSwdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI
1000c7de829cSwdenk
100115647dc7SwdenkBAB7xx_config: unconfig
100215647dc7Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
100315647dc7Swdenk
10043a473b2aSwdenkDB64360_config:  unconfig
10053a473b2aSwdenk	@./mkconfig DB64360 ppc 74xx_7xx db64360 Marvell
10063a473b2aSwdenk
10073a473b2aSwdenkDB64460_config:  unconfig
10083a473b2aSwdenk	@./mkconfig DB64460 ppc 74xx_7xx db64460 Marvell
10093a473b2aSwdenk
101015647dc7SwdenkELPPC_config: unconfig
101115647dc7Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
101215647dc7Swdenk
10137ebf7443SwdenkEVB64260_config	\
10147ebf7443SwdenkEVB64260_750CX_config:	unconfig
10157ebf7443Swdenk	@./mkconfig EVB64260 ppc 74xx_7xx evb64260
10167ebf7443Swdenk
101715647dc7SwdenkP3G4_config: unconfig
10187ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
10197ebf7443Swdenk
10207ebf7443SwdenkPCIPPC2_config \
10217ebf7443SwdenkPCIPPC6_config: unconfig
10227ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2
10237ebf7443Swdenk
102415647dc7SwdenkZUMA_config:	unconfig
102512f34241Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
102612f34241Swdenk
10277ebf7443Swdenk#========================================================================
10287ebf7443Swdenk# ARM
10297ebf7443Swdenk#========================================================================
10307ebf7443Swdenk#########################################################################
10317ebf7443Swdenk## StrongARM Systems
10327ebf7443Swdenk#########################################################################
10337ebf7443Swdenk
1034ea66bc88Swdenkassabet_config	:	unconfig
1035ea66bc88Swdenk	@./mkconfig $(@:_config=) arm sa1100 assabet
1036ea66bc88Swdenk
10377ebf7443Swdenkdnp1110_config	:	unconfig
10387ebf7443Swdenk	@./mkconfig $(@:_config=) arm sa1100 dnp1110
10397ebf7443Swdenk
1040855a496fSwdenkgcplus_config	:	unconfig
1041855a496fSwdenk	@./mkconfig $(@:_config=) arm sa1100 gcplus
1042855a496fSwdenk
1043855a496fSwdenklart_config	:	unconfig
1044855a496fSwdenk	@./mkconfig $(@:_config=) arm sa1100 lart
1045855a496fSwdenk
10467ebf7443Swdenkshannon_config	:	unconfig
10477ebf7443Swdenk	@./mkconfig $(@:_config=) arm sa1100 shannon
10487ebf7443Swdenk
10497ebf7443Swdenk#########################################################################
10502e5983d2Swdenk## ARM92xT Systems
10517ebf7443Swdenk#########################################################################
10527ebf7443Swdenk
1053b0639ca3Swdenkxtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
105443d9616cSwdenk
10553ff02c27Swdenkxtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1))))
105663e73c9aSwdenk
1057a56bd922Swdenkxtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
1058a56bd922Swdenk
10593d3befa7Swdenkintegratorcp_config :	unconfig
10603d3befa7Swdenk	@./mkconfig $(@:_config=) arm arm926ejs integratorcp
10613d3befa7Swdenk
10623d3befa7Swdenkintegratorap_config :	unconfig
10633d3befa7Swdenk	@./mkconfig $(@:_config=) arm arm926ejs integratorap
10643d3befa7Swdenk
1065*f832d8a1Swdenklpd7a400_config \
1066*f832d8a1Swdenklpd7a404_config:	unconfig
10672d24a3a7Swdenk	@./mkconfig $(@:_config=) arm lh7a40x lpd7a40x
10683d3befa7Swdenk
10692e5983d2Swdenkomap1510inn_config :	unconfig
10702e5983d2Swdenk	@./mkconfig $(@:_config=) arm arm925t omap1510inn
10712e5983d2Swdenk
10721eaeb58eSwdenkomap5912osk_config :	unconfig
10731eaeb58eSwdenk	@./mkconfig $(@:_config=) arm arm926ejs omap5912osk
10741eaeb58eSwdenk
107563e73c9aSwdenkomap1610inn_config \
107663e73c9aSwdenkomap1610inn_cs0boot_config \
107763e73c9aSwdenkomap1610inn_cs3boot_config \
10783ff02c27Swdenkomap1610inn_cs_autoboot_config \
107963e73c9aSwdenkomap1610h2_config \
108063e73c9aSwdenkomap1610h2_cs0boot_config \
10813ff02c27Swdenkomap1610h2_cs3boot_config \
10823ff02c27Swdenkomap1610h2_cs_autoboot_config:	unconfig
108363e73c9aSwdenk	@if [ "$(findstring _cs0boot_, $@)" ] ; then \
108463e73c9aSwdenk		echo "#define CONFIG_CS0_BOOT" >> ./include/config.h ; \
1085b79a11ccSwdenk		echo "... configured for CS0 boot"; \
10863ff02c27Swdenk	elif [ "$(findstring _cs_autoboot_, $@)" ] ; then \
10873ff02c27Swdenk		echo "#define CONFIG_CS_AUTOBOOT" >> ./include/config.h ; \
10883ff02c27Swdenk		echo "... configured for CS_AUTO boot"; \
108963e73c9aSwdenk	else \
109063e73c9aSwdenk		echo "#define CONFIG_CS3_BOOT" >> ./include/config.h ; \
1091b79a11ccSwdenk		echo "... configured for CS3 boot"; \
109263e73c9aSwdenk	fi;
109363e73c9aSwdenk	@./mkconfig -a $(call xtract_omap1610xxx,$@) arm arm926ejs omap1610inn
10946f21347dSwdenk
1095a56bd922Swdenkomap730p2_config \
1096a56bd922Swdenkomap730p2_cs0boot_config \
1097a56bd922Swdenkomap730p2_cs3boot_config :	unconfig
1098a56bd922Swdenk	@if [ "$(findstring _cs0boot_, $@)" ] ; then \
1099a56bd922Swdenk		echo "#define CONFIG_CS0_BOOT" >> ./include/config.h ; \
1100a56bd922Swdenk		echo "... configured for CS0 boot"; \
1101a56bd922Swdenk	else \
1102a56bd922Swdenk		echo "#define CONFIG_CS3_BOOT" >> ./include/config.h ; \
1103a56bd922Swdenk		echo "... configured for CS3 boot"; \
1104a56bd922Swdenk	fi;
1105a56bd922Swdenk	@./mkconfig -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2
1106a56bd922Swdenk
11077ebf7443Swdenksmdk2400_config	:	unconfig
11087ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm920t smdk2400
11097ebf7443Swdenk
11107ebf7443Swdenksmdk2410_config	:	unconfig
11117ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm920t smdk2410
11127ebf7443Swdenk
11132d24a3a7SwdenkSX1_config :		unconfig
11142d24a3a7Swdenk	@./mkconfig $(@:_config=) arm arm925t sx1
11152d24a3a7Swdenk
1116b2001f27Swdenk# TRAB default configuration:	8 MB Flash, 32 MB RAM
111743d9616cSwdenktrab_config \
1118b0639ca3Swdenktrab_bigram_config \
1119b0639ca3Swdenktrab_bigflash_config \
1120f54ebdfaSwdenktrab_old_config:	unconfig
112143d9616cSwdenk	@ >include/config.h
1122b0639ca3Swdenk	@[ -z "$(findstring _bigram,$@)" ] || \
1123b0639ca3Swdenk		{ echo "#define CONFIG_FLASH_8MB"  >>include/config.h ; \
1124b2001f27Swdenk		  echo "#define CONFIG_RAM_32MB"   >>include/config.h ; \
1125b0639ca3Swdenk		  echo "... with 8 MB Flash, 32 MB RAM" ; \
1126b0639ca3Swdenk		}
1127b0639ca3Swdenk	@[ -z "$(findstring _bigflash,$@)" ] || \
1128b2001f27Swdenk		{ echo "#define CONFIG_FLASH_16MB" >>include/config.h ; \
1129b2001f27Swdenk		  echo "#define CONFIG_RAM_16MB"   >>include/config.h ; \
1130b0639ca3Swdenk		  echo "... with 16 MB Flash, 16 MB RAM" ; \
1131a8c7c708Swdenk		  echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
1132b0639ca3Swdenk		}
1133f54ebdfaSwdenk	@[ -z "$(findstring _old,$@)" ] || \
1134b2001f27Swdenk		{ echo "#define CONFIG_FLASH_8MB"  >>include/config.h ; \
1135b2001f27Swdenk		  echo "#define CONFIG_RAM_16MB"   >>include/config.h ; \
1136b2001f27Swdenk		  echo "... with 8 MB Flash, 16 MB RAM" ; \
1137a8c7c708Swdenk		  echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
113843d9616cSwdenk		}
113943d9616cSwdenk	@./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
11407ebf7443Swdenk
11411cb8e980SwdenkVCMA9_config	:	unconfig
11421cb8e980Swdenk	@./mkconfig $(@:_config=) arm arm920t vcma9 mpl
11431cb8e980Swdenk
11442d24a3a7Swdenkversatile_config :	unconfig
11452d24a3a7Swdenk	@./mkconfig $(@:_config=) arm arm926ejs versatile
1146074cff0dSwdenk
1147074cff0dSwdenk#########################################################################
1148074cff0dSwdenk## S3C44B0 Systems
1149074cff0dSwdenk#########################################################################
1150074cff0dSwdenk
1151074cff0dSwdenkB2_config	:	unconfig
1152074cff0dSwdenk	@./mkconfig $(@:_config=) arm s3c44b0 B2 dave
1153074cff0dSwdenk
11547ebf7443Swdenk#########################################################################
11552d24a3a7Swdenk## MC9328 (Dragonball) Systems
11562d24a3a7Swdenk#########################################################################
11572d24a3a7Swdenk
11582d24a3a7Swdenkmx1ads_config	:	unconfig
11592d24a3a7Swdenk	@./mkconfig $(@:_config=) arm mc9328 mx1ads
11602d24a3a7Swdenk
11612d24a3a7Swdenk#########################################################################
11627ebf7443Swdenk## ARM720T Systems
11637ebf7443Swdenk#########################################################################
11647ebf7443Swdenk
11657ebf7443Swdenkep7312_config	:	unconfig
11667ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm720t ep7312
11677ebf7443Swdenk
11682d24a3a7Swdenkimpa7_config	:	unconfig
11692d24a3a7Swdenk	@./mkconfig $(@:_config=) arm arm720t impa7
11702d24a3a7Swdenk
11712d1a537dSwdenkmodnet50_config :	unconfig
11722d1a537dSwdenk	@./mkconfig $(@:_config=) arm arm720t modnet50
11732d1a537dSwdenk
11747ebf7443Swdenk#########################################################################
1175d9df1f4eSwdenk## AT91RM9200 Systems
1176d9df1f4eSwdenk#########################################################################
1177d9df1f4eSwdenk
1178d9df1f4eSwdenkat91rm9200dk_config	:	unconfig
1179d9df1f4eSwdenk	@./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
1180d9df1f4eSwdenk
1181d9df1f4eSwdenk#########################################################################
118243d9616cSwdenk## XScale Systems
11837ebf7443Swdenk#########################################################################
11847ebf7443Swdenk
11857ebf7443Swdenkcradle_config	:	unconfig
11864c3b21a5Swdenk	@./mkconfig $(@:_config=) arm pxa cradle
11877ebf7443Swdenk
11887ebf7443Swdenkcsb226_config	:	unconfig
11894c3b21a5Swdenk	@./mkconfig $(@:_config=) arm pxa csb226
11907ebf7443Swdenk
119143d9616cSwdenkinnokom_config	:	unconfig
11924c3b21a5Swdenk	@./mkconfig $(@:_config=) arm pxa innokom
119343d9616cSwdenk
11942d5b561eSwdenkixdp425_config	:	unconfig
11952d5b561eSwdenk	@./mkconfig $(@:_config=) arm ixp ixdp425
11962d5b561eSwdenk
119743d9616cSwdenklubbock_config	:	unconfig
11984c3b21a5Swdenk	@./mkconfig $(@:_config=) arm pxa lubbock
119943d9616cSwdenk
120052f52c14Swdenklogodl_config	:	unconfig
120152f52c14Swdenk	@./mkconfig $(@:_config=) arm pxa logodl
120252f52c14Swdenk
12033e38691eSwdenkwepep250_config	:	unconfig
12044c3b21a5Swdenk	@./mkconfig $(@:_config=) arm pxa wepep250
12053e38691eSwdenk
1206efa329cbSwdenkxm250_config	:	unconfig
1207efa329cbSwdenk	@./mkconfig $(@:_config=) arm pxa xm250
1208efa329cbSwdenk
1209ca0e7748Swdenkxsengine_config :	unconfig
1210ca0e7748Swdenk	@./mkconfig $(@:_config=) arm pxa xsengine
1211ca0e7748Swdenk
12122262cfeeSwdenk#========================================================================
12132262cfeeSwdenk# i386
12142262cfeeSwdenk#========================================================================
12152262cfeeSwdenk#########################################################################
12162262cfeeSwdenk## AMD SC520 CDP
12172262cfeeSwdenk#########################################################################
12182262cfeeSwdenksc520_cdp_config	:	unconfig
12192262cfeeSwdenk	@./mkconfig $(@:_config=) i386 i386 sc520_cdp
12202262cfeeSwdenk
12217a8e9bedSwdenksc520_spunk_config	:	unconfig
12227a8e9bedSwdenk	@./mkconfig $(@:_config=) i386 i386 sc520_spunk
12237a8e9bedSwdenk
12247a8e9bedSwdenksc520_spunk_rel_config	:	unconfig
12257a8e9bedSwdenk	@./mkconfig $(@:_config=) i386 i386 sc520_spunk
12267a8e9bedSwdenk
122743d9616cSwdenk#========================================================================
122843d9616cSwdenk# MIPS
122943d9616cSwdenk#========================================================================
12307ebf7443Swdenk#########################################################################
123143d9616cSwdenk## MIPS32 4Kc
123243d9616cSwdenk#########################################################################
123343d9616cSwdenk
1234e0ac62d7Swdenkxtract_incaip = $(subst _100MHz,,$(subst _133MHz,,$(subst _150MHz,,$(subst _config,,$1))))
1235e0ac62d7Swdenk
1236e0ac62d7Swdenkincaip_100MHz_config	\
1237e0ac62d7Swdenkincaip_133MHz_config	\
1238e0ac62d7Swdenkincaip_150MHz_config	\
123943d9616cSwdenkincaip_config: unconfig
1240e0ac62d7Swdenk	@ >include/config.h
1241e0ac62d7Swdenk	@[ -z "$(findstring _100MHz,$@)" ] || \
1242e0ac62d7Swdenk		{ echo "#define CPU_CLOCK_RATE 100000000" >>include/config.h ; \
1243e0ac62d7Swdenk		  echo "... with 100MHz system clock" ; \
1244e0ac62d7Swdenk		}
1245e0ac62d7Swdenk	@[ -z "$(findstring _133MHz,$@)" ] || \
1246e0ac62d7Swdenk		{ echo "#define CPU_CLOCK_RATE 133000000" >>include/config.h ; \
1247e0ac62d7Swdenk		  echo "... with 133MHz system clock" ; \
1248e0ac62d7Swdenk		}
1249e0ac62d7Swdenk	@[ -z "$(findstring _150MHz,$@)" ] || \
1250e0ac62d7Swdenk		{ echo "#define CPU_CLOCK_RATE 150000000" >>include/config.h ; \
1251e0ac62d7Swdenk		  echo "... with 150MHz system clock" ; \
1252e0ac62d7Swdenk		}
1253e0ac62d7Swdenk	@./mkconfig -a $(call xtract_incaip,$@) mips mips incaip
1254e0ac62d7Swdenk
1255f4863a7aSwdenktb0229_config: unconfig
1256f4863a7aSwdenk	@./mkconfig $(@:_config=) mips mips tb0229
1257f4863a7aSwdenk
1258e0ac62d7Swdenk#########################################################################
125969459791Swdenk## MIPS32 AU1X00
126069459791Swdenk#########################################################################
126169459791Swdenkdbau1000_config		: 	unconfig
126269459791Swdenk	@ >include/config.h
126369459791Swdenk	@echo "#define CONFIG_DBAU1000 1" >>include/config.h
126469459791Swdenk	@./mkconfig -a dbau1x00 mips mips dbau1x00
126569459791Swdenk
126669459791Swdenkdbau1100_config		: 	unconfig
126769459791Swdenk	@ >include/config.h
126869459791Swdenk	@echo "#define CONFIG_DBAU1100 1" >>include/config.h
126969459791Swdenk	@./mkconfig -a dbau1x00 mips mips dbau1x00
127069459791Swdenk
127169459791Swdenkdbau1500_config		: 	unconfig
127269459791Swdenk	@ >include/config.h
127369459791Swdenk	@echo "#define CONFIG_DBAU1500 1" >>include/config.h
127469459791Swdenk	@./mkconfig -a dbau1x00 mips mips dbau1x00
127569459791Swdenk
127669459791Swdenk#########################################################################
1277e0ac62d7Swdenk## MIPS64 5Kc
1278e0ac62d7Swdenk#########################################################################
127943d9616cSwdenk
12803e38691eSwdenkpurple_config :		unconfig
12813e38691eSwdenk	@./mkconfig $(@:_config=) mips mips purple
128243d9616cSwdenk
12834a551709Swdenk#========================================================================
12844a551709Swdenk# Nios
12854a551709Swdenk#========================================================================
12864a551709Swdenk#########################################################################
12874a551709Swdenk## Nios32
12884a551709Swdenk#########################################################################
12894a551709Swdenk
1290c935d3bdSwdenkDK1C20_safe_32_config		\
1291c935d3bdSwdenkDK1C20_standard_32_config	\
12924a551709SwdenkDK1C20_config:	unconfig
1293c935d3bdSwdenk	@ >include/config.h
1294c935d3bdSwdenk	@[ -z "$(findstring _safe_32,$@)" ] || \
1295c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_SAFE_32 1" >>include/config.h ; \
1296c935d3bdSwdenk		  echo "... NIOS 'safe_32' configuration" ; \
1297c935d3bdSwdenk		}
1298c935d3bdSwdenk	@[ -z "$(findstring _standard_32,$@)" ] || \
1299c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
1300c935d3bdSwdenk		  echo "... NIOS 'standard_32' configuration" ; \
1301c935d3bdSwdenk		}
1302c935d3bdSwdenk	@[ -z "$(findstring DK1C20_config,$@)" ] || \
1303c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
1304c935d3bdSwdenk		  echo "... NIOS 'standard_32' configuration (DEFAULT)" ; \
1305c935d3bdSwdenk		}
1306c935d3bdSwdenk	@./mkconfig -a DK1C20 nios nios dk1c20 altera
1307c935d3bdSwdenk
1308c935d3bdSwdenkDK1S10_safe_32_config		\
1309c935d3bdSwdenkDK1S10_standard_32_config	\
1310ec4c544bSwdenkDK1S10_mtx_ldk_20_config	\
1311c935d3bdSwdenkDK1S10_config:	unconfig
1312c935d3bdSwdenk	@ >include/config.h
1313c935d3bdSwdenk	@[ -z "$(findstring _safe_32,$@)" ] || \
1314c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_SAFE_32 1" >>include/config.h ; \
1315c935d3bdSwdenk		  echo "... NIOS 'safe_32' configuration" ; \
1316c935d3bdSwdenk		}
1317c935d3bdSwdenk	@[ -z "$(findstring _standard_32,$@)" ] || \
1318c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
1319c935d3bdSwdenk		  echo "... NIOS 'standard_32' configuration" ; \
1320c935d3bdSwdenk		}
1321ec4c544bSwdenk	@[ -z "$(findstring _mtx_ldk_20,$@)" ] || \
1322ec4c544bSwdenk		{ echo "#define CONFIG_NIOS_MTX_LDK_20 1" >>include/config.h ; \
1323ec4c544bSwdenk		  echo "... NIOS 'mtx_ldk_20' configuration" ; \
1324ec4c544bSwdenk		}
1325c935d3bdSwdenk	@[ -z "$(findstring DK1S10_config,$@)" ] || \
1326c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
1327c935d3bdSwdenk		  echo "... NIOS 'standard_32' configuration (DEFAULT)" ; \
1328c935d3bdSwdenk		}
1329c935d3bdSwdenk	@./mkconfig -a DK1S10 nios nios dk1s10 altera
13304a551709Swdenk
1331aaf224abSwdenkADNPESC1_DNPEVA2_base_32_config	\
1332aaf224abSwdenkADNPESC1_base_32_config		\
1333aaf224abSwdenkADNPESC1_config: unconfig
1334aaf224abSwdenk	@ >include/config.h
1335aaf224abSwdenk	@[ -z "$(findstring _DNPEVA2,$@)" ] || \
1336aaf224abSwdenk		{ echo "#define CONFIG_DNPEVA2 1" >>include/config.h ; \
1337aaf224abSwdenk		  echo "... DNP/EVA2 configuration" ; \
1338aaf224abSwdenk		}
1339aaf224abSwdenk	@[ -z "$(findstring _base_32,$@)" ] || \
1340aaf224abSwdenk		{ echo "#define CONFIG_NIOS_BASE_32 1" >>include/config.h ; \
1341aaf224abSwdenk		  echo "... NIOS 'base_32' configuration" ; \
1342aaf224abSwdenk		}
1343aaf224abSwdenk	@[ -z "$(findstring ADNPESC1_config,$@)" ] || \
1344aaf224abSwdenk		{ echo "#define CONFIG_NIOS_BASE_32 1" >>include/config.h ; \
1345aaf224abSwdenk		  echo "... NIOS 'base_32' configuration (DEFAULT)" ; \
1346aaf224abSwdenk		}
1347aaf224abSwdenk	@./mkconfig -a ADNPESC1 nios nios adnpesc1 ssv
1348aaf224abSwdenk
13494a551709Swdenk
1350507bbe3eSwdenk#========================================================================
1351507bbe3eSwdenk# MicroBlaze
1352507bbe3eSwdenk#========================================================================
1353507bbe3eSwdenk#########################################################################
1354507bbe3eSwdenk## Microblaze
1355507bbe3eSwdenk#########################################################################
1356507bbe3eSwdenksuzaku_config:	unconfig
1357507bbe3eSwdenk	@ >include/config.h
1358507bbe3eSwdenk	@echo "#define CONFIG_SUZAKU 1" >> include/config.h
1359507bbe3eSwdenk	@./mkconfig -a $(@:_config=) microblaze microblaze suzaku AtmarkTechno
1360507bbe3eSwdenk
13613e38691eSwdenk#########################################################################
13623e38691eSwdenk#########################################################################
13637ebf7443Swdenk
13647ebf7443Swdenkclean:
13657ebf7443Swdenk	find . -type f \
13667ebf7443Swdenk		\( -name 'core' -o -name '*.bak' -o -name '*~' \
13677ebf7443Swdenk		-o -name '*.o'  -o -name '*.a'  \) -print \
13687ebf7443Swdenk		| xargs rm -f
136985ec0bccSwdenk	rm -f examples/hello_world examples/timer \
13703e38691eSwdenk	      examples/eepro100_eeprom examples/sched \
13717a8e9bedSwdenk	      examples/mem_to_mem_idma2intr examples/82559_eeprom
13727ebf7443Swdenk	rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
1373bda6c8aeSwdenk	rm -f tools/mpc86x_clk
13747ebf7443Swdenk	rm -f tools/easylogo/easylogo tools/bmp_logo
13757ebf7443Swdenk	rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
1376228f29acSwdenk	rm -f tools/env/fw_printenv tools/env/fw_setenv
13777f70e853Swdenk	rm -f board/cray/L1/bootscript.c board/cray/L1/bootscript.image
13787e780369Swdenk	rm -f board/trab/trab_fkt
13797ebf7443Swdenk
13807ebf7443Swdenkclobber:	clean
13814c0d4c3bSwdenk	find . -type f \( -name .depend \
13824c0d4c3bSwdenk		-o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \
13834c0d4c3bSwdenk		-print0 \
13844c0d4c3bSwdenk		| xargs -0 rm -f
13857ebf7443Swdenk	rm -f $(OBJS) *.bak tags TAGS
13867ebf7443Swdenk	rm -fr *.*~
1387bdccc4feSwdenk	rm -f u-boot u-boot.map $(ALL)
1388228f29acSwdenk	rm -f tools/crc32.c tools/environment.c tools/env/crc32.c
13893e38691eSwdenk	rm -f tools/inca-swap-bytes cpu/mpc824x/bedbug_603e.c
1390b783edaeSwdenk	rm -f include/asm/proc include/asm/arch include/asm
13917ebf7443Swdenk
13927ebf7443Swdenkmrproper \
13937ebf7443Swdenkdistclean:	clobber unconfig
13947ebf7443Swdenk
13957ebf7443Swdenkbackup:
13967ebf7443Swdenk	F=`basename $(TOPDIR)` ; cd .. ; \
13977ebf7443Swdenk	gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
13987ebf7443Swdenk
13997ebf7443Swdenk#########################################################################
1400