]> git.sur5r.net Git - u-boot/commitdiff
Makefile/mkconfig: read simple board configurations from boards.cfg
authorWolfgang Denk <wd@denx.de>
Thu, 27 May 2010 21:18:36 +0000 (23:18 +0200)
committerWolfgang Denk <wd@denx.de>
Sun, 13 Jun 2010 16:08:22 +0000 (18:08 +0200)
Instead of adding explicit build rules for each and every board to the
top level Makefile (which makes it grow and grow), we now provide a
simple default rule and extend the "mkconfig" script to read board
configurations from a plain text file (table), "boards.cfg".

For simple boards it is now sufficient to add a single line of text to
the "boards.cfg" file, no changes to the top level Makefile are needed
any more.

To make the table better readable, change the notation for unused
fields from "NULL" into "-".

Signed-off-by: Wolfgang Denk <wd@denx.de>
Cc: Peter Tyser <ptyser@xes-inc.com>
Cc: Mike Frysinger <vapier@gentoo.org>
Makefile
boards.cfg [new file with mode: 0644]
mkconfig

index 42d807b95dfc4ab86b86f237545673b84056125d..9f7883afb62d081d87134831c697ec1646075e67 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -475,8 +475,11 @@ unconfig:
                $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \
                $(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep
 
-%: %_config
-       $(MAKE)
+%_config::     unconfig
+       @$(MKCONFIG) -A $(@:_config=)
+
+##%: %_config
+##     $(MAKE)
 
 #
 # Functions to generate common board directory names
@@ -488,51 +491,10 @@ ucname    = $(shell echo $(1) | sed -e 's/\(.*\)_config/\U\1/')
 # PowerPC
 #========================================================================
 
-#########################################################################
-## MPC5xx Systems
-#########################################################################
-
-cmi_mpc5xx_config:     unconfig
-       @$(MKCONFIG) $@ powerpc mpc5xx cmi
-
-PATI_config:           unconfig
-       @$(MKCONFIG) $@ powerpc mpc5xx pati mpl
-
 #########################################################################
 ## MPC5xxx Systems
 #########################################################################
 
-# generic boards
-################
-BC3450_config  \
-canmb_config   \
-cm5200_config  \
-hmi1001_config \
-jupiter_config \
-inka4x0_config \
-ipek01_config  \
-motionpro_config\
-mucmc52_config \
-munices_config \
-o2dnt_config   \
-uc101_config   \
-v38b_config:   unconfig
-       @$(MKCONFIG) $@ powerpc mpc5xxx $(call lcname,$@)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-cpci5200_config        \
-mecp5200_config        \
-pf5200_config: unconfig
-       @$(MKCONFIG) $@ powerpc mpc5xxx $(call lcname,$@) esd
-
-aev_config     \
-smmaco4_config \
-spieval_config:        unconfig
-       @$(MKCONFIG) $@ powerpc mpc5xxx tqm5200 tqc
-
-# special boards
-################
 digsy_mtc_config \
 digsy_mtc_LOWBOOT_config       \
 digsy_mtc_RAMBOOT_config:      unconfig
@@ -717,21 +679,6 @@ TQM5200_STK100_config:     unconfig
 ## MPC512x Systems
 #########################################################################
 
-# generic boards
-################
-pdm360ng_config:       unconfig
-       @$(MKCONFIG) $@ powerpc mpc512x $(call lcname,$@)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-aria_config:   unconfig
-       @$(MKCONFIG) $@ powerpc mpc512x aria davedenx
-
-mecp5123_config:       unconfig
-       @$(MKCONFIG) $@ powerpc mpc512x mecp5123 esd
-
-# special boards
-################
 mpc5121ads_config \
 mpc5121ads_rev2_config \
        : unconfig
@@ -745,80 +692,6 @@ mpc5121ads_rev2_config     \
 ## MPC8xx Systems
 #########################################################################
 
-# generic boards
-################
-
-c2mon_config           \
-EP88x_config           \
-ESTEEM192E_config      \
-ETX094_config          \
-FLAGADM_config         \
-GENIETV_config         \
-GTH_config             \
-hermes_config          \
-IP860_config           \
-LANTEC_config          \
-lwmon_config           \
-NX823_config           \
-quantum_config         \
-R360MPI_config         \
-RBC823_config          \
-rmu_config             \
-spc1920_config         \
-svm_sc8xx_config       \
-uc100_config   :       unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx $(call lcname,$@)
-
-RPXClassic_config      \
-RPXlite_config         \
-RRvision_config        :       unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx $(@:_config=)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-MHPC_config:           unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx mhpc eltec
-
-TOP860_config:         unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx top860 emk
-
-kmsupx4_config \
-mgsuvd_config  :       unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx km8xx keymile
-
-KUP4K_config   \
-KUP4X_config   :       unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx $(call lcname,$@) kup
-
-ELPT860_config:                unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx elpt860 LEOX
-
-stxxtc_config: unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx stxxtc stx
-
-HMI10_config   \
-SM850_config   :       unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx tqm8xx tqc
-
-CCM_config     \
-IAD210_config  \
-pcu_e_config   :       unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx $(@:_config=) siemens
-
-QS823_config   \
-QS850_config   :       unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx qs850 snmc
-
-QS860T_config  :       unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx qs860t snmc
-
-AMX860_config  :       unconfig
-       @$(MKCONFIG) $@ powerpc mpc8xx amx860 westel
-
-# special boards
-################
-
 Adder87x_config \
 AdderII_config \
 AdderUSB_config        \
@@ -829,9 +702,6 @@ Adder_config        \
                @echo "#define CONFIG_MPC852T" > $(obj)include/config.h)
        @$(MKCONFIG) -n $@ -a Adder powerpc mpc8xx adder
 
-cogent_mpc8xx_config:  unconfig
-       @$(MKCONFIG) $(@:_config=) powerpc mpc8xx cogent
-
 ADS860_config    \
 FADS823_config   \
 FADS850SAR_config \
@@ -1031,103 +901,6 @@ wtk_config:      unconfig
 ## PPC4xx Systems
 #########################################################################
 
-# generic boards
-################
-
-csb272_config  \
-csb472_config  \
-ERIC_config    \
-G2000_config   \
-JSE_config     \
-korat_config   \
-lwmon5_config  \
-ML2_config     \
-pcs440ep_config        \
-quad100hd_config\
-sbc405_config  \
-sc3_config     \
-zeus_config:   unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-acadia_config  \
-bamboo_config  \
-bubinga_config \
-ebony_config   \
-katmai_config  \
-luan_config    \
-makalu_config  \
-ocotea_config  \
-redwood_config \
-taihu_config   \
-taishan_config \
-yucca_config:  unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) amcc
-
-AP1000_config:unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) amirix
-
-ADCIOP_config  \
-APC405_config  \
-AR405_config   \
-ASH405_config  \
-CANBT_config   \
-CMS700_config  \
-CPCI2DP_config \
-CPCIISER4_config\
-DASA_SIM_config        \
-DP405_config   \
-DU405_config   \
-DU440_config   \
-HH405_config   \
-HUB405_config  \
-PCI405_config  \
-PLU405_config  \
-PMC405_config  \
-PMC405DE_config        \
-PMC440_config  \
-VOH405_config  \
-VOM405_config  \
-WUH405_config: unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) esd
-
-CRAYL1_config: unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx L1 cray
-
-dlvision_config                \
-gdppc440etx_config     \
-neo_config     :       unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) gdsys
-
-icon_config:   unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) mosaixtech
-
-MIP405_config  \
-PIP405_config: unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) mpl
-
-hcu4_config    \
-hcu5_config    \
-mcu25_config:  unconfig
-       @mkdir -p $(obj)board/netstal/common
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) netstal
-
-alpr_config    \
-p3p440_config: unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) prodrive
-
-KAREF_config   \
-METROBOX_config: unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) sandburst
-
-XPEDITE1000_config:    unconfig
-       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) xes
-
-# special boards
-################
-
 acadia_nand_config:    unconfig
        @mkdir -p $(obj)include $(obj)board/amcc/acadia
        @mkdir -p $(obj)nand_spl/board/amcc/acadia
