Makefile 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530
  1. #
  2. # (C) Copyright 2000-2004
  3. # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
  4. #
  5. # See file CREDITS for list of people who contributed to this
  6. # project.
  7. #
  8. # This program is free software; you can redistribute it and/or
  9. # modify it under the terms of the GNU General Public License as
  10. # published by the Free Software Foundation; either version 2 of
  11. # the License, or (at your option) any later version.
  12. #
  13. # This program is distributed in the hope that it will be useful,
  14. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. # GNU General Public License for more details.
  17. #
  18. # You should have received a copy of the GNU General Public License
  19. # along with this program; if not, write to the Free Software
  20. # Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  21. # MA 02111-1307 USA
  22. #
  23. HOSTARCH := $(shell uname -m | \
  24. sed -e s/i.86/i386/ \
  25. -e s/sun4u/sparc64/ \
  26. -e s/arm.*/arm/ \
  27. -e s/sa110/arm/ \
  28. -e s/powerpc/ppc/ \
  29. -e s/macppc/ppc/)
  30. HOSTOS := $(shell uname -s | tr A-Z a-z | \
  31. sed -e 's/\(cygwin\).*/cygwin/')
  32. export HOSTARCH
  33. # Deal with colliding definitions from tcsh etc.
  34. VENDOR=
  35. #########################################################################
  36. TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
  37. export TOPDIR
  38. ifeq (include/config.mk,$(wildcard include/config.mk))
  39. # load ARCH, BOARD, and CPU configuration
  40. include include/config.mk
  41. export ARCH CPU BOARD VENDOR SOC
  42. # load other configuration
  43. include $(TOPDIR)/config.mk
  44. ifndef CROSS_COMPILE
  45. ifeq ($(HOSTARCH),ppc)
  46. CROSS_COMPILE =
  47. else
  48. ifeq ($(ARCH),ppc)
  49. CROSS_COMPILE = ppc_8xx-
  50. endif
  51. ifeq ($(ARCH),arm)
  52. CROSS_COMPILE = arm-linux-
  53. endif
  54. ifeq ($(ARCH),i386)
  55. ifeq ($(HOSTARCH),i386)
  56. CROSS_COMPILE =
  57. else
  58. CROSS_COMPILE = i386-linux-
  59. endif
  60. endif
  61. ifeq ($(ARCH),mips)
  62. CROSS_COMPILE = mips_4KC-
  63. endif
  64. ifeq ($(ARCH),nios)
  65. CROSS_COMPILE = nios-elf-
  66. endif
  67. ifeq ($(ARCH),m68k)
  68. CROSS_COMPILE = m68k-elf-
  69. endif
  70. ifeq ($(ARCH),microblaze)
  71. CROSS_COMPILE = mb-
  72. endif
  73. endif
  74. endif
  75. export CROSS_COMPILE
  76. #########################################################################
  77. # U-Boot objects....order is important (i.e. start must be first)
  78. OBJS = cpu/$(CPU)/start.o
  79. ifeq ($(CPU),i386)
  80. OBJS += cpu/$(CPU)/start16.o
  81. OBJS += cpu/$(CPU)/reset.o
  82. endif
  83. ifeq ($(CPU),ppc4xx)
  84. OBJS += cpu/$(CPU)/resetvec.o
  85. endif
  86. ifeq ($(CPU),mpc85xx)
  87. OBJS += cpu/$(CPU)/resetvec.o
  88. endif
  89. LIBS = lib_generic/libgeneric.a
  90. LIBS += board/$(BOARDDIR)/lib$(BOARD).a
  91. LIBS += cpu/$(CPU)/lib$(CPU).a
  92. ifdef SOC
  93. LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).a
  94. endif
  95. LIBS += lib_$(ARCH)/lib$(ARCH).a
  96. LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \
  97. fs/reiserfs/libreiserfs.a
  98. LIBS += net/libnet.a
  99. LIBS += disk/libdisk.a
  100. LIBS += rtc/librtc.a
  101. LIBS += dtt/libdtt.a
  102. LIBS += drivers/libdrivers.a
  103. LIBS += drivers/sk98lin/libsk98lin.a
  104. LIBS += post/libpost.a post/cpu/libcpu.a
  105. LIBS += common/libcommon.a
  106. .PHONY : $(LIBS)
  107. # Add GCC lib
  108. PLATFORM_LIBS += --no-warn-mismatch -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc
  109. # The "tools" are needed early, so put this first
  110. # Don't include stuff already done in $(LIBS)
  111. SUBDIRS = tools \
  112. examples \
  113. post \
  114. post/cpu
  115. .PHONY : $(SUBDIRS)
  116. #########################################################################
  117. #########################################################################
  118. ALL = u-boot.srec u-boot.bin System.map
  119. all: $(ALL)
  120. u-boot.srec: u-boot
  121. $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
  122. u-boot.bin: u-boot
  123. $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
  124. u-boot.img: u-boot.bin
  125. ./tools/mkimage -A $(ARCH) -T firmware -C none \
  126. -a $(TEXT_BASE) -e 0 \
  127. -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' include/version.h | \
  128. sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \
  129. -d $< $@
  130. u-boot.dis: u-boot
  131. $(OBJDUMP) -d $< > $@
  132. u-boot: depend $(SUBDIRS) $(OBJS) $(LIBS) $(LDSCRIPT)
  133. UNDEF_SYM=`$(OBJDUMP) -x $(LIBS) |sed -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
  134. $(LD) $(LDFLAGS) $$UNDEF_SYM $(OBJS) \
  135. --start-group $(LIBS) $(PLATFORM_LIBS) --end-group \
  136. -Map u-boot.map -o u-boot
  137. $(LIBS):
  138. $(MAKE) -C `dirname $@`
  139. $(SUBDIRS):
  140. $(MAKE) -C $@ all
  141. gdbtools:
  142. $(MAKE) -C tools/gdb || exit 1
  143. depend dep:
  144. @for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir .depend ; done
  145. tags:
  146. ctags -w `find $(SUBDIRS) include \
  147. lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
  148. fs/cramfs fs/fat fs/fdos fs/jffs2 \
  149. net disk rtc dtt drivers drivers/sk98lin common \
  150. \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
  151. etags:
  152. etags -a `find $(SUBDIRS) include \
  153. lib_generic board/$(BOARDDIR) cpu/$(CPU) lib_$(ARCH) \
  154. fs/cramfs fs/fat fs/fdos fs/jffs2 \
  155. net disk rtc dtt drivers drivers/sk98lin common \
  156. \( -name CVS -prune \) -o \( -name '*.[ch]' -print \)`
  157. System.map: u-boot
  158. @$(NM) $< | \
  159. grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \
  160. sort > System.map
  161. #########################################################################
  162. else
  163. all install u-boot u-boot.srec depend dep:
  164. @echo "System not configured - see README" >&2
  165. @ exit 1
  166. endif
  167. #########################################################################
  168. unconfig:
  169. @rm -f include/config.h include/config.mk board/*/config.tmp
  170. #========================================================================
  171. # PowerPC
  172. #========================================================================
  173. #########################################################################
  174. ## MPC5xx Systems
  175. #########################################################################
  176. cmi_mpc5xx_config: unconfig
  177. @./mkconfig $(@:_config=) ppc mpc5xx cmi
  178. PATI_config: unconfig
  179. @./mkconfig $(@:_config=) ppc mpc5xx pati mpl
  180. #########################################################################
  181. ## MPC5xxx Systems
  182. #########################################################################
  183. Lite5200_config \
  184. Lite5200_LOWBOOT_config \
  185. Lite5200_LOWBOOT08_config \
  186. icecube_5200_config \
  187. icecube_5200_LOWBOOT_config \
  188. icecube_5200_LOWBOOT08_config \
  189. icecube_5200_DDR_config \
  190. icecube_5200_DDR_LOWBOOT_config \
  191. icecube_5200_DDR_LOWBOOT08_config \
  192. icecube_5100_config: unconfig
  193. @ >include/config.h
  194. @[ -z "$(findstring LOWBOOT_,$@)" ] || \
  195. { if [ "$(findstring DDR,$@)" ] ; \
  196. then echo "TEXT_BASE = 0xFF800000" >board/icecube/config.tmp ; \
  197. else echo "TEXT_BASE = 0xFF000000" >board/icecube/config.tmp ; \
  198. fi ; \
  199. echo "... with LOWBOOT configuration" ; \
  200. }
  201. @[ -z "$(findstring LOWBOOT08,$@)" ] || \
  202. { echo "TEXT_BASE = 0xFF800000" >board/icecube/config.tmp ; \
  203. echo "... with 8 MB flash only" ; \
  204. echo "... with LOWBOOT configuration" ; \
  205. }
  206. @[ -z "$(findstring DDR,$@)" ] || \
  207. { echo "#define CONFIG_MPC5200_DDR" >>include/config.h ; \
  208. echo "... DDR memory revision" ; \
  209. }
  210. @[ -z "$(findstring 5200,$@)" ] || \
  211. { echo "#define CONFIG_MPC5200" >>include/config.h ; \
  212. echo "... with MPC5200 processor" ; \
  213. }
  214. @[ -z "$(findstring 5100,$@)" ] || \
  215. { echo "#define CONFIG_MGT5100" >>include/config.h ; \
  216. echo "... with MGT5100 processor" ; \
  217. }
  218. @./mkconfig -a IceCube ppc mpc5xxx icecube
  219. PM520_config \
  220. PM520_DDR_config \
  221. PM520_ROMBOOT_config \
  222. PM520_ROMBOOT_DDR_config: unconfig
  223. @ >include/config.h
  224. @[ -z "$(findstring DDR,$@)" ] || \
  225. { echo "#define CONFIG_MPC5200_DDR" >>include/config.h ; \
  226. echo "... DDR memory revision" ; \
  227. }
  228. @[ -z "$(findstring ROMBOOT,$@)" ] || \
  229. { echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
  230. echo "... booting from 8-bit flash" ; \
  231. }
  232. @./mkconfig -a PM520 ppc mpc5xxx pm520
  233. MINI5200_config \
  234. EVAL5200_config \
  235. TOP5200_config: unconfig
  236. @ echo "#define CONFIG_$(@:_config=) 1" >include/config.h
  237. @./mkconfig -a TOP5200 ppc mpc5xxx top5200 emk
  238. Total5100_config \
  239. Total5200_config \
  240. Total5200_lowboot_config \
  241. Total5200_Rev2_config \
  242. Total5200_Rev2_lowboot_config: unconfig
  243. @ >include/config.h
  244. @[ -z "$(findstring 5100,$@)" ] || \
  245. { echo "#define CONFIG_MGT5100" >>include/config.h ; \
  246. echo "... with MGT5100 processor" ; \
  247. }
  248. @[ -z "$(findstring 5200,$@)" ] || \
  249. { echo "#define CONFIG_MPC5200" >>include/config.h ; \
  250. echo "... with MPC5200 processor" ; \
  251. }
  252. @[ -n "$(findstring Rev,$@)" ] || \
  253. { echo "#define CONFIG_TOTAL5200_REV 1" >>include/config.h ; \
  254. echo "... revision 1 board" ; \
  255. }
  256. @[ -z "$(findstring Rev2_,$@)" ] || \
  257. { echo "#define CONFIG_TOTAL5200_REV 2" >>include/config.h ; \
  258. echo "... revision 2 board" ; \
  259. }
  260. @[ -z "$(findstring lowboot_,$@)" ] || \
  261. { echo "TEXT_BASE = 0xFE000000" >board/total5200/config.tmp ; \
  262. echo "... with lowboot configuration" ; \
  263. }
  264. @./mkconfig -a Total5200 ppc mpc5xxx total5200
  265. TQM5200_AA_config \
  266. TQM5200_AB_config \
  267. TQM5200_AC_config \
  268. MiniFAP_config: unconfig
  269. @ >include/config.h
  270. @[ -z "$(findstring MiniFAP,$@)" ] || \
  271. { echo "#define CONFIG_MINIFAP" >>include/config.h ; \
  272. echo "#define CONFIG_TQM5200_AC" >>include/config.h ; \
  273. echo "... TQM5200_AC on MiniFAP" ; \
  274. }
  275. @[ -z "$(findstring AA,$@)" ] || \
  276. { echo "#define CONFIG_TQM5200_AA" >>include/config.h ; \
  277. echo "... with 4 MB Flash, 16 MB SDRAM, 32 kB EEPROM" ; \
  278. }
  279. @[ -z "$(findstring AB,$@)" ] || \
  280. { echo "#define CONFIG_TQM5200_AB" >>include/config.h ; \
  281. echo "... with 64 MB Flash, 64 MB SDRAM, 32 kB EEPROM, 512 kB SRAM" ; \
  282. echo "... with Graphics Controller"; \
  283. }
  284. @[ -z "$(findstring AC,$@)" ] || \
  285. { echo "#define CONFIG_TQM5200_AC" >>include/config.h ; \
  286. echo "... with 4 MB Flash, 128 MB SDRAM" ; \
  287. echo "... with Graphics Controller"; \
  288. }
  289. @./mkconfig -a TQM5200 ppc mpc5xxx tqm5200
  290. #########################################################################
  291. ## MPC8xx Systems
  292. #########################################################################
  293. Adder_config \
  294. Adder87x_config \
  295. AdderII_config \
  296. : unconfig
  297. $(if $(findstring AdderII,$@), \
  298. @echo "#define CONFIG_MPC852T" > include/config.h)
  299. @./mkconfig -a Adder ppc mpc8xx adder
  300. ADS860_config \
  301. FADS823_config \
  302. FADS850SAR_config \
  303. MPC86xADS_config \
  304. MPC885ADS_config \
  305. FADS860T_config: unconfig
  306. @./mkconfig $(@:_config=) ppc mpc8xx fads
  307. AMX860_config : unconfig
  308. @./mkconfig $(@:_config=) ppc mpc8xx amx860 westel
  309. c2mon_config: unconfig
  310. @./mkconfig $(@:_config=) ppc mpc8xx c2mon
  311. CCM_config: unconfig
  312. @./mkconfig $(@:_config=) ppc mpc8xx CCM siemens
  313. cogent_mpc8xx_config: unconfig
  314. @./mkconfig $(@:_config=) ppc mpc8xx cogent
  315. ELPT860_config: unconfig
  316. @./mkconfig $(@:_config=) ppc mpc8xx elpt860 LEOX
  317. ESTEEM192E_config: unconfig
  318. @./mkconfig $(@:_config=) ppc mpc8xx esteem192e
  319. ETX094_config : unconfig
  320. @./mkconfig $(@:_config=) ppc mpc8xx etx094
  321. FLAGADM_config: unconfig
  322. @./mkconfig $(@:_config=) ppc mpc8xx flagadm
  323. xtract_GEN860T = $(subst _SC,,$(subst _config,,$1))
  324. GEN860T_SC_config \
  325. GEN860T_config: unconfig
  326. @ >include/config.h
  327. @[ -z "$(findstring _SC,$@)" ] || \
  328. { echo "#define CONFIG_SC" >>include/config.h ; \
  329. echo "With reduced H/W feature set (SC)..." ; \
  330. }
  331. @./mkconfig -a $(call xtract_GEN860T,$@) ppc mpc8xx gen860t
  332. GENIETV_config: unconfig
  333. @./mkconfig $(@:_config=) ppc mpc8xx genietv
  334. GTH_config: unconfig
  335. @./mkconfig $(@:_config=) ppc mpc8xx gth
  336. hermes_config : unconfig
  337. @./mkconfig $(@:_config=) ppc mpc8xx hermes
  338. HMI10_config : unconfig
  339. @./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
  340. IAD210_config: unconfig
  341. @./mkconfig $(@:_config=) ppc mpc8xx IAD210 siemens
  342. xtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1))
  343. ICU862_100MHz_config \
  344. ICU862_config: unconfig
  345. @ >include/config.h
  346. @[ -z "$(findstring _100MHz,$@)" ] || \
  347. { echo "#define CONFIG_100MHz" >>include/config.h ; \
  348. echo "... with 100MHz system clock" ; \
  349. }
  350. @./mkconfig -a $(call xtract_ICU862,$@) ppc mpc8xx icu862
  351. IP860_config : unconfig
  352. @./mkconfig $(@:_config=) ppc mpc8xx ip860
  353. IVML24_256_config \
  354. IVML24_128_config \
  355. IVML24_config: unconfig
  356. @ >include/config.h
  357. @[ -z "$(findstring IVML24_config,$@)" ] || \
  358. { echo "#define CONFIG_IVML24_16M" >>include/config.h ; \
  359. }
  360. @[ -z "$(findstring IVML24_128_config,$@)" ] || \
  361. { echo "#define CONFIG_IVML24_32M" >>include/config.h ; \
  362. }
  363. @[ -z "$(findstring IVML24_256_config,$@)" ] || \
  364. { echo "#define CONFIG_IVML24_64M" >>include/config.h ; \
  365. }
  366. @./mkconfig -a IVML24 ppc mpc8xx ivm
  367. IVMS8_256_config \
  368. IVMS8_128_config \
  369. IVMS8_config: unconfig
  370. @ >include/config.h
  371. @[ -z "$(findstring IVMS8_config,$@)" ] || \
  372. { echo "#define CONFIG_IVMS8_16M" >>include/config.h ; \
  373. }
  374. @[ -z "$(findstring IVMS8_128_config,$@)" ] || \
  375. { echo "#define CONFIG_IVMS8_32M" >>include/config.h ; \
  376. }
  377. @[ -z "$(findstring IVMS8_256_config,$@)" ] || \
  378. { echo "#define CONFIG_IVMS8_64M" >>include/config.h ; \
  379. }
  380. @./mkconfig -a IVMS8 ppc mpc8xx ivm
  381. KUP4K_config : unconfig
  382. @./mkconfig $(@:_config=) ppc mpc8xx kup4k kup
  383. KUP4X_config : unconfig
  384. @./mkconfig $(@:_config=) ppc mpc8xx kup4x kup
  385. LANTEC_config : unconfig
  386. @./mkconfig $(@:_config=) ppc mpc8xx lantec
  387. lwmon_config: unconfig
  388. @./mkconfig $(@:_config=) ppc mpc8xx lwmon
  389. MBX_config \
  390. MBX860T_config: unconfig
  391. @./mkconfig $(@:_config=) ppc mpc8xx mbx8xx
  392. MHPC_config: unconfig
  393. @./mkconfig $(@:_config=) ppc mpc8xx mhpc eltec
  394. MVS1_config : unconfig
  395. @./mkconfig $(@:_config=) ppc mpc8xx mvs1
  396. xtract_NETVIA = $(subst _V2,,$(subst _config,,$1))
  397. NETVIA_V2_config \
  398. NETVIA_config: unconfig
  399. @ >include/config.h
  400. @[ -z "$(findstring NETVIA_config,$@)" ] || \
  401. { echo "#define CONFIG_NETVIA_VERSION 1" >>include/config.h ; \
  402. echo "... Version 1" ; \
  403. }
  404. @[ -z "$(findstring NETVIA_V2_config,$@)" ] || \
  405. { echo "#define CONFIG_NETVIA_VERSION 2" >>include/config.h ; \
  406. echo "... Version 2" ; \
  407. }
  408. @./mkconfig -a $(call xtract_NETVIA,$@) ppc mpc8xx netvia
  409. xtract_NETPHONE = $(subst _V2,,$(subst _config,,$1))
  410. NETPHONE_V2_config \
  411. NETPHONE_config: unconfig
  412. @ >include/config.h
  413. @[ -z "$(findstring NETPHONE_config,$@)" ] || \
  414. { echo "#define CONFIG_NETPHONE_VERSION 1" >>include/config.h ; \
  415. }
  416. @[ -z "$(findstring NETPHONE_V2_config,$@)" ] || \
  417. { echo "#define CONFIG_NETPHONE_VERSION 2" >>include/config.h ; \
  418. }
  419. @./mkconfig -a $(call xtract_NETPHONE,$@) ppc mpc8xx netphone
  420. xtract_NETTA = $(subst _SWAPHOOK,,$(subst _6412,,$(subst _ISDN,,$(subst _config,,$1))))
  421. NETTA_ISDN_6412_SWAPHOOK_config \
  422. NETTA_ISDN_SWAPHOOK_config \
  423. NETTA_6412_SWAPHOOK_config \
  424. NETTA_SWAPHOOK_config \
  425. NETTA_ISDN_6412_config \
  426. NETTA_ISDN_config \
  427. NETTA_6412_config \
  428. NETTA_config: unconfig
  429. @ >include/config.h
  430. @[ -z "$(findstring ISDN_,$@)" ] || \
  431. { echo "#define CONFIG_NETTA_ISDN 1" >>include/config.h ; \
  432. }
  433. @[ -n "$(findstring ISDN_,$@)" ] || \
  434. { echo "#undef CONFIG_NETTA_ISDN" >>include/config.h ; \
  435. }
  436. @[ -z "$(findstring 6412_,$@)" ] || \
  437. { echo "#define CONFIG_NETTA_6412 1" >>include/config.h ; \
  438. }
  439. @[ -n "$(findstring 6412_,$@)" ] || \
  440. { echo "#undef CONFIG_NETTA_6412" >>include/config.h ; \
  441. }
  442. @[ -z "$(findstring SWAPHOOK_,$@)" ] || \
  443. { echo "#define CONFIG_NETTA_SWAPHOOK 1" >>include/config.h ; \
  444. }
  445. @[ -n "$(findstring SWAPHOOK_,$@)" ] || \
  446. { echo "#undef CONFIG_NETTA_SWAPHOOK" >>include/config.h ; \
  447. }
  448. @./mkconfig -a $(call xtract_NETTA,$@) ppc mpc8xx netta
  449. xtract_NETTA2 = $(subst _V2,,$(subst _config,,$1))
  450. NETTA2_V2_config \
  451. NETTA2_config: unconfig
  452. @ >include/config.h
  453. @[ -z "$(findstring NETTA2_config,$@)" ] || \
  454. { echo "#define CONFIG_NETTA2_VERSION 1" >>include/config.h ; \
  455. }
  456. @[ -z "$(findstring NETTA2_V2_config,$@)" ] || \
  457. { echo "#define CONFIG_NETTA2_VERSION 2" >>include/config.h ; \
  458. }
  459. @./mkconfig -a $(call xtract_NETTA2,$@) ppc mpc8xx netta2
  460. NC650_config: unconfig
  461. @./mkconfig $(@:_config=) ppc mpc8xx nc650
  462. NX823_config: unconfig
  463. @./mkconfig $(@:_config=) ppc mpc8xx nx823
  464. pcu_e_config: unconfig
  465. @./mkconfig $(@:_config=) ppc mpc8xx pcu_e siemens
  466. QS850_config: unconfig
  467. @./mkconfig $(@:_config=) ppc mpc8xx qs850 snmc
  468. QS823_config: unconfig
  469. @./mkconfig $(@:_config=) ppc mpc8xx qs850 snmc
  470. QS860T_config: unconfig
  471. @./mkconfig $(@:_config=) ppc mpc8xx qs860t snmc
  472. quantum_config: unconfig
  473. @./mkconfig $(@:_config=) ppc mpc8xx quantum
  474. R360MPI_config: unconfig
  475. @./mkconfig $(@:_config=) ppc mpc8xx r360mpi
  476. RBC823_config: unconfig
  477. @./mkconfig $(@:_config=) ppc mpc8xx rbc823
  478. RPXClassic_config: unconfig
  479. @./mkconfig $(@:_config=) ppc mpc8xx RPXClassic
  480. RPXlite_config: unconfig
  481. @./mkconfig $(@:_config=) ppc mpc8xx RPXlite
  482. RPXlite_DW_64_config \
  483. RPXlite_DW_LCD_config \
  484. RPXlite_DW_64_LCD_config \
  485. RPXlite_DW_NVRAM_config \
  486. RPXlite_DW_NVRAM_64_config \
  487. RPXlite_DW_NVRAM_LCD_config \
  488. RPXlite_DW_NVRAM_64_LCD_config \
  489. RPXlite_DW_config: unconfig
  490. @ >include/config.h
  491. @[ -z "$(findstring _64,$@)" ] || \
  492. { echo "#define RPXlite_64MHz" >>include/config.h ; \
  493. echo "... with 64MHz system clock ..."; \
  494. }
  495. @[ -z "$(findstring _LCD,$@)" ] || \
  496. { echo "#define CONFIG_LCD" >>include/config.h ; \
  497. echo "#define CONFIG_NEC_NL6448BC20" >>include/config.h ; \
  498. echo "... with LCD display ..."; \
  499. }
  500. @[ -z "$(findstring _NVRAM,$@)" ] || \
  501. { echo "#define CFG_ENV_IS_IN_NVRAM" >>include/config.h ; \
  502. echo "... with ENV in NVRAM ..."; \
  503. }
  504. @./mkconfig -a RPXlite_DW ppc mpc8xx RPXlite_dw
  505. rmu_config: unconfig
  506. @./mkconfig $(@:_config=) ppc mpc8xx rmu
  507. RRvision_config: unconfig
  508. @./mkconfig $(@:_config=) ppc mpc8xx RRvision
  509. RRvision_LCD_config: unconfig
  510. @echo "#define CONFIG_LCD" >include/config.h
  511. @echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
  512. @./mkconfig -a RRvision ppc mpc8xx RRvision
  513. SM850_config : unconfig
  514. @./mkconfig $(@:_config=) ppc mpc8xx tqm8xx
  515. SPD823TS_config: unconfig
  516. @./mkconfig $(@:_config=) ppc mpc8xx spd8xx
  517. svm_sc8xx_config: unconfig
  518. @ >include/config.h
  519. @./mkconfig $(@:_config=) ppc mpc8xx svm_sc8xx
  520. SXNI855T_config: unconfig
  521. @./mkconfig $(@:_config=) ppc mpc8xx sixnet
  522. # EMK MPC8xx based modules
  523. TOP860_config: unconfig
  524. @./mkconfig $(@:_config=) ppc mpc8xx top860 emk
  525. # Play some tricks for configuration selection
  526. # Only 855 and 860 boards may come with FEC
  527. # and only 823 boards may have LCD support
  528. xtract_8xx = $(subst _LCD,,$(subst _config,,$1))
  529. FPS850L_config \
  530. FPS860L_config \
  531. NSCU_config \
  532. TQM823L_config \
  533. TQM823L_LCD_config \
  534. TQM850L_config \
  535. TQM855L_config \
  536. TQM860L_config \
  537. TQM862L_config \
  538. TQM823M_config \
  539. TQM850M_config \
  540. TQM855M_config \
  541. TQM860M_config \
  542. TQM862M_config \
  543. TQM866M_config: unconfig
  544. @ >include/config.h
  545. @[ -z "$(findstring _LCD,$@)" ] || \
  546. { echo "#define CONFIG_LCD" >>include/config.h ; \
  547. echo "#define CONFIG_NEC_NL6448BC20" >>include/config.h ; \
  548. echo "... with LCD display" ; \
  549. }
  550. @./mkconfig -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx
  551. TTTech_config: unconfig
  552. @echo "#define CONFIG_LCD" >include/config.h
  553. @echo "#define CONFIG_SHARP_LQ104V7DS01" >>include/config.h
  554. @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
  555. v37_config: unconfig
  556. @echo "#define CONFIG_LCD" >include/config.h
  557. @echo "#define CONFIG_SHARP_LQ084V1DG21" >>include/config.h
  558. @./mkconfig $(@:_config=) ppc mpc8xx v37
  559. wtk_config: unconfig
  560. @echo "#define CONFIG_LCD" >include/config.h
  561. @echo "#define CONFIG_SHARP_LQ065T9DR51U" >>include/config.h
  562. @./mkconfig -a TQM823L ppc mpc8xx tqm8xx
  563. #########################################################################
  564. ## PPC4xx Systems
  565. #########################################################################
  566. xtract_4xx = $(subst _25,,$(subst _33,,$(subst _BA,,$(subst _ME,,$(subst _HI,,$(subst _config,,$1))))))
  567. ADCIOP_config: unconfig
  568. @./mkconfig $(@:_config=) ppc ppc4xx adciop esd
  569. AR405_config: unconfig
  570. @./mkconfig $(@:_config=) ppc ppc4xx ar405 esd
  571. ASH405_config: unconfig
  572. @./mkconfig $(@:_config=) ppc ppc4xx ash405 esd
  573. BUBINGA405EP_config: unconfig
  574. @./mkconfig $(@:_config=) ppc ppc4xx bubinga405ep
  575. CANBT_config: unconfig
  576. @./mkconfig $(@:_config=) ppc ppc4xx canbt esd
  577. CATcenter_config \
  578. CATcenter_25_config \
  579. CATcenter_33_config: unconfig
  580. @ echo "/* CATcenter uses PPChameleon Model ME */" > include/config.h
  581. @ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >> include/config.h
  582. @[ -z "$(findstring _25,$@)" ] || \
  583. { echo "#define CONFIG_PPCHAMELEON_CLK_25" >>include/config.h ; \
  584. echo "SysClk = 25MHz" ; \
  585. }
  586. @[ -z "$(findstring _33,$@)" ] || \
  587. { echo "#define CONFIG_PPCHAMELEON_CLK_33" >>include/config.h ; \
  588. echo "SysClk = 33MHz" ; \
  589. }
  590. @./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
  591. CPCI405_config \
  592. CPCI4052_config \
  593. CPCI405AB_config: unconfig
  594. @./mkconfig $(@:_config=) ppc ppc4xx cpci405 esd
  595. @echo "BOARD_REVISION = $(@:_config=)" >>include/config.mk
  596. CPCI440_config: unconfig
  597. @./mkconfig $(@:_config=) ppc ppc4xx cpci440 esd
  598. CPCIISER4_config: unconfig
  599. @./mkconfig $(@:_config=) ppc ppc4xx cpciiser4 esd
  600. CRAYL1_config: unconfig
  601. @./mkconfig $(@:_config=) ppc ppc4xx L1 cray
  602. csb272_config: unconfig
  603. @./mkconfig $(@:_config=) ppc ppc4xx csb272
  604. csb472_config: unconfig
  605. @./mkconfig $(@:_config=) ppc ppc4xx csb472
  606. DASA_SIM_config: unconfig
  607. @./mkconfig $(@:_config=) ppc ppc4xx dasa_sim esd
  608. DP405_config: unconfig
  609. @./mkconfig $(@:_config=) ppc ppc4xx dp405 esd
  610. DU405_config: unconfig
  611. @./mkconfig $(@:_config=) ppc ppc4xx du405 esd
  612. EBONY_config: unconfig
  613. @./mkconfig $(@:_config=) ppc ppc4xx ebony
  614. ERIC_config: unconfig
  615. @./mkconfig $(@:_config=) ppc ppc4xx eric
  616. EXBITGEN_config: unconfig
  617. @./mkconfig $(@:_config=) ppc ppc4xx exbitgen
  618. HUB405_config: unconfig
  619. @./mkconfig $(@:_config=) ppc ppc4xx hub405 esd
  620. JSE_config: unconfig
  621. @./mkconfig $(@:_config=) ppc ppc4xx jse
  622. MIP405_config: unconfig
  623. @./mkconfig $(@:_config=) ppc ppc4xx mip405 mpl
  624. MIP405T_config: unconfig
  625. @echo "#define CONFIG_MIP405T" >include/config.h
  626. @echo "Enable subset config for MIP405T"
  627. @./mkconfig -a MIP405 ppc ppc4xx mip405 mpl
  628. ML2_config: unconfig
  629. @./mkconfig $(@:_config=) ppc ppc4xx ml2
  630. ml300_config: unconfig
  631. @./mkconfig $(@:_config=) ppc ppc4xx ml300 xilinx
  632. OCOTEA_config: unconfig
  633. @./mkconfig $(@:_config=) ppc ppc4xx ocotea
  634. OCRTC_config \
  635. ORSG_config: unconfig
  636. @./mkconfig $(@:_config=) ppc ppc4xx ocrtc esd
  637. PCI405_config: unconfig
  638. @./mkconfig $(@:_config=) ppc ppc4xx pci405 esd
  639. PIP405_config: unconfig
  640. @./mkconfig $(@:_config=) ppc ppc4xx pip405 mpl
  641. PLU405_config: unconfig
  642. @./mkconfig $(@:_config=) ppc ppc4xx plu405 esd
  643. PMC405_config: unconfig
  644. @./mkconfig $(@:_config=) ppc ppc4xx pmc405 esd
  645. PPChameleonEVB_config \
  646. PPChameleonEVB_BA_25_config \
  647. PPChameleonEVB_ME_25_config \
  648. PPChameleonEVB_HI_25_config \
  649. PPChameleonEVB_BA_33_config \
  650. PPChameleonEVB_ME_33_config \
  651. PPChameleonEVB_HI_33_config: unconfig
  652. @ >include/config.h
  653. @[ -z "$(findstring EVB_BA,$@)" ] || \
  654. { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>include/config.h ; \
  655. echo "... BASIC model" ; \
  656. }
  657. @[ -z "$(findstring EVB_ME,$@)" ] || \
  658. { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>include/config.h ; \
  659. echo "... MEDIUM model" ; \
  660. }
  661. @[ -z "$(findstring EVB_HI,$@)" ] || \
  662. { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>include/config.h ; \
  663. echo "... HIGH-END model" ; \
  664. }
  665. @[ -z "$(findstring _25,$@)" ] || \
  666. { echo "#define CONFIG_PPCHAMELEON_CLK_25" >>include/config.h ; \
  667. echo "SysClk = 25MHz" ; \
  668. }
  669. @[ -z "$(findstring _33,$@)" ] || \
  670. { echo "#define CONFIG_PPCHAMELEON_CLK_33" >>include/config.h ; \
  671. echo "SysClk = 33MHz" ; \
  672. }
  673. @./mkconfig -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave
  674. VOH405_config: unconfig
  675. @./mkconfig $(@:_config=) ppc ppc4xx voh405 esd
  676. W7OLMC_config \
  677. W7OLMG_config: unconfig
  678. @./mkconfig $(@:_config=) ppc ppc4xx w7o
  679. WALNUT405_config: unconfig
  680. @./mkconfig $(@:_config=) ppc ppc4xx walnut405
  681. XPEDITE1K_config: unconfig
  682. @./mkconfig $(@:_config=) ppc ppc4xx xpedite1k
  683. #########################################################################
  684. ## MPC824x Systems
  685. #########################################################################
  686. xtract_82xx = $(subst _BIGFLASH,,$(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1))))))
  687. A3000_config: unconfig
  688. @./mkconfig $(@:_config=) ppc mpc824x a3000
  689. BMW_config: unconfig
  690. @./mkconfig $(@:_config=) ppc mpc824x bmw
  691. CPC45_config \
  692. CPC45_ROMBOOT_config: unconfig
  693. @./mkconfig $(call xtract_82xx,$@) ppc mpc824x cpc45
  694. @cd ./include ; \
  695. if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
  696. echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
  697. echo "... booting from 8-bit flash" ; \
  698. else \
  699. echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
  700. echo "... booting from 64-bit flash" ; \
  701. fi; \
  702. echo "export CONFIG_BOOT_ROM" >> config.mk;
  703. CU824_config: unconfig
  704. @./mkconfig $(@:_config=) ppc mpc824x cu824
  705. debris_config: unconfig
  706. @./mkconfig $(@:_config=) ppc mpc824x debris etin
  707. eXalion_config: unconfig
  708. @./mkconfig $(@:_config=) ppc mpc824x eXalion
  709. MOUSSE_config: unconfig
  710. @./mkconfig $(@:_config=) ppc mpc824x mousse
  711. MUSENKI_config: unconfig
  712. @./mkconfig $(@:_config=) ppc mpc824x musenki
  713. MVBLUE_config: unconfig
  714. @./mkconfig $(@:_config=) ppc mpc824x mvblue
  715. OXC_config: unconfig
  716. @./mkconfig $(@:_config=) ppc mpc824x oxc
  717. PN62_config: unconfig
  718. @./mkconfig $(@:_config=) ppc mpc824x pn62
  719. Sandpoint8240_config: unconfig
  720. @./mkconfig $(@:_config=) ppc mpc824x sandpoint
  721. Sandpoint8245_config: unconfig
  722. @./mkconfig $(@:_config=) ppc mpc824x sandpoint
  723. sbc8240_config: unconfig
  724. @./mkconfig $(@:_config=) ppc mpc824x sbc8240
  725. SL8245_config: unconfig
  726. @./mkconfig $(@:_config=) ppc mpc824x sl8245
  727. utx8245_config: unconfig
  728. @./mkconfig $(@:_config=) ppc mpc824x utx8245
  729. #########################################################################
  730. ## MPC8260 Systems
  731. #########################################################################
  732. atc_config: unconfig
  733. @./mkconfig $(@:_config=) ppc mpc8260 atc
  734. cogent_mpc8260_config: unconfig
  735. @./mkconfig $(@:_config=) ppc mpc8260 cogent
  736. CPU86_config \
  737. CPU86_ROMBOOT_config: unconfig
  738. @./mkconfig $(call xtract_82xx,$@) ppc mpc8260 cpu86
  739. @cd ./include ; \
  740. if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
  741. echo "CONFIG_BOOT_ROM = y" >> config.mk ; \
  742. echo "... booting from 8-bit flash" ; \
  743. else \
  744. echo "CONFIG_BOOT_ROM = n" >> config.mk ; \
  745. echo "... booting from 64-bit flash" ; \
  746. fi; \
  747. echo "export CONFIG_BOOT_ROM" >> config.mk;
  748. ep8260_config: unconfig
  749. @./mkconfig $(@:_config=) ppc mpc8260 ep8260
  750. gw8260_config: unconfig
  751. @./mkconfig $(@:_config=) ppc mpc8260 gw8260
  752. hymod_config: unconfig
  753. @./mkconfig $(@:_config=) ppc mpc8260 hymod
  754. IPHASE4539_config: unconfig
  755. @./mkconfig $(@:_config=) ppc mpc8260 iphase4539
  756. ISPAN_config \
  757. ISPAN_REVB_config: unconfig
  758. @if [ "$(findstring _REVB_,$@)" ] ; then \
  759. echo "#define CFG_REV_B" > include/config.h ; \
  760. fi
  761. @./mkconfig -a ISPAN ppc mpc8260 ispan
  762. MPC8260ADS_config \
  763. MPC8260ADS_33MHz_config \
  764. MPC8260ADS_40MHz_config \
  765. MPC8272ADS_config \
  766. PQ2FADS_config \
  767. PQ2FADS-VR_config \
  768. PQ2FADS-ZU_config \
  769. PQ2FADS-ZU_66MHz_config \
  770. : unconfig
  771. $(if $(findstring PQ2FADS,$@), \
  772. @echo "#define CONFIG_ADSTYPE CFG_PQ2FADS" > include/config.h, \
  773. @echo "#define CONFIG_ADSTYPE CFG_"$(subst MPC,,$(word 1,$(subst _, ,$@))) > include/config.h)
  774. $(if $(findstring MHz,$@), \
  775. @echo "#define CONFIG_8260_CLKIN" $(subst MHz,,$(word 2,$(subst _, ,$@)))"000000" >> include/config.h, \
  776. $(if $(findstring VR,$@), \
  777. @echo "#define CONFIG_8260_CLKIN 66000000" >> include/config.h))
  778. @./mkconfig -a MPC8260ADS ppc mpc8260 mpc8260ads
  779. MPC8266ADS_config: unconfig
  780. @./mkconfig $(@:_config=) ppc mpc8260 mpc8266ads
  781. # PM825/PM826 default configuration: small (= 8 MB) Flash / boot from 64-bit flash
  782. PM825_config \
  783. PM825_ROMBOOT_config \
  784. PM825_BIGFLASH_config \
  785. PM825_ROMBOOT_BIGFLASH_config \
  786. PM826_config \
  787. PM826_ROMBOOT_config \
  788. PM826_BIGFLASH_config \
  789. PM826_ROMBOOT_BIGFLASH_config: unconfig
  790. @if [ "$(findstring PM825_,$@)" ] ; then \
  791. echo "#define CONFIG_PCI" >include/config.h ; \
  792. else \
  793. >include/config.h ; \
  794. fi
  795. @if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
  796. echo "... booting from 8-bit flash" ; \
  797. echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
  798. echo "TEXT_BASE = 0xFF800000" >board/pm826/config.tmp ; \
  799. if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
  800. echo "... with 32 MB Flash" ; \
  801. echo "#define CONFIG_FLASH_32MB" >>include/config.h ; \
  802. fi; \
  803. else \
  804. echo "... booting from 64-bit flash" ; \
  805. if [ "$(findstring _BIGFLASH_,$@)" ] ; then \
  806. echo "... with 32 MB Flash" ; \
  807. echo "#define CONFIG_FLASH_32MB" >>include/config.h ; \
  808. echo "TEXT_BASE = 0x40000000" >board/pm826/config.tmp ; \
  809. else \
  810. echo "TEXT_BASE = 0xFF000000" >board/pm826/config.tmp ; \
  811. fi; \
  812. fi
  813. @./mkconfig -a PM826 ppc mpc8260 pm826
  814. PM828_config \
  815. PM828_PCI_config \
  816. PM828_ROMBOOT_config \
  817. PM828_ROMBOOT_PCI_config: unconfig
  818. @if [ -z "$(findstring _PCI_,$@)" ] ; then \
  819. echo "#define CONFIG_PCI" >>include/config.h ; \
  820. echo "... with PCI enabled" ; \
  821. else \
  822. >include/config.h ; \
  823. fi
  824. @if [ "$(findstring _ROMBOOT_,$@)" ] ; then \
  825. echo "... booting from 8-bit flash" ; \
  826. echo "#define CONFIG_BOOT_ROM" >>include/config.h ; \
  827. echo "TEXT_BASE = 0xFF800000" >board/pm826/config.tmp ; \
  828. fi
  829. @./mkconfig -a PM828 ppc mpc8260 pm828
  830. ppmc8260_config: unconfig
  831. @./mkconfig $(@:_config=) ppc mpc8260 ppmc8260
  832. RPXsuper_config: unconfig
  833. @./mkconfig $(@:_config=) ppc mpc8260 rpxsuper
  834. rsdproto_config: unconfig
  835. @./mkconfig $(@:_config=) ppc mpc8260 rsdproto
  836. sacsng_config: unconfig
  837. @./mkconfig $(@:_config=) ppc mpc8260 sacsng
  838. sbc8260_config: unconfig
  839. @./mkconfig $(@:_config=) ppc mpc8260 sbc8260
  840. SCM_config: unconfig
  841. @./mkconfig $(@:_config=) ppc mpc8260 SCM siemens
  842. TQM8255_AA_config \
  843. TQM8260_AA_config \
  844. TQM8260_AB_config \
  845. TQM8260_AC_config \
  846. TQM8260_AD_config \
  847. TQM8260_AE_config \
  848. TQM8260_AF_config \
  849. TQM8260_AG_config \
  850. TQM8260_AH_config \
  851. TQM8265_AA_config: unconfig
  852. @case "$@" in \
  853. TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no; BMODE=8260;; \
  854. TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no; BMODE=8260;; \
  855. TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \
  856. TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \
  857. TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \
  858. TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no; BMODE=8260;; \
  859. TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \
  860. TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=8260;; \
  861. TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes; BMODE=60x;; \
  862. TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no; BMODE=60x;; \
  863. esac; \
  864. >include/config.h ; \
  865. if [ "$${CTYPE}" != "MPC8260" ] ; then \
  866. echo "#define CONFIG_$${CTYPE}" >>include/config.h ; \
  867. fi; \
  868. echo "#define CONFIG_$${CFREQ}MHz" >>include/config.h ; \
  869. echo "... with $${CFREQ}MHz system clock" ; \
  870. if [ "$${CACHE}" == "yes" ] ; then \
  871. echo "#define CONFIG_L2_CACHE" >>include/config.h ; \
  872. echo "... with L2 Cache support" ; \
  873. else \
  874. echo "#undef CONFIG_L2_CACHE" >>include/config.h ; \
  875. echo "... without L2 Cache support" ; \
  876. fi; \
  877. if [ "$${BMODE}" == "60x" ] ; then \
  878. echo "#define CONFIG_BUSMODE_60x" >>include/config.h ; \
  879. echo "... with 60x Bus Mode" ; \
  880. else \
  881. echo "#undef CONFIG_BUSMODE_60x" >>include/config.h ; \
  882. echo "... without 60x Bus Mode" ; \
  883. fi
  884. @./mkconfig -a TQM8260 ppc mpc8260 tqm8260
  885. ZPC1900_config: unconfig
  886. @./mkconfig $(@:_config=) ppc mpc8260 zpc1900
  887. #========================================================================
  888. # M68K
  889. #========================================================================
  890. #########################################################################
  891. ## Coldfire
  892. #########################################################################
  893. M5272C3_config : unconfig
  894. @./mkconfig $(@:_config=) m68k mcf52x2 m5272c3
  895. M5282EVB_config : unconfig
  896. @./mkconfig $(@:_config=) m68k mcf52x2 m5282evb
  897. #########################################################################
  898. ## MPC85xx Systems
  899. #########################################################################
  900. MPC8540ADS_config: unconfig
  901. @./mkconfig $(@:_config=) ppc mpc85xx mpc8540ads
  902. MPC8560ADS_config: unconfig
  903. @./mkconfig $(@:_config=) ppc mpc85xx mpc8560ads
  904. MPC8541CDS_config: unconfig
  905. @./mkconfig $(@:_config=) ppc mpc85xx mpc8541cds cds
  906. MPC8555CDS_config: unconfig
  907. @./mkconfig $(@:_config=) ppc mpc85xx mpc8555cds cds
  908. sbc8560_config \
  909. sbc8560_33_config \
  910. sbc8560_66_config: unconfig
  911. @if [ "$(findstring _66_,$@)" ] ; then \
  912. echo "#define CONFIG_PCI_66" >>include/config.h ; \
  913. echo "... 66 MHz PCI" ; \
  914. else \
  915. >include/config.h ; \
  916. echo "... 33 MHz PCI" ; \
  917. fi
  918. @./mkconfig -a sbc8560 ppc mpc85xx sbc8560
  919. stxgp3_config: unconfig
  920. @./mkconfig $(@:_config=) ppc mpc85xx stxgp3
  921. #########################################################################
  922. ## 74xx/7xx Systems
  923. #########################################################################
  924. AmigaOneG3SE_config: unconfig
  925. @./mkconfig $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI
  926. BAB7xx_config: unconfig
  927. @./mkconfig $(@:_config=) ppc 74xx_7xx bab7xx eltec
  928. DB64360_config: unconfig
  929. @./mkconfig DB64360 ppc 74xx_7xx db64360 Marvell
  930. DB64460_config: unconfig
  931. @./mkconfig DB64460 ppc 74xx_7xx db64460 Marvell
  932. ELPPC_config: unconfig
  933. @./mkconfig $(@:_config=) ppc 74xx_7xx elppc eltec
  934. EVB64260_config \
  935. EVB64260_750CX_config: unconfig
  936. @./mkconfig EVB64260 ppc 74xx_7xx evb64260
  937. P3G4_config: unconfig
  938. @./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
  939. PCIPPC2_config \
  940. PCIPPC6_config: unconfig
  941. @./mkconfig $(@:_config=) ppc 74xx_7xx pcippc2
  942. ZUMA_config: unconfig
  943. @./mkconfig $(@:_config=) ppc 74xx_7xx evb64260
  944. #========================================================================
  945. # ARM
  946. #========================================================================
  947. #########################################################################
  948. ## StrongARM Systems
  949. #########################################################################
  950. assabet_config : unconfig
  951. @./mkconfig $(@:_config=) arm sa1100 assabet
  952. dnp1110_config : unconfig
  953. @./mkconfig $(@:_config=) arm sa1100 dnp1110
  954. gcplus_config : unconfig
  955. @./mkconfig $(@:_config=) arm sa1100 gcplus
  956. lart_config : unconfig
  957. @./mkconfig $(@:_config=) arm sa1100 lart
  958. shannon_config : unconfig
  959. @./mkconfig $(@:_config=) arm sa1100 shannon
  960. #########################################################################
  961. ## ARM92xT Systems
  962. #########################################################################
  963. xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1))))
  964. xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1))))
  965. xtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1)))
  966. integratorcp_config : unconfig
  967. @./mkconfig $(@:_config=) arm arm926ejs integratorcp
  968. integratorap_config : unconfig
  969. @./mkconfig $(@:_config=) arm arm926ejs integratorap
  970. lpd7a400_config \
  971. lpd7a404_config: unconfig
  972. @./mkconfig $(@:_config=) arm lh7a40x lpd7a40x
  973. mx1ads_config : unconfig
  974. @./mkconfig $(@:_config=) arm arm920t mx1ads NULL imx
  975. mx1fs2_config : unconfig
  976. @./mkconfig $(@:_config=) arm arm920t mx1fs2 NULL imx
  977. omap1510inn_config : unconfig
  978. @./mkconfig $(@:_config=) arm arm925t omap1510inn
  979. omap5912osk_config : unconfig
  980. @./mkconfig $(@:_config=) arm arm926ejs omap5912osk
  981. omap1610inn_config \
  982. omap1610inn_cs0boot_config \
  983. omap1610inn_cs3boot_config \
  984. omap1610inn_cs_autoboot_config \
  985. omap1610h2_config \
  986. omap1610h2_cs0boot_config \
  987. omap1610h2_cs3boot_config \
  988. omap1610h2_cs_autoboot_config: unconfig
  989. @if [ "$(findstring _cs0boot_, $@)" ] ; then \
  990. echo "#define CONFIG_CS0_BOOT" >> ./include/config.h ; \
  991. echo "... configured for CS0 boot"; \
  992. elif [ "$(findstring _cs_autoboot_, $@)" ] ; then \
  993. echo "#define CONFIG_CS_AUTOBOOT" >> ./include/config.h ; \
  994. echo "... configured for CS_AUTO boot"; \
  995. else \
  996. echo "#define CONFIG_CS3_BOOT" >> ./include/config.h ; \
  997. echo "... configured for CS3 boot"; \
  998. fi;
  999. @./mkconfig -a $(call xtract_omap1610xxx,$@) arm arm926ejs omap1610inn
  1000. omap730p2_config \
  1001. omap730p2_cs0boot_config \
  1002. omap730p2_cs3boot_config : unconfig
  1003. @if [ "$(findstring _cs0boot_, $@)" ] ; then \
  1004. echo "#define CONFIG_CS0_BOOT" >> ./include/config.h ; \
  1005. echo "... configured for CS0 boot"; \
  1006. else \
  1007. echo "#define CONFIG_CS3_BOOT" >> ./include/config.h ; \
  1008. echo "... configured for CS3 boot"; \
  1009. fi;
  1010. @./mkconfig -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2
  1011. scb9328_config : unconfig
  1012. @./mkconfig $(@:_config=) arm arm920t scb9328 NULL imx
  1013. smdk2400_config : unconfig
  1014. @./mkconfig $(@:_config=) arm arm920t smdk2400 NULL s3c24x0
  1015. smdk2410_config : unconfig
  1016. @./mkconfig $(@:_config=) arm arm920t smdk2410 NULL s3c24x0
  1017. SX1_config : unconfig
  1018. @./mkconfig $(@:_config=) arm arm925t sx1
  1019. # TRAB default configuration: 8 MB Flash, 32 MB RAM
  1020. trab_config \
  1021. trab_bigram_config \
  1022. trab_bigflash_config \
  1023. trab_old_config: unconfig
  1024. @ >include/config.h
  1025. @[ -z "$(findstring _bigram,$@)" ] || \
  1026. { echo "#define CONFIG_FLASH_8MB" >>include/config.h ; \
  1027. echo "#define CONFIG_RAM_32MB" >>include/config.h ; \
  1028. echo "... with 8 MB Flash, 32 MB RAM" ; \
  1029. }
  1030. @[ -z "$(findstring _bigflash,$@)" ] || \
  1031. { echo "#define CONFIG_FLASH_16MB" >>include/config.h ; \
  1032. echo "#define CONFIG_RAM_16MB" >>include/config.h ; \
  1033. echo "... with 16 MB Flash, 16 MB RAM" ; \
  1034. echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
  1035. }
  1036. @[ -z "$(findstring _old,$@)" ] || \
  1037. { echo "#define CONFIG_FLASH_8MB" >>include/config.h ; \
  1038. echo "#define CONFIG_RAM_16MB" >>include/config.h ; \
  1039. echo "... with 8 MB Flash, 16 MB RAM" ; \
  1040. echo "TEXT_BASE = 0x0CF40000" >board/trab/config.tmp ; \
  1041. }
  1042. @./mkconfig -a $(call xtract_trab,$@) arm arm920t trab NULL s3c24x0
  1043. VCMA9_config : unconfig
  1044. @./mkconfig $(@:_config=) arm arm920t vcma9 mpl s3c24x0
  1045. versatile_config : unconfig
  1046. @./mkconfig $(@:_config=) arm arm926ejs versatile
  1047. #########################################################################
  1048. ## S3C44B0 Systems
  1049. #########################################################################
  1050. B2_config : unconfig
  1051. @./mkconfig $(@:_config=) arm s3c44b0 B2 dave
  1052. #########################################################################
  1053. ## ARM720T Systems
  1054. #########################################################################
  1055. ep7312_config : unconfig
  1056. @./mkconfig $(@:_config=) arm arm720t ep7312
  1057. impa7_config : unconfig
  1058. @./mkconfig $(@:_config=) arm arm720t impa7
  1059. modnet50_config : unconfig
  1060. @./mkconfig $(@:_config=) arm arm720t modnet50
  1061. evb4510_config : unconfig
  1062. @./mkconfig $(@:_config=) arm arm720t evb4510
  1063. #########################################################################
  1064. ## AT91RM9200 Systems
  1065. #########################################################################
  1066. at91rm9200dk_config : unconfig
  1067. @./mkconfig $(@:_config=) arm at91rm9200 at91rm9200dk
  1068. cmc_pu2_config : unconfig
  1069. @./mkconfig $(@:_config=) arm at91rm9200 cmc_pu2
  1070. #########################################################################
  1071. ## XScale Systems
  1072. #########################################################################
  1073. cerf250_config : unconfig
  1074. @./mkconfig $(@:_config=) arm pxa cerf250
  1075. cradle_config : unconfig
  1076. @./mkconfig $(@:_config=) arm pxa cradle
  1077. csb226_config : unconfig
  1078. @./mkconfig $(@:_config=) arm pxa csb226
  1079. innokom_config : unconfig
  1080. @./mkconfig $(@:_config=) arm pxa innokom
  1081. ixdp425_config : unconfig
  1082. @./mkconfig $(@:_config=) arm ixp ixdp425
  1083. lubbock_config : unconfig
  1084. @./mkconfig $(@:_config=) arm pxa lubbock
  1085. logodl_config : unconfig
  1086. @./mkconfig $(@:_config=) arm pxa logodl
  1087. wepep250_config : unconfig
  1088. @./mkconfig $(@:_config=) arm pxa wepep250
  1089. xaeniax_config : unconfig
  1090. @./mkconfig $(@:_config=) arm pxa xaeniax
  1091. xm250_config : unconfig
  1092. @./mkconfig $(@:_config=) arm pxa xm250
  1093. xsengine_config : unconfig
  1094. @./mkconfig $(@:_config=) arm pxa xsengine
  1095. #========================================================================
  1096. # i386
  1097. #========================================================================
  1098. #########################################################################
  1099. ## AMD SC520 CDP
  1100. #########################################################################
  1101. sc520_cdp_config : unconfig
  1102. @./mkconfig $(@:_config=) i386 i386 sc520_cdp
  1103. sc520_spunk_config : unconfig
  1104. @./mkconfig $(@:_config=) i386 i386 sc520_spunk
  1105. sc520_spunk_rel_config : unconfig
  1106. @./mkconfig $(@:_config=) i386 i386 sc520_spunk
  1107. #========================================================================
  1108. # MIPS
  1109. #========================================================================
  1110. #########################################################################
  1111. ## MIPS32 4Kc
  1112. #########################################################################
  1113. xtract_incaip = $(subst _100MHz,,$(subst _133MHz,,$(subst _150MHz,,$(subst _config,,$1))))
  1114. incaip_100MHz_config \
  1115. incaip_133MHz_config \
  1116. incaip_150MHz_config \
  1117. incaip_config: unconfig
  1118. @ >include/config.h
  1119. @[ -z "$(findstring _100MHz,$@)" ] || \
  1120. { echo "#define CPU_CLOCK_RATE 100000000" >>include/config.h ; \
  1121. echo "... with 100MHz system clock" ; \
  1122. }
  1123. @[ -z "$(findstring _133MHz,$@)" ] || \
  1124. { echo "#define CPU_CLOCK_RATE 133000000" >>include/config.h ; \
  1125. echo "... with 133MHz system clock" ; \
  1126. }
  1127. @[ -z "$(findstring _150MHz,$@)" ] || \
  1128. { echo "#define CPU_CLOCK_RATE 150000000" >>include/config.h ; \
  1129. echo "... with 150MHz system clock" ; \
  1130. }
  1131. @./mkconfig -a $(call xtract_incaip,$@) mips mips incaip
  1132. tb0229_config: unconfig
  1133. @./mkconfig $(@:_config=) mips mips tb0229
  1134. #########################################################################
  1135. ## MIPS32 AU1X00
  1136. #########################################################################
  1137. dbau1000_config : unconfig
  1138. @ >include/config.h
  1139. @echo "#define CONFIG_DBAU1000 1" >>include/config.h
  1140. @./mkconfig -a dbau1x00 mips mips dbau1x00
  1141. dbau1100_config : unconfig
  1142. @ >include/config.h
  1143. @echo "#define CONFIG_DBAU1100 1" >>include/config.h
  1144. @./mkconfig -a dbau1x00 mips mips dbau1x00
  1145. dbau1500_config : unconfig
  1146. @ >include/config.h
  1147. @echo "#define CONFIG_DBAU1500 1" >>include/config.h
  1148. @./mkconfig -a dbau1x00 mips mips dbau1x00
  1149. #########################################################################
  1150. ## MIPS64 5Kc
  1151. #########################################################################
  1152. purple_config : unconfig
  1153. @./mkconfig $(@:_config=) mips mips purple
  1154. #========================================================================
  1155. # Nios
  1156. #========================================================================
  1157. #########################################################################
  1158. ## Nios32
  1159. #########################################################################
  1160. DK1C20_safe_32_config \
  1161. DK1C20_standard_32_config \
  1162. DK1C20_config: unconfig
  1163. @ >include/config.h
  1164. @[ -z "$(findstring _safe_32,$@)" ] || \
  1165. { echo "#define CONFIG_NIOS_SAFE_32 1" >>include/config.h ; \
  1166. echo "... NIOS 'safe_32' configuration" ; \
  1167. }
  1168. @[ -z "$(findstring _standard_32,$@)" ] || \
  1169. { echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
  1170. echo "... NIOS 'standard_32' configuration" ; \
  1171. }
  1172. @[ -z "$(findstring DK1C20_config,$@)" ] || \
  1173. { echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
  1174. echo "... NIOS 'standard_32' configuration (DEFAULT)" ; \
  1175. }
  1176. @./mkconfig -a DK1C20 nios nios dk1c20 altera
  1177. DK1S10_safe_32_config \
  1178. DK1S10_standard_32_config \
  1179. DK1S10_mtx_ldk_20_config \
  1180. DK1S10_config: unconfig
  1181. @ >include/config.h
  1182. @[ -z "$(findstring _safe_32,$@)" ] || \
  1183. { echo "#define CONFIG_NIOS_SAFE_32 1" >>include/config.h ; \
  1184. echo "... NIOS 'safe_32' configuration" ; \
  1185. }
  1186. @[ -z "$(findstring _standard_32,$@)" ] || \
  1187. { echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
  1188. echo "... NIOS 'standard_32' configuration" ; \
  1189. }
  1190. @[ -z "$(findstring _mtx_ldk_20,$@)" ] || \
  1191. { echo "#define CONFIG_NIOS_MTX_LDK_20 1" >>include/config.h ; \
  1192. echo "... NIOS 'mtx_ldk_20' configuration" ; \
  1193. }
  1194. @[ -z "$(findstring DK1S10_config,$@)" ] || \
  1195. { echo "#define CONFIG_NIOS_STANDARD_32 1" >>include/config.h ; \
  1196. echo "... NIOS 'standard_32' configuration (DEFAULT)" ; \
  1197. }
  1198. @./mkconfig -a DK1S10 nios nios dk1s10 altera
  1199. ADNPESC1_DNPEVA2_base_32_config \
  1200. ADNPESC1_base_32_config \
  1201. ADNPESC1_config: unconfig
  1202. @ >include/config.h
  1203. @[ -z "$(findstring _DNPEVA2,$@)" ] || \
  1204. { echo "#define CONFIG_DNPEVA2 1" >>include/config.h ; \
  1205. echo "... DNP/EVA2 configuration" ; \
  1206. }
  1207. @[ -z "$(findstring _base_32,$@)" ] || \
  1208. { echo "#define CONFIG_NIOS_BASE_32 1" >>include/config.h ; \
  1209. echo "... NIOS 'base_32' configuration" ; \
  1210. }
  1211. @[ -z "$(findstring ADNPESC1_config,$@)" ] || \
  1212. { echo "#define CONFIG_NIOS_BASE_32 1" >>include/config.h ; \
  1213. echo "... NIOS 'base_32' configuration (DEFAULT)" ; \
  1214. }
  1215. @./mkconfig -a ADNPESC1 nios nios adnpesc1 ssv
  1216. #========================================================================
  1217. # MicroBlaze
  1218. #========================================================================
  1219. #########################################################################
  1220. ## Microblaze
  1221. #########################################################################
  1222. suzaku_config: unconfig
  1223. @ >include/config.h
  1224. @echo "#define CONFIG_SUZAKU 1" >> include/config.h
  1225. @./mkconfig -a $(@:_config=) microblaze microblaze suzaku AtmarkTechno
  1226. #########################################################################
  1227. #########################################################################
  1228. clean:
  1229. find . -type f \
  1230. \( -name 'core' -o -name '*.bak' -o -name '*~' \
  1231. -o -name '*.o' -o -name '*.a' \) -print \
  1232. | xargs rm -f
  1233. rm -f examples/hello_world examples/timer \
  1234. examples/eepro100_eeprom examples/sched \
  1235. examples/mem_to_mem_idma2intr examples/82559_eeprom
  1236. rm -f tools/img2srec tools/mkimage tools/envcrc tools/gen_eth_addr
  1237. rm -f tools/mpc86x_clk tools/ncb
  1238. rm -f tools/easylogo/easylogo tools/bmp_logo
  1239. rm -f tools/gdb/astest tools/gdb/gdbcont tools/gdb/gdbsend
  1240. rm -f tools/env/fw_printenv tools/env/fw_setenv
  1241. rm -f board/cray/L1/bootscript.c board/cray/L1/bootscript.image
  1242. rm -f board/trab/trab_fkt
  1243. clobber: clean
  1244. find . -type f \( -name .depend \
  1245. -o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \
  1246. -print0 \
  1247. | xargs -0 rm -f
  1248. rm -f $(OBJS) *.bak tags TAGS
  1249. rm -fr *.*~
  1250. rm -f u-boot u-boot.map $(ALL)
  1251. rm -f tools/crc32.c tools/environment.c tools/env/crc32.c
  1252. rm -f tools/inca-swap-bytes cpu/mpc824x/bedbug_603e.c
  1253. rm -f include/asm/proc include/asm/arch include/asm
  1254. mrproper \
  1255. distclean: clobber unconfig
  1256. backup:
  1257. F=`basename $(TOPDIR)` ; cd .. ; \
  1258. gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F
  1259. #########################################################################