xref: /openbmc/u-boot/Makefile (revision e55ca7e2624988f82d6f77ddab54246621260c8b)
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
25849822e23SwdenkPM520_config \
25949822e23SwdenkPM520_DDR_config \
26049822e23SwdenkPM520_ROMBOOT_config \
26149822e23SwdenkPM520_ROMBOOT_DDR_config:	unconfig
26249822e23Swdenk	@ >include/config.h
26349822e23Swdenk	@[ -z "$(findstring DDR,$@)" ] || \
26449822e23Swdenk		{ echo "#define CONFIG_MPC5200_DDR"	>>include/config.h ; \
26549822e23Swdenk		  echo "... DDR memory revision" ; \
26649822e23Swdenk		}
26749822e23Swdenk	@[ -z "$(findstring ROMBOOT,$@)" ] || \
26849822e23Swdenk		{ echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
26949822e23Swdenk		  echo "... booting from 8-bit flash" ; \
27049822e23Swdenk		}
27149822e23Swdenk	@./mkconfig -a PM520 ppc mpc5xxx pm520
272efa329cbSwdenk
273945af8d7Swdenk#########################################################################
2747ebf7443Swdenk## MPC8xx Systems
2757ebf7443Swdenk#########################################################################
2767ebf7443Swdenk
2772d24a3a7SwdenkAdder_config    \
2782d24a3a7SwdenkAdder87x_config \
2792d24a3a7SwdenkAdder852_config \
2802d24a3a7Swdenk	:		unconfig
2812d24a3a7Swdenk	$(if $(findstring 852,$@), \
2822d24a3a7Swdenk	@echo "#define CONFIG_MPC852T" > include/config.h)
2832d24a3a7Swdenk	@./mkconfig -a Adder ppc mpc8xx adder
2842d24a3a7Swdenk
2850cb61d7dSwdenkAdderII_config:	unconfig
2860cb61d7dSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx adderII
2870cb61d7dSwdenk
288180d3f74SwdenkADS860_config     \
289180d3f74SwdenkFADS823_config    \
290180d3f74SwdenkFADS850SAR_config \
291180d3f74SwdenkMPC86xADS_config  \
2921114257cSwdenkMPC885ADS_config  \
293180d3f74SwdenkFADS860T_config:	unconfig
2947ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx fads
2957ebf7443Swdenk
2967ebf7443SwdenkAMX860_config	:	unconfig
2977ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
2987ebf7443Swdenk
2997ebf7443Swdenkc2mon_config:		unconfig
3007ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx c2mon
3017ebf7443Swdenk
3027ebf7443SwdenkCCM_config:		unconfig
3037ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx CCM siemens
3047ebf7443Swdenk
3057ebf7443Swdenkcogent_mpc8xx_config:	unconfig
3067ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx cogent
3077ebf7443Swdenk
3083bac3513SwdenkELPT860_config:		unconfig
3093bac3513Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx elpt860 LEOX
3103bac3513Swdenk
3117ebf7443SwdenkESTEEM192E_config:	unconfig
3127ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx esteem192e
3137ebf7443Swdenk
3147ebf7443SwdenkETX094_config	:	unconfig
3157ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx etx094
3167ebf7443Swdenk
3177ebf7443SwdenkFLAGADM_config:	unconfig
3187ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx flagadm
3197ebf7443Swdenk
3207aa78614Swdenkxtract_GEN860T = $(subst _SC,,$(subst _config,,$1))
3217aa78614Swdenk
3227aa78614SwdenkGEN860T_SC_config	\
3237ebf7443SwdenkGEN860T_config: unconfig
3247aa78614Swdenk	@ >include/config.h
3257aa78614Swdenk	@[ -z "$(findstring _SC,$@)" ] || \
3267aa78614Swdenk		{ echo "#define CONFIG_SC" >>include/config.h ; \
3277aa78614Swdenk		  echo "With reduced H/W feature set (SC)..." ; \
3287aa78614Swdenk		}
3297aa78614Swdenk	@./mkconfig -a $(call xtract_GEN860T,$@) ppc mpc8xx gen860t
3307ebf7443Swdenk
3317ebf7443SwdenkGENIETV_config:	unconfig
3327ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx genietv
3337ebf7443Swdenk
3347ebf7443SwdenkGTH_config:	unconfig
3357ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx gth
3367ebf7443Swdenk
3377ebf7443Swdenkhermes_config	:	unconfig
3387ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx hermes
3397ebf7443Swdenk
340c40b2956SwdenkHMI10_config	:	unconfig
341c40b2956Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
342c40b2956Swdenk
3437ebf7443SwdenkIAD210_config: unconfig
3447ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx IAD210 siemens
3457ebf7443Swdenk
3467ebf7443Swdenkxtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1))
3477ebf7443Swdenk
3487ebf7443SwdenkICU862_100MHz_config	\
3497ebf7443SwdenkICU862_config: unconfig
3507ebf7443Swdenk	@ >include/config.h
3517ebf7443Swdenk	@[ -z "$(findstring _100MHz,$@)" ] || \
3527ebf7443Swdenk		{ echo "#define CONFIG_100MHz"	>>include/config.h ; \
3537ebf7443Swdenk		  echo "... with 100MHz system clock" ; \
3547ebf7443Swdenk		}
3557ebf7443Swdenk	@./mkconfig -a $(call xtract_ICU862,$@) ppc mpc8xx icu862
3567ebf7443Swdenk
3577ebf7443SwdenkIP860_config	:	unconfig
3587ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx ip860
3597ebf7443Swdenk
3607ebf7443SwdenkIVML24_256_config \
3617ebf7443SwdenkIVML24_128_config \
3627ebf7443SwdenkIVML24_config:	unconfig
3637ebf7443Swdenk	@ >include/config.h
3647ebf7443Swdenk	@[ -z "$(findstring IVML24_config,$@)" ] || \
3657ebf7443Swdenk		 { echo "#define CONFIG_IVML24_16M"	>>include/config.h ; \
3667ebf7443Swdenk		 }
3677ebf7443Swdenk	@[ -z "$(findstring IVML24_128_config,$@)" ] || \
3687ebf7443Swdenk		 { echo "#define CONFIG_IVML24_32M"	>>include/config.h ; \
3697ebf7443Swdenk		 }
3707ebf7443Swdenk	@[ -z "$(findstring IVML24_256_config,$@)" ] || \
3717ebf7443Swdenk		 { echo "#define CONFIG_IVML24_64M"	>>include/config.h ; \
3727ebf7443Swdenk		 }
3737ebf7443Swdenk	@./mkconfig -a IVML24 ppc mpc8xx ivm
3747ebf7443Swdenk
3757ebf7443SwdenkIVMS8_256_config \
3767ebf7443SwdenkIVMS8_128_config \
3777ebf7443SwdenkIVMS8_config:	unconfig
3787ebf7443Swdenk	@ >include/config.h
3797ebf7443Swdenk	@[ -z "$(findstring IVMS8_config,$@)" ] || \
3807ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_16M"	>>include/config.h ; \
3817ebf7443Swdenk		 }
3827ebf7443Swdenk	@[ -z "$(findstring IVMS8_128_config,$@)" ] || \
3837ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_32M"	>>include/config.h ; \
3847ebf7443Swdenk		 }
3857ebf7443Swdenk	@[ -z "$(findstring IVMS8_256_config,$@)" ] || \
3867ebf7443Swdenk		 { echo "#define CONFIG_IVMS8_64M"	>>include/config.h ; \
3877ebf7443Swdenk		 }
3887ebf7443Swdenk	@./mkconfig -a IVMS8 ppc mpc8xx ivm
3897ebf7443Swdenk
39056f94be3SwdenkKUP4K_config	:	unconfig
3910608e04dSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx kup4k kup
3920608e04dSwdenk
3930608e04dSwdenkKUP4X_config    :       unconfig
3940608e04dSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx kup4x kup
39556f94be3Swdenk
3967ebf7443SwdenkLANTEC_config	:	unconfig
3977ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx lantec
3987ebf7443Swdenk
3997ebf7443Swdenklwmon_config:		unconfig
4007ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx lwmon
4017ebf7443Swdenk
4027ebf7443SwdenkMBX_config	\
4037ebf7443SwdenkMBX860T_config:	unconfig
4047ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mbx8xx
4057ebf7443Swdenk
4067ebf7443SwdenkMHPC_config:		unconfig
4077ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mhpc eltec
4087ebf7443Swdenk
4097ebf7443SwdenkMVS1_config :		unconfig
4107ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx mvs1
4117ebf7443Swdenk
412993cad93Swdenkxtract_NETVIA = $(subst _V2,,$(subst _config,,$1))
413993cad93Swdenk
414993cad93SwdenkNETVIA_V2_config \
4157ebf7443SwdenkNETVIA_config:		unconfig
416993cad93Swdenk	@ >include/config.h
417993cad93Swdenk	@[ -z "$(findstring NETVIA_config,$@)" ] || \
418993cad93Swdenk		 { echo "#define CONFIG_NETVIA_VERSION 1" >>include/config.h ; \
419993cad93Swdenk		  echo "... Version 1" ; \
420993cad93Swdenk		 }
421993cad93Swdenk	@[ -z "$(findstring NETVIA_V2_config,$@)" ] || \
422993cad93Swdenk		 { echo "#define CONFIG_NETVIA_VERSION 2" >>include/config.h ; \
423993cad93Swdenk		  echo "... Version 2" ; \
424993cad93Swdenk		 }
425993cad93Swdenk	@./mkconfig -a $(call xtract_NETVIA,$@) ppc mpc8xx netvia
4267ebf7443Swdenk
427c26e454dSwdenkxtract_NETPHONE = $(subst _V2,,$(subst _config,,$1))
428c26e454dSwdenk
429c26e454dSwdenkNETPHONE_V2_config \
43004a85b3bSwdenkNETPHONE_config:	unconfig
431c26e454dSwdenk	@ >include/config.h
432c26e454dSwdenk	@[ -z "$(findstring NETPHONE_config,$@)" ] || \
433c26e454dSwdenk		 { echo "#define CONFIG_NETPHONE_VERSION 1" >>include/config.h ; \
434c26e454dSwdenk		 }
435c26e454dSwdenk	@[ -z "$(findstring NETPHONE_V2_config,$@)" ] || \
436c26e454dSwdenk		 { echo "#define CONFIG_NETPHONE_VERSION 2" >>include/config.h ; \
437c26e454dSwdenk		 }
438c26e454dSwdenk	@./mkconfig -a $(call xtract_NETPHONE,$@) ppc mpc8xx netphone
43904a85b3bSwdenk
44079fa88f3Swdenkxtract_NETTA = $(subst _SWAPHOOK,,$(subst _6412,,$(subst _ISDN,,$(subst _config,,$1))))
44104a85b3bSwdenk
44279fa88f3SwdenkNETTA_ISDN_6412_SWAPHOOK_config \
44379fa88f3SwdenkNETTA_ISDN_SWAPHOOK_config \
44479fa88f3SwdenkNETTA_6412_SWAPHOOK_config \
44579fa88f3SwdenkNETTA_SWAPHOOK_config \
44679fa88f3SwdenkNETTA_ISDN_6412_config \
44704a85b3bSwdenkNETTA_ISDN_config \
44879fa88f3SwdenkNETTA_6412_config \
44904a85b3bSwdenkNETTA_config:		unconfig
45004a85b3bSwdenk	@ >include/config.h
45179fa88f3Swdenk	@[ -z "$(findstring ISDN_,$@)" ] || \
45204a85b3bSwdenk		 { echo "#define CONFIG_NETTA_ISDN 1" >>include/config.h ; \
45304a85b3bSwdenk		 }
45479fa88f3Swdenk	@[ -n "$(findstring ISDN_,$@)" ] || \
45579fa88f3Swdenk		 { echo "#undef CONFIG_NETTA_ISDN" >>include/config.h ; \
45679fa88f3Swdenk		 }
45779fa88f3Swdenk	@[ -z "$(findstring 6412_,$@)" ] || \
45879fa88f3Swdenk		 { echo "#define CONFIG_NETTA_6412 1" >>include/config.h ; \
45979fa88f3Swdenk		 }
46079fa88f3Swdenk	@[ -n "$(findstring 6412_,$@)" ] || \
46179fa88f3Swdenk		 { echo "#undef CONFIG_NETTA_6412" >>include/config.h ; \
46279fa88f3Swdenk		 }
46379fa88f3Swdenk	@[ -z "$(findstring SWAPHOOK_,$@)" ] || \
46479fa88f3Swdenk		 { echo "#define CONFIG_NETTA_SWAPHOOK 1" >>include/config.h ; \
46579fa88f3Swdenk		 }
46679fa88f3Swdenk	@[ -n "$(findstring SWAPHOOK_,$@)" ] || \
46779fa88f3Swdenk		 { echo "#undef CONFIG_NETTA_SWAPHOOK" >>include/config.h ; \
46879fa88f3Swdenk		 }
46904a85b3bSwdenk	@./mkconfig -a $(call xtract_NETTA,$@) ppc mpc8xx netta
47004a85b3bSwdenk
47179fa88f3Swdenkxtract_NETTA2 = $(subst _V2,,$(subst _config,,$1))
47279fa88f3Swdenk
47379fa88f3SwdenkNETTA2_V2_config \
47479fa88f3SwdenkNETTA2_config:		unconfig
47579fa88f3Swdenk	@ >include/config.h
47679fa88f3Swdenk	@[ -z "$(findstring NETTA2_config,$@)" ] || \
47779fa88f3Swdenk		 { echo "#define CONFIG_NETTA2_VERSION 1" >>include/config.h ; \
47879fa88f3Swdenk		 }
47979fa88f3Swdenk	@[ -z "$(findstring NETTA2_V2_config,$@)" ] || \
48079fa88f3Swdenk		 { echo "#define CONFIG_NETTA2_VERSION 2" >>include/config.h ; \
48179fa88f3Swdenk		 }
48279fa88f3Swdenk	@./mkconfig -a $(call xtract_NETTA2,$@) ppc mpc8xx netta2
48379fa88f3Swdenk
4847ebf7443SwdenkNX823_config:		unconfig
4857ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx nx823
4867ebf7443Swdenk
4877ebf7443Swdenkpcu_e_config:		unconfig
4887ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens
4897ebf7443Swdenk
4903bbc899fSwdenkQS850_config:	unconfig
4913bbc899fSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx qs850 snmc
4923bbc899fSwdenk
4933bbc899fSwdenkQS823_config:	unconfig
4943bbc899fSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx qs850 snmc
4953bbc899fSwdenk
4963bbc899fSwdenkQS860T_config:	unconfig
4973bbc899fSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx qs860t snmc
4983bbc899fSwdenk
4997ebf7443SwdenkR360MPI_config:	unconfig
5007ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx r360mpi
5017ebf7443Swdenk
502682011ffSwdenkRBC823_config:	unconfig
503682011ffSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx rbc823
504682011ffSwdenk
5057ebf7443SwdenkRPXClassic_config:	unconfig
5067ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RPXClassic
5077ebf7443Swdenk
5087ebf7443SwdenkRPXlite_config:		unconfig
5097ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RPXlite
5107ebf7443Swdenk
511e63c8ee3SwdenkRPXlite_DW_64_config  		\
512e63c8ee3SwdenkRPXlite_DW_LCD_config 		\
513e63c8ee3SwdenkRPXlite_DW_64_LCD_config 	\
514e63c8ee3SwdenkRPXlite_DW_NVRAM_config		\
515e63c8ee3SwdenkRPXlite_DW_NVRAM_64_config      \
516e63c8ee3SwdenkRPXlite_DW_NVRAM_LCD_config	\
517e63c8ee3SwdenkRPXlite_DW_NVRAM_64_LCD_config  \
518e63c8ee3SwdenkRPXlite_DW_config:         unconfig
519e63c8ee3Swdenk	@ >include/config.h
520e63c8ee3Swdenk	@[ -z "$(findstring _64,$@)" ] || \
521e63c8ee3Swdenk		{ echo "#define RPXlite_64MHz"		>>include/config.h ; \
522e63c8ee3Swdenk		  echo "... with 64MHz system clock ..."; \
523e63c8ee3Swdenk		}
524e63c8ee3Swdenk	@[ -z "$(findstring _LCD,$@)" ] || \
525e63c8ee3Swdenk		{ echo "#define CONFIG_LCD"          	>>include/config.h ; \
526e63c8ee3Swdenk		  echo "#define CONFIG_NEC_NL6448BC20"	>>include/config.h ; \
527e63c8ee3Swdenk		  echo "... with LCD display ..."; \
528e63c8ee3Swdenk		}
529e63c8ee3Swdenk	@[ -z "$(findstring _NVRAM,$@)" ] || \
530e63c8ee3Swdenk		{ echo "#define  CFG_ENV_IS_IN_NVRAM" 	>>include/config.h ; \
531e63c8ee3Swdenk		  echo "... with ENV in NVRAM ..."; \
532e63c8ee3Swdenk		}
533e63c8ee3Swdenk	@./mkconfig -a RPXlite_DW ppc mpc8xx RPXlite_dw
534e63c8ee3Swdenk
53573a8b27cSwdenkrmu_config:	unconfig
53673a8b27cSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx rmu
53773a8b27cSwdenk
5387ebf7443SwdenkRRvision_config:	unconfig
5397ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx RRvision
5407ebf7443Swdenk
5417ebf7443SwdenkRRvision_LCD_config:	unconfig
5427ebf7443Swdenk	@echo "#define CONFIG_LCD" >include/config.h
5437ebf7443Swdenk	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
5447ebf7443Swdenk	@./mkconfig -a RRvision ppc mpc8xx RRvision
5457ebf7443Swdenk
5467ebf7443SwdenkSM850_config	:	unconfig
5477ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
5487ebf7443Swdenk
5497ebf7443SwdenkSPD823TS_config:	unconfig
5507ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx spd8xx
5517ebf7443Swdenk
552dc7c9a1aSwdenksvm_sc8xx_config:	unconfig
553dc7c9a1aSwdenk	@ >include/config.h
554dc7c9a1aSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx svm_sc8xx
555dc7c9a1aSwdenk
5567ebf7443SwdenkSXNI855T_config:	unconfig
5577ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx sixnet
5587ebf7443Swdenk
559db2f721fSwdenk# EMK MPC8xx based modules
560db2f721fSwdenkTOP860_config:		unconfig
561db2f721fSwdenk	@./mkconfig $(@:_config=) ppc mpc8xx top860 emk
562db2f721fSwdenk
5637ebf7443Swdenk# Play some tricks for configuration selection
564e9132ea9Swdenk# Only 855 and 860 boards may come with FEC
565e9132ea9Swdenk# and only 823 boards may have LCD support
566e9132ea9Swdenkxtract_8xx = $(subst _LCD,,$(subst _config,,$1))
5677ebf7443Swdenk
5687ebf7443SwdenkFPS850L_config		\
569384ae025SwdenkFPS860L_config		\
570f12e568cSwdenkNSCU_config		\
5717ebf7443SwdenkTQM823L_config		\
5727ebf7443SwdenkTQM823L_LCD_config	\
5737ebf7443SwdenkTQM850L_config		\
5747ebf7443SwdenkTQM855L_config		\
5757ebf7443SwdenkTQM860L_config		\
576d126bfbdSwdenkTQM862L_config		\
577ae3af05eSwdenkTQM823M_config		\
578ae3af05eSwdenkTQM850M_config		\
579f12e568cSwdenkTQM855M_config		\
580f12e568cSwdenkTQM860M_config		\
581f12e568cSwdenkTQM862M_config		\
582c178d3daSwdenkTQM866M_config:		unconfig
5837ebf7443Swdenk	@ >include/config.h
5847ebf7443Swdenk	@[ -z "$(findstring _LCD,$@)" ] || \
5857ebf7443Swdenk		{ echo "#define CONFIG_LCD"		>>include/config.h ; \
586fd3103bbSwdenk		  echo "#define CONFIG_NEC_NL6448BC20"	>>include/config.h ; \
5877ebf7443Swdenk		  echo "... with LCD display" ; \
5887ebf7443Swdenk		}
5897ebf7443Swdenk	@./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
5907ebf7443Swdenk
5917ebf7443SwdenkTTTech_config:	unconfig
5927ebf7443Swdenk	@echo "#define CONFIG_LCD" >include/config.h
5937ebf7443Swdenk	@echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
5947ebf7443Swdenk	@./mkconfig -a TQM823L ppc mpc8xx tqm8xx
5957ebf7443Swdenk
596608c9146Swdenkv37_config:	unconfig
597608c9146Swdenk	@echo "#define CONFIG_LCD" >include/config.h
598608c9146Swdenk	@echo "#define CONFIG_SHARP_LQ084V1DG21" >>include/config.h
599608c9146Swdenk	@./mkconfig $(@:_config=) ppc mpc8xx v37
600608c9146Swdenk
60191e940d9Sdzuwtk_config:	unconfig
60291e940d9Sdzu	@echo "#define CONFIG_LCD" >include/config.h
60391e940d9Sdzu	@echo "#define CONFIG_SHARP_LQ065T9DR51U" >>include/config.h
60491e940d9Sdzu	@./mkconfig -a TQM823L ppc mpc8xx tqm8xx
60591e940d9Sdzu
6067ebf7443Swdenk#########################################################################
6077ebf7443Swdenk## PPC4xx Systems
6087ebf7443Swdenk#########################################################################
609*e55ca7e2Swdenkxtract_4xx = $(subst _25,,$(subst _33,,$(subst _BA,,$(subst _ME,,$(subst _HI,,$(subst _config,,$1))))))
6107ebf7443Swdenk
6117ebf7443SwdenkADCIOP_config:	unconfig
6127ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx adciop esd
6137ebf7443Swdenk
6147ebf7443SwdenkAR405_config:	unconfig
6157ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ar405 esd
6167ebf7443Swdenk
617549826eaSstroeseASH405_config:	unconfig
618549826eaSstroese	@./mkconfig $(@:_config=) ppc ppc4xx ash405 esd
619549826eaSstroese
620549826eaSstroeseBUBINGA405EP_config:	unconfig
621549826eaSstroese	@./mkconfig $(@:_config=) ppc ppc4xx bubinga405ep
622549826eaSstroese
6237ebf7443SwdenkCANBT_config:	unconfig
6247ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx canbt esd
6257ebf7443Swdenk
62610767ccbSwdenkCATcenter_config:	unconfig
62710767ccbSwdenk	@ echo "/* CATcenter uses PPChameleon Model ME */"  > include/config.h
62810767ccbSwdenk	@ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >> include/config.h
62910767ccbSwdenk	@./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
63010767ccbSwdenk
6317ebf7443SwdenkCPCI405_config	\
632549826eaSstroeseCPCI4052_config	\
633549826eaSstroeseCPCI405AB_config:	unconfig
6347ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd
6357ebf7443Swdenk	@echo "BOARD_REVISION = $(@:_config=)"	>>include/config.mk
6367ebf7443Swdenk
6377ebf7443SwdenkCPCI440_config:	unconfig
6387ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpci440 esd
6397ebf7443Swdenk
6407ebf7443SwdenkCPCIISER4_config:	unconfig
6417ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd
6427ebf7443Swdenk
6437ebf7443SwdenkCRAYL1_config:	unconfig
6447ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx L1 cray
6457ebf7443Swdenk
646cd0a9de6Swdenkcsb272_config:	unconfig
647cd0a9de6Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx csb272
648cd0a9de6Swdenk
649aa245090Swdenkcsb472_config:	unconfig
650aa245090Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx csb472
651aa245090Swdenk
6527ebf7443SwdenkDASA_SIM_config: unconfig
6537ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd
6547ebf7443Swdenk
65572cd5aa7SstroeseDP405_config:	unconfig
65672cd5aa7Sstroese	@./mkconfig $(@:_config=) ppc ppc4xx dp405 esd
65772cd5aa7Sstroese
6587ebf7443SwdenkDU405_config:	unconfig
6597ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx du405 esd
6607ebf7443Swdenk
6617ebf7443SwdenkEBONY_config:	unconfig
6627ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ebony
6637ebf7443Swdenk
6647ebf7443SwdenkERIC_config:	unconfig
6657ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx eric
6667ebf7443Swdenk
667d1cbe85bSwdenkEXBITGEN_config:	unconfig
668d1cbe85bSwdenk	@./mkconfig $(@:_config=) ppc ppc4xx exbitgen
669d1cbe85bSwdenk
67072cd5aa7SstroeseHUB405_config:	unconfig
67172cd5aa7Sstroese	@./mkconfig $(@:_config=) ppc ppc4xx hub405 esd
67272cd5aa7Sstroese
673db01a2eaSwdenkJSE_config:	unconfig
674db01a2eaSwdenk	@./mkconfig $(@:_config=) ppc ppc4xx jse
675db01a2eaSwdenk
6767ebf7443SwdenkMIP405_config:	unconfig
6777ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
6787ebf7443Swdenk
679f3e0de60SwdenkMIP405T_config:	unconfig
680f3e0de60Swdenk	@echo "#define CONFIG_MIP405T" >include/config.h
681f3e0de60Swdenk	@echo "Enable subset config for MIP405T"
682f3e0de60Swdenk	@./mkconfig -a MIP405 ppc ppc4xx mip405 mpl
683f3e0de60Swdenk
6847ebf7443SwdenkML2_config:	unconfig
6857ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ml2
6867ebf7443Swdenk
687028ab6b5Swdenkml300_config:	unconfig
688028ab6b5Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ml300 xilinx
689028ab6b5Swdenk
6900e6d798cSwdenkOCOTEA_config:	unconfig
6910e6d798cSwdenk	@./mkconfig $(@:_config=) ppc ppc4xx ocotea
6920e6d798cSwdenk
6937ebf7443SwdenkOCRTC_config		\
6947ebf7443SwdenkORSG_config:	unconfig
6957ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd
6967ebf7443Swdenk
6977ebf7443SwdenkPCI405_config:	unconfig
6987ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx pci405 esd
6997ebf7443Swdenk
7007ebf7443SwdenkPIP405_config:	unconfig
7017ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
7027ebf7443Swdenk
70372cd5aa7SstroesePLU405_config:	unconfig
70472cd5aa7Sstroese	@./mkconfig $(@:_config=) ppc ppc4xx plu405 esd
70572cd5aa7Sstroese
706549826eaSstroesePMC405_config:	unconfig
707549826eaSstroese	@./mkconfig $(@:_config=) ppc ppc4xx pmc405 esd
708549826eaSstroese
709*e55ca7e2SwdenkPPChameleonEVB_BA_25_config	\
710*e55ca7e2SwdenkPPChameleonEVB_ME_25_config	\
711*e55ca7e2SwdenkPPChameleonEVB_HI_25_config	\
712*e55ca7e2SwdenkPPChameleonEVB_BA_33_config	\
713*e55ca7e2SwdenkPPChameleonEVB_ME_33_config	\
714*e55ca7e2SwdenkPPChameleonEVB_HI_33_config:	unconfig
715fbe4b5cbSwdenk	@ >include/config.h
716fbe4b5cbSwdenk	@[ -z "$(findstring _MODEL_BA,$@)" ] || \
717fbe4b5cbSwdenk		{ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>include/config.h ; \
718fbe4b5cbSwdenk		  echo "... BASIC model" ; \
719fbe4b5cbSwdenk		}
720fbe4b5cbSwdenk	@[ -z "$(findstring _MODEL_ME,$@)" ] || \
721fbe4b5cbSwdenk		{ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>include/config.h ; \
722fbe4b5cbSwdenk		  echo "... MEDIUM model" ; \
723fbe4b5cbSwdenk		}
724fbe4b5cbSwdenk	@[ -z "$(findstring _MODEL_HI,$@)" ] || \
725fbe4b5cbSwdenk		{ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>include/config.h ; \
726fbe4b5cbSwdenk		  echo "... HIGH-END model" ; \
727fbe4b5cbSwdenk		}
728*e55ca7e2Swdenk	@[ -z "$(findstring _25,$@)" ] || \
729*e55ca7e2Swdenk		{ echo "#define CONFIG_PPCHAMELEON_CLK_25" >>include/config.h ; \
730*e55ca7e2Swdenk		  echo " SysClk = 25MHz" ; \
731*e55ca7e2Swdenk		}
732*e55ca7e2Swdenk	@[ -z "$(findstring _33,$@)" ] || \
733*e55ca7e2Swdenk		{ echo "#define CONFIG_PPCHAMELEON_CLK_33" >>include/config.h ; \
734*e55ca7e2Swdenk		  echo " SysClk = 33MHz" ; \
735*e55ca7e2Swdenk		}
736fbe4b5cbSwdenk	@./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
73712f34241Swdenk
73872cd5aa7SstroeseVOH405_config:	unconfig
73972cd5aa7Sstroese	@./mkconfig $(@:_config=) ppc ppc4xx voh405 esd
74072cd5aa7Sstroese
7417ebf7443SwdenkW7OLMC_config	\
7427ebf7443SwdenkW7OLMG_config: unconfig
7437ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx w7o
7447ebf7443Swdenk
7457ebf7443SwdenkWALNUT405_config:	unconfig
7467ebf7443Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx walnut405
7477ebf7443Swdenk
748ba56f625SwdenkXPEDITE1K_config:	unconfig
749ba56f625Swdenk	@./mkconfig $(@:_config=) ppc ppc4xx xpedite1k
750ba56f625Swdenk
7517ebf7443Swdenk#########################################################################
7527ebf7443Swdenk## MPC824x Systems
7537ebf7443Swdenk#########################################################################
754efa329cbSwdenkxtract_82xx = $(subst _BIGFLASH,,$(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1))))))
7553bac3513Swdenk
7560332990bSwdenkA3000_config: unconfig
7570332990bSwdenk	@./mkconfig $(@:_config=) ppc mpc824x a3000
7580332990bSwdenk
7597ebf7443SwdenkBMW_config: unconfig
7607ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x bmw
7617ebf7443Swdenk
7623bac3513SwdenkCPC45_config	\
7633bac3513SwdenkCPC45_ROMBOOT_config:	unconfig
7643bac3513Swdenk	@./mkconfig $(call xtract_82xx,$@) ppc mpc824x cpc45
7653bac3513Swdenk	@cd ./include ;				\
7663bac3513Swdenk	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
7673bac3513Swdenk		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
7683bac3513Swdenk		echo "... booting from 8-bit flash" ; \
7693bac3513Swdenk	else \
7703bac3513Swdenk		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
7713bac3513Swdenk		echo "... booting from 64-bit flash" ; \
7723bac3513Swdenk	fi; \
7733bac3513Swdenk	echo "export CONFIG_BOOT_ROM" >> config.mk;
7743bac3513Swdenk
7757ebf7443SwdenkCU824_config: unconfig
7767ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x cu824
7777ebf7443Swdenk
7787abf0c58Swdenkdebris_config: unconfig
7797abf0c58Swdenk	@./mkconfig $(@:_config=) ppc mpc824x debris etin
7807abf0c58Swdenk
78180885a9dSwdenkeXalion_config: unconfig
78280885a9dSwdenk	@./mkconfig $(@:_config=) ppc mpc824x eXalion
78380885a9dSwdenk
7847ebf7443SwdenkMOUSSE_config: unconfig
7857ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x mousse
7867ebf7443Swdenk
7877ebf7443SwdenkMUSENKI_config: unconfig
7887ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x musenki
7897ebf7443Swdenk
790b4676a25SwdenkMVBLUE_config:	unconfig
791b4676a25Swdenk	@./mkconfig $(@:_config=) ppc mpc824x mvblue
792b4676a25Swdenk
7937ebf7443SwdenkOXC_config: unconfig
7947ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x oxc
7957ebf7443Swdenk
7967ebf7443SwdenkPN62_config: unconfig
7977ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x pn62
7987ebf7443Swdenk
7997ebf7443SwdenkSandpoint8240_config: unconfig
8007ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x sandpoint
8017ebf7443Swdenk
8027ebf7443SwdenkSandpoint8245_config: unconfig
8037ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x sandpoint
8047ebf7443Swdenk
805d1cbe85bSwdenkSL8245_config: unconfig
806d1cbe85bSwdenk	@./mkconfig $(@:_config=) ppc mpc824x sl8245
807d1cbe85bSwdenk
8087ebf7443Swdenkutx8245_config: unconfig
8097ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc824x utx8245
8107ebf7443Swdenk
8117ebf7443Swdenk#########################################################################
8127ebf7443Swdenk## MPC8260 Systems
8137ebf7443Swdenk#########################################################################
8147ebf7443Swdenk
81554387ac9Swdenkatc_config:	unconfig
81654387ac9Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 atc
81754387ac9Swdenk
8187ebf7443Swdenkcogent_mpc8260_config:	unconfig
8197ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 cogent
8207ebf7443Swdenk
8217ebf7443SwdenkCPU86_config	\
8227ebf7443SwdenkCPU86_ROMBOOT_config: unconfig
8237ebf7443Swdenk	@./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu86
8247ebf7443Swdenk	@cd ./include ;				\
8257ebf7443Swdenk	if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
8267ebf7443Swdenk		echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
8277ebf7443Swdenk		echo "... booting from 8-bit flash" ; \
8287ebf7443Swdenk	else \
8297ebf7443Swdenk		echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
8307ebf7443Swdenk		echo "... booting from 64-bit flash" ; \
8317ebf7443Swdenk	fi; \
8327ebf7443Swdenk	echo "export CONFIG_BOOT_ROM" >> config.mk;
8337ebf7443Swdenk
8347ebf7443Swdenkep8260_config:	unconfig
8357ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 ep8260
8367ebf7443Swdenk
8377ebf7443Swdenkgw8260_config:	unconfig
8387ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 gw8260
8397ebf7443Swdenk
8407ebf7443Swdenkhymod_config:	unconfig
8417ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 hymod
8427ebf7443Swdenk
8437ebf7443SwdenkIPHASE4539_config:	unconfig
8447ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 iphase4539
8457ebf7443Swdenk
846c3c7f861SwdenkISPAN_config		\
847c3c7f861SwdenkISPAN_REVB_config:	unconfig
848c3c7f861Swdenk	@if [ "$(findstring _REVB_,$@)" ] ; then \
849c3c7f861Swdenk		echo "#define CFG_REV_B" > include/config.h ; \
850c3c7f861Swdenk	fi
851c3c7f861Swdenk	@./mkconfig -a ISPAN ppc mpc8260 ispan
852c3c7f861Swdenk
85304a85b3bSwdenkMPC8260ADS_config	\
85404a85b3bSwdenkMPC8260ADS_33MHz_config	\
85504a85b3bSwdenkMPC8260ADS_40MHz_config	\
85604a85b3bSwdenkMPC8272ADS_config	\
85704a85b3bSwdenkPQ2FADS_config		\
85804a85b3bSwdenkPQ2FADS-VR_config	\
85904a85b3bSwdenkPQ2FADS-ZU_config	\
86004a85b3bSwdenkPQ2FADS-ZU_66MHz_config	\
86104a85b3bSwdenk	:		unconfig
86204a85b3bSwdenk	$(if $(findstring PQ2FADS,$@), \
86304a85b3bSwdenk	@echo "#define CONFIG_ADSTYPE CFG_PQ2FADS" > include/config.h, \
86404a85b3bSwdenk	@echo "#define CONFIG_ADSTYPE CFG_"$(subst MPC,,$(word 1,$(subst _, ,$@))) > include/config.h)
86504a85b3bSwdenk	$(if $(findstring MHz,$@), \
86604a85b3bSwdenk	@echo "#define CONFIG_8260_CLKIN" $(subst MHz,,$(word 2,$(subst _, ,$@)))"000000" >> include/config.h, \
86704a85b3bSwdenk	$(if $(findstring VR,$@), \
86804a85b3bSwdenk	@echo "#define CONFIG_8260_CLKIN 66000000" >> include/config.h))
86904a85b3bSwdenk	@./mkconfig -a MPC8260ADS ppc mpc8260 mpc8260ads
8707ebf7443Swdenk
871db2f721fSwdenkMPC8266ADS_config:	unconfig
872db2f721fSwdenk	@./mkconfig $(@:_config=) ppc mpc8260 mpc8266ads
873db2f721fSwdenk
874efa329cbSwdenk# PM825/PM826 default configuration:  small (= 8 MB) Flash / boot from 64-bit flash
87510f67017SwdenkPM825_config	\
876efa329cbSwdenkPM825_ROMBOOT_config	\
877efa329cbSwdenkPM825_BIGFLASH_config	\
878efa329cbSwdenkPM825_ROMBOOT_BIGFLASH_config	\
8797ebf7443SwdenkPM826_config	\
880efa329cbSwdenkPM826_ROMBOOT_config	\
881efa329cbSwdenkPM826_BIGFLASH_config	\
882efa329cbSwdenkPM826_ROMBOOT_BIGFLASH_config:	unconfig
883efa329cbSwdenk	@if [ "$(findstring PM825_,$@)" ] ; then \
884efa329cbSwdenk		echo "#define CONFIG_PCI"	>include/config.h ; \
8857ebf7443Swdenk	else \
886efa329cbSwdenk		>include/config.h ; \
887efa329cbSwdenk	fi
888efa329cbSwdenk	@if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
889efa329cbSwdenk		echo "... booting from 8-bit flash" ; \
890efa329cbSwdenk		echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
891efa329cbSwdenk		echo "TEXT_BASE = 0xFF800000" >board/pm826/config.tmp ; \
892efa329cbSwdenk		if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
893efa329cbSwdenk			echo "... with 32 MB Flash" ; \
894efa329cbSwdenk			echo "#define CONFIG_FLASH_32MB" >>include/config.h ; \
8957ebf7443Swdenk		fi; \
896efa329cbSwdenk	else \
897efa329cbSwdenk		echo "... booting from 64-bit flash" ; \
898efa329cbSwdenk		if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
899efa329cbSwdenk			echo "... with 32 MB Flash" ; \
900efa329cbSwdenk			echo "#define CONFIG_FLASH_32MB" >>include/config.h ; \
901efa329cbSwdenk			echo "TEXT_BASE = 0x40000000" >board/pm826/config.tmp ; \
902efa329cbSwdenk		else \
903efa329cbSwdenk			echo "TEXT_BASE = 0xFF000000" >board/pm826/config.tmp ; \
904efa329cbSwdenk		fi; \
905efa329cbSwdenk	fi
906efa329cbSwdenk	@./mkconfig -a PM826 ppc mpc8260 pm826
907efa329cbSwdenk
908efa329cbSwdenkPM828_config	\
909efa329cbSwdenkPM828_PCI_config	\
910efa329cbSwdenkPM828_ROMBOOT_config	\
911efa329cbSwdenkPM828_ROMBOOT_PCI_config:	unconfig
912efa329cbSwdenk	@if [ -z "$(findstring _PCI_,$@)" ] ; then \
913efa329cbSwdenk		echo "#define CONFIG_PCI"  >>include/config.h ; \
914efa329cbSwdenk		echo "... with PCI enabled" ; \
915efa329cbSwdenk	else \
916efa329cbSwdenk		>include/config.h ; \
917efa329cbSwdenk	fi
918efa329cbSwdenk	@if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
919efa329cbSwdenk		echo "... booting from 8-bit flash" ; \
920efa329cbSwdenk		echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
921efa329cbSwdenk		echo "TEXT_BASE = 0xFF800000" >board/pm826/config.tmp ; \
922efa329cbSwdenk	fi
923efa329cbSwdenk	@./mkconfig -a PM828 ppc mpc8260 pm828
9247ebf7443Swdenk
9257ebf7443Swdenkppmc8260_config:	unconfig
9267ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 ppmc8260
9277ebf7443Swdenk
9287ebf7443SwdenkRPXsuper_config:	unconfig
9297ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 rpxsuper
9307ebf7443Swdenk
9317ebf7443Swdenkrsdproto_config:	unconfig
9327ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 rsdproto
9337ebf7443Swdenk
9347ebf7443Swdenksacsng_config:	unconfig
9357ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 sacsng
9367ebf7443Swdenk
9377ebf7443Swdenksbc8260_config:	unconfig
9387ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 sbc8260
9397ebf7443Swdenk
9407ebf7443SwdenkSCM_config:		unconfig
9417ebf7443Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 SCM siemens
9427ebf7443Swdenk
94327b207fdSwdenkTQM8255_AA_config \
94427b207fdSwdenkTQM8260_AA_config \
94527b207fdSwdenkTQM8260_AB_config \
94627b207fdSwdenkTQM8260_AC_config \
94727b207fdSwdenkTQM8260_AD_config \
94827b207fdSwdenkTQM8260_AE_config \
94927b207fdSwdenkTQM8260_AF_config \
95027b207fdSwdenkTQM8260_AG_config \
95127b207fdSwdenkTQM8260_AH_config \
95227b207fdSwdenkTQM8265_AA_config:  unconfig
95327b207fdSwdenk	@case "$@" in \
95427b207fdSwdenk	TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no;  BMODE=8260;;  \
95527b207fdSwdenk	TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no;  BMODE=8260;; \
95627b207fdSwdenk	TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;;  \
95727b207fdSwdenk	TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;;  \
95827b207fdSwdenk	TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=60x;;  \
95927b207fdSwdenk	TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no;  BMODE=8260;; \
96027b207fdSwdenk	TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=60x;;  \
96127b207fdSwdenk	TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no;  BMODE=8260;; \
96227b207fdSwdenk	TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes; BMODE=60x;;  \
96327b207fdSwdenk	TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no;  BMODE=60x;;  \
96427b207fdSwdenk	esac; \
96527b207fdSwdenk	>include/config.h ; \
96627b207fdSwdenk	if [ "$${CTYPE}" != "MPC8260" ] ; then \
96727b207fdSwdenk		echo "#define CONFIG_$${CTYPE}"	>>include/config.h ; \
96827b207fdSwdenk	fi; \
96927b207fdSwdenk	echo "#define CONFIG_$${CFREQ}MHz"	>>include/config.h ; \
97027b207fdSwdenk	echo "... with $${CFREQ}MHz system clock" ; \
97127b207fdSwdenk	if [ "$${CACHE}" == "yes" ] ; then \
9727ebf7443Swdenk		echo "#define CONFIG_L2_CACHE"	>>include/config.h ; \
97327b207fdSwdenk		echo "... with L2 Cache support" ; \
9747ebf7443Swdenk	else \
9757ebf7443Swdenk		echo "#undef CONFIG_L2_CACHE"	>>include/config.h ; \
9767ebf7443Swdenk		echo "... without L2 Cache support" ; \
97727b207fdSwdenk	fi; \
97827b207fdSwdenk	if [ "$${BMODE}" == "60x" ] ; then \
97927b207fdSwdenk		echo "#define CONFIG_BUSMODE_60x" >>include/config.h ; \
98027b207fdSwdenk		echo "... with 60x Bus Mode" ; \
98127b207fdSwdenk	else \
98227b207fdSwdenk		echo "#undef CONFIG_BUSMODE_60x"  >>include/config.h ; \
98327b207fdSwdenk		echo "... without 60x Bus Mode" ; \
9847ebf7443Swdenk	fi
9854532cb69Swdenk	@./mkconfig -a TQM8260 ppc mpc8260 tqm8260
9867ebf7443Swdenk
98754387ac9SwdenkZPC1900_config: unconfig
98854387ac9Swdenk	@./mkconfig $(@:_config=) ppc mpc8260 zpc1900
9897aa78614Swdenk
9904e5ca3ebSwdenk#========================================================================
9914e5ca3ebSwdenk# M68K
9924e5ca3ebSwdenk#========================================================================
9934e5ca3ebSwdenk#########################################################################
9944e5ca3ebSwdenk## Coldfire
9954e5ca3ebSwdenk#########################################################################
9964e5ca3ebSwdenk
9974e5ca3ebSwdenkM5272C3_config :		unconfig
998bf9e3b38Swdenk	@./mkconfig $(@:_config=) m68k mcf52x2 m5272c3
9994e5ca3ebSwdenk
10004e5ca3ebSwdenkM5282EVB_config :		unconfig
1001bf9e3b38Swdenk	@./mkconfig $(@:_config=) m68k mcf52x2 m5282evb
10024e5ca3ebSwdenk
10037ebf7443Swdenk#########################################################################
100442d1f039Swdenk## MPC85xx Systems
100542d1f039Swdenk#########################################################################
100642d1f039Swdenk
100742d1f039SwdenkMPC8540ADS_config:      unconfig
100842d1f039Swdenk	@./mkconfig $(@:_config=) ppc mpc85xx mpc8540ads
100942d1f039Swdenk
101042d1f039SwdenkMPC8560ADS_config:      unconfig
101142d1f039Swdenk	@./mkconfig $(@:_config=) ppc mpc85xx mpc8560ads
101242d1f039Swdenk
10137abf0c58Swdenkstxgp3_config:      unconfig
10147abf0c58Swdenk	@./mkconfig $(@:_config=) ppc mpc85xx stxgp3
10157abf0c58Swdenk
101642d1f039Swdenk#########################################################################
10177ebf7443Swdenk## 74xx/7xx Systems
10187ebf7443Swdenk#########################################################################
10197ebf7443Swdenk
1020c7de829cSwdenkAmigaOneG3SE_config:	unconfig
1021c7de829cSwdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI
1022c7de829cSwdenk
102315647dc7SwdenkBAB7xx_config: unconfig
102415647dc7Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
102515647dc7Swdenk
10263a473b2aSwdenkDB64360_config:  unconfig
10273a473b2aSwdenk	@./mkconfig DB64360 ppc 74xx_7xx db64360 Marvell
10283a473b2aSwdenk
10293a473b2aSwdenkDB64460_config:  unconfig
10303a473b2aSwdenk	@./mkconfig DB64460 ppc 74xx_7xx db64460 Marvell
10313a473b2aSwdenk
103215647dc7SwdenkELPPC_config: unconfig
103315647dc7Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
103415647dc7Swdenk
10357ebf7443SwdenkEVB64260_config	\
10367ebf7443SwdenkEVB64260_750CX_config:	unconfig
10377ebf7443Swdenk	@./mkconfig EVB64260 ppc 74xx_7xx evb64260
10387ebf7443Swdenk
103915647dc7SwdenkP3G4_config: unconfig
10407ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
10417ebf7443Swdenk
10427ebf7443SwdenkPCIPPC2_config \
10437ebf7443SwdenkPCIPPC6_config: unconfig
10447ebf7443Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2
10457ebf7443Swdenk
104615647dc7SwdenkZUMA_config:	unconfig
104712f34241Swdenk	@./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
104812f34241Swdenk
10497ebf7443Swdenk#========================================================================
10507ebf7443Swdenk# ARM
10517ebf7443Swdenk#========================================================================
10527ebf7443Swdenk#########################################################################
10537ebf7443Swdenk## StrongARM Systems
10547ebf7443Swdenk#########################################################################
10557ebf7443Swdenk
1056ea66bc88Swdenkassabet_config	:	unconfig
1057ea66bc88Swdenk	@./mkconfig $(@:_config=) arm sa1100 assabet
1058ea66bc88Swdenk
10597ebf7443Swdenkdnp1110_config	:	unconfig
10607ebf7443Swdenk	@./mkconfig $(@:_config=) arm sa1100 dnp1110
10617ebf7443Swdenk
1062855a496fSwdenkgcplus_config	:	unconfig
1063855a496fSwdenk	@./mkconfig $(@:_config=) arm sa1100 gcplus
1064855a496fSwdenk
1065855a496fSwdenklart_config	:	unconfig
1066855a496fSwdenk	@./mkconfig $(@:_config=) arm sa1100 lart
1067855a496fSwdenk
10687ebf7443Swdenkshannon_config	:	unconfig
10697ebf7443Swdenk	@./mkconfig $(@:_config=) arm sa1100 shannon
10707ebf7443Swdenk
10717ebf7443Swdenk#########################################################################
10722e5983d2Swdenk## ARM92xT Systems
10737ebf7443Swdenk#########################################################################
10747ebf7443Swdenk
1075b0639ca3Swdenkxtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
107643d9616cSwdenk
10773ff02c27Swdenkxtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1))))
107863e73c9aSwdenk
1079a56bd922Swdenkxtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
1080a56bd922Swdenk
10813d3befa7Swdenkintegratorcp_config :	unconfig
10823d3befa7Swdenk	@./mkconfig $(@:_config=) arm arm926ejs integratorcp
10833d3befa7Swdenk
10843d3befa7Swdenkintegratorap_config :	unconfig
10853d3befa7Swdenk	@./mkconfig $(@:_config=) arm arm926ejs integratorap
10863d3befa7Swdenk
1087f832d8a1Swdenklpd7a400_config \
1088f832d8a1Swdenklpd7a404_config:	unconfig
10892d24a3a7Swdenk	@./mkconfig $(@:_config=) arm lh7a40x lpd7a40x
10903d3befa7Swdenk
10912e5983d2Swdenkomap1510inn_config :	unconfig
10922e5983d2Swdenk	@./mkconfig $(@:_config=) arm arm925t omap1510inn
10932e5983d2Swdenk
10941eaeb58eSwdenkomap5912osk_config :	unconfig
10951eaeb58eSwdenk	@./mkconfig $(@:_config=) arm arm926ejs omap5912osk
10961eaeb58eSwdenk
109763e73c9aSwdenkomap1610inn_config \
109863e73c9aSwdenkomap1610inn_cs0boot_config \
109963e73c9aSwdenkomap1610inn_cs3boot_config \
11003ff02c27Swdenkomap1610inn_cs_autoboot_config \
110163e73c9aSwdenkomap1610h2_config \
110263e73c9aSwdenkomap1610h2_cs0boot_config \
11033ff02c27Swdenkomap1610h2_cs3boot_config \
11043ff02c27Swdenkomap1610h2_cs_autoboot_config:	unconfig
110563e73c9aSwdenk	@if [ "$(findstring _cs0boot_, $@)" ] ; then \
110663e73c9aSwdenk		echo "#define CONFIG_CS0_BOOT" >> ./include/config.h ; \
1107b79a11ccSwdenk		echo "... configured for CS0 boot"; \
11083ff02c27Swdenk	elif [ "$(findstring _cs_autoboot_, $@)" ] ; then \
11093ff02c27Swdenk		echo "#define CONFIG_CS_AUTOBOOT" >> ./include/config.h ; \
11103ff02c27Swdenk		echo "... configured for CS_AUTO boot"; \
111163e73c9aSwdenk	else \
111263e73c9aSwdenk		echo "#define CONFIG_CS3_BOOT" >> ./include/config.h ; \
1113b79a11ccSwdenk		echo "... configured for CS3 boot"; \
111463e73c9aSwdenk	fi;
111563e73c9aSwdenk	@./mkconfig -a $(call xtract_omap1610xxx,$@) arm arm926ejs omap1610inn
11166f21347dSwdenk
1117a56bd922Swdenkomap730p2_config \
1118a56bd922Swdenkomap730p2_cs0boot_config \
1119a56bd922Swdenkomap730p2_cs3boot_config :	unconfig
1120a56bd922Swdenk	@if [ "$(findstring _cs0boot_, $@)" ] ; then \
1121a56bd922Swdenk		echo "#define CONFIG_CS0_BOOT" >> ./include/config.h ; \
1122a56bd922Swdenk		echo "... configured for CS0 boot"; \
1123a56bd922Swdenk	else \
1124a56bd922Swdenk		echo "#define CONFIG_CS3_BOOT" >> ./include/config.h ; \
1125a56bd922Swdenk		echo "... configured for CS3 boot"; \
1126a56bd922Swdenk	fi;
1127a56bd922Swdenk	@./mkconfig -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2
1128a56bd922Swdenk
11297ebf7443Swdenksmdk2400_config	:	unconfig
11307ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm920t smdk2400
11317ebf7443Swdenk
11327ebf7443Swdenksmdk2410_config	:	unconfig
11337ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm920t smdk2410
11347ebf7443Swdenk
11352d24a3a7SwdenkSX1_config :		unconfig
11362d24a3a7Swdenk	@./mkconfig $(@:_config=) arm arm925t sx1
11372d24a3a7Swdenk
1138b2001f27Swdenk# TRAB default configuration:	8 MB Flash, 32 MB RAM
113943d9616cSwdenktrab_config \
1140b0639ca3Swdenktrab_bigram_config \
1141b0639ca3Swdenktrab_bigflash_config \
1142f54ebdfaSwdenktrab_old_config:	unconfig
114343d9616cSwdenk	@ >include/config.h
1144b0639ca3Swdenk	@[ -z "$(findstring _bigram,$@)" ] || \
1145b0639ca3Swdenk		{ echo "#define CONFIG_FLASH_8MB"  >>include/config.h ; \
1146b2001f27Swdenk		  echo "#define CONFIG_RAM_32MB"   >>include/config.h ; \
1147b0639ca3Swdenk		  echo "... with 8 MB Flash, 32 MB RAM" ; \
1148b0639ca3Swdenk		}
1149b0639ca3Swdenk	@[ -z "$(findstring _bigflash,$@)" ] || \
1150b2001f27Swdenk		{ echo "#define CONFIG_FLASH_16MB" >>include/config.h ; \
1151b2001f27Swdenk		  echo "#define CONFIG_RAM_16MB"   >>include/config.h ; \
1152b0639ca3Swdenk		  echo "... with 16 MB Flash, 16 MB RAM" ; \
1153a8c7c708Swdenk		  echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
1154b0639ca3Swdenk		}
1155f54ebdfaSwdenk	@[ -z "$(findstring _old,$@)" ] || \
1156b2001f27Swdenk		{ echo "#define CONFIG_FLASH_8MB"  >>include/config.h ; \
1157b2001f27Swdenk		  echo "#define CONFIG_RAM_16MB"   >>include/config.h ; \
1158b2001f27Swdenk		  echo "... with 8 MB Flash, 16 MB RAM" ; \
1159a8c7c708Swdenk		  echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
116043d9616cSwdenk		}
116143d9616cSwdenk	@./mkconfig -a $(call xtract_trab,$@) arm arm920t trab
11627ebf7443Swdenk
11631cb8e980SwdenkVCMA9_config	:	unconfig
11641cb8e980Swdenk	@./mkconfig $(@:_config=) arm arm920t vcma9 mpl
11651cb8e980Swdenk
11662d24a3a7Swdenkversatile_config :	unconfig
11672d24a3a7Swdenk	@./mkconfig $(@:_config=) arm arm926ejs versatile
1168074cff0dSwdenk
1169074cff0dSwdenk#########################################################################
1170074cff0dSwdenk## S3C44B0 Systems
1171074cff0dSwdenk#########################################################################
1172074cff0dSwdenk
1173074cff0dSwdenkB2_config	:	unconfig
1174074cff0dSwdenk	@./mkconfig $(@:_config=) arm s3c44b0 B2 dave
1175074cff0dSwdenk
11767ebf7443Swdenk#########################################################################
11772d24a3a7Swdenk## MC9328 (Dragonball) Systems
11782d24a3a7Swdenk#########################################################################
11792d24a3a7Swdenk
11802d24a3a7Swdenkmx1ads_config	:	unconfig
11812d24a3a7Swdenk	@./mkconfig $(@:_config=) arm mc9328 mx1ads
11822d24a3a7Swdenk
11832d24a3a7Swdenk#########################################################################
11847ebf7443Swdenk## ARM720T Systems
11857ebf7443Swdenk#########################################################################
11867ebf7443Swdenk
11877ebf7443Swdenkep7312_config	:	unconfig
11887ebf7443Swdenk	@./mkconfig $(@:_config=) arm arm720t ep7312
11897ebf7443Swdenk
11902d24a3a7Swdenkimpa7_config	:	unconfig
11912d24a3a7Swdenk	@./mkconfig $(@:_config=) arm arm720t impa7
11922d24a3a7Swdenk
11932d1a537dSwdenkmodnet50_config :	unconfig
11942d1a537dSwdenk	@./mkconfig $(@:_config=) arm arm720t modnet50
11952d1a537dSwdenk
119639539887Swdenkevb4510_config :	unconfig
119739539887Swdenk	@./mkconfig $(@:_config=) arm arm720t evb4510
119839539887Swdenk
11997ebf7443Swdenk#########################################################################
1200d9df1f4eSwdenk## AT91RM9200 Systems
1201d9df1f4eSwdenk#########################################################################
1202d9df1f4eSwdenk
1203d9df1f4eSwdenkat91rm9200dk_config	:	unconfig
1204d9df1f4eSwdenk	@./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
1205d9df1f4eSwdenk
1206d9df1f4eSwdenk#########################################################################
120743d9616cSwdenk## XScale Systems
12087ebf7443Swdenk#########################################################################
12097ebf7443Swdenk
12107ebf7443Swdenkcradle_config	:	unconfig
12114c3b21a5Swdenk	@./mkconfig $(@:_config=) arm pxa cradle
12127ebf7443Swdenk
12137ebf7443Swdenkcsb226_config	:	unconfig
12144c3b21a5Swdenk	@./mkconfig $(@:_config=) arm pxa csb226
12157ebf7443Swdenk
121643d9616cSwdenkinnokom_config	:	unconfig
12174c3b21a5Swdenk	@./mkconfig $(@:_config=) arm pxa innokom
121843d9616cSwdenk
12192d5b561eSwdenkixdp425_config	:	unconfig
12202d5b561eSwdenk	@./mkconfig $(@:_config=) arm ixp ixdp425
12212d5b561eSwdenk
122243d9616cSwdenklubbock_config	:	unconfig
12234c3b21a5Swdenk	@./mkconfig $(@:_config=) arm pxa lubbock
122443d9616cSwdenk
122552f52c14Swdenklogodl_config	:	unconfig
122652f52c14Swdenk	@./mkconfig $(@:_config=) arm pxa logodl
122752f52c14Swdenk
12283e38691eSwdenkwepep250_config	:	unconfig
12294c3b21a5Swdenk	@./mkconfig $(@:_config=) arm pxa wepep250
12303e38691eSwdenk
1231efa329cbSwdenkxm250_config	:	unconfig
1232efa329cbSwdenk	@./mkconfig $(@:_config=) arm pxa xm250
1233efa329cbSwdenk
1234ca0e7748Swdenkxsengine_config :	unconfig
1235ca0e7748Swdenk	@./mkconfig $(@:_config=) arm pxa xsengine
1236ca0e7748Swdenk
12372262cfeeSwdenk#========================================================================
12382262cfeeSwdenk# i386
12392262cfeeSwdenk#========================================================================
12402262cfeeSwdenk#########################################################################
12412262cfeeSwdenk## AMD SC520 CDP
12422262cfeeSwdenk#########################################################################
12432262cfeeSwdenksc520_cdp_config	:	unconfig
12442262cfeeSwdenk	@./mkconfig $(@:_config=) i386 i386 sc520_cdp
12452262cfeeSwdenk
12467a8e9bedSwdenksc520_spunk_config	:	unconfig
12477a8e9bedSwdenk	@./mkconfig $(@:_config=) i386 i386 sc520_spunk
12487a8e9bedSwdenk
12497a8e9bedSwdenksc520_spunk_rel_config	:	unconfig
12507a8e9bedSwdenk	@./mkconfig $(@:_config=) i386 i386 sc520_spunk
12517a8e9bedSwdenk
125243d9616cSwdenk#========================================================================
125343d9616cSwdenk# MIPS
125443d9616cSwdenk#========================================================================
12557ebf7443Swdenk#########################################################################
125643d9616cSwdenk## MIPS32 4Kc
125743d9616cSwdenk#########################################################################
125843d9616cSwdenk
1259e0ac62d7Swdenkxtract_incaip = $(subst _100MHz,,$(subst _133MHz,,$(subst _150MHz,,$(subst _config,,$1))))
1260e0ac62d7Swdenk
1261e0ac62d7Swdenkincaip_100MHz_config	\
1262e0ac62d7Swdenkincaip_133MHz_config	\
1263e0ac62d7Swdenkincaip_150MHz_config	\
126443d9616cSwdenkincaip_config: unconfig
1265e0ac62d7Swdenk	@ >include/config.h
1266e0ac62d7Swdenk	@[ -z "$(findstring _100MHz,$@)" ] || \
1267e0ac62d7Swdenk		{ echo "#define CPU_CLOCK_RATE 100000000" >>include/config.h ; \
1268e0ac62d7Swdenk		  echo "... with 100MHz system clock" ; \
1269e0ac62d7Swdenk		}
1270e0ac62d7Swdenk	@[ -z "$(findstring _133MHz,$@)" ] || \
1271e0ac62d7Swdenk		{ echo "#define CPU_CLOCK_RATE 133000000" >>include/config.h ; \
1272e0ac62d7Swdenk		  echo "... with 133MHz system clock" ; \
1273e0ac62d7Swdenk		}
1274e0ac62d7Swdenk	@[ -z "$(findstring _150MHz,$@)" ] || \
1275e0ac62d7Swdenk		{ echo "#define CPU_CLOCK_RATE 150000000" >>include/config.h ; \
1276e0ac62d7Swdenk		  echo "... with 150MHz system clock" ; \
1277e0ac62d7Swdenk		}
1278e0ac62d7Swdenk	@./mkconfig -a $(call xtract_incaip,$@) mips mips incaip
1279e0ac62d7Swdenk
1280f4863a7aSwdenktb0229_config: unconfig
1281f4863a7aSwdenk	@./mkconfig $(@:_config=) mips mips tb0229
1282f4863a7aSwdenk
1283e0ac62d7Swdenk#########################################################################
128469459791Swdenk## MIPS32 AU1X00
128569459791Swdenk#########################################################################
128669459791Swdenkdbau1000_config		: 	unconfig
128769459791Swdenk	@ >include/config.h
128869459791Swdenk	@echo "#define CONFIG_DBAU1000 1" >>include/config.h
128969459791Swdenk	@./mkconfig -a dbau1x00 mips mips dbau1x00
129069459791Swdenk
129169459791Swdenkdbau1100_config		: 	unconfig
129269459791Swdenk	@ >include/config.h
129369459791Swdenk	@echo "#define CONFIG_DBAU1100 1" >>include/config.h
129469459791Swdenk	@./mkconfig -a dbau1x00 mips mips dbau1x00
129569459791Swdenk
129669459791Swdenkdbau1500_config		: 	unconfig
129769459791Swdenk	@ >include/config.h
129869459791Swdenk	@echo "#define CONFIG_DBAU1500 1" >>include/config.h
129969459791Swdenk	@./mkconfig -a dbau1x00 mips mips dbau1x00
130069459791Swdenk
130169459791Swdenk#########################################################################
1302e0ac62d7Swdenk## MIPS64 5Kc
1303e0ac62d7Swdenk#########################################################################
130443d9616cSwdenk
13053e38691eSwdenkpurple_config :		unconfig
13063e38691eSwdenk	@./mkconfig $(@:_config=) mips mips purple
130743d9616cSwdenk
13084a551709Swdenk#========================================================================
13094a551709Swdenk# Nios
13104a551709Swdenk#========================================================================
13114a551709Swdenk#########################################################################
13124a551709Swdenk## Nios32
13134a551709Swdenk#########################################################################
13144a551709Swdenk
1315c935d3bdSwdenkDK1C20_safe_32_config		\
1316c935d3bdSwdenkDK1C20_standard_32_config	\
13174a551709SwdenkDK1C20_config:	unconfig
1318c935d3bdSwdenk	@ >include/config.h
1319c935d3bdSwdenk	@[ -z "$(findstring _safe_32,$@)" ] || \
1320c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_SAFE_32 1" >>include/config.h ; \
1321c935d3bdSwdenk		  echo "... NIOS 'safe_32' configuration" ; \
1322c935d3bdSwdenk		}
1323c935d3bdSwdenk	@[ -z "$(findstring _standard_32,$@)" ] || \
1324c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
1325c935d3bdSwdenk		  echo "... NIOS 'standard_32' configuration" ; \
1326c935d3bdSwdenk		}
1327c935d3bdSwdenk	@[ -z "$(findstring DK1C20_config,$@)" ] || \
1328c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
1329c935d3bdSwdenk		  echo "... NIOS 'standard_32' configuration (DEFAULT)" ; \
1330c935d3bdSwdenk		}
1331c935d3bdSwdenk	@./mkconfig -a DK1C20 nios nios dk1c20 altera
1332c935d3bdSwdenk
1333c935d3bdSwdenkDK1S10_safe_32_config		\
1334c935d3bdSwdenkDK1S10_standard_32_config	\
1335ec4c544bSwdenkDK1S10_mtx_ldk_20_config	\
1336c935d3bdSwdenkDK1S10_config:	unconfig
1337c935d3bdSwdenk	@ >include/config.h
1338c935d3bdSwdenk	@[ -z "$(findstring _safe_32,$@)" ] || \
1339c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_SAFE_32 1" >>include/config.h ; \
1340c935d3bdSwdenk		  echo "... NIOS 'safe_32' configuration" ; \
1341c935d3bdSwdenk		}
1342c935d3bdSwdenk	@[ -z "$(findstring _standard_32,$@)" ] || \
1343c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
1344c935d3bdSwdenk		  echo "... NIOS 'standard_32' configuration" ; \
1345c935d3bdSwdenk		}
1346ec4c544bSwdenk	@[ -z "$(findstring _mtx_ldk_20,$@)" ] || \
1347ec4c544bSwdenk		{ echo "#define CONFIG_NIOS_MTX_LDK_20 1" >>include/config.h ; \
1348ec4c544bSwdenk		  echo "... NIOS 'mtx_ldk_20' configuration" ; \
1349ec4c544bSwdenk		}
1350c935d3bdSwdenk	@[ -z "$(findstring DK1S10_config,$@)" ] || \
1351c935d3bdSwdenk		{ echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
1352c935d3bdSwdenk		  echo "... NIOS 'standard_32' configuration (DEFAULT)" ; \
1353c935d3bdSwdenk		}
1354c935d3bdSwdenk	@./mkconfig -a DK1S10 nios nios dk1s10 altera
13554a551709Swdenk
1356aaf224abSwdenkADNPESC1_DNPEVA2_base_32_config	\
1357aaf224abSwdenkADNPESC1_base_32_config		\
1358aaf224abSwdenkADNPESC1_config: unconfig
1359aaf224abSwdenk	@ >include/config.h
1360aaf224abSwdenk	@[ -z "$(findstring _DNPEVA2,$@)" ] || \
1361aaf224abSwdenk		{ echo "#define CONFIG_DNPEVA2 1" >>include/config.h ; \
1362aaf224abSwdenk		  echo "... DNP/EVA2 configuration" ; \
1363aaf224abSwdenk		}
1364aaf224abSwdenk	@[ -z "$(findstring _base_32,$@)" ] || \
1365aaf224abSwdenk		{ echo "#define CONFIG_NIOS_BASE_32 1" >>include/config.h ; \
1366aaf224abSwdenk		  echo "... NIOS 'base_32' configuration" ; \
1367aaf224abSwdenk		}
1368aaf224abSwdenk	@[ -z "$(findstring ADNPESC1_config,$@)" ] || \
1369aaf224abSwdenk		{ echo "#define CONFIG_NIOS_BASE_32 1" >>include/config.h ; \
1370aaf224abSwdenk		  echo "... NIOS 'base_32' configuration (DEFAULT)" ; \
1371aaf224abSwdenk		}
1372aaf224abSwdenk	@./mkconfig -a ADNPESC1 nios nios adnpesc1 ssv
1373aaf224abSwdenk
13744a551709Swdenk
1375507bbe3eSwdenk#========================================================================
1376507bbe3eSwdenk# MicroBlaze
1377507bbe3eSwdenk#========================================================================
1378507bbe3eSwdenk#########################################################################
1379507bbe3eSwdenk## Microblaze
1380507bbe3eSwdenk#########################################################################
1381507bbe3eSwdenksuzaku_config:	unconfig
1382507bbe3eSwdenk	@ >include/config.h
1383507bbe3eSwdenk	@echo "#define CONFIG_SUZAKU 1" >> include/config.h
1384507bbe3eSwdenk	@./mkconfig -a $(@:_config=) microblaze microblaze suzaku AtmarkTechno
1385507bbe3eSwdenk
13863e38691eSwdenk#########################################################################
13873e38691eSwdenk#########################################################################
13887ebf7443Swdenk
13897ebf7443Swdenkclean:
13907ebf7443Swdenk	find . -type f \
13917ebf7443Swdenk		\( -name 'core' -o -name '*.bak' -o -name '*~' \
13927ebf7443Swdenk		-o -name '*.o'  -o -name '*.a'  \) -print \
13937ebf7443Swdenk		| xargs rm -f
139485ec0bccSwdenk	rm -f examples/hello_world examples/timer \
13953e38691eSwdenk	      examples/eepro100_eeprom examples/sched \
13967a8e9bedSwdenk	      examples/mem_to_mem_idma2intr examples/82559_eeprom
13977ebf7443Swdenk	rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
1398bda6c8aeSwdenk	rm -f tools/mpc86x_clk
13997ebf7443Swdenk	rm -f tools/easylogo/easylogo tools/bmp_logo
14007ebf7443Swdenk	rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
1401228f29acSwdenk	rm -f tools/env/fw_printenv tools/env/fw_setenv
14027f70e853Swdenk	rm -f board/cray/L1/bootscript.c board/cray/L1/bootscript.image
14037e780369Swdenk	rm -f board/trab/trab_fkt
14047ebf7443Swdenk
14057ebf7443Swdenkclobber:	clean
14064c0d4c3bSwdenk	find . -type f \( -name .depend \
14074c0d4c3bSwdenk		-o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \
14084c0d4c3bSwdenk		-print0 \
14094c0d4c3bSwdenk		| xargs -0 rm -f
14107ebf7443Swdenk	rm -f $(OBJS) *.bak tags TAGS
14117ebf7443Swdenk	rm -fr *.*~
1412bdccc4feSwdenk	rm -f u-boot u-boot.map $(ALL)
1413228f29acSwdenk	rm -f tools/crc32.c tools/environment.c tools/env/crc32.c
14143e38691eSwdenk	rm -f tools/inca-swap-bytes cpu/mpc824x/bedbug_603e.c
1415b783edaeSwdenk	rm -f include/asm/proc include/asm/arch include/asm
14167ebf7443Swdenk
14177ebf7443Swdenkmrproper \
14187ebf7443Swdenkdistclean:	clobber unconfig
14197ebf7443Swdenk
14207ebf7443Swdenkbackup:
14217ebf7443Swdenk	F=`basename $(TOPDIR)` ; cd .. ; \
14227ebf7443Swdenk	gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
14237ebf7443Swdenk
14247ebf7443Swdenk#########################################################################
1425