@@ -1209,6 +982,12 @@ devconcenter_config:      unconfig
                tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h
        @$(MKCONFIG) -n $@ -a intip powerpc ppc4xx intip gdsys
 
+hcu4_config    \
+hcu5_config    \
+mcu25_config:  unconfig
+       @mkdir -p $(obj)board/netstal/common
+       @$(MKCONFIG) $@ powerpc ppc4xx $(call lcname,$@) netstal
+
 # Kilauea & Haleakala images are identical (recognized via PVR)
 kilauea_config \
 haleakala_config: unconfig
@@ -1366,48 +1145,10 @@ yellowstone_config: unconfig
                tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h
        @$(MKCONFIG) -n $@ -a yosemite powerpc ppc4xx yosemite amcc
 
-#########################################################################
-## MPC8220 Systems
-#########################################################################
-
-# generic boards
-################
-sorcery_config:                unconfig
-       @$(MKCONFIG) $@ powerpc mpc8220 $(call lcname,$@)
-
-Alaska8220_config      \
-Yukon8220_config:      unconfig
-       @$(MKCONFIG) $@ powerpc mpc8220 alaska
-
 #########################################################################
 ## MPC824x Systems
 #########################################################################
 
-# generic boards
-################
-A3000_config   \
-barco_config   \
-BMW_config     \
-CU824_config   \
-HIDDEN_DRAGON_config \
-MOUSSE_config  \
-MUSENKI_config \
-MVBLUE_config  \
-OXC_config     \
-PN62_config    \
-sbc8240_config \
-utx8245_config:        unconfig
-       @$(MKCONFIG) $@ powerpc mpc824x $(call lcname,$@)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-debris_config  \
-kvme080_config:        unconfig
-       @$(MKCONFIG) $@ powerpc mpc824x $(call lcname,$@) etin
-
-# special boards
-################
 eXalion_config: unconfig
        @$(MKCONFIG) $(@:_config=) powerpc mpc824x eXalion
 
@@ -1444,41 +1185,6 @@ Sandpoint8245_config: unconfig
 ## MPC8260 Systems
 #########################################################################
 
-# generic boards
-################
-atc_config             \
-ep8260_config          \
-ep82xxm_config         \
-gw8260_config          \
-hymod_config           \
-IDS8247_config         \
-IPHASE4539_config      \
-ppmc8260_config                \
-RPXsuper_config                \
-rsdproto_config                \
-sacsng_config          \
-sbc8260_config         \
-ZPC1900_config:                unconfig
-       @$(MKCONFIG) $@ powerpc mpc8260 $(call lcname,$@)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-MPC8266ADS_config:     unconfig
-       @$(MKCONFIG) $@ powerpc mpc8260 $(call lcname,$@) freescale
-
-mgcoge_config  :       unconfig
-       @$(MKCONFIG) $@ powerpc mpc8260 $(call lcname,$@) keymile
-
-SCM_config:            unconfig
-       @$(MKCONFIG) $@ powerpc mpc8260 $(call ucname,$@) siemens
-
-TQM8272_config: unconfig
-       @$(MKCONFIG) TQM8272 powerpc mpc8260 $(call lcname,$@) tqc
-
-# special boards
-################
-
 cogent_mpc8260_config: unconfig
        @$(MKCONFIG) $(@:_config=) powerpc mpc8260 cogent
 
@@ -1661,35 +1367,6 @@ VoVPN-GW_100MHz_config:          unconfig
 ## Coldfire
 #########################################################################
 
-# generic boards
-################
-
-idmr_config:           unconfig
-       @$(MKCONFIG) $@ m68k mcf52x2 $(call lcname,$@)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-TASREG_config :                unconfig
-       @$(MKCONFIG) $@ m68k mcf52x2 $(call lcname,$@) esd
-
-M5208EVBE_config       \
-M5249EVB_config                \
-M5253DEMO_config       \
-M5253EVBE_config       \
-M5271EVB_config                \
-M5272C3_config         \
-M5275EVB_config                \
-M5282EVB_config                \
-M53017EVB_config:      unconfig
-       @$(MKCONFIG) $@ m68k mcf52x2 $(call lcname,$@) freescale
-
-EP2500_config  :       unconfig
-       @$(MKCONFIG) $@ m68k mcf52x2 $(call lcname,$@) Mercury
-
-# special boards
-################
-
 astro_mcf5373l_config \
 astro_mcf5373l_RAM_config :    unconfig
        @$(MKCONFIG) -n $@ -t $@ astro_mcf5373l m68k mcf532x mcf5373l astro
@@ -1896,29 +1573,6 @@ M5485HFE_config :        unconfig
 ## MPC83xx Systems
 #########################################################################
 
-# generic boards
-################
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-MPC8323ERDB_config     \
-MPC8349EMDS_config     \
-MPC837XERDB_config:    unconfig
-       @$(MKCONFIG) $@ powerpc mpc83xx $(call lcname,$@) freescale
-
-kmeter1_config: unconfig
-       @$(MKCONFIG) $@ powerpc mpc83xx $(call lcname,$@) keymile
-
-MVBLM7_config: unconfig
-       @$(MKCONFIG) $@ powerpc mpc83xx $(call lcname,$@) matrix_vision
-
-TQM834x_config:        unconfig
-       @$(MKCONFIG) $@ powerpc mpc83xx $(call lcname,$@) tqc
-
-# special boards
-################
-
 MPC8313ERDB_33_config \
 MPC8313ERDB_66_config \
 MPC8313ERDB_NAND_33_config \
@@ -2055,33 +1709,6 @@ vme8349_config:          unconfig
 ## MPC85xx Systems
 #########################################################################
 
-# generic boards
-################
-
-ATUM8548_config                \
-PM854_config           \
-PM856_config           \
-socrates_config:       unconfig
-       @$(MKCONFIG) $@ powerpc mpc85xx $(call lcname,$@)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-MPC8540ADS_config      \
-MPC8560ADS_config      \
-MPC8544DS_config       \
-MPC8568MDS_config:     unconfig
-       @$(MKCONFIG) $@ powerpc mpc85xx $(call lcname,$@) freescale
-
-stxgp3_config:         unconfig
-       @$(MKCONFIG) $@ powerpc mpc85xx $(call lcname,$@) stx
-
-XPEDITE5200_config     \
-XPEDITE5370_config:    unconfig
-       @$(MKCONFIG) $@ powerpc mpc85xx $(call lcname,$@) xes
-
-# special boards
-################
 MPC8536DS_NAND_config \
 MPC8536DS_SDCARD_config \
 MPC8536DS_SPIFLASH_config \
@@ -2204,24 +1831,6 @@ TQM8560_config:          unconfig
 ## MPC86xx Systems
 #########################################################################
 
-# generic boards
-################
-
-sbc8641d_config:       unconfig
-       @$(MKCONFIG) $@ powerpc mpc86xx $(call lcname,$@)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-MPC8610HPCD_config:    unconfig
-       @$(MKCONFIG) $@ powerpc mpc86xx $(call lcname,$@) freescale
-
-XPEDITE5170_config:    unconfig
-       @$(MKCONFIG) $@ powerpc mpc86xx $(call lcname,$@) xes
-
-# special boards
-################
-
 MPC8641HPCN_36BIT_config \
 MPC8641HPCN_config:    unconfig
        @mkdir -p $(obj)include
@@ -2234,42 +1843,10 @@ MPC8641HPCN_config:    unconfig
 ## 74xx/7xx Systems
 #########################################################################
 
-# generic boards
-################
-
-ppmc7xx_config: unconfig
-       @$(MKCONFIG) $@ powerpc 74xx_7xx $(call lcname,$@)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-BAB7xx_config  \
-ELPPC_config:  unconfig
-       @$(MKCONFIG) $@ powerpc 74xx_7xx $(call lcname,$@) eltec
-
-CPCI750_config:        unconfig
-       @$(MKCONFIG) $@ powerpc 74xx_7xx $(call lcname,$@) esd
-
-mpc7448hpc2_config:  unconfig
-       @$(MKCONFIG) $@ powerpc 74xx_7xx $(call lcname,$@) freescale
-
-AmigaOneG3SE_config:   unconfig
-       @$(MKCONFIG) $@ powerpc 74xx_7xx $(@:_config=) MAI
-
-DB64360_config \
-DB64460_config:        unconfig
-       @$(MKCONFIG) $@ powerpc 74xx_7xx $(call lcname,$@) Marvell
-
-# special boards
-################
-
 EVB64260_config        \
 EVB64260_750CX_config: unconfig
        @$(MKCONFIG) -n $@ EVB64260 powerpc 74xx_7xx evb64260
 
-P3G4_config: unconfig
-       @$(MKCONFIG) $@ powerpc 74xx_7xx evb64260
-
 p3m750_config  \
 p3m7448_config:                unconfig
        @mkdir -p $(obj)include
@@ -2284,100 +1861,14 @@ PCIPPC2_config \
 PCIPPC6_config: unconfig
        @$(MKCONFIG) -n $@ $@ powerpc 74xx_7xx pcippc2
 
-ZUMA_config:   unconfig
-       @$(MKCONFIG) $@ powerpc 74xx_7xx evb64260
-
 #========================================================================
 # ARM
 #========================================================================
-#########################################################################
-## StrongARM Systems
-#########################################################################
-
-# generic boards
-################
-assabet_config \
-dnp1110_config \
-gcplus_config  \
-lart_config    \
-shannon_config :       unconfig
-       @$(MKCONFIG) $@ arm sa1100 $(call lcname,$@)
-
-#########################################################################
-## ARM92xT Systems
-#########################################################################
-
-# generic boards
-################
-
-edb9301_config \
-edb9302_config \
-edb9302a_config \
-edb9307_config \
-edb9307a_config \
-edb9312_config \
-edb9315_config \
-edb9315a_config: unconfig
-       @$(MKCONFIG) -n $@ -t $@ edb93xx arm arm920t edb93xx NULL ep93xx
-
-mx1ads_config  \
-mx1fs2_config  :       unconfig
-       @$(MKCONFIG) $@ arm arm920t $(call lcname,$@) NULL imx
-
-sbc2410x_config: unconfig
-       @$(MKCONFIG) $@ arm arm920t $(call lcname,$@) NULL s3c24x0
-
-scb9328_config :       unconfig
-       @$(MKCONFIG) $@ arm arm920t $(call lcname,$@) NULL imx
-
-cm4008_config  \
-cm41xx_config  :       unconfig
-       @$(MKCONFIG) $@ arm arm920t $(call lcname,$@) NULL ks8695
-
-netstar_config         \
-voiceblue_config:      unconfig
-       @$(MKCONFIG) $@ arm arm925t $(call lcname,$@)
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-a320evb_config :       unconfig
-       @$(MKCONFIG) $@ arm arm920t $(call lcname,$@) faraday a320
-
-smdk2400_config                \
-smdk2410_config        :       unconfig
-       @$(MKCONFIG) $@ arm arm920t $(call lcname,$@) samsung s3c24x0
 
 #########################################################################
 ## Atmel AT91RM9200 Systems
 #########################################################################
 
-# generic boards
-################
-
-cmc_pu2_config \
-csb637_config  \
-kb9202_config  \
-m501sk_config  \
-mp2usb_config  :       unconfig
-       @$(MKCONFIG) $@ arm arm920t $(call lcname,$@) NULL at91rm9200
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-at91rm9200dk_config    \
-at91rm9200ek_config    :       unconfig
-       @$(MKCONFIG) $@ arm arm920t $(call lcname,$@) atmel at91rm9200
-
-eb_cpux9k2_config      :       unconfig
-       @$(MKCONFIG) $@ arm arm920t $(call lcname,$@) BuS at91
-
-omap1510inn_config :   unconfig
-       @$(MKCONFIG) $@ arm arm925t $(call lcname,$@) ti
-
-# special boards
-################
-
 CPUAT91_RAM_config \
 CPUAT91_config :       unconfig
        @mkdir -p $(obj)include
@@ -2388,42 +1879,6 @@ CPUAT91_config   :       unconfig
 ## ARM926EJ-S Systems
 #########################################################################
 
-# generic boards
-################
-
-afeb9260_config:       unconfig
-       @$(MKCONFIG) $@ arm arm926ejs $(call lcname,$@) NULL at91
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-at91cap9adk_config     :       unconfig
-       @$(MKCONFIG) $@ arm arm926ejs $(call lcname,$@) atmel at91
-
-meesc_config   \
-otc570_config  :       unconfig
-       @$(MKCONFIG) $@ arm arm926ejs $(call lcname,$@) esd at91
-
-guruplug_config                \
-mv88f6281gtw_ge_config \
-openrd_base_config     \
-rd6281a_config         \
-sheevaplug_config:     unconfig
-       @$(MKCONFIG) $@ arm arm926ejs $(call lcname,$@) Marvell kirkwood
-
-VCMA9_config   :       unconfig
-       @$(MKCONFIG) $@ arm arm920t $(call lcname,$@) mpl s3c24x0
-
-pm9261_config  \
-pm9263_config  :       unconfig
-       @$(MKCONFIG) $@ arm arm926ejs $(call lcname,$@) ronetix at91
-
-omap5912osk_config :   unconfig
-       @$(MKCONFIG) $@ arm arm926ejs $(call lcname,$@) ti omap
-
-# special boards
-################
-
 at91sam9260ek_nandflash_config \
 at91sam9260ek_dataflash_cs0_config \
 at91sam9260ek_dataflash_cs1_config \
@@ -2599,14 +2054,6 @@ davinci_dm6467evm_config :       unconfig
        @$(MKCONFIG) -n $@ $@ arm arm926ejs \
                $(subst davinci_,,$(@:_config=)) davinci davinci
 
-magnesium_config       \
-imx27lite_config:      unconfig
-       @$(MKCONFIG) $@ arm arm926ejs imx27lite logicpd mx27
-
-lpd7a400_config \
-lpd7a404_config:       unconfig
-       @$(MKCONFIG) $@ arm lh7a40x lpd7a40x
-
 nhk8815_config \
 nhk8815_onenand_config:        unconfig
        @mkdir -p $(obj)include
@@ -2655,9 +2102,6 @@ spear320_config : unconfig
 spear600_config :      unconfig
        @$(MKCONFIG) -n $@ -t $@ spear6xx arm arm926ejs $(@:_config=) spear spear
 
-suen3_config:  unconfig
-       @$(MKCONFIG) $@ arm arm926ejs km_arm keymile kirkwood
-
 SX1_stdout_serial_config \
 SX1_config:            unconfig
        @mkdir -p $(obj)include
@@ -2689,12 +2133,22 @@ trab_old_config:        unconfig
                  echo "#define CONFIG_RAM_16MB"   >>$(obj)include/config.h ; \
                  echo "TEXT_BASE = 0x0CF40000" >$(obj)board/trab/config.tmp ; \
                }
-       @$(MKCONFIG) -n $@ -a trab arm arm920t trab NULL s3c24x0
+       @$(MKCONFIG) -n $@ -a trab arm arm920t trab - s3c24x0
 
 tx25_config    : unconfig
        @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
        @$(MKCONFIG) $@ arm arm926ejs tx25 karo mx25
 
+edb9301_config \
+edb9302_config \
+edb9302a_config \
+edb9307_config \
+edb9307a_config \
+edb9312_config \
+edb9315_config \
+edb9315a_config: unconfig
+       @$(MKCONFIG) -n $@ -t $(@:_config=) edb93xx arm arm920t edb93xx - ep93xx
+
 #########################################################################
 # ARM supplied Versatile development boards
 #########################################################################
@@ -2704,105 +2158,10 @@ versatileab_config     \
 versatilepb_config :   unconfig
        @board/armltd/versatile/split_by_variant.sh $@
 
-#########################################################################
-## S3C44B0 Systems
-#########################################################################
-
-B2_config      :       unconfig
-       @$(MKCONFIG) $@ arm s3c44b0 $(call ucname,$@) dave
-
-#########################################################################
-## ARM720T Systems
-#########################################################################
-
-# generic boards
-################
-
-armadillo_config       \
-ep7312_config          \
-impa7_config           \
-modnet50_config :      unconfig
-       @$(MKCONFIG) $@ arm arm720t $(call lcname,$@)
-
-evb4510_config :       unconfig
-       @$(MKCONFIG) $@ arm arm720t $(call lcname,$@) NULL s3c4510b
-
-lpc2292sodimm_config:  unconfig
-       @$(MKCONFIG) $@ arm arm720t $(call lcname,$@) NULL lpc2292
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-SMN42_config   :       unconfig
-       @$(MKCONFIG) $@ arm arm720t $(call ucname,$@) siemens lpc2292
-
-#########################################################################
-## ARM CORTEX Systems
-#########################################################################
-omapname = $(shell echo $(1) | sed -e 's/omap[0-9]_//' -e 's/\(.*\)_config/\L\1/')
-
-# generic boards
-################
-
-omap3_overo_config     \
-omap3_pandora_config : unconfig
-       @$(MKCONFIG) $@ arm arm_cortexa8 $(call omapname,$@) NULL omap3
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-mx51evk_config : unconfig
-       @$(MKCONFIG) $@ arm arm_cortexa8 $(call lcname,$@) freescale mx51
-
-omap3_zoom1_config     \
-omap3_zoom2_config :   unconfig
-       @$(MKCONFIG) $@ arm arm_cortexa8 $(call omapname,$@) logicpd omap3
-
-smdkc100_config:       unconfig
-       @$(MKCONFIG) $@ arm arm_cortexa8 $(call lcname,$@) samsung s5pc1xx
-
-omap3_beagle_config    \
-omap3_evm_config       \
-omap3_sdp3430_config : unconfig
-       @$(MKCONFIG) $@ arm arm_cortexa8 $(call omapname,$@) ti omap3
-
-devkit8000_config :    unconfig
-       @$(MKCONFIG) $@ arm arm_cortexa8 $(call lcname,$@) timll omap3
-
 #########################################################################
 ## XScale Systems
 #########################################################################
 
-# generic boards
-################
-
-actux1_config  \
-actux2_config  \
-actux3_config  \
-actux4_config  \
-ixdp425_config \
-ixdpg425_config        :       unconfig
-       @$(MKCONFIG) $@ arm ixp $(call lcname,$@)
-
-cerf250_config \
-cradle_config  \
-csb226_config  \
-delta_config   \
-innokom_config \
-lubbock_config \
-pleb2_config   \
-logodl_config  \
-pxa255_idp_config \
-wepep250_config        \
-xaeniax_config \
-xm250_config   \
-xsengine_config \
-zylonite_config :
-       @$(MKCONFIG) $@ arm pxa $(call lcname,$@)
-
-# special boards
-################
-
 pdnb3_config \
 scpu_config:   unconfig
        @mkdir -p $(obj)include
@@ -2823,32 +2182,11 @@ trizepsiv_config        :       unconfig
 ## ARM1136 Systems
 #########################################################################
 
-# generic boards
-################
-
-# vendor specific boards (sorted by vendor)
-###########################################
-
-qong_config            : unconfig
-       @$(MKCONFIG) $@ arm arm1136 $(call lcname,$@) davedenx mx31
-
-mx31ads_config         : unconfig
-       @$(MKCONFIG) $@ arm arm1136 $(call lcname,$@) freescale mx31
-
-imx31_litekit_config   : unconfig
-       @$(MKCONFIG) $@ arm arm1136 $(call lcname,$@) logicpd mx31
-
-omap2420h4_config      : unconfig
-       @$(MKCONFIG) $@ arm arm1136 $(call lcname,$@) ti omap24xx
-
-# special boards
-################
-
 apollon_config         : unconfig
        @mkdir -p $(obj)include
        @echo "#define CONFIG_ONENAND_U_BOOT" > $(obj)include/config.h
        @echo "CONFIG_ONENAND_U_BOOT = y" >> $(obj)include/config.mk
-       @$(MKCONFIG) $@ arm arm1136 apollon NULL omap24xx
+       @$(MKCONFIG) $@ arm arm1136 apollon - omap24xx
 
 imx31_phycore_eet_config \
 imx31_phycore_config   : unconfig
@@ -2856,7 +2194,7 @@ imx31_phycore_config      : unconfig
        @if [ -n "$(findstring _eet_,$@)" ]; then                       \
                echo "#define CONFIG_IMX31_PHYCORE_EET" >> $(obj)include/config.h;      \
        fi
-       @$(MKCONFIG) -n $@ -a imx31_phycore arm arm1136 imx31_phycore NULL mx31
+       @$(MKCONFIG) -n $@ -a imx31_phycore arm arm1136 imx31_phycore - mx31
 
 mx31pdk_config \
 mx31pdk_nand_config    : unconfig
@@ -2885,23 +2223,6 @@ smdk6400_config  :       unconfig
        fi
        @$(MKCONFIG) $(subst _noUSB,,$(@:_config=)) arm arm1176 smdk6400 samsung s3c64xx
 
-#========================================================================
-# i386
-#========================================================================
-#########################################################################
-## AMD SC520 CDP
-#########################################################################
-
-# generic boards
-################
-eNET_config            \
-sc520_cdp_config       \
-sc520_spunk_config     :       unconfig
-       @$(MKCONFIG) $@ i386 i386 $(call lcname,$@) NULL sc520
-
-sc520_spunk_rel_config :       unconfig
-       @$(MKCONFIG) $@ i386 i386 sc520_spunk NULL sc520
-
 #========================================================================
 # MIPS
 #========================================================================
@@ -2909,15 +2230,6 @@ sc520_spunk_rel_config   :       unconfig
 ## MIPS32 4Kc
 #########################################################################
 
-# generic boards
-################
-
-tb0229_config: unconfig
-       @$(MKCONFIG) $@ mips mips $(call lcname,$@)
-
-# special boards
-################
-
 incaip_100MHz_config   \
 incaip_133MHz_config   \
 incaip_150MHz_config   \
@@ -3000,13 +2312,6 @@ qemu_mips_config : unconfig
        @echo "#define CONFIG_QEMU_MIPS 1" >$(obj)include/config.h
        @$(MKCONFIG) -a qemu-mips mips mips qemu-mips
 
-#########################################################################
-## MIPS64 5Kc
-#########################################################################
-
-purple_config :                unconfig
-       @$(MKCONFIG) $@ mips mips purple
-
 #========================================================================
 # Nios
 #========================================================================
@@ -3015,78 +2320,20 @@ purple_config :         unconfig
 ## Nios-II
 #########################################################################
 
-# vendor specific boards (sorted by vendor)
-###########################################
-
-EP1C20_config  \
-EP1S10_config  \
-EP1S40_config  : unconfig
-       @$(MKCONFIG) $@ nios2 nios2 $(call lcname,$@) altera
-
-PK1C20_config  \
-PCI5441_config : unconfig
-       @$(MKCONFIG) $@ nios2 nios2 $(call lcname,$@) psyent
-
 # nios2 generic boards
 NIOS2_GENERIC = nios2-generic
 
 $(NIOS2_GENERIC:%=%_config) : unconfig
        @$(MKCONFIG) $@ nios2 nios2 nios2-generic altera
 
-#========================================================================
-## Microblaze
-#========================================================================
-
-microblaze-generic_config:     unconfig
-       @$(MKCONFIG) $@ microblaze microblaze microblaze-generic xilinx
-
 #========================================================================
 # Blackfin
 #========================================================================
 
-# Analog Devices boards
-BFIN_BOARDS = bf518f-ezbrd bf526-ezbrd bf527-ezkit bf533-ezkit bf533-stamp \
-       bf537-pnav bf537-stamp bf538f-ezkit bf548-ezkit bf561-ezkit
-
-# Bluetechnix tinyboards
-BFIN_BOARDS += cm-bf527 cm-bf533 cm-bf537e cm-bf537u cm-bf548 cm-bf561 \
-       tcm-bf518 tcm-bf537
-
-# Misc third party boards
-BFIN_BOARDS += bf537-minotaur bf537-srv1 bf561-acvilon blackstamp ip04
-
-# I-SYST Micromodule
-BFIN_BOARDS += ibf-dsp561
-
-$(BFIN_BOARDS:%=%_config)      : unconfig
-       @$(MKCONFIG) $@ blackfin blackfin $(@:_config=)
-
 bf527-ezkit-v2_config  : unconfig
        @$(MKCONFIG) -t BF527_EZKIT_REV_2_1 \
                bf527-ezkit blackfin blackfin bf527-ezkit
 
-#========================================================================
-# AVR32
-#========================================================================
-
-atngw100_config        :       unconfig
-       @$(MKCONFIG) $@ avr32 at32ap atngw100 atmel at32ap700x
-
-atstk1002_config       \
-atstk1003_config       \
-atstk1004_config       \
-atstk1006_config       :       unconfig
-       @$(MKCONFIG) $@ avr32 at32ap atstk1000 atmel at32ap700x
-
-favr-32-ezkit_config   :       unconfig
-       @$(MKCONFIG) $@ avr32 at32ap favr-32-ezkit earthlcd at32ap700x
-
-hammerhead_config      :       unconfig
-       @$(MKCONFIG) $@ avr32 at32ap hammerhead miromico at32ap700x
-
-mimc200_config         :       unconfig
-       @$(MKCONFIG) $@ avr32 at32ap mimc200 mimc at32ap700x
-
 #========================================================================
 # SH3 (SuperH)
 #========================================================================
@@ -3169,28 +2416,6 @@ espt_config  :   unconfig
        @echo "#define CONFIG_ESPT 1" > $(obj)include/config.h
        @$(MKCONFIG) -a $@ sh sh4 espt
 
-#========================================================================
-# SPARC
-#========================================================================
-
-#########################################################################
-## LEON2
-#########################################################################
-
-grsim_leon2_config : unconfig
-       @$(MKCONFIG) $@ sparc leon2 $(call lcname,$@) gaisler
-
-#########################################################################
-## LEON3
-#########################################################################
-
-gr_xc3s_1500_config    \
-gr_cpci_ax2000_config  \
-gr_ep2s60_config       \
-grsim_config   :       unconfig
-       @$(MKCONFIG) $@ sparc leon3 $(call lcname,$@) gaisler
-
-#########################################################################
 #########################################################################
 #########################################################################
 
diff --git a/boards.cfg b/boards.cfg
new file mode 100644 (file)
index 0000000..e54673e
--- /dev/null
@@ -0,0 +1,356 @@
+#
+# List of boards
+#
+# Syntax:
+#      white-space separated list of entries;
+#      each entry has the following fields:
+#
+#      Targetname  Architecture  CPU  Boardname  Vendor  SoC
+#
+#      Unused fields can be specified as "-", or omitted if they
+#      are the last field on the line.
+#
+#      Lines starting with '#' are comments.
+#      Blank lines are ignored.
+#
+# To keep the list sorted, use something like
+#
+#      :.,$! sort -f -k2,2 -k3,3 -k6,6 -k5,5 -k1,1
+#
+# Target       ARCH    CPU             Board name      Vendor          SoC
+###########################################################################
+
+qong           arm     arm1136         -               davedenx        mx31
+mx31ads                arm     arm1136         -               freescale       mx31
+ep7312         arm     arm720t
+impa7          arm     arm720t
+SMN42          arm     arm720t         -               siemens         lpc2292
+evb4510                arm     arm720t         -               -               s3c4510b
+a320evb                arm     arm920t         -               faraday         a320
+cmc_pu2                arm     arm920t         -               -               at91rm9200
+csb637         arm     arm920t         -               -               at91rm9200
+kb9202         arm     arm920t         -               -               at91rm9200
+m501sk         arm     arm920t         -               -               at91rm9200
+mp2usb         arm     arm920t         -               -               at91rm9200
+mx1ads         arm     arm920t         -               -               imx
+mx1fs2         arm     arm920t         -               -               imx
+scb9328                arm     arm920t         -               -               imx
+cm4008         arm     arm920t         -               -               ks8695
+cm41xx         arm     arm920t         -               -               ks8695
+VCMA9          arm     arm920t         vcma9           mpl             s3c24x0
+netstar                arm     arm925t
+meesc          arm     arm926ejs       -               esd             at91
+otc570         arm     arm926ejs       -               esd             at91
+pm9261         arm     arm926ejs       -               ronetix         at91
+pm9263         arm     arm926ejs       -               ronetix         at91
+suen3          arm     arm926ejs       km_arm          keymile         kirkwood
+rd6281a                arm     arm926ejs       -               Marvell         kirkwood
+mx51evk                arm     arm_cortexa8    mx51evk         freescale       mx51
+actux1         arm     ixp
+actux2         arm     ixp
+actux3         arm     ixp
+actux4         arm     ixp
+ixdp425                arm     ixp
+cerf250                arm     pxa
+cradle         arm     pxa
+csb226         arm     pxa
+delta          arm     pxa
+innokom                arm     pxa
+logodl         arm     pxa
+lubbock                arm     pxa
+pleb2          arm     pxa
+xaeniax                arm     pxa
+xm250          arm     pxa
+B2             arm     s3c44b0         -               dave
+assabet                arm     sa1100
+dnp1110                arm     sa1100
+gcplus         arm     sa1100
+lart           arm     sa1100
+shannon                arm     sa1100
+mimc200                avr32   at32ap          -               mimc            at32ap700x
+eNET           i386    i386            -               -               sc520
+idmr           m68k    mcf52x2
+TASREG         m68k    mcf52x2         tasreg          esd
+M5272C3                m68k    mcf52x2         m5272c3         freescale
+EP2500         m68k    mcf52x2         ep2500          Mercury
+purple         mips    mips
+tb0229         mips    mips
+EP1C20         nios2   nios2           ep1c20          altera
+EP1S10         nios2   nios2           ep1s10          altera
+EP1S40         nios2   nios2           ep1s40          altera
+PCI5441                nios2   nios2           pci5441         psyent
+PK1C20         nios2   nios2           pk1c20          psyent
+P3G4           powerpc 74xx_7xx        evb64260
+ppmc7xx                powerpc 74xx_7xx
+ZUMA           powerpc 74xx_7xx        evb64260
+BAB7xx         powerpc 74xx_7xx        bab7xx          eltec
+ELPPC          powerpc 74xx_7xx        elppc           eltec
+CPCI750                powerpc 74xx_7xx        cpci750         esd
+DB64360                powerpc 74xx_7xx        db64360         Marvell
+DB64460                powerpc 74xx_7xx        db64460         Marvell
+aria           powerpc mpc512x         -               davedenx
+PATI           powerpc mpc5xx          pati            mpl
+BC3450         powerpc mpc5xxx         bc3450
+canmb          powerpc mpc5xxx
+cm5200         powerpc mpc5xxx
+hmi1001                powerpc mpc5xxx
+inka4x0                powerpc mpc5xxx
+ipek01         powerpc mpc5xxx
+jupiter                powerpc mpc5xxx
+mucmc52                powerpc mpc5xxx
+munices                powerpc mpc5xxx
+o2dnt          powerpc mpc5xxx
+uc101          powerpc mpc5xxx
+v38b           powerpc mpc5xxx
+pf5200         powerpc mpc5xxx         -               esd
+aev            powerpc mpc5xxx         tqm5200         tqc
+smmaco4                powerpc mpc5xxx         tqm5200         tqc
+spieval                powerpc mpc5xxx         tqm5200         tqc
+sorcery                powerpc mpc8220
+A3000          powerpc mpc824x         a3000
+barco          powerpc mpc824x
+BMW            powerpc mpc824x         bmw
+CU824          powerpc mpc824x         cu824
+MOUSSE         powerpc mpc824x         mousse
+MUSENKI                powerpc mpc824x         musenki
+MVBLUE         powerpc mpc824x         mvblue
+OXC            powerpc mpc824x         oxc
+PN62           powerpc mpc824x         pn62
+sbc8240                powerpc mpc824x
+utx8245                powerpc mpc824x
+debris         powerpc mpc824x         -               etin
+kvme080                powerpc mpc824x         -               etin
+atc            powerpc mpc8260
+ep8260         powerpc mpc8260
+ep82xxm                powerpc mpc8260
+gw8260         powerpc mpc8260
+hymod          powerpc mpc8260
+IDS8247                powerpc mpc8260         ids8247
+sacsng         powerpc mpc8260
+sbc8260                powerpc mpc8260
+ZPC1900                powerpc mpc8260         zpc1900
+mgcoge         powerpc mpc8260         -               keymile
+SCM            powerpc mpc8260         -               siemens
+TQM8272                powerpc mpc8260         tqm8272         tqc
+kmeter1                powerpc mpc83xx         kmeter1         keymile
+MVBLM7         powerpc mpc83xx         mvblm7          matrix_vision
+TQM834x                powerpc mpc83xx         tqm834x         tqc
+PM854          powerpc mpc85xx         pm854
+PM856          powerpc mpc85xx         pm856
+stxgp3         powerpc mpc85xx         stxgp3          stx
+c2mon          powerpc mpc8xx
+EP88x          powerpc mpc8xx          ep88x
+ETX094         powerpc mpc8xx          etx094
+FLAGADM                powerpc mpc8xx          flagadm
+GENIETV                powerpc mpc8xx          genietv
+GTH            powerpc mpc8xx          gth
+hermes         powerpc mpc8xx
+IP860          powerpc mpc8xx          ip860
+LANTEC         powerpc mpc8xx          lantec
+lwmon          powerpc mpc8xx
+NX823          powerpc mpc8xx          nx823
+quantum                powerpc mpc8xx
+R360MPI                powerpc mpc8xx          r360mpi
+RBC823         powerpc mpc8xx          rbc823
+rmu            powerpc mpc8xx
+RPXlite                powerpc mpc8xx
+spc1920                powerpc mpc8xx
+uc100          powerpc mpc8xx
+MHPC           powerpc mpc8xx          mhpc            eltec
+TOP860         powerpc mpc8xx          top860          emk
+kmsupx4                powerpc mpc8xx          km8xx           keymile
+mgsuvd         powerpc mpc8xx          km8xx           keymile
+KUP4K          powerpc mpc8xx          kup4k           kup
+KUP4X          powerpc mpc8xx          kup4k           kup
+ELPT860                powerpc mpc8xx          elpt860         LEOX
+CCM            powerpc mpc8xx          -               siemens
+IAD210         powerpc mpc8xx          -               siemens
+pcu_e          powerpc mpc8xx          -               siemens
+QS823          powerpc mpc8xx          qs850           snmc
+QS850          powerpc mpc8xx          qs850           snmc
+QS860T         powerpc mpc8xx          qs860t          snmc
+stxxtc         powerpc mpc8xx          stxxtc          stx
+HMI10          powerpc mpc8xx          tqm8xx          tqc
+SM850          powerpc mpc8xx          tqm8xx          tqc
+AMX860         powerpc mpc8xx          amx860          westel
+csb272         powerpc ppc4xx
+csb472         powerpc ppc4xx
+ERIC           powerpc ppc4xx          eric
+G2000          powerpc ppc4xx          g2000
+JSE            powerpc ppc4xx          jse
+korat          powerpc ppc4xx
+lwmon5         powerpc ppc4xx
+ML2            powerpc ppc4xx
+sbc405         powerpc ppc4xx
+sc3            powerpc ppc4xx
+zeus           powerpc ppc4xx
+acadia         powerpc ppc4xx          -               amcc
+bamboo         powerpc ppc4xx          -               amcc
+bubinga                powerpc ppc4xx          -               amcc
+ebony          powerpc ppc4xx          -               amcc
+katmai         powerpc ppc4xx          -               amcc
+luan           powerpc ppc4xx          -               amcc
+makalu         powerpc ppc4xx          -               amcc
+ocotea         powerpc ppc4xx          -               amcc
+redwood                powerpc ppc4xx          -               amcc
+taihu          powerpc ppc4xx          -               amcc
+taishan                powerpc ppc4xx          -               amcc
+yucca          powerpc ppc4xx          -               amcc
+AP1000         powerpc ppc4xx          ap1000          amirix
+CRAYL1         powerpc ppc4xx          L1              cray
+ADCIOP         powerpc ppc4xx          adciop          esd
+APC405         powerpc ppc4xx          apc405          esd
+AR405          powerpc ppc4xx          ar405           esd
+ASH405         powerpc ppc4xx          ash405          esd
+CANBT          powerpc ppc4xx          canbt           esd
+CMS700         powerpc ppc4xx          cms700          esd
+CPCI2DP                powerpc ppc4xx          cpci2dp         esd
+DP405          powerpc ppc4xx          dp405           esd
+DU405          powerpc ppc4xx          du405           esd
+DU440          powerpc ppc4xx          du440           esd
+HH405          powerpc ppc4xx          hh405           esd
+HUB405         powerpc ppc4xx          hub405          esd
+PCI405         powerpc ppc4xx          pci405          esd
+PLU405         powerpc ppc4xx          plu405          esd
+PMC405         powerpc ppc4xx          pmc405          esd
+PMC440         powerpc ppc4xx          pmc440          esd
+VOH405         powerpc ppc4xx          voh405          esd
+VOM405         powerpc ppc4xx          vom405          esd
+WUH405         powerpc ppc4xx          wuh405          esd
+neo            powerpc ppc4xx          -               gdsys
+icon           powerpc ppc4xx          -               mosaixtech
+MIP405         powerpc ppc4xx          mip405          mpl
+PIP405         powerpc ppc4xx          pip405          mpl
+alpr           powerpc ppc4xx          -               prodrive
+p3p440         powerpc ppc4xx          -               prodrive
+KAREF          powerpc ppc4xx          karef           sandburst
+grsim          sparc   leon3           -               gaisler
+imx31_litekit  arm     arm1136         -               logicpd         mx31
+omap2420h4     arm     arm1136         -               ti              omap24xx
+armadillo      arm     arm720t
+modnet50       arm     arm720t
+lpc2292sodimm  arm     arm720t         -               -               lpc2292
+eb_cpux9k2     arm     arm920t         -               BuS             at91
+at91rm9200dk   arm     arm920t         -               atmel           at91rm9200
+at91rm9200ek   arm     arm920t         -               atmel           at91rm9200
+sbc2410x       arm     arm920t         -               -               s3c24x0
+smdk2400       arm     arm920t         -               samsung         s3c24x0
+smdk2410       arm     arm920t         -               samsung         s3c24x0
+voiceblue      arm     arm925t
+omap1510inn    arm     arm925t         -               ti
+at91cap9adk    arm     arm926ejs       -               atmel           at91
+afeb9260       arm     arm926ejs       -               -               at91
+guruplug       arm     arm926ejs       -               Marvell         kirkwood
+mv88f6281gtw_ge        arm     arm926ejs       -               Marvell         kirkwood
+openrd_base    arm     arm926ejs       -               Marvell         kirkwood
+sheevaplug     arm     arm926ejs       -               Marvell         kirkwood
+imx27lite      arm     arm926ejs       imx27lite       logicpd         mx27
+magnesium      arm     arm926ejs       imx27lite       logicpd         mx27
+omap5912osk    arm     arm926ejs       -               ti              omap
+omap3_zoom1    arm     arm_cortexa8    zoom1           logicpd         omap3
+omap3_zoom2    arm     arm_cortexa8    zoom2           logicpd         omap3
+omap3_overo    arm     arm_cortexa8    overo           -               omap3
+omap3_pandora  arm     arm_cortexa8    pandora         -               omap3
+omap3_beagle   arm     arm_cortexa8    beagle          ti              omap3
+omap3_evm      arm     arm_cortexa8    evm             ti              omap3
+omap3_sdp3430  arm     arm_cortexa8    sdp3430         ti              omap3
+devkit8000     arm     arm_cortexa8    devkit8000      timll           omap3
+smdkc100       arm     arm_cortexa8    smdkc100        samsung         s5pc1xx
+ixdpg425       arm     ixp
+lpd7a400       arm     lh7a40x         lpd7a40x
+lpd7a404       arm     lh7a40x         lpd7a40x
+pxa255_idp     arm     pxa
+wepep250       arm     pxa
+xsengine       arm     pxa
+zylonite       arm     pxa
+atngw100       avr32   at32ap          -               atmel           at32ap700x
+atstk1002      avr32   at32ap          atstk1000       atmel           at32ap700x
+atstk1003      avr32   at32ap          atstk1000       atmel           at32ap700x
+atstk1004      avr32   at32ap          atstk1000       atmel           at32ap700x
+atstk1006      avr32   at32ap          atstk1000       atmel           at32ap700x
+favr-32-ezkit  avr32   at32ap          -               earthlcd        at32ap700x
+hammerhead     avr32   at32ap          -               miromico        at32ap700x
+bf518f-ezbrd   blackfin        blackfin
+bf526-ezbrd    blackfin        blackfin
+bf527-ezkit    blackfin        blackfin
+bf533-ezkit    blackfin        blackfin
+bf533-stamp    blackfin        blackfin
+bf537-minotaur blackfin        blackfin
+bf537-pnav     blackfin        blackfin
+bf537-srv1     blackfin        blackfin
+bf537-stamp    blackfin        blackfin
+bf538f-ezkit   blackfin        blackfin
+bf548-ezkit    blackfin        blackfin
+bf561-acvilon  blackfin        blackfin
+bf561-ezkit    blackfin        blackfin
+blackstamp     blackfin        blackfin
+cm-bf527       blackfin        blackfin
+cm-bf533       blackfin        blackfin
+cm-bf537e      blackfin        blackfin
+cm-bf537u      blackfin        blackfin
+cm-bf548       blackfin        blackfin
+cm-bf561       blackfin        blackfin
+ibf-dsp561     blackfin        blackfin
+ip04   blackfin        blackfin
+tcm-bf518      blackfin        blackfin
+tcm-bf537      blackfin        blackfin
+sc520_cdp      i386    i386            -               -               sc520
+sc520_spunk    i386    i386            -               -               sc520
+sc520_spunk_rel        i386    i386            sc520_spunk_rel -               sc520
+M5208EVBE      m68k    mcf52x2         m5208evbe       freescale
+M5249EVB       m68k    mcf52x2         m5249evb        freescale
+M5253DEMO      m68k    mcf52x2         m5253demo       freescale
+M5253EVBE      m68k    mcf52x2         m5253evbe       freescale
+M5271EVB       m68k    mcf52x2         m5271evb        freescale
+M5275EVB       m68k    mcf52x2         m5275evb        freescale
+M5282EVB       m68k    mcf52x2         m5282evb        freescale
+M53017EVB      m68k    mcf52x2         m53017evb       freescale
+microblaze-generic     microblaze      microblaze      microblaze-generic      xilinx
+mpc7448hpc2    powerpc 74xx_7xx        mpc7448hpc2     freescale
+AmigaOneG3SE   powerpc 74xx_7xx        AmigaOneG3SE    MAI
+pdm360ng       powerpc mpc512x
+mecp5123       powerpc mpc512x         -               esd
+cmi_mpc5xx     powerpc mpc5xx          cmi
+motionpro      powerpc mpc5xxx
+cpci5200       powerpc mpc5xxx         -               esd
+mecp5200       powerpc mpc5xxx         -               esd
+Alaska8220     powerpc mpc8220         alaska
+Yukon8220      powerpc mpc8220         alaska
+HIDDEN_DRAGON  powerpc mpc824x         hidden_dragon
+IPHASE4539     powerpc mpc8260         iphase4539
+ppmc8260       powerpc mpc8260
+RPXsuper       powerpc mpc8260         rpxsuper
+rsdproto       powerpc mpc8260
+MPC8266ADS     powerpc mpc8260         mpc8266ads      freescale
+MPC8323ERDB    powerpc mpc83xx         mpc8323erdb     freescale
+MPC8349EMDS    powerpc mpc83xx         mpc8349emds     freescale
+MPC837XERDB    powerpc mpc83xx         mpc837xerdb     freescale
+ATUM8548       powerpc mpc85xx         atum8548
+socrates       powerpc mpc85xx         socrates
+MPC8540ADS     powerpc mpc85xx         mpc8540ads      freescale
+MPC8544DS      powerpc mpc85xx         mpc8544ds       freescale
+MPC8560ADS     powerpc mpc85xx         mpc8560ads      freescale
+MPC8568MDS     powerpc mpc85xx         mpc8568mds      freescale
+XPEDITE5200    powerpc mpc85xx         xpedite5200     xes
+XPEDITE5370    powerpc mpc85xx         xpedite5370     xes
+sbc8641d       powerpc mpc86xx
+MPC8610HPCD    powerpc mpc86xx         mpc8610hpcd     freescale
+XPEDITE5170    powerpc mpc86xx         xpedite5170     xes
+cogent_mpc8xx  powerpc mpc8xx          cogent
+ESTEEM192E     powerpc mpc8xx          esteem192e
+RPXClassic     powerpc mpc8xx
+RRvision       powerpc mpc8xx
+svm_sc8xx      powerpc mpc8xx
+pcs440ep       powerpc ppc4xx
+quad100hd      powerpc ppc4xx
+dlvision       powerpc ppc4xx          -               gdsys
+gdppc440etx    powerpc ppc4xx          -               gdsys
+CPCIISER4      powerpc ppc4xx          cpciiser4       esd
+DASA_SIM       powerpc ppc4xx          dasa_sim        esd
+PMC405DE       powerpc ppc4xx          pmc405de        esd
+METROBOX       powerpc ppc4xx          metrobox        sandburst
+XPEDITE1000    powerpc ppc4xx          xpedite1000     xes
+grsim_leon2    sparc   leon2           -               gaisler
+gr_cpci_ax2000 sparc   leon3           -               gaisler
+gr_ep2s60      sparc   leon3           -               gaisler
+gr_xc3s_1500   sparc   leon3           -               gaisler
index a71d09e95c5bf7d4f3a0a41db7533cee91c45800..b661071834e42836b2fc81c88ac1158fcdad2140 100755 (executable)
--- a/mkconfig
+++ b/mkconfig
@@ -12,6 +12,24 @@ APPEND=no    # Default: Create new config file
 BOARD_NAME=""  # Name to print in make output
 TARGETS=""
 
+arch=""
+cpu=""
+board=""
+vendor=""
+soc=""
+
+if [ \( $# -eq 2 \) -a \( "$1" = "-A" \) ] ; then
+       # Automatic mode
+       line=`egrep -i "^[[:space:]]*${2}[[:space:]]" boards.cfg` || {
+               echo "make: *** No rule to make target \`$2_config'.  Stop." >&2
+               exit 1
+       }
+
+       set ${line}
+       # add default board name if needed
+       [ $# = 3 ] && set ${line} ${1}
+fi
+
 while [ $# -gt 0 ] ; do
        case "$1" in
        --) shift ; break ;;
@@ -22,13 +40,25 @@ while [ $# -gt 0 ] ; do
        esac
 done
 
-[ "${BOARD_NAME}" ] || BOARD_NAME="${1%_config}"
-
 [ $# -lt 4 ] && exit 1
 [ $# -gt 6 ] && exit 1
 
-if [ "${ARCH}" -a "${ARCH}" != "$2" ]; then
-       echo "Failed: \$ARCH=${ARCH}, should be '$2' for ${BOARD_NAME}" 1>&2
+CONFIG_NAME="${1%_config}"
+
+[ "${BOARD_NAME}" ] || BOARD_NAME="${CONFIG_NAME}"
+
+arch="$2"
+cpu="$3"
+if [ "$4" = "-" ] ; then
+       board=${BOARD_NAME}
+else
+       board="$4"
+fi
+[ $# -gt 4 ] && [ "$5" != "-" ] && vendor="$5"
+[ $# -gt 5 ] && [ "$6" != "-" ] && soc="$6"
+
+if [ "${ARCH}" -a "${ARCH}" != "${arch}" ]; then
+       echo "Failed: \$ARCH=${ARCH}, should be '${arch}' for ${BOARD_NAME}" 1>&2
        exit 1
 fi
 
@@ -42,26 +72,26 @@ if [ "$SRCTREE" != "$OBJTREE" ] ; then
        mkdir -p ${OBJTREE}/include2
        cd ${OBJTREE}/include2
        rm -f asm
-       ln -s ${SRCTREE}/arch/$2/include/asm asm
-       LNPREFIX=${SRCTREE}/arch/$2/include/asm/
+       ln -s ${SRCTREE}/arch/${arch}/include/asm asm
+       LNPREFIX=${SRCTREE}/arch/${arch}/include/asm/
        cd ../include
        rm -f asm
-       ln -s ${SRCTREE}/arch/$2/include/asm asm
+       ln -s ${SRCTREE}/arch/${arch}/include/asm asm
 else
        cd ./include
        rm -f asm
-       ln -s ../arch/$2/include/asm asm
+       ln -s ../arch/${arch}/include/asm asm
 fi
 
 rm -f asm/arch
 
-if [ -z "$6" -o "$6" = "NULL" ] ; then
-       ln -s ${LNPREFIX}arch-$3 asm/arch
+if [ -z "${soc}" ] ; then
+       ln -s ${LNPREFIX}arch-${cpu} asm/arch
 else
-       ln -s ${LNPREFIX}arch-$6 asm/arch
+       ln -s ${LNPREFIX}arch-${soc} asm/arch
 fi
 
-if [ "$2" = "arm" ] ; then
+if [ "${arch}" = "arm" ] ; then
        rm -f asm/proc
        ln -s ${LNPREFIX}proc-armv asm/proc
 fi
@@ -69,19 +99,19 @@ fi
 #
 # Create include file for Make
 #
-echo "ARCH   = $2" >  config.mk
-echo "CPU    = $3" >> config.mk
-echo "BOARD  = $4" >> config.mk
+echo "ARCH   = ${arch}"  >  config.mk
+echo "CPU    = ${cpu}"   >> config.mk
+echo "BOARD  = ${board}" >> config.mk
 
-[ "$5" ] && [ "$5" != "NULL" ] && echo "VENDOR = $5" >> config.mk
+[ "${vendor}" ] && echo "VENDOR = ${vendor}" >> config.mk
 
-[ "$6" ] && [ "$6" != "NULL" ] && echo "SOC    = $6" >> config.mk
+[ "${soc}"    ] && echo "SOC    = ${soc}"    >> config.mk
 
 # Assign board directory to BOARDIR variable
-if [ -z "$5" -o "$5" = "NULL" ] ; then
-    BOARDDIR=$4
+if [ -z "${vendor}" ] ; then
+    BOARDDIR=${board}
 else
-    BOARDDIR=$5/$4
+    BOARDDIR=${vendor}/${board}
 fi
 
 #
@@ -102,7 +132,7 @@ done
 cat << EOF >> config.h
 #define CONFIG_BOARDDIR board/$BOARDDIR
 #include <config_defaults.h>
-#include <configs/${BOARDNAME}.h>
+#include <configs/${CONFIG_NAME}.h>
 #include <asm/config.h>
 EOF