All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot
@ 2014-05-27  6:27 Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 01/14] kconfig: import Kconfig files from Linux v3.15-rc7 Masahiro Yamada
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

This series introduces Kconfig.

Besides Linux Kernel, Kconfig is used in some projects,
such as, BusyBox, Buildroot.

But our situation is a little more complicated.
For one board, we need to generate 3 images at most:
Full image, SPL and TPL.

In the previous version, each image has its own defconfig.

For example, C29XPCIE_NAND board has:

 - configs/C29XPCIE_NAND_defconfig     (For full U-boot)
 - configs/spl/C29XPCIE_NAND_defconfig (For SPL)
 - configs/tpl/C29XPCIE_NAND_defconfig (For TPL)

Pros for this approach are:
 (1) Maximum flexibility
   Each binary image can be configured independently.

 (2) More generic approach to each image
   ifdef CONFIG_SPL_BUILD is sprinkled everywhere in C sources
   and makefiles.  By treating full image, SPL and TPL as
   generic cases, we could clean-up the code.

Cons are:
 (1) Multiple configuration
   "make config/menuconfig" must be invoked multiple times.
   This is painful.

 (2) Duplicated CONFIG macros
   Some macros such as CONFIG_ARM=y are defined in
   all of the three defconfigs. This seems stupid.

In this version, contrast to v1, I tried to port Kconfig
in a totally different way:
Full image, SPL and TPL share a single defconfig.
Only one ".config" file is created by "make defconfig" based on
configs/<board_name>_defconfig.

But the next step is special.
Multiple auto.conf is generated by "make silentoldconfig" from a
single .config.

 - include/config/auto.config     (for Full image)
 - spl/include/config/auto.config (for SPL)
 - tpl/include/config/auto.config (for TPL)

This approach loses flexibility to some extent.
But in return, we get one-shot configuration and a single defconfig.

 How does it work?
 -----------------

Case 1. Boolean macros only for Full U-Boot image

Some macros make sense only in the full U-boot image.
For example, CONFIG_SYS_HUSH_PARSER.

In such a case, We can describe it as follows:

    config CONFIG_SYS_HUSH_PARSER
            bool "Hush perser"
            depends on !SPL_BUILD

CONFIG_SYS_HUSH_PARSER will appear in
include/config/auto.conf but be concealed in
{spl,tpl}/include/config/auto.conf
because CONFIG_SPL_BUILD is only defined in SPL and TPL build.

Case 2. Boolean macros which might be used in SPL too

Most boards enable serial only in the full image.
But some boards use it in SPL image too.
In such a case, CONFIG_SPL_SERIAL_SUPPORT should be defined.
You can see many configs prefixed with CONFIG_SPL_ in spl/Makefile

Now CONFIG_OF_CONTROL is supported only in the full image.
If we want to expand it to SPL, we will have to prepare a new
option, CONFIG_SPL_OF_CONTROL.

Case 3. Hex or integer values

In this case, we must define different macros.

For example, include/configs/C29XPCIE.h defines CONFIG_SPL_TEXT_BASE
like this:

  #ifdef CONFIG_TPL_BUILD
  #define CONFIG_SPL_TEXT_BASE            0xf8f81000
  #elif defined(CONFIG_SPL_BUILD)
  #define CONFIG_SPL_TEXT_BASE            0xff800000
  #endif

But defconfig cannot use conditionals.
We have to rename the former CONFIG_SPL_TEXT_BASE
to CONFIG_TPL_TEXT_BASE.

CONFIG_SPL_TEXT_BASE=0xff800000
CONFIG_TPL_TEXT_BASE=0xf8f81000

 Comments are welcome
 --------------------

This series is really exmperimental.
When I was writing this patch set, I started wondering,
"Does this approach really work?"

I think it would be very painful to duplicate many config macros
for SPL and TPL.

 Build Test
 ----------

I built all boards excepts some already broken ones.
I also checked MD5SUM of output binaries for all of them.

I believe this series should not break any boards.
But if you notice something got broken, please let me know.

Besides, I confirmed out-of-tree build, parallel build (-j make option)
works correctly.

 How to apply this series
 ------------------------

I confirmed this series can be applied on commit 9665fa8f.


Masahiro Yamada (14):
  kconfig: import Kconfig files from Linux v3.15-rc7
  Do not apply: tools: add genkconfig
  kconfig: add board Kconfig and defconfig files
  kconfig: add basic Kconfig files
  include: define CONFIG_SPL and CONFIG_TPL as 1
  kconfig: switch to Kconfig
  MAKEALL: adjust for Kconfig
  buildman: adjust for Kconfig
  kconfig: delete redundant CONFIG_${ARCH} definition
  kbuild: remove CONFIG_SPL/CONFIG_TPL definition in config headers
  kconfig: remove old script
  split CONFIG_SPL_TEXT_BASE and CONFIG_TPL_TEXT_BASE
  move CONFIG_{SPL,TPL}_TEXT_BASE to defconfig
  remove CONFIG_{SPL,TPL}_TEXT_BASE from config headers

 .gitignore                                         |    2 -
 Kconfig                                            |   57 +
 MAKEALL                                            |   14 +-
 Makefile                                           |  154 +-
 arch/arc/Kconfig                                   |   24 +
 arch/arc/config.mk                                 |    2 +-
 arch/arc/configs/arcangel4-be_defconfig            |    1 +
 arch/arc/configs/arcangel4_defconfig               |    1 +
 arch/arc/configs/axs101_defconfig                  |    1 +
 arch/arm/Kconfig                                   | 1363 +++++++++++
 arch/arm/config.mk                                 |    2 +-
 arch/arm/configs/VCMA9_defconfig                   |    1 +
 arch/arm/configs/a320evb_defconfig                 |    1 +
 arch/arm/configs/afeb9260_defconfig                |    1 +
 arch/arm/configs/am335x_boneblack_defconfig        |    3 +
 arch/arm/configs/am335x_evm_defconfig              |    3 +
 arch/arm/configs/am335x_evm_nor_defconfig          |    3 +
 arch/arm/configs/am335x_evm_norboot_defconfig      |    1 +
 arch/arm/configs/am335x_evm_spiboot_defconfig      |    3 +
 arch/arm/configs/am335x_evm_uart1_defconfig        |    3 +
 arch/arm/configs/am335x_evm_uart2_defconfig        |    3 +
 arch/arm/configs/am335x_evm_uart3_defconfig        |    3 +
 arch/arm/configs/am335x_evm_uart4_defconfig        |    3 +
 arch/arm/configs/am335x_evm_uart5_defconfig        |    3 +
 arch/arm/configs/am335x_evm_usbspl_defconfig       |    3 +
 arch/arm/configs/am335x_igep0033_defconfig         |    3 +
 arch/arm/configs/am3517_crane_defconfig            |    3 +
 arch/arm/configs/am3517_evm_defconfig              |    3 +
 arch/arm/configs/am43xx_evm_defconfig              |    3 +
 arch/arm/configs/apf27_defconfig                   |    3 +
 arch/arm/configs/apx4devkit_defconfig              |    3 +
 arch/arm/configs/armadillo-800eva_defconfig        |    1 +
 arch/arm/configs/arndale_defconfig                 |    3 +
 arch/arm/configs/aspenite_defconfig                |    1 +
 arch/arm/configs/at91rm9200ek_defconfig            |    1 +
 arch/arm/configs/at91rm9200ek_ram_defconfig        |    1 +
 .../configs/at91sam9260ek_dataflash_cs0_defconfig  |    1 +
 .../configs/at91sam9260ek_dataflash_cs1_defconfig  |    1 +
 arch/arm/configs/at91sam9260ek_nandflash_defconfig |    1 +
 .../configs/at91sam9261ek_dataflash_cs0_defconfig  |    1 +
 .../configs/at91sam9261ek_dataflash_cs3_defconfig  |    1 +
 arch/arm/configs/at91sam9261ek_nandflash_defconfig |    1 +
 .../configs/at91sam9263ek_dataflash_cs0_defconfig  |    1 +
 arch/arm/configs/at91sam9263ek_dataflash_defconfig |    1 +
 arch/arm/configs/at91sam9263ek_nandflash_defconfig |    1 +
 .../configs/at91sam9263ek_norflash_boot_defconfig  |    1 +
 arch/arm/configs/at91sam9263ek_norflash_defconfig  |    1 +
 .../configs/at91sam9g10ek_dataflash_cs0_defconfig  |    1 +
 .../configs/at91sam9g10ek_dataflash_cs3_defconfig  |    1 +
 arch/arm/configs/at91sam9g10ek_nandflash_defconfig |    1 +
 .../configs/at91sam9g20ek_2mmc_nandflash_defconfig |    1 +
 .../configs/at91sam9g20ek_dataflash_cs0_defconfig  |    1 +
 .../configs/at91sam9g20ek_dataflash_cs1_defconfig  |    1 +
 arch/arm/configs/at91sam9g20ek_mmc_defconfig       |    1 +
 arch/arm/configs/at91sam9g20ek_nandflash_defconfig |    1 +
 .../configs/at91sam9m10g45ek_nandflash_defconfig   |    1 +
 arch/arm/configs/at91sam9n12ek_mmc_defconfig       |    1 +
 arch/arm/configs/at91sam9n12ek_nandflash_defconfig |    1 +
 arch/arm/configs/at91sam9n12ek_spiflash_defconfig  |    1 +
 arch/arm/configs/at91sam9rlek_dataflash_defconfig  |    1 +
 arch/arm/configs/at91sam9rlek_nandflash_defconfig  |    1 +
 arch/arm/configs/at91sam9x5ek_dataflash_defconfig  |    1 +
 arch/arm/configs/at91sam9x5ek_mmc_defconfig        |    1 +
 arch/arm/configs/at91sam9x5ek_nandflash_defconfig  |    1 +
 arch/arm/configs/at91sam9x5ek_spiflash_defconfig   |    1 +
 .../configs/at91sam9xeek_dataflash_cs0_defconfig   |    1 +
 .../configs/at91sam9xeek_dataflash_cs1_defconfig   |    1 +
 arch/arm/configs/at91sam9xeek_nandflash_defconfig  |    1 +
 arch/arm/configs/axm_defconfig                     |    1 +
 arch/arm/configs/balloon3_defconfig                |    1 +
 arch/arm/configs/bcm28155_ap_defconfig             |    1 +
 arch/arm/configs/beaver_defconfig                  |    3 +
 arch/arm/configs/bg0900_defconfig                  |    3 +
 arch/arm/configs/calimain_defconfig                |    1 +
 arch/arm/configs/cam_enc_4xx_defconfig             |    3 +
 arch/arm/configs/cardhu_defconfig                  |    3 +
 arch/arm/configs/cgtqmx6qeval_defconfig            |    1 +
 arch/arm/configs/cm4008_defconfig                  |    1 +
 arch/arm/configs/cm41xx_defconfig                  |    1 +
 arch/arm/configs/cm_t335_defconfig                 |    3 +
 arch/arm/configs/cm_t35_defconfig                  |    3 +
 arch/arm/configs/cm_t54_defconfig                  |    3 +
 arch/arm/configs/colibri_pxa270_defconfig          |    1 +
 arch/arm/configs/colibri_t20_iris_defconfig        |    3 +
 arch/arm/configs/corvus_defconfig                  |    1 +
 arch/arm/configs/cpu9260_128M_defconfig            |    1 +
 arch/arm/configs/cpu9260_defconfig                 |    1 +
 arch/arm/configs/cpu9260_nand_128M_defconfig       |    1 +
 arch/arm/configs/cpu9260_nand_defconfig            |    1 +
 arch/arm/configs/cpu9G20_128M_defconfig            |    1 +
 arch/arm/configs/cpu9G20_defconfig                 |    1 +
 arch/arm/configs/cpu9G20_nand_128M_defconfig       |    1 +
 arch/arm/configs/cpu9G20_nand_defconfig            |    1 +
 arch/arm/configs/cpuat91_defconfig                 |    1 +
 arch/arm/configs/cpuat91_ram_defconfig             |    1 +
 arch/arm/configs/d2net_v2_defconfig                |    1 +
 arch/arm/configs/da830evm_defconfig                |    1 +
 arch/arm/configs/da850_am18xxevm_defconfig         |    3 +
 arch/arm/configs/da850evm_defconfig                |    3 +
 arch/arm/configs/da850evm_direct_nor_defconfig     |    1 +
 arch/arm/configs/dalmore_defconfig                 |    3 +
 arch/arm/configs/davinci_dm355evm_defconfig        |    1 +
 arch/arm/configs/davinci_dm355leopard_defconfig    |    1 +
 arch/arm/configs/davinci_dm365evm_defconfig        |    1 +
 arch/arm/configs/davinci_dm6467Tevm_defconfig      |    1 +
 arch/arm/configs/davinci_dm6467evm_defconfig       |    1 +
 arch/arm/configs/davinci_dvevm_defconfig           |    1 +
 arch/arm/configs/davinci_schmoogie_defconfig       |    1 +
 arch/arm/configs/davinci_sffsdr_defconfig          |    1 +
 arch/arm/configs/davinci_sonata_defconfig          |    1 +
 arch/arm/configs/devkit3250_defconfig              |    1 +
 arch/arm/configs/devkit8000_defconfig              |    3 +
 arch/arm/configs/dig297_defconfig                  |    1 +
 arch/arm/configs/dkb_defconfig                     |    1 +
 arch/arm/configs/dns325_defconfig                  |    1 +
 arch/arm/configs/dockstar_defconfig                |    1 +
 arch/arm/configs/dra7xx_evm_defconfig              |    3 +
 arch/arm/configs/dra7xx_evm_qspiboot_defconfig     |    3 +
 arch/arm/configs/dra7xx_evm_uart3_defconfig        |    3 +
 arch/arm/configs/draco_defconfig                   |    3 +
 arch/arm/configs/dreamplug_defconfig               |    1 +
 arch/arm/configs/duovero_defconfig                 |    3 +
 arch/arm/configs/dxr2_defconfig                    |    3 +
 arch/arm/configs/ea20_defconfig                    |    1 +
 arch/arm/configs/eb_cpux9k2_defconfig              |    1 +
 arch/arm/configs/eb_cpux9k2_ram_defconfig          |    1 +
 arch/arm/configs/eco5pk_defconfig                  |    3 +
 arch/arm/configs/edminiv2_defconfig                |    1 +
 arch/arm/configs/enbw_cmc_defconfig                |    1 +
 arch/arm/configs/ethernut5_defconfig               |    1 +
 arch/arm/configs/flea3_defconfig                   |    1 +
 arch/arm/configs/goflexhome_defconfig              |    1 +
 arch/arm/configs/gplugd_defconfig                  |    1 +
 arch/arm/configs/guruplug_defconfig                |    1 +
 arch/arm/configs/gwventanadl1g_defconfig           |    1 +
 arch/arm/configs/gwventanadl_defconfig             |    1 +
 arch/arm/configs/gwventanaq1g_defconfig            |    1 +
 arch/arm/configs/gwventanaq1gspi_defconfig         |    1 +
 arch/arm/configs/gwventanaq_defconfig              |    1 +
 arch/arm/configs/h2200_defconfig                   |    1 +
 arch/arm/configs/harmony_defconfig                 |    3 +
 arch/arm/configs/hawkboard_defconfig               |    3 +
 arch/arm/configs/hawkboard_uart_defconfig          |    3 +
 arch/arm/configs/highbank_defconfig                |    1 +
 arch/arm/configs/hummingboard_solo_defconfig       |    1 +
 arch/arm/configs/ib62x0_defconfig                  |    1 +
 arch/arm/configs/iconnect_defconfig                |    1 +
 arch/arm/configs/igep0020_defconfig                |    3 +
 arch/arm/configs/igep0020_nand_defconfig           |    3 +
 arch/arm/configs/igep0030_defconfig                |    3 +
 arch/arm/configs/igep0030_nand_defconfig           |    3 +
 arch/arm/configs/igep0032_defconfig                |    3 +
 arch/arm/configs/ima3-mx53_defconfig               |    1 +
 arch/arm/configs/imx27lite_defconfig               |    1 +
 arch/arm/configs/imx31_litekit_defconfig           |    1 +
 arch/arm/configs/imx31_phycore_defconfig           |    1 +
 arch/arm/configs/imx31_phycore_eet_defconfig       |    1 +
 arch/arm/configs/inetspace_v2_defconfig            |    1 +
 arch/arm/configs/integratorap_cm720t_defconfig     |    1 +
 arch/arm/configs/integratorap_cm920t_defconfig     |    1 +
 arch/arm/configs/integratorap_cm926ejs_defconfig   |    1 +
 arch/arm/configs/integratorap_cm946es_defconfig    |    1 +
 arch/arm/configs/integratorcp_cm1136_defconfig     |    1 +
 arch/arm/configs/integratorcp_cm920t_defconfig     |    1 +
 arch/arm/configs/integratorcp_cm926ejs_defconfig   |    1 +
 arch/arm/configs/integratorcp_cm946es_defconfig    |    1 +
 arch/arm/configs/ipam390_defconfig                 |    3 +
 arch/arm/configs/jadecpu_defconfig                 |    1 +
 arch/arm/configs/jetson-tk1_defconfig              |    3 +
 arch/arm/configs/jornada_defconfig                 |    1 +
 arch/arm/configs/k2hk_evm_defconfig                |    1 +
 arch/arm/configs/km_kirkwood_128m16_defconfig      |    1 +
 arch/arm/configs/km_kirkwood_defconfig             |    1 +
 arch/arm/configs/km_kirkwood_pci_defconfig         |    1 +
 arch/arm/configs/kmcoge5un_defconfig               |    1 +
 arch/arm/configs/kmnusa_defconfig                  |    1 +
 arch/arm/configs/kmsugp1_defconfig                 |    1 +
 arch/arm/configs/kmsuv31_defconfig                 |    1 +
 arch/arm/configs/koelsch_defconfig                 |    1 +
 arch/arm/configs/koelsch_nor_defconfig             |    1 +
 arch/arm/configs/kwb_defconfig                     |    3 +
 arch/arm/configs/kzm9g_defconfig                   |    1 +
 arch/arm/configs/lager_defconfig                   |    1 +
 arch/arm/configs/lager_nor_defconfig               |    1 +
 arch/arm/configs/lp8x4x_defconfig                  |    1 +
 arch/arm/configs/lschlv2_defconfig                 |    1 +
 arch/arm/configs/lsxhl_defconfig                   |    1 +
 arch/arm/configs/m28evk_defconfig                  |    3 +
 arch/arm/configs/m53evk_defconfig                  |    3 +
 arch/arm/configs/magnesium_defconfig               |    1 +
 arch/arm/configs/marsboard_defconfig               |    1 +
 arch/arm/configs/mcx_defconfig                     |    3 +
 arch/arm/configs/medcom-wide_defconfig             |    3 +
 arch/arm/configs/meesc_dataflash_defconfig         |    1 +
 arch/arm/configs/meesc_defconfig                   |    1 +
 arch/arm/configs/mgcoge3un_defconfig               |    1 +
 arch/arm/configs/mt_ventoux_defconfig              |    3 +
 arch/arm/configs/mv88f6281gtw_ge_defconfig         |    1 +
 arch/arm/configs/mx23_olinuxino_defconfig          |    3 +
 arch/arm/configs/mx23evk_defconfig                 |    3 +
 arch/arm/configs/mx25pdk_defconfig                 |    1 +
 arch/arm/configs/mx28evk_auart_console_defconfig   |    3 +
 arch/arm/configs/mx28evk_defconfig                 |    3 +
 arch/arm/configs/mx28evk_nand_defconfig            |    3 +
 arch/arm/configs/mx31ads_defconfig                 |    1 +
 arch/arm/configs/mx31pdk_defconfig                 |    3 +
 arch/arm/configs/mx35pdk_defconfig                 |    1 +
 arch/arm/configs/mx51_efikamx_defconfig            |    1 +
 arch/arm/configs/mx51_efikasb_defconfig            |    1 +
 arch/arm/configs/mx51evk_defconfig                 |    1 +
 arch/arm/configs/mx53ard_defconfig                 |    1 +
 arch/arm/configs/mx53evk_defconfig                 |    1 +
 arch/arm/configs/mx53loco_defconfig                |    1 +
 arch/arm/configs/mx53smd_defconfig                 |    1 +
 arch/arm/configs/mx6dlsabresd_defconfig            |    1 +
 arch/arm/configs/mx6qarm2_defconfig                |    1 +
 arch/arm/configs/mx6qsabreauto_defconfig           |    1 +
 arch/arm/configs/mx6qsabrelite_defconfig           |    1 +
 arch/arm/configs/mx6qsabresd_defconfig             |    1 +
 arch/arm/configs/mx6slevk_defconfig                |    1 +
 arch/arm/configs/net2big_v2_defconfig              |    1 +
 arch/arm/configs/netspace_lite_v2_defconfig        |    1 +
 arch/arm/configs/netspace_max_v2_defconfig         |    1 +
 arch/arm/configs/netspace_mini_v2_defconfig        |    1 +
 arch/arm/configs/netspace_v2_defconfig             |    1 +
 arch/arm/configs/nhk8815_defconfig                 |    1 +
 arch/arm/configs/nhk8815_onenand_defconfig         |    1 +
 arch/arm/configs/nitrogen6dl2g_defconfig           |    1 +
 arch/arm/configs/nitrogen6dl_defconfig             |    1 +
 arch/arm/configs/nitrogen6q2g_defconfig            |    1 +
 arch/arm/configs/nitrogen6q_defconfig              |    1 +
 arch/arm/configs/nitrogen6s1g_defconfig            |    1 +
 arch/arm/configs/nitrogen6s_defconfig              |    1 +
 arch/arm/configs/nokia_rx51_defconfig              |    1 +
 arch/arm/configs/omap3_beagle_defconfig            |    3 +
 arch/arm/configs/omap3_evm_defconfig               |    3 +
 arch/arm/configs/omap3_evm_quick_mmc_defconfig     |    3 +
 arch/arm/configs/omap3_evm_quick_nand_defconfig    |    3 +
 arch/arm/configs/omap3_ha_defconfig                |    3 +
 arch/arm/configs/omap3_logic_defconfig             |    1 +
 arch/arm/configs/omap3_mvblx_defconfig             |    1 +
 arch/arm/configs/omap3_overo_defconfig             |    3 +
 arch/arm/configs/omap3_pandora_defconfig           |    1 +
 arch/arm/configs/omap3_sdp3430_defconfig           |    1 +
 arch/arm/configs/omap3_zoom1_defconfig             |    1 +
 arch/arm/configs/omap4_panda_defconfig             |    3 +
 arch/arm/configs/omap4_sdp4430_defconfig           |    3 +
 arch/arm/configs/omap5912osk_defconfig             |    1 +
 arch/arm/configs/omap5_uevm_defconfig              |    3 +
 arch/arm/configs/openrd_base_defconfig             |    1 +
 arch/arm/configs/openrd_client_defconfig           |    1 +
 arch/arm/configs/openrd_ultimate_defconfig         |    1 +
 arch/arm/configs/origen_defconfig                  |    3 +
 arch/arm/configs/otc570_dataflash_defconfig        |    1 +
 arch/arm/configs/otc570_defconfig                  |    1 +
 arch/arm/configs/palmld_defconfig                  |    1 +
 arch/arm/configs/palmtc_defconfig                  |    1 +
 arch/arm/configs/palmtreo680_defconfig             |    3 +
 arch/arm/configs/paz00_defconfig                   |    3 +
 arch/arm/configs/pcm051_rev1_defconfig             |    3 +
 arch/arm/configs/pcm051_rev3_defconfig             |    3 +
 arch/arm/configs/pengwyn_defconfig                 |    3 +
 arch/arm/configs/pepper_defconfig                  |    3 +
 arch/arm/configs/plutux_defconfig                  |    3 +
 arch/arm/configs/pm9261_defconfig                  |    1 +
 arch/arm/configs/pm9263_defconfig                  |    1 +
 arch/arm/configs/pm9g45_defconfig                  |    1 +
 arch/arm/configs/pogo_e02_defconfig                |    1 +
 arch/arm/configs/polaris_defconfig                 |    1 +
 arch/arm/configs/portl2_defconfig                  |    1 +
 arch/arm/configs/portuxg20_defconfig               |    1 +
 arch/arm/configs/pxa255_idp_defconfig              |    1 +
 arch/arm/configs/pxm2_defconfig                    |    3 +
 arch/arm/configs/qong_defconfig                    |    1 +
 arch/arm/configs/rd6281a_defconfig                 |    1 +
 arch/arm/configs/riotboard_defconfig               |    1 +
 arch/arm/configs/rpi_b_defconfig                   |    1 +
 arch/arm/configs/rut_defconfig                     |    3 +
 arch/arm/configs/s5p_goni_defconfig                |    1 +
 arch/arm/configs/s5pc210_universal_defconfig       |    1 +
 arch/arm/configs/sama5d3_xplained_mmc_defconfig    |    1 +
 .../configs/sama5d3_xplained_nandflash_defconfig   |    1 +
 arch/arm/configs/sama5d3xek_mmc_defconfig          |    3 +
 arch/arm/configs/sama5d3xek_nandflash_defconfig    |    3 +
 arch/arm/configs/sama5d3xek_spiflash_defconfig     |    3 +
 arch/arm/configs/sansa_fuze_plus_defconfig         |    3 +
 arch/arm/configs/sbc35_a9g20_eeprom_defconfig      |    1 +
 arch/arm/configs/sbc35_a9g20_nandflash_defconfig   |    1 +
 arch/arm/configs/sc_sps_1_defconfig                |    3 +
 arch/arm/configs/scb9328_defconfig                 |    1 +
 arch/arm/configs/seaboard_defconfig                |    3 +
 arch/arm/configs/sheevaplug_defconfig              |    1 +
 arch/arm/configs/smdk2410_defconfig                |    1 +
 arch/arm/configs/smdk5250_defconfig                |    3 +
 arch/arm/configs/smdk5420_defconfig                |    3 +
 arch/arm/configs/smdkc100_defconfig                |    1 +
 arch/arm/configs/smdkv310_defconfig                |    3 +
 arch/arm/configs/snapper9260_defconfig             |    1 +
 arch/arm/configs/snapper9g20_defconfig             |    1 +
 arch/arm/configs/snow_defconfig                    |    3 +
 arch/arm/configs/snowball_defconfig                |    1 +
 arch/arm/configs/socfpga_cyclone5_defconfig        |    3 +
 arch/arm/configs/spear300_defconfig                |    1 +
 arch/arm/configs/spear300_nand_defconfig           |    1 +
 arch/arm/configs/spear300_usbtty_defconfig         |    1 +
 arch/arm/configs/spear300_usbtty_nand_defconfig    |    1 +
 arch/arm/configs/spear310_defconfig                |    1 +
 arch/arm/configs/spear310_nand_defconfig           |    1 +
 arch/arm/configs/spear310_pnor_defconfig           |    1 +
 arch/arm/configs/spear310_usbtty_defconfig         |    1 +
 arch/arm/configs/spear310_usbtty_nand_defconfig    |    1 +
 arch/arm/configs/spear310_usbtty_pnor_defconfig    |    1 +
 arch/arm/configs/spear320_defconfig                |    1 +
 arch/arm/configs/spear320_nand_defconfig           |    1 +
 arch/arm/configs/spear320_pnor_defconfig           |    1 +
 arch/arm/configs/spear320_usbtty_defconfig         |    1 +
 arch/arm/configs/spear320_usbtty_nand_defconfig    |    1 +
 arch/arm/configs/spear320_usbtty_pnor_defconfig    |    1 +
 arch/arm/configs/spear600_defconfig                |    1 +
 arch/arm/configs/spear600_nand_defconfig           |    1 +
 arch/arm/configs/spear600_usbtty_defconfig         |    1 +
 arch/arm/configs/spear600_usbtty_nand_defconfig    |    1 +
 arch/arm/configs/stamp9g20_defconfig               |    1 +
 arch/arm/configs/tao3530_defconfig                 |    3 +
 arch/arm/configs/taurus_defconfig                  |    1 +
 arch/arm/configs/tec-ng_defconfig                  |    3 +
 arch/arm/configs/tec_defconfig                     |    3 +
 arch/arm/configs/ti814x_evm_defconfig              |    3 +
 arch/arm/configs/ti816x_evm_defconfig              |    3 +
 arch/arm/configs/titanium_defconfig                |    1 +
 arch/arm/configs/tk71_defconfig                    |    1 +
 arch/arm/configs/tnetv107x_evm_defconfig           |    1 +
 arch/arm/configs/tny_a9260_eeprom_defconfig        |    1 +
 arch/arm/configs/tny_a9260_nandflash_defconfig     |    1 +
 arch/arm/configs/tny_a9g20_eeprom_defconfig        |    1 +
 arch/arm/configs/tny_a9g20_nandflash_defconfig     |    1 +
 arch/arm/configs/top9000eval_xe_defconfig          |    1 +
 arch/arm/configs/top9000su_xe_defconfig            |    1 +
 arch/arm/configs/trats2_defconfig                  |    1 +
 arch/arm/configs/trats_defconfig                   |    1 +
 arch/arm/configs/tricorder_defconfig               |    3 +
 arch/arm/configs/tricorder_flash_defconfig         |    3 +
 arch/arm/configs/trimslice_defconfig               |    3 +
 arch/arm/configs/trizepsiv_defconfig               |    1 +
 arch/arm/configs/tseries_mmc_defconfig             |    3 +
 arch/arm/configs/tseries_nand_defconfig            |    3 +
 arch/arm/configs/tseries_spi_defconfig             |    3 +
 arch/arm/configs/tt01_defconfig                    |    1 +
 arch/arm/configs/twister_defconfig                 |    3 +
 arch/arm/configs/tx25_defconfig                    |    3 +
 arch/arm/configs/u8500_href_defconfig              |    1 +
 arch/arm/configs/udoo_quad_defconfig               |    1 +
 arch/arm/configs/usb_a9263_dataflash_defconfig     |    1 +
 arch/arm/configs/venice2_defconfig                 |    3 +
 arch/arm/configs/ventana_defconfig                 |    3 +
 arch/arm/configs/versatileab_defconfig             |    1 +
 arch/arm/configs/versatilepb_defconfig             |    1 +
 arch/arm/configs/versatileqemu_defconfig           |    1 +
 arch/arm/configs/vexpress_aemv8a_defconfig         |    1 +
 arch/arm/configs/vexpress_ca15_tc2_defconfig       |    1 +
 arch/arm/configs/vexpress_ca5x2_defconfig          |    1 +
 arch/arm/configs/vexpress_ca9x4_defconfig          |    1 +
 arch/arm/configs/vf610twr_defconfig                |    1 +
 arch/arm/configs/vision2_defconfig                 |    1 +
 arch/arm/configs/vl_ma2sc_defconfig                |    1 +
 arch/arm/configs/vl_ma2sc_ram_defconfig            |    1 +
 arch/arm/configs/vpac270_nor_128_defconfig         |    1 +
 arch/arm/configs/vpac270_nor_256_defconfig         |    1 +
 arch/arm/configs/vpac270_ond_256_defconfig         |    3 +
 arch/arm/configs/wandboard_dl_defconfig            |    1 +
 arch/arm/configs/wandboard_quad_defconfig          |    1 +
 arch/arm/configs/wandboard_solo_defconfig          |    1 +
 arch/arm/configs/whistler_defconfig                |    3 +
 arch/arm/configs/wireless_space_defconfig          |    1 +
 arch/arm/configs/woodburn_defconfig                |    1 +
 arch/arm/configs/woodburn_sd_defconfig             |    3 +
 arch/arm/configs/x600_defconfig                    |    3 +
 arch/arm/configs/xaeniax_defconfig                 |    1 +
 arch/arm/configs/xfi3_defconfig                    |    3 +
 arch/arm/configs/zipitz2_defconfig                 |    1 +
 arch/arm/configs/zmx25_defconfig                   |    1 +
 arch/arm/configs/zynq_microzed_defconfig           |    2 +
 arch/arm/configs/zynq_zc70x_defconfig              |    2 +
 arch/arm/configs/zynq_zc770_xm010_defconfig        |    2 +
 arch/arm/configs/zynq_zc770_xm012_defconfig        |    2 +
 arch/arm/configs/zynq_zc770_xm013_defconfig        |    2 +
 arch/arm/configs/zynq_zed_defconfig                |    2 +
 arch/avr32/Kconfig                                 |   50 +
 arch/avr32/config.mk                               |    1 -
 arch/avr32/configs/atngw100_defconfig              |    1 +
 arch/avr32/configs/atngw100mkii_defconfig          |    1 +
 arch/avr32/configs/atstk1002_defconfig             |    1 +
 arch/avr32/configs/atstk1003_defconfig             |    1 +
 arch/avr32/configs/atstk1004_defconfig             |    1 +
 arch/avr32/configs/atstk1006_defconfig             |    1 +
 arch/avr32/configs/favr-32-ezkit_defconfig         |    1 +
 arch/avr32/configs/grasshopper_defconfig           |    1 +
 arch/avr32/configs/hammerhead_defconfig            |    1 +
 arch/avr32/configs/mimc200_defconfig               |    1 +
 arch/blackfin/Kconfig                              |  152 ++
 arch/blackfin/config.mk                            |    3 +-
 arch/blackfin/configs/bct-brettl2_defconfig        |    1 +
 arch/blackfin/configs/bf506f-ezkit_defconfig       |    1 +
 arch/blackfin/configs/bf518f-ezbrd_defconfig       |    1 +
 arch/blackfin/configs/bf525-ucr2_defconfig         |    1 +
 arch/blackfin/configs/bf526-ezbrd_defconfig        |    1 +
 arch/blackfin/configs/bf527-ad7160-eval_defconfig  |    1 +
 arch/blackfin/configs/bf527-ezkit-v2_defconfig     |    1 +
 arch/blackfin/configs/bf527-ezkit_defconfig        |    1 +
 arch/blackfin/configs/bf527-sdp_defconfig          |    1 +
 arch/blackfin/configs/bf533-ezkit_defconfig        |    1 +
 arch/blackfin/configs/bf533-stamp_defconfig        |    1 +
 arch/blackfin/configs/bf537-minotaur_defconfig     |    1 +
 arch/blackfin/configs/bf537-pnav_defconfig         |    1 +
 arch/blackfin/configs/bf537-srv1_defconfig         |    1 +
 arch/blackfin/configs/bf537-stamp_defconfig        |    1 +
 arch/blackfin/configs/bf538f-ezkit_defconfig       |    1 +
 arch/blackfin/configs/bf548-ezkit_defconfig        |    1 +
 arch/blackfin/configs/bf561-acvilon_defconfig      |    1 +
 arch/blackfin/configs/bf561-ezkit_defconfig        |    1 +
 arch/blackfin/configs/bf609-ezkit_defconfig        |    1 +
 arch/blackfin/configs/blackstamp_defconfig         |    1 +
 arch/blackfin/configs/blackvme_defconfig           |    1 +
 arch/blackfin/configs/br4_defconfig                |    1 +
 arch/blackfin/configs/cm-bf527_defconfig           |    1 +
 arch/blackfin/configs/cm-bf533_defconfig           |    1 +
 arch/blackfin/configs/cm-bf537e_defconfig          |    1 +
 arch/blackfin/configs/cm-bf537u_defconfig          |    1 +
 arch/blackfin/configs/cm-bf548_defconfig           |    1 +
 arch/blackfin/configs/cm-bf561_defconfig           |    1 +
 arch/blackfin/configs/dnp5370_defconfig            |    1 +
 arch/blackfin/configs/ibf-dsp561_defconfig         |    1 +
 arch/blackfin/configs/ip04_defconfig               |    1 +
 arch/blackfin/configs/pr1_defconfig                |    1 +
 arch/blackfin/configs/tcm-bf518_defconfig          |    1 +
 arch/blackfin/configs/tcm-bf537_defconfig          |    1 +
 arch/m68k/Kconfig                                  |  178 ++
 arch/m68k/config.mk                                |    2 +-
 arch/m68k/configs/M5208EVBE_defconfig              |    1 +
 arch/m68k/configs/M52277EVB_defconfig              |    1 +
 arch/m68k/configs/M52277EVB_stmicro_defconfig      |    1 +
 arch/m68k/configs/M5235EVB_Flash32_defconfig       |    1 +
 arch/m68k/configs/M5235EVB_defconfig               |    1 +
 arch/m68k/configs/M5249EVB_defconfig               |    1 +
 arch/m68k/configs/M5253DEMO_defconfig              |    1 +
 arch/m68k/configs/M5253EVBE_defconfig              |    1 +
 arch/m68k/configs/M5272C3_defconfig                |    1 +
 arch/m68k/configs/M5275EVB_defconfig               |    1 +
 arch/m68k/configs/M5282EVB_defconfig               |    1 +
 arch/m68k/configs/M53017EVB_defconfig              |    1 +
 arch/m68k/configs/M5329AFEE_defconfig              |    1 +
 arch/m68k/configs/M5329BFEE_defconfig              |    1 +
 arch/m68k/configs/M5373EVB_defconfig               |    1 +
 arch/m68k/configs/M54418TWR_defconfig              |    1 +
 arch/m68k/configs/M54418TWR_nand_mii_defconfig     |    1 +
 arch/m68k/configs/M54418TWR_nand_rmii_defconfig    |    1 +
 .../configs/M54418TWR_nand_rmii_lowfreq_defconfig  |    1 +
 arch/m68k/configs/M54418TWR_serial_mii_defconfig   |    1 +
 arch/m68k/configs/M54418TWR_serial_rmii_defconfig  |    1 +
 arch/m68k/configs/M54451EVB_defconfig              |    1 +
 arch/m68k/configs/M54451EVB_stmicro_defconfig      |    1 +
 arch/m68k/configs/M54455EVB_a66_defconfig          |    1 +
 arch/m68k/configs/M54455EVB_defconfig              |    1 +
 arch/m68k/configs/M54455EVB_i66_defconfig          |    1 +
 arch/m68k/configs/M54455EVB_intel_defconfig        |    1 +
 arch/m68k/configs/M54455EVB_stm33_defconfig        |    1 +
 arch/m68k/configs/M5475AFE_defconfig               |    1 +
 arch/m68k/configs/M5475BFE_defconfig               |    1 +
 arch/m68k/configs/M5475CFE_defconfig               |    1 +
 arch/m68k/configs/M5475DFE_defconfig               |    1 +
 arch/m68k/configs/M5475EFE_defconfig               |    1 +
 arch/m68k/configs/M5475FFE_defconfig               |    1 +
 arch/m68k/configs/M5475GFE_defconfig               |    1 +
 arch/m68k/configs/M5485AFE_defconfig               |    1 +
 arch/m68k/configs/M5485BFE_defconfig               |    1 +
 arch/m68k/configs/M5485CFE_defconfig               |    1 +
 arch/m68k/configs/M5485DFE_defconfig               |    1 +
 arch/m68k/configs/M5485EFE_defconfig               |    1 +
 arch/m68k/configs/M5485FFE_defconfig               |    1 +
 arch/m68k/configs/M5485GFE_defconfig               |    1 +
 arch/m68k/configs/M5485HFE_defconfig               |    1 +
 arch/m68k/configs/TASREG_defconfig                 |    1 +
 arch/m68k/configs/astro_mcf5373l_defconfig         |    1 +
 arch/m68k/configs/cobra5272_defconfig              |    1 +
 arch/m68k/configs/eb_cpu5282_defconfig             |    1 +
 arch/m68k/configs/eb_cpu5282_internal_defconfig    |    1 +
 arch/m68k/cpu/mcf52x2/config.mk                    |   16 +-
 arch/m68k/cpu/mcf532x/config.mk                    |    6 +-
 arch/m68k/cpu/mcf5445x/config.mk                   |    4 +-
 arch/microblaze/Kconfig                            |   17 +
 .../configs/microblaze-generic_defconfig           |    2 +
 arch/mips/Kconfig                                  |   90 +
 arch/mips/config.mk                                |    2 +-
 arch/mips/configs/dbau1000_defconfig               |    1 +
 arch/mips/configs/dbau1100_defconfig               |    1 +
 arch/mips/configs/dbau1500_defconfig               |    1 +
 arch/mips/configs/dbau1550_defconfig               |    1 +
 arch/mips/configs/dbau1550_el_defconfig            |    1 +
 arch/mips/configs/malta_defconfig                  |    1 +
 arch/mips/configs/maltael_defconfig                |    1 +
 arch/mips/configs/pb1000_defconfig                 |    1 +
 arch/mips/configs/qemu_mips64_defconfig            |    1 +
 arch/mips/configs/qemu_mips64el_defconfig          |    1 +
 arch/mips/configs/qemu_mips_defconfig              |    1 +
 arch/mips/configs/qemu_mipsel_defconfig            |    1 +
 arch/mips/configs/vct_platinum_defconfig           |    1 +
 arch/mips/configs/vct_platinum_onenand_defconfig   |    1 +
 .../configs/vct_platinum_onenand_small_defconfig   |    1 +
 arch/mips/configs/vct_platinum_small_defconfig     |    1 +
 arch/mips/configs/vct_platinumavc_defconfig        |    1 +
 .../mips/configs/vct_platinumavc_onenand_defconfig |    1 +
 .../vct_platinumavc_onenand_small_defconfig        |    1 +
 arch/mips/configs/vct_platinumavc_small_defconfig  |    1 +
 arch/mips/configs/vct_premium_defconfig            |    1 +
 arch/mips/configs/vct_premium_onenand_defconfig    |    1 +
 .../configs/vct_premium_onenand_small_defconfig    |    1 +
 arch/mips/configs/vct_premium_small_defconfig      |    1 +
 arch/nds32/Kconfig                                 |   25 +
 arch/nds32/config.mk                               |    2 +-
 arch/nds32/configs/adp-ag101_defconfig             |    1 +
 arch/nds32/configs/adp-ag101p_defconfig            |    1 +
 arch/nds32/configs/adp-ag102_defconfig             |    1 +
 arch/nios2/Kconfig                                 |   25 +
 arch/nios2/config.mk                               |    2 +-
 arch/nios2/configs/PCI5441_defconfig               |    1 +
 arch/nios2/configs/PK1C20_defconfig                |    1 +
 arch/nios2/configs/nios2-generic_defconfig         |    1 +
 arch/openrisc/Kconfig                              |   17 +
 arch/openrisc/config.mk                            |    2 +-
 arch/openrisc/configs/openrisc-generic_defconfig   |    1 +
 arch/powerpc/Kconfig                               | 2348 ++++++++++++++++++
 arch/powerpc/config.mk                             |    2 +-
 arch/powerpc/configs/A3000_defconfig               |    1 +
 arch/powerpc/configs/APC405_defconfig              |    1 +
 arch/powerpc/configs/AR405_defconfig               |    1 +
 arch/powerpc/configs/ASH405_defconfig              |    1 +
 arch/powerpc/configs/AdderII_defconfig             |    1 +
 arch/powerpc/configs/Adder_defconfig               |    1 +
 arch/powerpc/configs/B4420QDS_NAND_defconfig       |    3 +
 arch/powerpc/configs/B4420QDS_SPIFLASH_defconfig   |    1 +
 arch/powerpc/configs/B4420QDS_defconfig            |    1 +
 arch/powerpc/configs/B4860QDS_NAND_defconfig       |    3 +
 .../powerpc/configs/B4860QDS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/B4860QDS_SPIFLASH_defconfig   |    1 +
 .../configs/B4860QDS_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/B4860QDS_defconfig            |    1 +
 arch/powerpc/configs/BC3450_defconfig              |    1 +
 .../configs/BSC9131RDB_NAND_SYSCLK100_defconfig    |    3 +
 arch/powerpc/configs/BSC9131RDB_NAND_defconfig     |    3 +
 .../BSC9131RDB_SPIFLASH_SYSCLK100_defconfig        |    1 +
 arch/powerpc/configs/BSC9131RDB_SPIFLASH_defconfig |    1 +
 .../BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig     |    1 +
 .../configs/BSC9132QDS_NAND_DDRCLK100_defconfig    |    3 +
 .../BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig     |    1 +
 .../configs/BSC9132QDS_NAND_DDRCLK133_defconfig    |    3 +
 .../BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig      |    1 +
 .../configs/BSC9132QDS_NOR_DDRCLK100_defconfig     |    1 +
 .../BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig      |    1 +
 .../configs/BSC9132QDS_NOR_DDRCLK133_defconfig     |    1 +
 .../BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig   |    1 +
 .../configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig  |    1 +
 .../BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig   |    1 +
 .../configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig  |    1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig |    1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK100_defconfig        |    1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig |    1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK133_defconfig        |    1 +
 arch/powerpc/configs/C29XPCIE_NAND_defconfig       |    5 +
 arch/powerpc/configs/C29XPCIE_SPIFLASH_defconfig   |    1 +
 arch/powerpc/configs/C29XPCIE_defconfig            |    1 +
 arch/powerpc/configs/CATcenter_25_defconfig        |    1 +
 arch/powerpc/configs/CATcenter_33_defconfig        |    1 +
 arch/powerpc/configs/CATcenter_defconfig           |    1 +
 arch/powerpc/configs/CMS700_defconfig              |    1 +
 arch/powerpc/configs/CPC45_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/CPC45_defconfig               |    1 +
 arch/powerpc/configs/CPCI2DP_defconfig             |    1 +
 arch/powerpc/configs/CPCI4052_defconfig            |    1 +
 arch/powerpc/configs/CPCI405AB_defconfig           |    1 +
 arch/powerpc/configs/CPCI405DT_defconfig           |    1 +
 arch/powerpc/configs/CPCI405_defconfig             |    1 +
 arch/powerpc/configs/CPCI750_defconfig             |    1 +
 arch/powerpc/configs/CPCIISER4_defconfig           |    1 +
 arch/powerpc/configs/CPU86_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/CPU86_defconfig               |    1 +
 arch/powerpc/configs/CPU87_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/CPU87_defconfig               |    1 +
 arch/powerpc/configs/CRAYL1_defconfig              |    1 +
 arch/powerpc/configs/CU824_defconfig               |    1 +
 arch/powerpc/configs/DB64360_defconfig             |    1 +
 arch/powerpc/configs/DB64460_defconfig             |    1 +
 arch/powerpc/configs/DP405_defconfig               |    1 +
 arch/powerpc/configs/DU405_defconfig               |    1 +
 arch/powerpc/configs/DU440_defconfig               |    1 +
 arch/powerpc/configs/ELPPC_defconfig               |    1 +
 arch/powerpc/configs/ELPT860_defconfig             |    1 +
 arch/powerpc/configs/ESTEEM192E_defconfig          |    1 +
 arch/powerpc/configs/EVAL5200_defconfig            |    1 +
 arch/powerpc/configs/FLAGADM_defconfig             |    1 +
 arch/powerpc/configs/FPS850L_defconfig             |    1 +
 arch/powerpc/configs/FPS860L_defconfig             |    1 +
 arch/powerpc/configs/G2000_defconfig               |    1 +
 arch/powerpc/configs/GEN860T_SC_defconfig          |    1 +
 arch/powerpc/configs/GEN860T_defconfig             |    1 +
 arch/powerpc/configs/HH405_defconfig               |    1 +
 arch/powerpc/configs/HIDDEN_DRAGON_defconfig       |    1 +
 arch/powerpc/configs/HUB405_defconfig              |    1 +
 arch/powerpc/configs/HWW1U1A_defconfig             |    1 +
 arch/powerpc/configs/ICU862_100MHz_defconfig       |    1 +
 arch/powerpc/configs/ICU862_defconfig              |    1 +
 arch/powerpc/configs/IDS8247_defconfig             |    1 +
 arch/powerpc/configs/IP860_defconfig               |    1 +
 arch/powerpc/configs/IPHASE4539_defconfig          |    1 +
 arch/powerpc/configs/ISPAN_REVB_defconfig          |    1 +
 arch/powerpc/configs/ISPAN_defconfig               |    1 +
 arch/powerpc/configs/IVML24_128_defconfig          |    1 +
 arch/powerpc/configs/IVML24_256_defconfig          |    1 +
 arch/powerpc/configs/IVML24_defconfig              |    1 +
 arch/powerpc/configs/IVMS8_128_defconfig           |    1 +
 arch/powerpc/configs/IVMS8_256_defconfig           |    1 +
 arch/powerpc/configs/IVMS8_defconfig               |    1 +
 arch/powerpc/configs/JSE_defconfig                 |    1 +
 arch/powerpc/configs/KAREF_defconfig               |    1 +
 arch/powerpc/configs/KUP4K_defconfig               |    1 +
 arch/powerpc/configs/KUP4X_defconfig               |    1 +
 arch/powerpc/configs/Lite5200_LOWBOOT08_defconfig  |    1 +
 arch/powerpc/configs/Lite5200_LOWBOOT_defconfig    |    1 +
 arch/powerpc/configs/Lite5200_defconfig            |    1 +
 arch/powerpc/configs/MERGERBOX_defconfig           |    1 +
 arch/powerpc/configs/METROBOX_defconfig            |    1 +
 arch/powerpc/configs/MHPC_defconfig                |    1 +
 arch/powerpc/configs/MINI5200_defconfig            |    1 +
 arch/powerpc/configs/MIP405T_defconfig             |    1 +
 arch/powerpc/configs/MIP405_defconfig              |    1 +
 arch/powerpc/configs/MPC8260ADS_33MHz_defconfig    |    1 +
 .../configs/MPC8260ADS_33MHz_lowboot_defconfig     |    1 +
 arch/powerpc/configs/MPC8260ADS_40MHz_defconfig    |    1 +
 .../configs/MPC8260ADS_40MHz_lowboot_defconfig     |    1 +
 arch/powerpc/configs/MPC8260ADS_defconfig          |    1 +
 arch/powerpc/configs/MPC8260ADS_lowboot_defconfig  |    1 +
 arch/powerpc/configs/MPC8266ADS_defconfig          |    1 +
 arch/powerpc/configs/MPC8272ADS_defconfig          |    1 +
 arch/powerpc/configs/MPC8272ADS_lowboot_defconfig  |    1 +
 arch/powerpc/configs/MPC8308RDB_defconfig          |    1 +
 arch/powerpc/configs/MPC8313ERDB_33_defconfig      |    1 +
 arch/powerpc/configs/MPC8313ERDB_66_defconfig      |    1 +
 arch/powerpc/configs/MPC8313ERDB_NAND_33_defconfig |    2 +
 arch/powerpc/configs/MPC8313ERDB_NAND_66_defconfig |    2 +
 arch/powerpc/configs/MPC8315ERDB_NAND_defconfig    |    1 +
 arch/powerpc/configs/MPC8315ERDB_defconfig         |    1 +
 arch/powerpc/configs/MPC8323ERDB_defconfig         |    1 +
 arch/powerpc/configs/MPC832XEMDS_ATM_defconfig     |    1 +
 arch/powerpc/configs/MPC832XEMDS_HOST_33_defconfig |    1 +
 arch/powerpc/configs/MPC832XEMDS_HOST_66_defconfig |    1 +
 arch/powerpc/configs/MPC832XEMDS_SLAVE_defconfig   |    1 +
 arch/powerpc/configs/MPC832XEMDS_defconfig         |    1 +
 arch/powerpc/configs/MPC8349EMDS_defconfig         |    1 +
 arch/powerpc/configs/MPC8349ITXGP_defconfig        |    1 +
 arch/powerpc/configs/MPC8349ITX_LOWBOOT_defconfig  |    1 +
 arch/powerpc/configs/MPC8349ITX_defconfig          |    1 +
 arch/powerpc/configs/MPC8360EMDS_33_ATM_defconfig  |    1 +
 .../configs/MPC8360EMDS_33_HOST_33_defconfig       |    1 +
 .../configs/MPC8360EMDS_33_HOST_66_defconfig       |    1 +
 .../powerpc/configs/MPC8360EMDS_33_SLAVE_defconfig |    1 +
 arch/powerpc/configs/MPC8360EMDS_33_defconfig      |    1 +
 arch/powerpc/configs/MPC8360EMDS_66_ATM_defconfig  |    1 +
 .../configs/MPC8360EMDS_66_HOST_33_defconfig       |    1 +
 .../configs/MPC8360EMDS_66_HOST_66_defconfig       |    1 +
 .../powerpc/configs/MPC8360EMDS_66_SLAVE_defconfig |    1 +
 arch/powerpc/configs/MPC8360EMDS_66_defconfig      |    1 +
 arch/powerpc/configs/MPC8360ERDK_33_defconfig      |    1 +
 arch/powerpc/configs/MPC8360ERDK_defconfig         |    1 +
 arch/powerpc/configs/MPC837XEMDS_HOST_defconfig    |    1 +
 arch/powerpc/configs/MPC837XEMDS_defconfig         |    1 +
 arch/powerpc/configs/MPC837XERDB_defconfig         |    1 +
 arch/powerpc/configs/MPC8536DS_36BIT_defconfig     |    1 +
 arch/powerpc/configs/MPC8536DS_NAND_defconfig      |    1 +
 arch/powerpc/configs/MPC8536DS_SDCARD_defconfig    |    1 +
 arch/powerpc/configs/MPC8536DS_SPIFLASH_defconfig  |    1 +
 arch/powerpc/configs/MPC8536DS_defconfig           |    1 +
 arch/powerpc/configs/MPC8540ADS_defconfig          |    1 +
 arch/powerpc/configs/MPC8541CDS_defconfig          |    1 +
 arch/powerpc/configs/MPC8541CDS_legacy_defconfig   |    1 +
 arch/powerpc/configs/MPC8544DS_defconfig           |    1 +
 arch/powerpc/configs/MPC8548CDS_36BIT_defconfig    |    1 +
 arch/powerpc/configs/MPC8548CDS_defconfig          |    1 +
 arch/powerpc/configs/MPC8548CDS_legacy_defconfig   |    1 +
 arch/powerpc/configs/MPC8555CDS_defconfig          |    1 +
 arch/powerpc/configs/MPC8555CDS_legacy_defconfig   |    1 +
 arch/powerpc/configs/MPC8560ADS_defconfig          |    1 +
 arch/powerpc/configs/MPC8568MDS_defconfig          |    1 +
 arch/powerpc/configs/MPC8569MDS_ATM_defconfig      |    1 +
 arch/powerpc/configs/MPC8569MDS_NAND_defconfig     |    1 +
 arch/powerpc/configs/MPC8569MDS_defconfig          |    1 +
 arch/powerpc/configs/MPC8572DS_36BIT_defconfig     |    1 +
 arch/powerpc/configs/MPC8572DS_NAND_defconfig      |    1 +
 arch/powerpc/configs/MPC8572DS_defconfig           |    1 +
 arch/powerpc/configs/MPC8610HPCD_defconfig         |    1 +
 arch/powerpc/configs/MPC8641HPCN_36BIT_defconfig   |    1 +
 arch/powerpc/configs/MPC8641HPCN_defconfig         |    1 +
 arch/powerpc/configs/MPC86xADS_defconfig           |    1 +
 arch/powerpc/configs/MPC885ADS_defconfig           |    1 +
 arch/powerpc/configs/MUSENKI_defconfig             |    1 +
 arch/powerpc/configs/MVBC_P_defconfig              |    1 +
 arch/powerpc/configs/MVBLM7_defconfig              |    1 +
 arch/powerpc/configs/MVBLUE_defconfig              |    1 +
 arch/powerpc/configs/MVSMR_defconfig               |    1 +
 arch/powerpc/configs/MiniFAP_defconfig             |    1 +
 arch/powerpc/configs/NETPHONE_V2_defconfig         |    1 +
 arch/powerpc/configs/NETPHONE_defconfig            |    1 +
 arch/powerpc/configs/NETTA2_V2_defconfig           |    1 +
 arch/powerpc/configs/NETTA2_defconfig              |    1 +
 arch/powerpc/configs/NETTA_6412_SWAPHOOK_defconfig |    1 +
 arch/powerpc/configs/NETTA_6412_defconfig          |    1 +
 .../configs/NETTA_ISDN_6412_SWAPHOOK_defconfig     |    1 +
 arch/powerpc/configs/NETTA_ISDN_6412_defconfig     |    1 +
 arch/powerpc/configs/NETTA_ISDN_SWAPHOOK_defconfig |    1 +
 arch/powerpc/configs/NETTA_ISDN_defconfig          |    1 +
 arch/powerpc/configs/NETTA_SWAPHOOK_defconfig      |    1 +
 arch/powerpc/configs/NETTA_defconfig               |    1 +
 arch/powerpc/configs/NETVIA_V2_defconfig           |    1 +
 arch/powerpc/configs/NETVIA_defconfig              |    1 +
 arch/powerpc/configs/NSCU_defconfig                |    1 +
 arch/powerpc/configs/O2D300_defconfig              |    1 +
 arch/powerpc/configs/O2DNT2_RAMBOOT_defconfig      |    1 +
 arch/powerpc/configs/O2DNT2_defconfig              |    1 +
 arch/powerpc/configs/O2D_defconfig                 |    1 +
 arch/powerpc/configs/O2I_defconfig                 |    1 +
 arch/powerpc/configs/O2MNT_O2M110_defconfig        |    1 +
 arch/powerpc/configs/O2MNT_O2M112_defconfig        |    1 +
 arch/powerpc/configs/O2MNT_O2M113_defconfig        |    1 +
 arch/powerpc/configs/O2MNT_defconfig               |    1 +
 arch/powerpc/configs/O3DNT_defconfig               |    1 +
 arch/powerpc/configs/OCRTC_defconfig               |    1 +
 .../P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig       |    1 +
 .../configs/P1010RDB-PA_36BIT_NAND_defconfig       |    5 +
 .../P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig        |    1 +
 .../configs/P1010RDB-PA_36BIT_NOR_defconfig        |    1 +
 .../configs/P1010RDB-PA_36BIT_SDCARD_defconfig     |    3 +
 .../P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig   |    1 +
 .../configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig   |    3 +
 .../configs/P1010RDB-PA_NAND_SECBOOT_defconfig     |    1 +
 arch/powerpc/configs/P1010RDB-PA_NAND_defconfig    |    5 +
 .../configs/P1010RDB-PA_NOR_SECBOOT_defconfig      |    1 +
 arch/powerpc/configs/P1010RDB-PA_NOR_defconfig     |    1 +
 arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig  |    3 +
 .../configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig |    1 +
 .../powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig |    3 +
 .../P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig       |    1 +
 .../configs/P1010RDB-PB_36BIT_NAND_defconfig       |    5 +
 .../P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig        |    1 +
 .../configs/P1010RDB-PB_36BIT_NOR_defconfig        |    1 +
 .../configs/P1010RDB-PB_36BIT_SDCARD_defconfig     |    3 +
 .../P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig   |    1 +
 .../configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig   |    3 +
 .../configs/P1010RDB-PB_NAND_SECBOOT_defconfig     |    1 +
 arch/powerpc/configs/P1010RDB-PB_NAND_defconfig    |    5 +
 .../configs/P1010RDB-PB_NOR_SECBOOT_defconfig      |    1 +
 arch/powerpc/configs/P1010RDB-PB_NOR_defconfig     |    1 +
 arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig  |    3 +
 .../configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig |    1 +
 .../powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig |    3 +
 .../configs/P1011RDB_36BIT_SDCARD_defconfig        |    3 +
 .../configs/P1011RDB_36BIT_SPIFLASH_defconfig      |    3 +
 arch/powerpc/configs/P1011RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P1011RDB_NAND_defconfig       |    5 +
 arch/powerpc/configs/P1011RDB_SDCARD_defconfig     |    3 +
 arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig   |    3 +
 arch/powerpc/configs/P1011RDB_defconfig            |    1 +
 .../configs/P1020MBG-PC_36BIT_SDCARD_defconfig     |    3 +
 arch/powerpc/configs/P1020MBG-PC_36BIT_defconfig   |    1 +
 arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig  |    3 +
 arch/powerpc/configs/P1020MBG-PC_defconfig         |    1 +
 .../configs/P1020RDB-PC_36BIT_NAND_defconfig       |    5 +
 .../configs/P1020RDB-PC_36BIT_SDCARD_defconfig     |    3 +
 .../configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig   |    3 +
 arch/powerpc/configs/P1020RDB-PC_36BIT_defconfig   |    1 +
 arch/powerpc/configs/P1020RDB-PC_NAND_defconfig    |    5 +
 arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig  |    3 +
 .../powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig |    3 +
 arch/powerpc/configs/P1020RDB-PC_defconfig         |    1 +
 arch/powerpc/configs/P1020RDB-PD_NAND_defconfig    |    5 +
 arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig  |    3 +
 .../powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig |    3 +
 arch/powerpc/configs/P1020RDB-PD_defconfig         |    1 +
 .../configs/P1020RDB_36BIT_SDCARD_defconfig        |    3 +
 .../configs/P1020RDB_36BIT_SPIFLASH_defconfig      |    3 +
 arch/powerpc/configs/P1020RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P1020RDB_NAND_defconfig       |    5 +
 arch/powerpc/configs/P1020RDB_SDCARD_defconfig     |    3 +
 arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig   |    3 +
 arch/powerpc/configs/P1020RDB_defconfig            |    1 +
 .../configs/P1020UTM-PC_36BIT_SDCARD_defconfig     |    3 +
 arch/powerpc/configs/P1020UTM-PC_36BIT_defconfig   |    1 +
 arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig  |    3 +
 arch/powerpc/configs/P1020UTM-PC_defconfig         |    1 +
 .../configs/P1021RDB-PC_36BIT_NAND_defconfig       |    5 +
 .../configs/P1021RDB-PC_36BIT_SDCARD_defconfig     |    3 +
 .../configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig   |    3 +
 arch/powerpc/configs/P1021RDB-PC_36BIT_defconfig   |    1 +
 arch/powerpc/configs/P1021RDB-PC_NAND_defconfig    |    5 +
 arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig  |    3 +
 .../powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig |    3 +
 arch/powerpc/configs/P1021RDB-PC_defconfig         |    1 +
 arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig  |    5 +
 .../powerpc/configs/P1022DS_36BIT_SDCARD_defconfig |    3 +
 .../configs/P1022DS_36BIT_SPIFLASH_defconfig       |    3 +
 arch/powerpc/configs/P1022DS_36BIT_defconfig       |    1 +
 arch/powerpc/configs/P1022DS_NAND_defconfig        |    5 +
 arch/powerpc/configs/P1022DS_SDCARD_defconfig      |    3 +
 arch/powerpc/configs/P1022DS_SPIFLASH_defconfig    |    3 +
 arch/powerpc/configs/P1022DS_defconfig             |    1 +
 arch/powerpc/configs/P1023RDB_defconfig            |    1 +
 arch/powerpc/configs/P1023RDS_NAND_defconfig       |    1 +
 arch/powerpc/configs/P1023RDS_defconfig            |    1 +
 arch/powerpc/configs/P1024RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P1024RDB_NAND_defconfig       |    5 +
 arch/powerpc/configs/P1024RDB_SDCARD_defconfig     |    3 +
 arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig   |    3 +
 arch/powerpc/configs/P1024RDB_defconfig            |    1 +
 arch/powerpc/configs/P1025RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P1025RDB_NAND_defconfig       |    5 +
 arch/powerpc/configs/P1025RDB_SDCARD_defconfig     |    3 +
 arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig   |    3 +
 arch/powerpc/configs/P1025RDB_defconfig            |    1 +
 .../configs/P2010RDB_36BIT_SDCARD_defconfig        |    3 +
 .../configs/P2010RDB_36BIT_SPIFLASH_defconfig      |    3 +
 arch/powerpc/configs/P2010RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P2010RDB_NAND_defconfig       |    5 +
 arch/powerpc/configs/P2010RDB_SDCARD_defconfig     |    3 +
 arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig   |    3 +
 arch/powerpc/configs/P2010RDB_defconfig            |    1 +
 arch/powerpc/configs/P2020COME_SDCARD_defconfig    |    1 +
 arch/powerpc/configs/P2020COME_SPIFLASH_defconfig  |    1 +
 arch/powerpc/configs/P2020DS_36BIT_defconfig       |    1 +
 arch/powerpc/configs/P2020DS_DDR2_defconfig        |    1 +
 arch/powerpc/configs/P2020DS_SDCARD_defconfig      |    1 +
 arch/powerpc/configs/P2020DS_SPIFLASH_defconfig    |    1 +
 arch/powerpc/configs/P2020DS_defconfig             |    1 +
 .../configs/P2020RDB-PC_36BIT_NAND_defconfig       |    5 +
 .../configs/P2020RDB-PC_36BIT_SDCARD_defconfig     |    3 +
 .../configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig   |    3 +
 arch/powerpc/configs/P2020RDB-PC_36BIT_defconfig   |    1 +
 arch/powerpc/configs/P2020RDB-PC_NAND_defconfig    |    5 +
 arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig  |    3 +
 .../powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig |    3 +
 arch/powerpc/configs/P2020RDB-PC_defconfig         |    1 +
 .../configs/P2020RDB_36BIT_SDCARD_defconfig        |    3 +
 .../configs/P2020RDB_36BIT_SPIFLASH_defconfig      |    3 +
 arch/powerpc/configs/P2020RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P2020RDB_NAND_defconfig       |    5 +
 arch/powerpc/configs/P2020RDB_SDCARD_defconfig     |    3 +
 arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig   |    3 +
 arch/powerpc/configs/P2020RDB_defconfig            |    1 +
 arch/powerpc/configs/P2041RDB_NAND_defconfig       |    1 +
 arch/powerpc/configs/P2041RDB_SDCARD_defconfig     |    1 +
 .../powerpc/configs/P2041RDB_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/P2041RDB_SPIFLASH_defconfig   |    1 +
 .../configs/P2041RDB_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/P2041RDB_defconfig            |    1 +
 arch/powerpc/configs/P3041DS_NAND_defconfig        |    1 +
 arch/powerpc/configs/P3041DS_SDCARD_defconfig      |    1 +
 arch/powerpc/configs/P3041DS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/P3041DS_SPIFLASH_defconfig    |    1 +
 .../configs/P3041DS_SRIO_PCIE_BOOT_defconfig       |    1 +
 arch/powerpc/configs/P3041DS_defconfig             |    1 +
 arch/powerpc/configs/P3G4_defconfig                |    1 +
 arch/powerpc/configs/P4080DS_SDCARD_defconfig      |    1 +
 arch/powerpc/configs/P4080DS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/P4080DS_SPIFLASH_defconfig    |    1 +
 .../configs/P4080DS_SRIO_PCIE_BOOT_defconfig       |    1 +
 arch/powerpc/configs/P4080DS_defconfig             |    1 +
 arch/powerpc/configs/P5020DS_NAND_defconfig        |    1 +
 arch/powerpc/configs/P5020DS_SDCARD_defconfig      |    1 +
 arch/powerpc/configs/P5020DS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/P5020DS_SPIFLASH_defconfig    |    1 +
 .../configs/P5020DS_SRIO_PCIE_BOOT_defconfig       |    1 +
 arch/powerpc/configs/P5020DS_defconfig             |    1 +
 arch/powerpc/configs/P5040DS_NAND_defconfig        |    1 +
 arch/powerpc/configs/P5040DS_SDCARD_defconfig      |    1 +
 arch/powerpc/configs/P5040DS_SPIFLASH_defconfig    |    1 +
 arch/powerpc/configs/P5040DS_defconfig             |    1 +
 arch/powerpc/configs/PATI_defconfig                |    1 +
 arch/powerpc/configs/PCI405_defconfig              |    1 +
 arch/powerpc/configs/PIP405_defconfig              |    1 +
 arch/powerpc/configs/PLU405_defconfig              |    1 +
 arch/powerpc/configs/PM520_DDR_defconfig           |    1 +
 arch/powerpc/configs/PM520_ROMBOOT_DDR_defconfig   |    1 +
 arch/powerpc/configs/PM520_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/PM520_defconfig               |    1 +
 arch/powerpc/configs/PM825_BIGFLASH_defconfig      |    1 +
 .../configs/PM825_ROMBOOT_BIGFLASH_defconfig       |    1 +
 arch/powerpc/configs/PM825_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/PM825_defconfig               |    1 +
 arch/powerpc/configs/PM826_BIGFLASH_defconfig      |    1 +
 .../configs/PM826_ROMBOOT_BIGFLASH_defconfig       |    1 +
 arch/powerpc/configs/PM826_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/PM826_defconfig               |    1 +
 arch/powerpc/configs/PM828_PCI_defconfig           |    1 +
 arch/powerpc/configs/PM828_ROMBOOT_PCI_defconfig   |    1 +
 arch/powerpc/configs/PM828_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/PM828_defconfig               |    1 +
 arch/powerpc/configs/PMC405DE_defconfig            |    1 +
 arch/powerpc/configs/PMC405_defconfig              |    1 +
 arch/powerpc/configs/PMC440_defconfig              |    1 +
 .../powerpc/configs/PPChameleonEVB_BA_25_defconfig |    1 +
 .../powerpc/configs/PPChameleonEVB_BA_33_defconfig |    1 +
 .../powerpc/configs/PPChameleonEVB_HI_25_defconfig |    1 +
 .../powerpc/configs/PPChameleonEVB_HI_33_defconfig |    1 +
 .../powerpc/configs/PPChameleonEVB_ME_25_defconfig |    1 +
 .../powerpc/configs/PPChameleonEVB_ME_33_defconfig |    1 +
 arch/powerpc/configs/PPChameleonEVB_defconfig      |    1 +
 arch/powerpc/configs/PQ2FADS-VR_defconfig          |    1 +
 arch/powerpc/configs/PQ2FADS-VR_lowboot_defconfig  |    1 +
 arch/powerpc/configs/PQ2FADS-ZU_66MHz_defconfig    |    1 +
 .../configs/PQ2FADS-ZU_66MHz_lowboot_defconfig     |    1 +
 arch/powerpc/configs/PQ2FADS-ZU_defconfig          |    1 +
 arch/powerpc/configs/PQ2FADS-ZU_lowboot_defconfig  |    1 +
 arch/powerpc/configs/PQ2FADS_defconfig             |    1 +
 arch/powerpc/configs/PQ2FADS_lowboot_defconfig     |    1 +
 arch/powerpc/configs/QS823_defconfig               |    1 +
 arch/powerpc/configs/QS850_defconfig               |    1 +
 arch/powerpc/configs/QS860T_defconfig              |    1 +
 arch/powerpc/configs/R360MPI_defconfig             |    1 +
 arch/powerpc/configs/RBC823_defconfig              |    1 +
 arch/powerpc/configs/RPXlite_DW_64_LCD_defconfig   |    1 +
 arch/powerpc/configs/RPXlite_DW_64_defconfig       |    1 +
 arch/powerpc/configs/RPXlite_DW_LCD_defconfig      |    1 +
 .../configs/RPXlite_DW_NVRAM_64_LCD_defconfig      |    1 +
 arch/powerpc/configs/RPXlite_DW_NVRAM_64_defconfig |    1 +
 .../powerpc/configs/RPXlite_DW_NVRAM_LCD_defconfig |    1 +
 arch/powerpc/configs/RPXlite_DW_NVRAM_defconfig    |    1 +
 arch/powerpc/configs/RPXlite_DW_defconfig          |    1 +
 arch/powerpc/configs/RRvision_LCD_defconfig        |    1 +
 arch/powerpc/configs/RRvision_defconfig            |    1 +
 arch/powerpc/configs/Rattler8248_defconfig         |    1 +
 arch/powerpc/configs/Rattler_defconfig             |    1 +
 arch/powerpc/configs/SIMPC8313_LP_defconfig        |    1 +
 arch/powerpc/configs/SIMPC8313_SP_defconfig        |    1 +
 arch/powerpc/configs/SM850_defconfig               |    1 +
 arch/powerpc/configs/SPD823TS_defconfig            |    1 +
 arch/powerpc/configs/SXNI855T_defconfig            |    1 +
 arch/powerpc/configs/Sandpoint8240_defconfig       |    1 +
 arch/powerpc/configs/Sandpoint8245_defconfig       |    1 +
 arch/powerpc/configs/T1040QDS_D4_defconfig         |    1 +
 .../powerpc/configs/T1040QDS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T1040QDS_defconfig            |    1 +
 arch/powerpc/configs/T1040RDB_NAND_defconfig       |    3 +
 arch/powerpc/configs/T1040RDB_SDCARD_defconfig     |    3 +
 .../powerpc/configs/T1040RDB_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig   |    3 +
 arch/powerpc/configs/T1040RDB_defconfig            |    1 +
 arch/powerpc/configs/T1042RDB_PI_NAND_defconfig    |    3 +
 arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig  |    3 +
 .../powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig |    3 +
 arch/powerpc/configs/T1042RDB_PI_defconfig         |    1 +
 arch/powerpc/configs/T2080QDS_NAND_defconfig       |    3 +
 arch/powerpc/configs/T2080QDS_SDCARD_defconfig     |    3 +
 .../powerpc/configs/T2080QDS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig   |    3 +
 .../configs/T2080QDS_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/T2080QDS_defconfig            |    1 +
 arch/powerpc/configs/T2080RDB_NAND_defconfig       |    3 +
 arch/powerpc/configs/T2080RDB_SDCARD_defconfig     |    3 +
 .../powerpc/configs/T2080RDB_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig   |    3 +
 .../configs/T2080RDB_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/T2080RDB_defconfig            |    1 +
 arch/powerpc/configs/T2081QDS_NAND_defconfig       |    3 +
 arch/powerpc/configs/T2081QDS_SDCARD_defconfig     |    3 +
 arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig   |    3 +
 .../configs/T2081QDS_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/T2081QDS_defconfig            |    1 +
 arch/powerpc/configs/T4160QDS_NAND_defconfig       |    3 +
 arch/powerpc/configs/T4160QDS_SDCARD_defconfig     |    3 +
 .../powerpc/configs/T4160QDS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T4160QDS_SPIFLASH_defconfig   |    1 +
 arch/powerpc/configs/T4160QDS_defconfig            |    1 +
 arch/powerpc/configs/T4160RDB_defconfig            |    1 +
 arch/powerpc/configs/T4240EMU_defconfig            |    1 +
 arch/powerpc/configs/T4240QDS_NAND_defconfig       |    3 +
 arch/powerpc/configs/T4240QDS_SDCARD_defconfig     |    3 +
 .../powerpc/configs/T4240QDS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T4240QDS_SPIFLASH_defconfig   |    1 +
 .../configs/T4240QDS_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/T4240QDS_defconfig            |    1 +
 arch/powerpc/configs/T4240RDB_defconfig            |    1 +
 arch/powerpc/configs/TB5200_B_defconfig            |    1 +
 arch/powerpc/configs/TB5200_defconfig              |    1 +
 arch/powerpc/configs/TK885D_defconfig              |    1 +
 arch/powerpc/configs/TOP5200_defconfig             |    1 +
 arch/powerpc/configs/TOP860_defconfig              |    1 +
 arch/powerpc/configs/TQM5200S_HIGHBOOT_defconfig   |    1 +
 arch/powerpc/configs/TQM5200S_defconfig            |    1 +
 arch/powerpc/configs/TQM5200_B_HIGHBOOT_defconfig  |    1 +
 arch/powerpc/configs/TQM5200_B_defconfig           |    1 +
 arch/powerpc/configs/TQM5200_STK100_defconfig      |    1 +
 arch/powerpc/configs/TQM5200_defconfig             |    1 +
 arch/powerpc/configs/TQM823L_LCD_defconfig         |    1 +
 arch/powerpc/configs/TQM823L_defconfig             |    1 +
 arch/powerpc/configs/TQM823M_defconfig             |    1 +
 arch/powerpc/configs/TQM8255_AA_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AA_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AB_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AC_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AD_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AE_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AF_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AG_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AH_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AI_defconfig          |    1 +
 arch/powerpc/configs/TQM8265_AA_defconfig          |    1 +
 arch/powerpc/configs/TQM8272_defconfig             |    1 +
 arch/powerpc/configs/TQM834x_defconfig             |    1 +
 arch/powerpc/configs/TQM850L_defconfig             |    1 +
 arch/powerpc/configs/TQM850M_defconfig             |    1 +
 arch/powerpc/configs/TQM855L_defconfig             |    1 +
 arch/powerpc/configs/TQM855M_defconfig             |    1 +
 arch/powerpc/configs/TQM860L_defconfig             |    1 +
 arch/powerpc/configs/TQM860M_defconfig             |    1 +
 arch/powerpc/configs/TQM862L_defconfig             |    1 +
 arch/powerpc/configs/TQM862M_defconfig             |    1 +
 arch/powerpc/configs/TQM866M_defconfig             |    1 +
 arch/powerpc/configs/TQM885D_defconfig             |    1 +
 arch/powerpc/configs/TTTech_defconfig              |    1 +
 arch/powerpc/configs/TWR-P1025_defconfig           |    1 +
 arch/powerpc/configs/Total5200_Rev2_defconfig      |    1 +
 .../configs/Total5200_Rev2_lowboot_defconfig       |    1 +
 arch/powerpc/configs/Total5200_defconfig           |    1 +
 arch/powerpc/configs/Total5200_lowboot_defconfig   |    1 +
 arch/powerpc/configs/VOH405_defconfig              |    1 +
 arch/powerpc/configs/VOM405_defconfig              |    1 +
 arch/powerpc/configs/VoVPN-GW_66MHz_defconfig      |    1 +
 arch/powerpc/configs/W7OLMC_defconfig              |    1 +
 arch/powerpc/configs/W7OLMG_defconfig              |    1 +
 arch/powerpc/configs/WUH405_defconfig              |    1 +
 arch/powerpc/configs/ZPC1900_defconfig             |    1 +
 arch/powerpc/configs/ZUMA_defconfig                |    1 +
 arch/powerpc/configs/a3m071_defconfig              |    3 +
 arch/powerpc/configs/a4m072_defconfig              |    1 +
 arch/powerpc/configs/a4m2k_defconfig               |    3 +
 arch/powerpc/configs/ac14xx_defconfig              |    1 +
 arch/powerpc/configs/acadia_defconfig              |    1 +
 arch/powerpc/configs/aev_defconfig                 |    1 +
 arch/powerpc/configs/alpr_defconfig                |    1 +
 arch/powerpc/configs/arches_defconfig              |    1 +
 arch/powerpc/configs/aria_defconfig                |    1 +
 arch/powerpc/configs/atc_defconfig                 |    1 +
 arch/powerpc/configs/bamboo_defconfig              |    1 +
 arch/powerpc/configs/bluestone_defconfig           |    1 +
 arch/powerpc/configs/bubinga_defconfig             |    1 +
 arch/powerpc/configs/caddy2_defconfig              |    1 +
 arch/powerpc/configs/cam5200_defconfig             |    1 +
 arch/powerpc/configs/cam5200_niosflash_defconfig   |    1 +
 arch/powerpc/configs/canmb_defconfig               |    1 +
 arch/powerpc/configs/canyonlands_defconfig         |    1 +
 arch/powerpc/configs/charon_defconfig              |    1 +
 arch/powerpc/configs/cm5200_defconfig              |    1 +
 arch/powerpc/configs/cmi_mpc5xx_defconfig          |    1 +
 arch/powerpc/configs/cogent_mpc8260_defconfig      |    1 +
 arch/powerpc/configs/cogent_mpc8xx_defconfig       |    1 +
 .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig  |    1 +
 .../configs/controlcenterd_36BIT_SDCARD_defconfig  |    1 +
 .../controlcenterd_TRAILBLAZER_DEVELOP_defconfig   |    1 +
 .../configs/controlcenterd_TRAILBLAZER_defconfig   |    1 +
 arch/powerpc/configs/cpci5200_defconfig            |    1 +
 arch/powerpc/configs/csb272_defconfig              |    1 +
 arch/powerpc/configs/csb472_defconfig              |    1 +
 arch/powerpc/configs/debris_defconfig              |    1 +
 arch/powerpc/configs/devconcenter_defconfig        |    1 +
 arch/powerpc/configs/digsy_mtc_RAMBOOT_defconfig   |    1 +
 arch/powerpc/configs/digsy_mtc_defconfig           |    1 +
 .../configs/digsy_mtc_rev5_RAMBOOT_defconfig       |    1 +
 arch/powerpc/configs/digsy_mtc_rev5_defconfig      |    1 +
 arch/powerpc/configs/dlvision-10g_defconfig        |    1 +
 arch/powerpc/configs/dlvision_defconfig            |    1 +
 arch/powerpc/configs/eXalion_defconfig             |    1 +
 arch/powerpc/configs/ebony_defconfig               |    1 +
 arch/powerpc/configs/ep8248_defconfig              |    1 +
 arch/powerpc/configs/ep8260_defconfig              |    1 +
 arch/powerpc/configs/ep82xxm_defconfig             |    1 +
 arch/powerpc/configs/fo300_defconfig               |    1 +
 arch/powerpc/configs/fx12mm_defconfig              |    1 +
 arch/powerpc/configs/fx12mm_flash_defconfig        |    1 +
 arch/powerpc/configs/galaxy5200_LOWBOOT_defconfig  |    1 +
 arch/powerpc/configs/galaxy5200_defconfig          |    1 +
 arch/powerpc/configs/gdppc440etx_defconfig         |    1 +
 arch/powerpc/configs/glacier_defconfig             |    1 +
 arch/powerpc/configs/gw8260_defconfig              |    1 +
 arch/powerpc/configs/haleakala_defconfig           |    1 +
 arch/powerpc/configs/hermes_defconfig              |    1 +
 arch/powerpc/configs/hmi1001_defconfig             |    1 +
 arch/powerpc/configs/hymod_defconfig               |    1 +
 .../configs/icecube_5200_DDR_LOWBOOT08_defconfig   |    1 +
 .../configs/icecube_5200_DDR_LOWBOOT_defconfig     |    1 +
 arch/powerpc/configs/icecube_5200_DDR_defconfig    |    1 +
 .../configs/icecube_5200_LOWBOOT08_defconfig       |    1 +
 .../powerpc/configs/icecube_5200_LOWBOOT_defconfig |    1 +
 arch/powerpc/configs/icecube_5200_defconfig        |    1 +
 arch/powerpc/configs/icon_defconfig                |    1 +
 arch/powerpc/configs/ids8313_defconfig             |    1 +
 arch/powerpc/configs/inka4x0_defconfig             |    1 +
 arch/powerpc/configs/intip_defconfig               |    1 +
 arch/powerpc/configs/io64_defconfig                |    1 +
 arch/powerpc/configs/io_defconfig                  |    1 +
 arch/powerpc/configs/iocon_defconfig               |    1 +
 arch/powerpc/configs/ipek01_defconfig              |    1 +
 arch/powerpc/configs/jupiter_defconfig             |    1 +
 arch/powerpc/configs/katmai_defconfig              |    1 +
 arch/powerpc/configs/kilauea_defconfig             |    1 +
 arch/powerpc/configs/kmcoge4_defconfig             |    1 +
 arch/powerpc/configs/kmcoge5ne_defconfig           |    1 +
 arch/powerpc/configs/kmeter1_defconfig             |    1 +
 arch/powerpc/configs/kmlion1_defconfig             |    1 +
 arch/powerpc/configs/kmopti2_defconfig             |    1 +
 arch/powerpc/configs/kmsupx5_defconfig             |    1 +
 arch/powerpc/configs/kmvect1_defconfig             |    1 +
 arch/powerpc/configs/korat_defconfig               |    1 +
 arch/powerpc/configs/korat_perm_defconfig          |    1 +
 arch/powerpc/configs/kvme080_defconfig             |    1 +
 arch/powerpc/configs/lcd4_lwmon5_defconfig         |    3 +
 arch/powerpc/configs/lite5200b_LOWBOOT_defconfig   |    1 +
 arch/powerpc/configs/lite5200b_PM_defconfig        |    1 +
 arch/powerpc/configs/lite5200b_defconfig           |    1 +
 arch/powerpc/configs/luan_defconfig                |    1 +
 arch/powerpc/configs/lwmon5_defconfig              |    1 +
 arch/powerpc/configs/lwmon_defconfig               |    1 +
 arch/powerpc/configs/makalu_defconfig              |    1 +
 arch/powerpc/configs/mcc200_COM12_SDRAM_defconfig  |    1 +
 arch/powerpc/configs/mcc200_COM12_defconfig        |    1 +
 .../configs/mcc200_COM12_highboot_SDRAM_defconfig  |    1 +
 .../configs/mcc200_COM12_highboot_defconfig        |    1 +
 arch/powerpc/configs/mcc200_SDRAM_defconfig        |    1 +
 arch/powerpc/configs/mcc200_defconfig              |    1 +
 .../configs/mcc200_highboot_SDRAM_defconfig        |    1 +
 arch/powerpc/configs/mcc200_highboot_defconfig     |    1 +
 arch/powerpc/configs/mecp5123_defconfig            |    1 +
 arch/powerpc/configs/mecp5200_defconfig            |    1 +
 arch/powerpc/configs/mgcoge3ne_defconfig           |    1 +
 arch/powerpc/configs/mgcoge_defconfig              |    1 +
 arch/powerpc/configs/ml507_defconfig               |    1 +
 arch/powerpc/configs/ml507_flash_defconfig         |    1 +
 arch/powerpc/configs/motionpro_defconfig           |    1 +
 arch/powerpc/configs/mpc5121ads_defconfig          |    1 +
 arch/powerpc/configs/mpc5121ads_rev2_defconfig     |    1 +
 arch/powerpc/configs/mpc7448hpc2_defconfig         |    1 +
 arch/powerpc/configs/mpc8308_p1m_defconfig         |    1 +
 arch/powerpc/configs/muas3001_defconfig            |    1 +
 arch/powerpc/configs/muas3001_dev_defconfig        |    1 +
 arch/powerpc/configs/mucmc52_defconfig             |    1 +
 arch/powerpc/configs/munices_defconfig             |    1 +
 arch/powerpc/configs/neo_defconfig                 |    1 +
 arch/powerpc/configs/ocotea_defconfig              |    1 +
 arch/powerpc/configs/p3m7448_defconfig             |    1 +
 arch/powerpc/configs/p3m750_defconfig              |    1 +
 arch/powerpc/configs/p3p440_defconfig              |    1 +
 arch/powerpc/configs/pcm030_LOWBOOT_defconfig      |    1 +
 arch/powerpc/configs/pcm030_defconfig              |    1 +
 arch/powerpc/configs/pcs440ep_defconfig            |    1 +
 arch/powerpc/configs/pdm360ng_defconfig            |    1 +
 arch/powerpc/configs/pf5200_defconfig              |    1 +
 arch/powerpc/configs/ppmc7xx_defconfig             |    1 +
 arch/powerpc/configs/ppmc8260_defconfig            |    1 +
 arch/powerpc/configs/prs200_DDR_defconfig          |    1 +
 arch/powerpc/configs/prs200_defconfig              |    1 +
 arch/powerpc/configs/prs200_highboot_DDR_defconfig |    1 +
 arch/powerpc/configs/prs200_highboot_defconfig     |    1 +
 arch/powerpc/configs/qemu-ppce500_defconfig        |    1 +
 arch/powerpc/configs/quad100hd_defconfig           |    1 +
 arch/powerpc/configs/quantum_defconfig             |    1 +
 arch/powerpc/configs/rainier_defconfig             |    1 +
 arch/powerpc/configs/rainier_ramboot_defconfig     |    1 +
 arch/powerpc/configs/redwood_defconfig             |    1 +
 arch/powerpc/configs/sacsng_defconfig              |    1 +
 arch/powerpc/configs/sbc405_defconfig              |    1 +
 arch/powerpc/configs/sbc8349_PCI_33_defconfig      |    1 +
 arch/powerpc/configs/sbc8349_PCI_66_defconfig      |    1 +
 arch/powerpc/configs/sbc8349_defconfig             |    1 +
 arch/powerpc/configs/sbc8548_PCI_33_PCIE_defconfig |    1 +
 arch/powerpc/configs/sbc8548_PCI_33_defconfig      |    1 +
 arch/powerpc/configs/sbc8548_PCI_66_PCIE_defconfig |    1 +
 arch/powerpc/configs/sbc8548_PCI_66_defconfig      |    1 +
 arch/powerpc/configs/sbc8548_defconfig             |    1 +
 arch/powerpc/configs/sbc8641d_defconfig            |    1 +
 arch/powerpc/configs/sc3_defconfig                 |    1 +
 arch/powerpc/configs/sequoia_defconfig             |    1 +
 arch/powerpc/configs/sequoia_ramboot_defconfig     |    1 +
 arch/powerpc/configs/socrates_defconfig            |    1 +
 arch/powerpc/configs/spc1920_defconfig             |    1 +
 arch/powerpc/configs/stxgp3_defconfig              |    1 +
 arch/powerpc/configs/stxssa_4M_defconfig           |    1 +
 arch/powerpc/configs/stxssa_defconfig              |    1 +
 arch/powerpc/configs/stxxtc_defconfig              |    1 +
 arch/powerpc/configs/suvd3_defconfig               |    1 +
 arch/powerpc/configs/svm_sc8xx_defconfig           |    1 +
 arch/powerpc/configs/sycamore_defconfig            |    1 +
 arch/powerpc/configs/t3corp_defconfig              |    1 +
 arch/powerpc/configs/taihu_defconfig               |    1 +
 arch/powerpc/configs/taishan_defconfig             |    1 +
 arch/powerpc/configs/tuge1_defconfig               |    1 +
 arch/powerpc/configs/tuxx1_defconfig               |    1 +
 arch/powerpc/configs/uc100_defconfig               |    1 +
 arch/powerpc/configs/uc101_defconfig               |    1 +
 arch/powerpc/configs/utx8245_defconfig             |    1 +
 arch/powerpc/configs/v37_defconfig                 |    1 +
 arch/powerpc/configs/v38b_defconfig                |    1 +
 arch/powerpc/configs/v5fx30teval_defconfig         |    1 +
 arch/powerpc/configs/v5fx30teval_flash_defconfig   |    1 +
 arch/powerpc/configs/ve8313_defconfig              |    1 +
 arch/powerpc/configs/virtlab2_defconfig            |    1 +
 arch/powerpc/configs/vme8349_defconfig             |    1 +
 arch/powerpc/configs/walnut_defconfig              |    1 +
 arch/powerpc/configs/wtk_defconfig                 |    1 +
 .../configs/xilinx-ppc405-generic_defconfig        |    1 +
 .../configs/xilinx-ppc405-generic_flash_defconfig  |    1 +
 .../configs/xilinx-ppc440-generic_defconfig        |    1 +
 .../configs/xilinx-ppc440-generic_flash_defconfig  |    1 +
 arch/powerpc/configs/xpedite1000_defconfig         |    1 +
 arch/powerpc/configs/xpedite517x_defconfig         |    1 +
 arch/powerpc/configs/xpedite520x_defconfig         |    1 +
 arch/powerpc/configs/xpedite537x_defconfig         |    1 +
 arch/powerpc/configs/xpedite550x_defconfig         |    1 +
 arch/powerpc/configs/yellowstone_defconfig         |    1 +
 arch/powerpc/configs/yosemite_defconfig            |    1 +
 arch/powerpc/configs/yucca_defconfig               |    1 +
 arch/powerpc/configs/zeus_defconfig                |    1 +
 arch/powerpc/cpu/ppc4xx/config.mk                  |    4 +-
 arch/sandbox/Kconfig                               |   19 +
 arch/sandbox/config.mk                             |    2 +-
 arch/sandbox/configs/sandbox_defconfig             |    0
 arch/sh/Kconfig                                    |  100 +
 arch/sh/configs/MigoR_defconfig                    |    1 +
 arch/sh/configs/ap325rxa_defconfig                 |    1 +
 arch/sh/configs/ap_sh4a_4a_defconfig               |    1 +
 arch/sh/configs/ecovec_defconfig                   |    1 +
 arch/sh/configs/espt_defconfig                     |    1 +
 arch/sh/configs/mpr2_defconfig                     |    1 +
 arch/sh/configs/ms7720se_defconfig                 |    1 +
 arch/sh/configs/ms7722se_defconfig                 |    1 +
 arch/sh/configs/ms7750se_defconfig                 |    1 +
 arch/sh/configs/r0p7734_defconfig                  |    1 +
 arch/sh/configs/r2dplus_defconfig                  |    1 +
 arch/sh/configs/r7780mp_defconfig                  |    1 +
 arch/sh/configs/rsk7203_defconfig                  |    1 +
 arch/sh/configs/rsk7264_defconfig                  |    1 +
 arch/sh/configs/rsk7269_defconfig                  |    1 +
 arch/sh/configs/sh7752evb_defconfig                |    1 +
 arch/sh/configs/sh7753evb_defconfig                |    1 +
 arch/sh/configs/sh7757lcr_defconfig                |    1 +
 arch/sh/configs/sh7763rdp_defconfig                |    1 +
 arch/sh/configs/sh7785lcr_32bit_defconfig          |    1 +
 arch/sh/configs/sh7785lcr_defconfig                |    1 +
 arch/sh/configs/shmin_defconfig                    |    1 +
 arch/sparc/Kconfig                                 |   33 +
 arch/sparc/config.mk                               |    2 +-
 arch/sparc/configs/gr_cpci_ax2000_defconfig        |    1 +
 arch/sparc/configs/gr_ep2s60_defconfig             |    1 +
 arch/sparc/configs/gr_xc3s_1500_defconfig          |    1 +
 arch/sparc/configs/grsim_defconfig                 |    1 +
 arch/sparc/configs/grsim_leon2_defconfig           |    1 +
 arch/x86/Kconfig                                   |   17 +
 arch/x86/configs/coreboot-x86_defconfig            |    1 +
 arch/x86/cpu/config.mk                             |    2 +-
 board/8dtech/eco5pk/Kconfig                        |   23 +
 board/AndesTech/adp-ag101/Kconfig                  |   23 +
 board/AndesTech/adp-ag101p/Kconfig                 |   23 +
 board/AndesTech/adp-ag102/Kconfig                  |   23 +
 board/Barix/ipam390/Kconfig                        |   23 +
 board/BuR/kwb/Kconfig                              |   27 +
 board/BuR/tseries/Kconfig                          |   83 +
 board/BuS/eb_cpu5282/Kconfig                       |   47 +
 board/BuS/eb_cpux9k2/Kconfig                       |   51 +
 board/BuS/vl_ma2sc/Kconfig                         |   51 +
 board/CarMediaLab/flea3/Kconfig                    |   23 +
 board/LEOX/elpt860/Kconfig                         |   19 +
 board/LaCie/edminiv2/Kconfig                       |   23 +
 board/LaCie/net2big_v2/Kconfig                     |   55 +
 board/LaCie/netspace_v2/Kconfig                    |  139 ++
 board/LaCie/wireless_space/Kconfig                 |   23 +
 board/Marvell/aspenite/Kconfig                     |   23 +
 board/Marvell/db64360/Kconfig                      |   19 +
 board/Marvell/db64460/Kconfig                      |   19 +
 board/Marvell/dkb/Kconfig                          |   23 +
 board/Marvell/dreamplug/Kconfig                    |   23 +
 board/Marvell/gplugd/Kconfig                       |   23 +
 board/Marvell/guruplug/Kconfig                     |   23 +
 board/Marvell/mv88f6281gtw_ge/Kconfig              |   23 +
 board/Marvell/openrd/Kconfig                       |   83 +
 board/Marvell/rd6281a/Kconfig                      |   23 +
 board/Marvell/sheevaplug/Kconfig                   |   23 +
 board/RPXlite_dw/Kconfig                           |  155 ++
 board/RRvision/Kconfig                             |   35 +
 board/Seagate/dockstar/Kconfig                     |   23 +
 board/Seagate/goflexhome/Kconfig                   |   23 +
 board/a3000/Kconfig                                |   15 +
 board/a3m071/Kconfig                               |   35 +
 board/a4m072/Kconfig                               |   15 +
 board/adder/Kconfig                                |   35 +
 board/afeb9260/Kconfig                             |   19 +
 board/ait/cam_enc_4xx/Kconfig                      |   23 +
 board/alphaproject/ap_sh4a_4a/Kconfig              |   19 +
 board/altera/nios2-generic/Kconfig                 |   19 +
 board/altera/socfpga/Kconfig                       |   23 +
 board/amcc/acadia/Kconfig                          |   19 +
 board/amcc/bamboo/Kconfig                          |   19 +
 board/amcc/bluestone/Kconfig                       |   19 +
 board/amcc/bubinga/Kconfig                         |   19 +
 board/amcc/canyonlands/Kconfig                     |   71 +
 board/amcc/ebony/Kconfig                           |   19 +
 board/amcc/katmai/Kconfig                          |   19 +
 board/amcc/kilauea/Kconfig                         |   47 +
 board/amcc/luan/Kconfig                            |   19 +
 board/amcc/makalu/Kconfig                          |   19 +
 board/amcc/ocotea/Kconfig                          |   19 +
 board/amcc/redwood/Kconfig                         |   19 +
 board/amcc/sequoia/Kconfig                         |   95 +
 board/amcc/taihu/Kconfig                           |   19 +
 board/amcc/taishan/Kconfig                         |   19 +
 board/amcc/walnut/Kconfig                          |   39 +
 board/amcc/yosemite/Kconfig                        |   47 +
 board/amcc/yucca/Kconfig                           |   19 +
 board/armadeus/apf27/Kconfig                       |   23 +
 board/armltd/integrator/Kconfig                    |  191 ++
 board/armltd/versatile/Kconfig                     |   83 +
 board/armltd/vexpress/Kconfig                      |   59 +
 board/armltd/vexpress64/Kconfig                    |   23 +
 board/astro/mcf5373l/Kconfig                       |   19 +
 board/atc/Kconfig                                  |   15 +
 board/atmark-techno/armadillo-800eva/Kconfig       |   23 +
 board/atmel/at91rm9200ek/Kconfig                   |   51 +
 board/atmel/at91sam9260ek/Kconfig                  |  307 +++
 board/atmel/at91sam9261ek/Kconfig                  |  167 ++
 board/atmel/at91sam9263ek/Kconfig                  |  139 ++
 board/atmel/at91sam9m10g45ek/Kconfig               |   27 +
 board/atmel/at91sam9n12ek/Kconfig                  |   83 +
 board/atmel/at91sam9rlek/Kconfig                   |   55 +
 board/atmel/at91sam9x5ek/Kconfig                   |  111 +
 board/atmel/atngw100/Kconfig                       |   23 +
 board/atmel/atngw100mkii/Kconfig                   |   23 +
 board/atmel/atstk1000/Kconfig                      |   95 +
 board/atmel/sama5d3_xplained/Kconfig               |   55 +
 board/atmel/sama5d3xek/Kconfig                     |   83 +
 board/avionic-design/medcom-wide/Kconfig           |   24 +
 board/avionic-design/plutux/Kconfig                |   24 +
 board/avionic-design/tec-ng/Kconfig                |   24 +
 board/avionic-design/tec/Kconfig                   |   24 +
 board/avnet/fx12mm/Kconfig                         |   47 +
 board/avnet/v5fx30teval/Kconfig                    |   47 +
 board/balloon3/Kconfig                             |   15 +
 board/barco/titanium/Kconfig                       |   27 +
 board/bc3450/Kconfig                               |   15 +
 board/bct-brettl2/Kconfig                          |   15 +
 board/bf506f-ezkit/Kconfig                         |   15 +
 board/bf518f-ezbrd/Kconfig                         |   15 +
 board/bf525-ucr2/Kconfig                           |   15 +
 board/bf526-ezbrd/Kconfig                          |   15 +
 board/bf527-ad7160-eval/Kconfig                    |   15 +
 board/bf527-ezkit/Kconfig                          |   35 +
 board/bf527-sdp/Kconfig                            |   15 +
 board/bf533-ezkit/Kconfig                          |   15 +
 board/bf533-stamp/Kconfig                          |   15 +
 board/bf537-minotaur/Kconfig                       |   15 +
 board/bf537-pnav/Kconfig                           |   15 +
 board/bf537-srv1/Kconfig                           |   15 +
 board/bf537-stamp/Kconfig                          |   15 +
 board/bf538f-ezkit/Kconfig                         |   15 +
 board/bf548-ezkit/Kconfig                          |   15 +
 board/bf561-acvilon/Kconfig                        |   15 +
 board/bf561-ezkit/Kconfig                          |   15 +
 board/bf609-ezkit/Kconfig                          |   15 +
 board/blackstamp/Kconfig                           |   15 +
 board/blackvme/Kconfig                             |   15 +
 board/bluegiga/apx4devkit/Kconfig                  |   23 +
 board/bluewater/snapper9260/Kconfig                |   55 +
 board/boundary/nitrogen6x/Kconfig                  |  195 ++
 board/br4/Kconfig                                  |   15 +
 board/broadcom/bcm28155_ap/Kconfig                 |   23 +
 board/buffalo/lsxl/Kconfig                         |   55 +
 board/calao/sbc35_a9g20/Kconfig                    |   55 +
 board/calao/tny_a9260/Kconfig                      |  111 +
 board/calao/usb_a9263/Kconfig                      |   27 +
 board/canmb/Kconfig                                |   15 +
 board/chromebook-x86/coreboot/Kconfig              |   27 +
 board/cloudengines/pogo_e02/Kconfig                |   23 +
 board/cm-bf527/Kconfig                             |   15 +
 board/cm-bf533/Kconfig                             |   15 +
 board/cm-bf537e/Kconfig                            |   15 +
 board/cm-bf537u/Kconfig                            |   15 +
 board/cm-bf548/Kconfig                             |   15 +
 board/cm-bf561/Kconfig                             |   15 +
 board/cm4008/Kconfig                               |   19 +
 board/cm41xx/Kconfig                               |   19 +
 board/cm5200/Kconfig                               |   15 +
 board/cmi/Kconfig                                  |   15 +
 board/cobra5272/Kconfig                            |   15 +
 board/cogent/Kconfig                               |   31 +
 board/comelit/dig297/Kconfig                       |   23 +
 board/compal/paz00/Kconfig                         |   24 +
 board/compulab/cm_t335/Kconfig                     |   23 +
 board/compulab/cm_t35/Kconfig                      |   23 +
 board/compulab/cm_t54/Kconfig                      |   23 +
 board/compulab/trimslice/Kconfig                   |   24 +
 board/congatec/cgtqmx6eval/Kconfig                 |   27 +
 board/corscience/tricorder/Kconfig                 |   51 +
 board/cpc45/Kconfig                                |   35 +
 board/cpu86/Kconfig                                |   35 +
 board/cpu87/Kconfig                                |   35 +
 board/cray/L1/Kconfig                              |   19 +
 board/creative/xfi3/Kconfig                        |   23 +
 board/csb272/Kconfig                               |   15 +
 board/csb472/Kconfig                               |   15 +
 board/cu824/Kconfig                                |   15 +
 board/d-link/dns325/Kconfig                        |   23 +
 board/dave/PPChameleonEVB/Kconfig                  |  235 ++
 board/davedenx/aria/Kconfig                        |   19 +
 board/davedenx/qong/Kconfig                        |   23 +
 board/davinci/da8xxevm/Kconfig                     |  159 ++
 board/davinci/dm355evm/Kconfig                     |   23 +
 board/davinci/dm355leopard/Kconfig                 |   23 +
 board/davinci/dm365evm/Kconfig                     |   23 +
 board/davinci/dm6467evm/Kconfig                    |   55 +
 board/davinci/dvevm/Kconfig                        |   23 +
 board/davinci/ea20/Kconfig                         |   23 +
 board/davinci/schmoogie/Kconfig                    |   23 +
 board/davinci/sffsdr/Kconfig                       |   23 +
 board/davinci/sonata/Kconfig                       |   23 +
 board/dbau1x00/Kconfig                             |  119 +
 board/denx/m28evk/Kconfig                          |   23 +
 board/denx/m53evk/Kconfig                          |   27 +
 board/dnp5370/Kconfig                              |   15 +
 board/eXalion/Kconfig                              |   15 +
 board/earthlcd/favr-32-ezkit/Kconfig               |   23 +
 board/egnite/ethernut5/Kconfig                     |   27 +
 board/eltec/elppc/Kconfig                          |   19 +
 board/eltec/mhpc/Kconfig                           |   19 +
 board/embest/mx6boards/Kconfig                     |   55 +
 board/emk/top5200/Kconfig                          |   71 +
 board/emk/top860/Kconfig                           |   19 +
 board/emk/top9000/Kconfig                          |   55 +
 board/enbw/enbw_cmc/Kconfig                        |   23 +
 board/ep8248/Kconfig                               |   15 +
 board/ep8260/Kconfig                               |   15 +
 board/ep82xxm/Kconfig                              |   15 +
 board/esd/apc405/Kconfig                           |   19 +
 board/esd/ar405/Kconfig                            |   19 +
 board/esd/ash405/Kconfig                           |   19 +
 board/esd/cms700/Kconfig                           |   19 +
 board/esd/cpci2dp/Kconfig                          |   19 +
 board/esd/cpci405/Kconfig                          |   79 +
 board/esd/cpci5200/Kconfig                         |   19 +
 board/esd/cpci750/Kconfig                          |   19 +
 board/esd/cpciiser4/Kconfig                        |   19 +
 board/esd/dp405/Kconfig                            |   19 +
 board/esd/du405/Kconfig                            |   19 +
 board/esd/du440/Kconfig                            |   19 +
 board/esd/hh405/Kconfig                            |   19 +
 board/esd/hub405/Kconfig                           |   19 +
 board/esd/mecp5123/Kconfig                         |   19 +
 board/esd/mecp5200/Kconfig                         |   19 +
 board/esd/meesc/Kconfig                            |   55 +
 board/esd/ocrtc/Kconfig                            |   19 +
 board/esd/otc570/Kconfig                           |   55 +
 board/esd/pci405/Kconfig                           |   19 +
 board/esd/pf5200/Kconfig                           |   19 +
 board/esd/plu405/Kconfig                           |   19 +
 board/esd/pmc405/Kconfig                           |   19 +
 board/esd/pmc405de/Kconfig                         |   19 +
 board/esd/pmc440/Kconfig                           |   19 +
 board/esd/tasreg/Kconfig                           |   19 +
 board/esd/vme8349/Kconfig                          |   43 +
 board/esd/voh405/Kconfig                           |   19 +
 board/esd/vom405/Kconfig                           |   19 +
 board/esd/wuh405/Kconfig                           |   19 +
 board/esg/ima3-mx53/Kconfig                        |   27 +
 board/espt/Kconfig                                 |   15 +
 board/esteem192e/Kconfig                           |   15 +
 board/etin/debris/Kconfig                          |   19 +
 board/etin/kvme080/Kconfig                         |   19 +
 board/eukrea/cpu9260/Kconfig                       |  223 ++
 board/eukrea/cpuat91/Kconfig                       |   51 +
 board/evb64260/Kconfig                             |   31 +
 board/exmeritus/hww1u1a/Kconfig                    |   19 +
 board/fads/Kconfig                                 |   31 +
 board/faraday/a320evb/Kconfig                      |   23 +
 board/flagadm/Kconfig                              |   15 +
 board/freescale/b4860qds/Kconfig                   |  191 ++
 board/freescale/bsc9131rdb/Kconfig                 |   95 +
 board/freescale/bsc9132qds/Kconfig                 |  383 +++
 board/freescale/c29xpcie/Kconfig                   |   71 +
 board/freescale/corenet_ds/Kconfig                 |  487 ++++
 board/freescale/m5208evbe/Kconfig                  |   19 +
 board/freescale/m52277evb/Kconfig                  |   47 +
 board/freescale/m5235evb/Kconfig                   |   47 +
 board/freescale/m5249evb/Kconfig                   |   19 +
 board/freescale/m5253demo/Kconfig                  |   19 +
 board/freescale/m5253evbe/Kconfig                  |   19 +
 board/freescale/m5272c3/Kconfig                    |   19 +
 board/freescale/m5275evb/Kconfig                   |   19 +
 board/freescale/m5282evb/Kconfig                   |   19 +
 board/freescale/m53017evb/Kconfig                  |   19 +
 board/freescale/m5329evb/Kconfig                   |   47 +
 board/freescale/m5373evb/Kconfig                   |   23 +
 board/freescale/m54418twr/Kconfig                  |  143 ++
 board/freescale/m54451evb/Kconfig                  |   47 +
 board/freescale/m54455evb/Kconfig                  |  119 +
 board/freescale/m547xevb/Kconfig                   |  167 ++
 board/freescale/m548xevb/Kconfig                   |  191 ++
 board/freescale/mpc5121ads/Kconfig                 |   43 +
 board/freescale/mpc7448hpc2/Kconfig                |   19 +
 board/freescale/mpc8260ads/Kconfig                 |  383 +++
 board/freescale/mpc8266ads/Kconfig                 |   19 +
 board/freescale/mpc8308rdb/Kconfig                 |   19 +
 board/freescale/mpc8313erdb/Kconfig                |   95 +
 board/freescale/mpc8315erdb/Kconfig                |   43 +
 board/freescale/mpc8323erdb/Kconfig                |   19 +
 board/freescale/mpc832xemds/Kconfig                |  115 +
 board/freescale/mpc8349emds/Kconfig                |   19 +
 board/freescale/mpc8349itx/Kconfig                 |   71 +
 board/freescale/mpc8360emds/Kconfig                |  239 ++
 board/freescale/mpc8360erdk/Kconfig                |   43 +
 board/freescale/mpc837xemds/Kconfig                |   43 +
 board/freescale/mpc837xerdb/Kconfig                |   19 +
 board/freescale/mpc8536ds/Kconfig                  |  115 +
 board/freescale/mpc8540ads/Kconfig                 |   19 +
 board/freescale/mpc8541cds/Kconfig                 |   43 +
 board/freescale/mpc8544ds/Kconfig                  |   19 +
 board/freescale/mpc8548cds/Kconfig                 |   67 +
 board/freescale/mpc8555cds/Kconfig                 |   43 +
 board/freescale/mpc8560ads/Kconfig                 |   19 +
 board/freescale/mpc8568mds/Kconfig                 |   19 +
 board/freescale/mpc8569mds/Kconfig                 |   67 +
 board/freescale/mpc8572ds/Kconfig                  |   67 +
 board/freescale/mpc8610hpcd/Kconfig                |   19 +
 board/freescale/mpc8641hpcn/Kconfig                |   43 +
 board/freescale/mx23evk/Kconfig                    |   23 +
 board/freescale/mx25pdk/Kconfig                    |   27 +
 board/freescale/mx28evk/Kconfig                    |   83 +
 board/freescale/mx31ads/Kconfig                    |   23 +
 board/freescale/mx31pdk/Kconfig                    |   23 +
 board/freescale/mx35pdk/Kconfig                    |   23 +
 board/freescale/mx51evk/Kconfig                    |   27 +
 board/freescale/mx53ard/Kconfig                    |   27 +
 board/freescale/mx53evk/Kconfig                    |   27 +
 board/freescale/mx53loco/Kconfig                   |   27 +
 board/freescale/mx53smd/Kconfig                    |   27 +
 board/freescale/mx6qarm2/Kconfig                   |   27 +
 board/freescale/mx6qsabreauto/Kconfig              |   27 +
 board/freescale/mx6sabresd/Kconfig                 |   55 +
 board/freescale/mx6slevk/Kconfig                   |   27 +
 board/freescale/p1010rdb/Kconfig                   |  671 ++++++
 board/freescale/p1022ds/Kconfig                    |  187 ++
 board/freescale/p1023rdb/Kconfig                   |   19 +
 board/freescale/p1023rds/Kconfig                   |   43 +
 board/freescale/p1_p2_rdb/Kconfig                  |  671 ++++++
 board/freescale/p1_p2_rdb_pc/Kconfig               | 1103 +++++++++
 board/freescale/p1_twr/Kconfig                     |   23 +
 board/freescale/p2020come/Kconfig                  |   47 +
 board/freescale/p2020ds/Kconfig                    |  115 +
 board/freescale/p2041rdb/Kconfig                   |  139 ++
 board/freescale/qemu-ppce500/Kconfig               |   19 +
 board/freescale/t1040qds/Kconfig                   |   71 +
 board/freescale/t104xrdb/Kconfig                   |  215 ++
 board/freescale/t208xqds/Kconfig                   |  263 ++
 board/freescale/t208xrdb/Kconfig                   |  143 ++
 board/freescale/t4qds/Kconfig                      |  287 +++
 board/freescale/t4rdb/Kconfig                      |   47 +
 board/freescale/vf610twr/Kconfig                   |   27 +
 board/funkwerk/vovpn-gw/Kconfig                    |   23 +
 board/g2000/Kconfig                                |   15 +
 board/gaisler/gr_cpci_ax2000/Kconfig               |   19 +
 board/gaisler/gr_ep2s60/Kconfig                    |   19 +
 board/gaisler/gr_xc3s_1500/Kconfig                 |   19 +
 board/gaisler/grsim/Kconfig                        |   19 +
 board/gaisler/grsim_leon2/Kconfig                  |   19 +
 board/galaxy5200/Kconfig                           |   39 +
 board/gateworks/gw_ventana/Kconfig                 |  139 ++
 board/gdsys/405ep/Kconfig                          |   79 +
 board/gdsys/405ex/Kconfig                          |   19 +
 board/gdsys/dlvision/Kconfig                       |   19 +
 board/gdsys/gdppc440etx/Kconfig                    |   19 +
 board/gdsys/intip/Kconfig                          |   47 +
 board/gdsys/p1022/Kconfig                          |   95 +
 board/gen860t/Kconfig                              |   35 +
 board/genesi/mx51_efikamx/Kconfig                  |   55 +
 board/gumstix/duovero/Kconfig                      |   23 +
 board/gumstix/pepper/Kconfig                       |   23 +
 board/gw8260/Kconfig                               |   15 +
 board/h2200/Kconfig                                |   15 +
 board/hale/tt01/Kconfig                            |   23 +
 board/hermes/Kconfig                               |   15 +
 board/hidden_dragon/Kconfig                        |   15 +
 board/highbank/Kconfig                             |   19 +
 board/htkw/mcx/Kconfig                             |   23 +
 board/hymod/Kconfig                                |   15 +
 board/ibf-dsp561/Kconfig                           |   15 +
 board/icecube/Kconfig                              |  231 ++
 board/icpdas/lp8x4x/Kconfig                        |   19 +
 board/icu862/Kconfig                               |   35 +
 board/ids/ids8247/Kconfig                          |   19 +
 board/ids/ids8313/Kconfig                          |   23 +
 board/ifm/ac14xx/Kconfig                           |   19 +
 board/ifm/o2dnt2/Kconfig                           |  215 ++
 board/imgtec/malta/Kconfig                         |   47 +
 board/imx31_phycore/Kconfig                        |   43 +
 board/in-circuit/grasshopper/Kconfig               |   23 +
 board/inka4x0/Kconfig                              |   15 +
 board/intercontrol/digsy_mtc/Kconfig               |   91 +
 board/iomega/iconnect/Kconfig                      |   23 +
 board/ip04/Kconfig                                 |   15 +
 board/ip860/Kconfig                                |   15 +
 board/ipek01/Kconfig                               |   15 +
 board/iphase4539/Kconfig                           |   15 +
 board/isee/igep0033/Kconfig                        |   23 +
 board/isee/igep00x0/Kconfig                        |  139 ++
 board/ispan/Kconfig                                |   35 +
 board/ivm/Kconfig                                  |  119 +
 board/jornada/Kconfig                              |   15 +
 board/jse/Kconfig                                  |   15 +
 board/jupiter/Kconfig                              |   15 +
 board/karo/tk71/Kconfig                            |   23 +
 board/karo/tx25/Kconfig                            |   23 +
 board/keymile/km82xx/Kconfig                       |   47 +
 board/keymile/km83xx/Kconfig                       |  191 ++
 board/keymile/km_arm/Kconfig                       |  251 ++
 board/keymile/kmp204x/Kconfig                      |   47 +
 board/kmc/kzm9g/Kconfig                            |   23 +
 board/korat/Kconfig                                |   35 +
 board/kup/kup4k/Kconfig                            |   19 +
 board/kup/kup4x/Kconfig                            |   19 +
 board/logicpd/am3517evm/Kconfig                    |   23 +
 board/logicpd/imx27lite/Kconfig                    |   47 +
 board/logicpd/imx31_litekit/Kconfig                |   23 +
 board/logicpd/omap3som/Kconfig                     |   23 +
 board/logicpd/zoom1/Kconfig                        |   23 +
 board/lwmon/Kconfig                                |   15 +
 board/lwmon5/Kconfig                               |   35 +
 board/manroland/hmi1001/Kconfig                    |   19 +
 board/manroland/mucmc52/Kconfig                    |   19 +
 board/manroland/uc100/Kconfig                      |   19 +
 board/manroland/uc101/Kconfig                      |   19 +
 board/matrix_vision/mergerbox/Kconfig              |   19 +
 board/matrix_vision/mvbc_p/Kconfig                 |   23 +
 board/matrix_vision/mvblm7/Kconfig                 |   19 +
 board/matrix_vision/mvblx/Kconfig                  |   23 +
 board/matrix_vision/mvsmr/Kconfig                  |   19 +
 board/mcc200/Kconfig                               |  235 ++
 board/micronas/vct/Kconfig                         |  287 +++
 board/mimc/mimc200/Kconfig                         |   23 +
 board/miromico/hammerhead/Kconfig                  |   23 +
 board/mosaixtech/icon/Kconfig                      |   19 +
 board/motionpro/Kconfig                            |   15 +
 board/mpc8308_p1m/Kconfig                          |   15 +
 board/mpl/mip405/Kconfig                           |   43 +
 board/mpl/pati/Kconfig                             |   19 +
 board/mpl/pip405/Kconfig                           |   19 +
 board/mpl/vcma9/Kconfig                            |   23 +
 board/mpr2/Kconfig                                 |   15 +
 board/ms7720se/Kconfig                             |   15 +
 board/ms7722se/Kconfig                             |   15 +
 board/ms7750se/Kconfig                             |   15 +
 board/muas3001/Kconfig                             |   35 +
 board/munices/Kconfig                              |   15 +
 board/musenki/Kconfig                              |   15 +
 board/mvblue/Kconfig                               |   15 +
 board/netphone/Kconfig                             |   39 +
 board/netta/Kconfig                                |  155 ++
 board/netta2/Kconfig                               |   39 +
 board/netvia/Kconfig                               |   39 +
 board/nokia/rx51/Kconfig                           |   23 +
 board/nvidia/beaver/Kconfig                        |   24 +
 board/nvidia/cardhu/Kconfig                        |   24 +
 board/nvidia/dalmore/Kconfig                       |   24 +
 board/nvidia/harmony/Kconfig                       |   24 +
 board/nvidia/jetson-tk1/Kconfig                    |   28 +
 board/nvidia/seaboard/Kconfig                      |   24 +
 board/nvidia/venice2/Kconfig                       |   24 +
 board/nvidia/ventana/Kconfig                       |   24 +
 board/nvidia/whistler/Kconfig                      |   24 +
 board/olimex/mx23_olinuxino/Kconfig                |   23 +
 board/omicron/calimain/Kconfig                     |   23 +
 board/openrisc/openrisc-generic/Kconfig            |   19 +
 board/overo/Kconfig                                |   19 +
 board/palmld/Kconfig                               |   15 +
 board/palmtc/Kconfig                               |   15 +
 board/palmtreo680/Kconfig                          |   15 +
 board/pandora/Kconfig                              |   19 +
 board/pb1x00/Kconfig                               |   23 +
 board/pcs440ep/Kconfig                             |   15 +
 board/pdm360ng/Kconfig                             |   15 +
 board/phytec/pcm030/Kconfig                        |   43 +
 board/phytec/pcm051/Kconfig                        |   55 +
 board/pm520/Kconfig                                |   75 +
 board/pm826/Kconfig                                |  159 ++
 board/pm828/Kconfig                                |   75 +
 board/ppcag/bg0900/Kconfig                         |   23 +
 board/ppmc7xx/Kconfig                              |   15 +
 board/ppmc8260/Kconfig                             |   15 +
 board/pr1/Kconfig                                  |   15 +
 board/prodrive/alpr/Kconfig                        |   19 +
 board/prodrive/p3mx/Kconfig                        |   47 +
 board/prodrive/p3p440/Kconfig                      |   19 +
 board/psyent/pci5441/Kconfig                       |   19 +
 board/psyent/pk1c20/Kconfig                        |   19 +
 board/pxa255_idp/Kconfig                           |   15 +
 board/qemu-mips/Kconfig                            |   79 +
 board/quad100hd/Kconfig                            |   15 +
 board/quantum/Kconfig                              |   15 +
 board/r360mpi/Kconfig                              |   15 +
 board/raidsonic/ib62x0/Kconfig                     |   23 +
 board/raspberrypi/rpi_b/Kconfig                    |   23 +
 board/rattler/Kconfig                              |   35 +
 board/rbc823/Kconfig                               |   15 +
 board/renesas/MigoR/Kconfig                        |   19 +
 board/renesas/ap325rxa/Kconfig                     |   19 +
 board/renesas/ecovec/Kconfig                       |   19 +
 board/renesas/koelsch/Kconfig                      |   51 +
 board/renesas/lager/Kconfig                        |   51 +
 board/renesas/r0p7734/Kconfig                      |   19 +
 board/renesas/r2dplus/Kconfig                      |   19 +
 board/renesas/r7780mp/Kconfig                      |   19 +
 board/renesas/rsk7203/Kconfig                      |   19 +
 board/renesas/rsk7264/Kconfig                      |   19 +
 board/renesas/rsk7269/Kconfig                      |   19 +
 board/renesas/sh7752evb/Kconfig                    |   19 +
 board/renesas/sh7753evb/Kconfig                    |   19 +
 board/renesas/sh7757lcr/Kconfig                    |   19 +
 board/renesas/sh7763rdp/Kconfig                    |   19 +
 board/renesas/sh7785lcr/Kconfig                    |   43 +
 board/ronetix/pm9261/Kconfig                       |   27 +
 board/ronetix/pm9263/Kconfig                       |   27 +
 board/ronetix/pm9g45/Kconfig                       |   27 +
 board/sacsng/Kconfig                               |   15 +
 board/samsung/arndale/Kconfig                      |   23 +
 board/samsung/goni/Kconfig                         |   23 +
 board/samsung/origen/Kconfig                       |   23 +
 board/samsung/smdk2410/Kconfig                     |   23 +
 board/samsung/smdk5250/Kconfig                     |   47 +
 board/samsung/smdk5420/Kconfig                     |   23 +
 board/samsung/smdkc100/Kconfig                     |   23 +
 board/samsung/smdkv310/Kconfig                     |   23 +
 board/samsung/trats/Kconfig                        |   23 +
 board/samsung/trats2/Kconfig                       |   23 +
 board/samsung/universal_c210/Kconfig               |   23 +
 board/sandburst/karef/Kconfig                      |   19 +
 board/sandburst/metrobox/Kconfig                   |   19 +
 board/sandisk/sansa_fuze_plus/Kconfig              |   23 +
 board/sandpoint/Kconfig                            |   31 +
 board/sbc405/Kconfig                               |   15 +
 board/sbc8349/Kconfig                              |   55 +
 board/sbc8548/Kconfig                              |   95 +
 board/sbc8641d/Kconfig                             |   15 +
 board/sc3/Kconfig                                  |   15 +
 board/scb9328/Kconfig                              |   19 +
 board/schulercontrol/sc_sps_1/Kconfig              |   23 +
 board/sheldon/simpc8313/Kconfig                    |   47 +
 board/shmin/Kconfig                                |   15 +
 board/siemens/corvus/Kconfig                       |   27 +
 board/siemens/draco/Kconfig                        |   47 +
 board/siemens/pxm2/Kconfig                         |   23 +
 board/siemens/rut/Kconfig                          |   23 +
 board/siemens/taurus/Kconfig                       |   55 +
 board/silica/pengwyn/Kconfig                       |   23 +
 board/sixnet/Kconfig                               |   15 +
 board/snmc/qs850/Kconfig                           |   39 +
 board/snmc/qs860t/Kconfig                          |   19 +
 board/socrates/Kconfig                             |   15 +
 board/solidrun/hummingboard/Kconfig                |   27 +
 board/spc1920/Kconfig                              |   15 +
 board/spd8xx/Kconfig                               |   15 +
 board/spear/spear300/Kconfig                       |  111 +
 board/spear/spear310/Kconfig                       |  167 ++
 board/spear/spear320/Kconfig                       |  167 ++
 board/spear/spear600/Kconfig                       |  111 +
 board/spear/x600/Kconfig                           |   23 +
 board/st-ericsson/snowball/Kconfig                 |   23 +
 board/st-ericsson/u8500/Kconfig                    |   23 +
 board/st/nhk8815/Kconfig                           |   51 +
 board/stx/stxgp3/Kconfig                           |   19 +
 board/stx/stxssa/Kconfig                           |   43 +
 board/stx/stxxtc/Kconfig                           |   19 +
 board/svm_sc8xx/Kconfig                            |   15 +
 board/synopsys/Kconfig                             |   39 +
 board/synopsys/axs101/Kconfig                      |   19 +
 board/syteco/jadecpu/Kconfig                       |   23 +
 board/syteco/zmx25/Kconfig                         |   23 +
 board/t3corp/Kconfig                               |   15 +
 board/taskit/stamp9g20/Kconfig                     |   55 +
 board/tcm-bf518/Kconfig                            |   15 +
 board/tcm-bf537/Kconfig                            |   15 +
 board/technexion/tao3530/Kconfig                   |   51 +
 board/technexion/twister/Kconfig                   |   23 +
 board/teejet/mt_ventoux/Kconfig                    |   23 +
 board/ti/am335x/Kconfig                            |  307 +++
 board/ti/am3517crane/Kconfig                       |   23 +
 board/ti/am43xx/Kconfig                            |   27 +
 board/ti/beagle/Kconfig                            |   27 +
 board/ti/dra7xx/Kconfig                            |   83 +
 board/ti/evm/Kconfig                               |   71 +
 board/ti/k2hk_evm/Kconfig                          |   23 +
 board/ti/omap5912osk/Kconfig                       |   23 +
 board/ti/omap5_uevm/Kconfig                        |   23 +
 board/ti/panda/Kconfig                             |   23 +
 board/ti/sdp3430/Kconfig                           |   23 +
 board/ti/sdp4430/Kconfig                           |   23 +
 board/ti/ti814x/Kconfig                            |   23 +
 board/ti/ti816x/Kconfig                            |   23 +
 board/ti/tnetv107xevm/Kconfig                      |   23 +
 board/timll/devkit3250/Kconfig                     |   23 +
 board/timll/devkit8000/Kconfig                     |   23 +
 board/toradex/colibri_pxa270/Kconfig               |   19 +
 board/toradex/colibri_t20_iris/Kconfig             |   24 +
 board/total5200/Kconfig                            |   79 +
 board/tqc/tqm5200/Kconfig                          |  319 +++
 board/tqc/tqm8260/Kconfig                          |  263 ++
 board/tqc/tqm8272/Kconfig                          |   19 +
 board/tqc/tqm834x/Kconfig                          |   19 +
 board/tqc/tqm8xx/Kconfig                           |  431 ++++
 board/trizepsiv/Kconfig                            |   35 +
 board/ttcontrol/vision2/Kconfig                    |   27 +
 board/udoo/Kconfig                                 |   23 +
 board/utx8245/Kconfig                              |   15 +
 board/v37/Kconfig                                  |   15 +
 board/v38b/Kconfig                                 |   15 +
 board/ve8313/Kconfig                               |   15 +
 board/vpac270/Kconfig                              |   59 +
 board/w7o/Kconfig                                  |   31 +
 board/wandboard/Kconfig                            |   71 +
 board/woodburn/Kconfig                             |   43 +
 board/xaeniax/Kconfig                              |   15 +
 board/xes/xpedite1000/Kconfig                      |   19 +
 board/xes/xpedite517x/Kconfig                      |   19 +
 board/xes/xpedite520x/Kconfig                      |   19 +
 board/xes/xpedite537x/Kconfig                      |   19 +
 board/xes/xpedite550x/Kconfig                      |   19 +
 board/xilinx/microblaze-generic/Kconfig            |   19 +
 board/xilinx/ml507/Kconfig                         |   47 +
 board/xilinx/ppc405-generic/Kconfig                |   47 +
 board/xilinx/ppc440-generic/Kconfig                |   47 +
 board/xilinx/zynq/Kconfig                          |  155 ++
 board/zeus/Kconfig                                 |   15 +
 board/zipitz2/Kconfig                              |   15 +
 board/zpc1900/Kconfig                              |   15 +
 config.mk                                          |   23 +-
 doc/README.SPL                                     |    2 +-
 include/.gitignore                                 |    1 -
 include/configs/B4860QDS.h                         |    2 -
 include/configs/BSC9131RDB.h                       |    2 -
 include/configs/BSC9132QDS.h                       |    2 -
 include/configs/C29XPCIE.h                         |    4 -
 include/configs/MPC8313ERDB.h                      |    1 -
 include/configs/P1010RDB.h                         |    9 -
 include/configs/P1022DS.h                          |    8 -
 include/configs/P1_P2_RDB.h                        |    6 +-
 include/configs/T104xRDB.h                         |    2 -
 include/configs/T208xQDS.h                         |    2 -
 include/configs/T208xRDB.h                         |    2 -
 include/configs/T4240QDS.h                         |    2 -
 include/configs/a3m071.h                           |    2 -
 include/configs/am335x_igep0033.h                  |    2 -
 include/configs/am3517_crane.h                     |    2 -
 include/configs/am3517_evm.h                       |    2 -
 include/configs/am43xx_evm.h                       |    1 -
 include/configs/apf27.h                            |    2 -
 include/configs/arndale.h                          |    2 -
 include/configs/bur_am335x_common.h                |    2 -
 include/configs/cam_enc_4xx.h                      |    2 -
 include/configs/cm_t35.h                           |    2 -
 include/configs/da850evm.h                         |    2 -
 include/configs/devkit8000.h                       |    2 -
 include/configs/exynos5-dt.h                       |    1 -
 include/configs/exynos5250-dt.h                    |    1 -
 include/configs/hawkboard.h                        |    2 -
 include/configs/ipam390.h                          |    2 -
 include/configs/k2hk_evm.h                         |    1 -
 include/configs/lwmon5.h                           |    2 -
 include/configs/m53evk.h                           |    2 -
 include/configs/mcx.h                              |    2 -
 include/configs/microblaze-generic.h               |    2 -
 include/configs/mx31pdk.h                          |    2 -
 include/configs/mxs.h                              |    2 -
 include/configs/omap3_evm_common.h                 |    2 -
 include/configs/origen.h                           |    2 -
 include/configs/p1_p2_rdb_pc.h                     |    8 -
 include/configs/palmtreo680.h                      |    2 -
 include/configs/pcm051.h                           |    2 -
 include/configs/sama5d3xek.h                       |    2 -
 include/configs/siemens-am33x-common.h             |    2 -
 include/configs/smdk5420.h                         |    6 -
 include/configs/smdkv310.h                         |    2 -
 include/configs/socfpga_cyclone5.h                 |    4 -
 include/configs/tam3517-common.h                   |    2 -
 include/configs/tao3530.h                          |    2 -
 include/configs/tegra-common.h                     |    1 -
 include/configs/tegra114-common.h                  |    1 -
 include/configs/tegra124-common.h                  |    1 -
 include/configs/tegra20-common.h                   |    1 -
 include/configs/tegra30-common.h                   |    1 -
 include/configs/ti814x_evm.h                       |    2 -
 include/configs/ti816x_evm.h                       |    2 -
 include/configs/ti_am335x_common.h                 |    1 -
 include/configs/ti_armv7_common.h                  |    1 -
 include/configs/ti_omap3_common.h                  |    1 -
 include/configs/ti_omap4_common.h                  |    1 -
 include/configs/ti_omap5_common.h                  |    1 -
 include/configs/tricorder.h                        |    2 -
 include/configs/tx25.h                             |    2 -
 include/configs/vpac270.h                          |    2 -
 include/configs/woodburn_sd.h                      |    2 -
 include/configs/x600.h                             |    2 -
 include/configs/zynq-common.h                      |    4 -
 include/linux/kconfig.h                            |   46 +
 mkconfig                                           |  192 --
 scripts/Makefile                                   |    2 +-
 scripts/Makefile.autoconf                          |  100 +
 scripts/Makefile.build                             |   31 +-
 scripts/basic/fixdep.c                             |    6 +-
 scripts/kconfig/.gitignore                         |   22 +
 scripts/kconfig/Makefile                           |  326 +++
 scripts/kconfig/POTFILES.in                        |   12 +
 scripts/kconfig/check.sh                           |   14 +
 scripts/kconfig/conf.c                             |  718 ++++++
 scripts/kconfig/confdata.c                         | 1250 ++++++++++
 scripts/kconfig/expr.c                             | 1168 +++++++++
 scripts/kconfig/expr.h                             |  241 ++
 scripts/kconfig/gconf.c                            | 1542 ++++++++++++
 scripts/kconfig/gconf.glade                        |  661 +++++
 scripts/kconfig/images.c                           |  326 +++
 scripts/kconfig/kxgettext.c                        |  235 ++
 scripts/kconfig/list.h                             |  131 +
 scripts/kconfig/lkc.h                              |  200 ++
 scripts/kconfig/lkc_proto.h                        |   57 +
 scripts/kconfig/lxdialog/.gitignore                |    4 +
 scripts/kconfig/lxdialog/BIG.FAT.WARNING           |    4 +
 scripts/kconfig/lxdialog/check-lxdialog.sh         |   87 +
 scripts/kconfig/lxdialog/checklist.c               |  332 +++
 scripts/kconfig/lxdialog/dialog.h                  |  257 ++
 scripts/kconfig/lxdialog/inputbox.c                |  301 +++
 scripts/kconfig/lxdialog/menubox.c                 |  437 ++++
 scripts/kconfig/lxdialog/textbox.c                 |  408 ++++
 scripts/kconfig/lxdialog/util.c                    |  713 ++++++
 scripts/kconfig/lxdialog/yesno.c                   |  114 +
 scripts/kconfig/mconf.c                            | 1037 ++++++++
 scripts/kconfig/menu.c                             |  697 ++++++
 scripts/kconfig/merge_config.sh                    |  150 ++
 scripts/kconfig/nconf.c                            | 1557 ++++++++++++
 scripts/kconfig/nconf.gui.c                        |  656 +++++
 scripts/kconfig/nconf.h                            |   96 +
 scripts/kconfig/qconf.cc                           | 1795 ++++++++++++++
 scripts/kconfig/qconf.h                            |  338 +++
 scripts/kconfig/streamline_config.pl               |  647 +++++
 scripts/kconfig/symbol.c                           | 1373 +++++++++++
 scripts/kconfig/util.c                             |  159 ++
 scripts/kconfig/zconf.gperf                        |   48 +
 scripts/kconfig/zconf.hash.c_shipped               |  289 +++
 scripts/kconfig/zconf.l                            |  363 +++
 scripts/kconfig/zconf.lex.c_shipped                | 2420 +++++++++++++++++++
 scripts/kconfig/zconf.tab.c_shipped                | 2538 ++++++++++++++++++++
 scripts/kconfig/zconf.y                            |  733 ++++++
 scripts/silentoldconfig.sh                         |   71 +
 spl/Makefile                                       |   31 +-
 tools/Makefile                                     |    2 +-
 tools/buildman/board.py                            |    2 +-
 tools/buildman/builder.py                          |    6 +-
 tools/env/Makefile                                 |    2 +-
 tools/genkconfig                                   |  239 ++
 tools/print_allconfigs                             |   77 +
 1966 files changed, 58665 insertions(+), 505 deletions(-)
 create mode 100644 Kconfig
 create mode 100644 arch/arc/Kconfig
 create mode 100644 arch/arc/configs/arcangel4-be_defconfig
 create mode 100644 arch/arc/configs/arcangel4_defconfig
 create mode 100644 arch/arc/configs/axs101_defconfig
 create mode 100644 arch/arm/Kconfig
 create mode 100644 arch/arm/configs/VCMA9_defconfig
 create mode 100644 arch/arm/configs/a320evb_defconfig
 create mode 100644 arch/arm/configs/afeb9260_defconfig
 create mode 100644 arch/arm/configs/am335x_boneblack_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_nor_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_norboot_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_spiboot_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_uart1_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_uart2_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_uart3_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_uart4_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_uart5_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_usbspl_defconfig
 create mode 100644 arch/arm/configs/am335x_igep0033_defconfig
 create mode 100644 arch/arm/configs/am3517_crane_defconfig
 create mode 100644 arch/arm/configs/am3517_evm_defconfig
 create mode 100644 arch/arm/configs/am43xx_evm_defconfig
 create mode 100644 arch/arm/configs/apf27_defconfig
 create mode 100644 arch/arm/configs/apx4devkit_defconfig
 create mode 100644 arch/arm/configs/armadillo-800eva_defconfig
 create mode 100644 arch/arm/configs/arndale_defconfig
 create mode 100644 arch/arm/configs/aspenite_defconfig
 create mode 100644 arch/arm/configs/at91rm9200ek_defconfig
 create mode 100644 arch/arm/configs/at91rm9200ek_ram_defconfig
 create mode 100644 arch/arm/configs/at91sam9260ek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9260ek_dataflash_cs1_defconfig
 create mode 100644 arch/arm/configs/at91sam9260ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9261ek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9261ek_dataflash_cs3_defconfig
 create mode 100644 arch/arm/configs/at91sam9261ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9263ek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9263ek_dataflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9263ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9263ek_norflash_boot_defconfig
 create mode 100644 arch/arm/configs/at91sam9263ek_norflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9g10ek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9g10ek_dataflash_cs3_defconfig
 create mode 100644 arch/arm/configs/at91sam9g10ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9g20ek_2mmc_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9g20ek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9g20ek_dataflash_cs1_defconfig
 create mode 100644 arch/arm/configs/at91sam9g20ek_mmc_defconfig
 create mode 100644 arch/arm/configs/at91sam9g20ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9m10g45ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9n12ek_mmc_defconfig
 create mode 100644 arch/arm/configs/at91sam9n12ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9n12ek_spiflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9rlek_dataflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9rlek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9x5ek_dataflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9x5ek_mmc_defconfig
 create mode 100644 arch/arm/configs/at91sam9x5ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9x5ek_spiflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9xeek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9xeek_dataflash_cs1_defconfig
 create mode 100644 arch/arm/configs/at91sam9xeek_nandflash_defconfig
 create mode 100644 arch/arm/configs/axm_defconfig
 create mode 100644 arch/arm/configs/balloon3_defconfig
 create mode 100644 arch/arm/configs/bcm28155_ap_defconfig
 create mode 100644 arch/arm/configs/beaver_defconfig
 create mode 100644 arch/arm/configs/bg0900_defconfig
 create mode 100644 arch/arm/configs/calimain_defconfig
 create mode 100644 arch/arm/configs/cam_enc_4xx_defconfig
 create mode 100644 arch/arm/configs/cardhu_defconfig
 create mode 100644 arch/arm/configs/cgtqmx6qeval_defconfig
 create mode 100644 arch/arm/configs/cm4008_defconfig
 create mode 100644 arch/arm/configs/cm41xx_defconfig
 create mode 100644 arch/arm/configs/cm_t335_defconfig
 create mode 100644 arch/arm/configs/cm_t35_defconfig
 create mode 100644 arch/arm/configs/cm_t54_defconfig
 create mode 100644 arch/arm/configs/colibri_pxa270_defconfig
 create mode 100644 arch/arm/configs/colibri_t20_iris_defconfig
 create mode 100644 arch/arm/configs/corvus_defconfig
 create mode 100644 arch/arm/configs/cpu9260_128M_defconfig
 create mode 100644 arch/arm/configs/cpu9260_defconfig
 create mode 100644 arch/arm/configs/cpu9260_nand_128M_defconfig
 create mode 100644 arch/arm/configs/cpu9260_nand_defconfig
 create mode 100644 arch/arm/configs/cpu9G20_128M_defconfig
 create mode 100644 arch/arm/configs/cpu9G20_defconfig
 create mode 100644 arch/arm/configs/cpu9G20_nand_128M_defconfig
 create mode 100644 arch/arm/configs/cpu9G20_nand_defconfig
 create mode 100644 arch/arm/configs/cpuat91_defconfig
 create mode 100644 arch/arm/configs/cpuat91_ram_defconfig
 create mode 100644 arch/arm/configs/d2net_v2_defconfig
 create mode 100644 arch/arm/configs/da830evm_defconfig
 create mode 100644 arch/arm/configs/da850_am18xxevm_defconfig
 create mode 100644 arch/arm/configs/da850evm_defconfig
 create mode 100644 arch/arm/configs/da850evm_direct_nor_defconfig
 create mode 100644 arch/arm/configs/dalmore_defconfig
 create mode 100644 arch/arm/configs/davinci_dm355evm_defconfig
 create mode 100644 arch/arm/configs/davinci_dm355leopard_defconfig
 create mode 100644 arch/arm/configs/davinci_dm365evm_defconfig
 create mode 100644 arch/arm/configs/davinci_dm6467Tevm_defconfig
 create mode 100644 arch/arm/configs/davinci_dm6467evm_defconfig
 create mode 100644 arch/arm/configs/davinci_dvevm_defconfig
 create mode 100644 arch/arm/configs/davinci_schmoogie_defconfig
 create mode 100644 arch/arm/configs/davinci_sffsdr_defconfig
 create mode 100644 arch/arm/configs/davinci_sonata_defconfig
 create mode 100644 arch/arm/configs/devkit3250_defconfig
 create mode 100644 arch/arm/configs/devkit8000_defconfig
 create mode 100644 arch/arm/configs/dig297_defconfig
 create mode 100644 arch/arm/configs/dkb_defconfig
 create mode 100644 arch/arm/configs/dns325_defconfig
 create mode 100644 arch/arm/configs/dockstar_defconfig
 create mode 100644 arch/arm/configs/dra7xx_evm_defconfig
 create mode 100644 arch/arm/configs/dra7xx_evm_qspiboot_defconfig
 create mode 100644 arch/arm/configs/dra7xx_evm_uart3_defconfig
 create mode 100644 arch/arm/configs/draco_defconfig
 create mode 100644 arch/arm/configs/dreamplug_defconfig
 create mode 100644 arch/arm/configs/duovero_defconfig
 create mode 100644 arch/arm/configs/dxr2_defconfig
 create mode 100644 arch/arm/configs/ea20_defconfig
 create mode 100644 arch/arm/configs/eb_cpux9k2_defconfig
 create mode 100644 arch/arm/configs/eb_cpux9k2_ram_defconfig
 create mode 100644 arch/arm/configs/eco5pk_defconfig
 create mode 100644 arch/arm/configs/edminiv2_defconfig
 create mode 100644 arch/arm/configs/enbw_cmc_defconfig
 create mode 100644 arch/arm/configs/ethernut5_defconfig
 create mode 100644 arch/arm/configs/flea3_defconfig
 create mode 100644 arch/arm/configs/goflexhome_defconfig
 create mode 100644 arch/arm/configs/gplugd_defconfig
 create mode 100644 arch/arm/configs/guruplug_defconfig
 create mode 100644 arch/arm/configs/gwventanadl1g_defconfig
 create mode 100644 arch/arm/configs/gwventanadl_defconfig
 create mode 100644 arch/arm/configs/gwventanaq1g_defconfig
 create mode 100644 arch/arm/configs/gwventanaq1gspi_defconfig
 create mode 100644 arch/arm/configs/gwventanaq_defconfig
 create mode 100644 arch/arm/configs/h2200_defconfig
 create mode 100644 arch/arm/configs/harmony_defconfig
 create mode 100644 arch/arm/configs/hawkboard_defconfig
 create mode 100644 arch/arm/configs/hawkboard_uart_defconfig
 create mode 100644 arch/arm/configs/highbank_defconfig
 create mode 100644 arch/arm/configs/hummingboard_solo_defconfig
 create mode 100644 arch/arm/configs/ib62x0_defconfig
 create mode 100644 arch/arm/configs/iconnect_defconfig
 create mode 100644 arch/arm/configs/igep0020_defconfig
 create mode 100644 arch/arm/configs/igep0020_nand_defconfig
 create mode 100644 arch/arm/configs/igep0030_defconfig
 create mode 100644 arch/arm/configs/igep0030_nand_defconfig
 create mode 100644 arch/arm/configs/igep0032_defconfig
 create mode 100644 arch/arm/configs/ima3-mx53_defconfig
 create mode 100644 arch/arm/configs/imx27lite_defconfig
 create mode 100644 arch/arm/configs/imx31_litekit_defconfig
 create mode 100644 arch/arm/configs/imx31_phycore_defconfig
 create mode 100644 arch/arm/configs/imx31_phycore_eet_defconfig
 create mode 100644 arch/arm/configs/inetspace_v2_defconfig
 create mode 100644 arch/arm/configs/integratorap_cm720t_defconfig
 create mode 100644 arch/arm/configs/integratorap_cm920t_defconfig
 create mode 100644 arch/arm/configs/integratorap_cm926ejs_defconfig
 create mode 100644 arch/arm/configs/integratorap_cm946es_defconfig
 create mode 100644 arch/arm/configs/integratorcp_cm1136_defconfig
 create mode 100644 arch/arm/configs/integratorcp_cm920t_defconfig
 create mode 100644 arch/arm/configs/integratorcp_cm926ejs_defconfig
 create mode 100644 arch/arm/configs/integratorcp_cm946es_defconfig
 create mode 100644 arch/arm/configs/ipam390_defconfig
 create mode 100644 arch/arm/configs/jadecpu_defconfig
 create mode 100644 arch/arm/configs/jetson-tk1_defconfig
 create mode 100644 arch/arm/configs/jornada_defconfig
 create mode 100644 arch/arm/configs/k2hk_evm_defconfig
 create mode 100644 arch/arm/configs/km_kirkwood_128m16_defconfig
 create mode 100644 arch/arm/configs/km_kirkwood_defconfig
 create mode 100644 arch/arm/configs/km_kirkwood_pci_defconfig
 create mode 100644 arch/arm/configs/kmcoge5un_defconfig
 create mode 100644 arch/arm/configs/kmnusa_defconfig
 create mode 100644 arch/arm/configs/kmsugp1_defconfig
 create mode 100644 arch/arm/configs/kmsuv31_defconfig
 create mode 100644 arch/arm/configs/koelsch_defconfig
 create mode 100644 arch/arm/configs/koelsch_nor_defconfig
 create mode 100644 arch/arm/configs/kwb_defconfig
 create mode 100644 arch/arm/configs/kzm9g_defconfig
 create mode 100644 arch/arm/configs/lager_defconfig
 create mode 100644 arch/arm/configs/lager_nor_defconfig
 create mode 100644 arch/arm/configs/lp8x4x_defconfig
 create mode 100644 arch/arm/configs/lschlv2_defconfig
 create mode 100644 arch/arm/configs/lsxhl_defconfig
 create mode 100644 arch/arm/configs/m28evk_defconfig
 create mode 100644 arch/arm/configs/m53evk_defconfig
 create mode 100644 arch/arm/configs/magnesium_defconfig
 create mode 100644 arch/arm/configs/marsboard_defconfig
 create mode 100644 arch/arm/configs/mcx_defconfig
 create mode 100644 arch/arm/configs/medcom-wide_defconfig
 create mode 100644 arch/arm/configs/meesc_dataflash_defconfig
 create mode 100644 arch/arm/configs/meesc_defconfig
 create mode 100644 arch/arm/configs/mgcoge3un_defconfig
 create mode 100644 arch/arm/configs/mt_ventoux_defconfig
 create mode 100644 arch/arm/configs/mv88f6281gtw_ge_defconfig
 create mode 100644 arch/arm/configs/mx23_olinuxino_defconfig
 create mode 100644 arch/arm/configs/mx23evk_defconfig
 create mode 100644 arch/arm/configs/mx25pdk_defconfig
 create mode 100644 arch/arm/configs/mx28evk_auart_console_defconfig
 create mode 100644 arch/arm/configs/mx28evk_defconfig
 create mode 100644 arch/arm/configs/mx28evk_nand_defconfig
 create mode 100644 arch/arm/configs/mx31ads_defconfig
 create mode 100644 arch/arm/configs/mx31pdk_defconfig
 create mode 100644 arch/arm/configs/mx35pdk_defconfig
 create mode 100644 arch/arm/configs/mx51_efikamx_defconfig
 create mode 100644 arch/arm/configs/mx51_efikasb_defconfig
 create mode 100644 arch/arm/configs/mx51evk_defconfig
 create mode 100644 arch/arm/configs/mx53ard_defconfig
 create mode 100644 arch/arm/configs/mx53evk_defconfig
 create mode 100644 arch/arm/configs/mx53loco_defconfig
 create mode 100644 arch/arm/configs/mx53smd_defconfig
 create mode 100644 arch/arm/configs/mx6dlsabresd_defconfig
 create mode 100644 arch/arm/configs/mx6qarm2_defconfig
 create mode 100644 arch/arm/configs/mx6qsabreauto_defconfig
 create mode 100644 arch/arm/configs/mx6qsabrelite_defconfig
 create mode 100644 arch/arm/configs/mx6qsabresd_defconfig
 create mode 100644 arch/arm/configs/mx6slevk_defconfig
 create mode 100644 arch/arm/configs/net2big_v2_defconfig
 create mode 100644 arch/arm/configs/netspace_lite_v2_defconfig
 create mode 100644 arch/arm/configs/netspace_max_v2_defconfig
 create mode 100644 arch/arm/configs/netspace_mini_v2_defconfig
 create mode 100644 arch/arm/configs/netspace_v2_defconfig
 create mode 100644 arch/arm/configs/nhk8815_defconfig
 create mode 100644 arch/arm/configs/nhk8815_onenand_defconfig
 create mode 100644 arch/arm/configs/nitrogen6dl2g_defconfig
 create mode 100644 arch/arm/configs/nitrogen6dl_defconfig
 create mode 100644 arch/arm/configs/nitrogen6q2g_defconfig
 create mode 100644 arch/arm/configs/nitrogen6q_defconfig
 create mode 100644 arch/arm/configs/nitrogen6s1g_defconfig
 create mode 100644 arch/arm/configs/nitrogen6s_defconfig
 create mode 100644 arch/arm/configs/nokia_rx51_defconfig
 create mode 100644 arch/arm/configs/omap3_beagle_defconfig
 create mode 100644 arch/arm/configs/omap3_evm_defconfig
 create mode 100644 arch/arm/configs/omap3_evm_quick_mmc_defconfig
 create mode 100644 arch/arm/configs/omap3_evm_quick_nand_defconfig
 create mode 100644 arch/arm/configs/omap3_ha_defconfig
 create mode 100644 arch/arm/configs/omap3_logic_defconfig
 create mode 100644 arch/arm/configs/omap3_mvblx_defconfig
 create mode 100644 arch/arm/configs/omap3_overo_defconfig
 create mode 100644 arch/arm/configs/omap3_pandora_defconfig
 create mode 100644 arch/arm/configs/omap3_sdp3430_defconfig
 create mode 100644 arch/arm/configs/omap3_zoom1_defconfig
 create mode 100644 arch/arm/configs/omap4_panda_defconfig
 create mode 100644 arch/arm/configs/omap4_sdp4430_defconfig
 create mode 100644 arch/arm/configs/omap5912osk_defconfig
 create mode 100644 arch/arm/configs/omap5_uevm_defconfig
 create mode 100644 arch/arm/configs/openrd_base_defconfig
 create mode 100644 arch/arm/configs/openrd_client_defconfig
 create mode 100644 arch/arm/configs/openrd_ultimate_defconfig
 create mode 100644 arch/arm/configs/origen_defconfig
 create mode 100644 arch/arm/configs/otc570_dataflash_defconfig
 create mode 100644 arch/arm/configs/otc570_defconfig
 create mode 100644 arch/arm/configs/palmld_defconfig
 create mode 100644 arch/arm/configs/palmtc_defconfig
 create mode 100644 arch/arm/configs/palmtreo680_defconfig
 create mode 100644 arch/arm/configs/paz00_defconfig
 create mode 100644 arch/arm/configs/pcm051_rev1_defconfig
 create mode 100644 arch/arm/configs/pcm051_rev3_defconfig
 create mode 100644 arch/arm/configs/pengwyn_defconfig
 create mode 100644 arch/arm/configs/pepper_defconfig
 create mode 100644 arch/arm/configs/plutux_defconfig
 create mode 100644 arch/arm/configs/pm9261_defconfig
 create mode 100644 arch/arm/configs/pm9263_defconfig
 create mode 100644 arch/arm/configs/pm9g45_defconfig
 create mode 100644 arch/arm/configs/pogo_e02_defconfig
 create mode 100644 arch/arm/configs/polaris_defconfig
 create mode 100644 arch/arm/configs/portl2_defconfig
 create mode 100644 arch/arm/configs/portuxg20_defconfig
 create mode 100644 arch/arm/configs/pxa255_idp_defconfig
 create mode 100644 arch/arm/configs/pxm2_defconfig
 create mode 100644 arch/arm/configs/qong_defconfig
 create mode 100644 arch/arm/configs/rd6281a_defconfig
 create mode 100644 arch/arm/configs/riotboard_defconfig
 create mode 100644 arch/arm/configs/rpi_b_defconfig
 create mode 100644 arch/arm/configs/rut_defconfig
 create mode 100644 arch/arm/configs/s5p_goni_defconfig
 create mode 100644 arch/arm/configs/s5pc210_universal_defconfig
 create mode 100644 arch/arm/configs/sama5d3_xplained_mmc_defconfig
 create mode 100644 arch/arm/configs/sama5d3_xplained_nandflash_defconfig
 create mode 100644 arch/arm/configs/sama5d3xek_mmc_defconfig
 create mode 100644 arch/arm/configs/sama5d3xek_nandflash_defconfig
 create mode 100644 arch/arm/configs/sama5d3xek_spiflash_defconfig
 create mode 100644 arch/arm/configs/sansa_fuze_plus_defconfig
 create mode 100644 arch/arm/configs/sbc35_a9g20_eeprom_defconfig
 create mode 100644 arch/arm/configs/sbc35_a9g20_nandflash_defconfig
 create mode 100644 arch/arm/configs/sc_sps_1_defconfig
 create mode 100644 arch/arm/configs/scb9328_defconfig
 create mode 100644 arch/arm/configs/seaboard_defconfig
 create mode 100644 arch/arm/configs/sheevaplug_defconfig
 create mode 100644 arch/arm/configs/smdk2410_defconfig
 create mode 100644 arch/arm/configs/smdk5250_defconfig
 create mode 100644 arch/arm/configs/smdk5420_defconfig
 create mode 100644 arch/arm/configs/smdkc100_defconfig
 create mode 100644 arch/arm/configs/smdkv310_defconfig
 create mode 100644 arch/arm/configs/snapper9260_defconfig
 create mode 100644 arch/arm/configs/snapper9g20_defconfig
 create mode 100644 arch/arm/configs/snow_defconfig
 create mode 100644 arch/arm/configs/snowball_defconfig
 create mode 100644 arch/arm/configs/socfpga_cyclone5_defconfig
 create mode 100644 arch/arm/configs/spear300_defconfig
 create mode 100644 arch/arm/configs/spear300_nand_defconfig
 create mode 100644 arch/arm/configs/spear300_usbtty_defconfig
 create mode 100644 arch/arm/configs/spear300_usbtty_nand_defconfig
 create mode 100644 arch/arm/configs/spear310_defconfig
 create mode 100644 arch/arm/configs/spear310_nand_defconfig
 create mode 100644 arch/arm/configs/spear310_pnor_defconfig
 create mode 100644 arch/arm/configs/spear310_usbtty_defconfig
 create mode 100644 arch/arm/configs/spear310_usbtty_nand_defconfig
 create mode 100644 arch/arm/configs/spear310_usbtty_pnor_defconfig
 create mode 100644 arch/arm/configs/spear320_defconfig
 create mode 100644 arch/arm/configs/spear320_nand_defconfig
 create mode 100644 arch/arm/configs/spear320_pnor_defconfig
 create mode 100644 arch/arm/configs/spear320_usbtty_defconfig
 create mode 100644 arch/arm/configs/spear320_usbtty_nand_defconfig
 create mode 100644 arch/arm/configs/spear320_usbtty_pnor_defconfig
 create mode 100644 arch/arm/configs/spear600_defconfig
 create mode 100644 arch/arm/configs/spear600_nand_defconfig
 create mode 100644 arch/arm/configs/spear600_usbtty_defconfig
 create mode 100644 arch/arm/configs/spear600_usbtty_nand_defconfig
 create mode 100644 arch/arm/configs/stamp9g20_defconfig
 create mode 100644 arch/arm/configs/tao3530_defconfig
 create mode 100644 arch/arm/configs/taurus_defconfig
 create mode 100644 arch/arm/configs/tec-ng_defconfig
 create mode 100644 arch/arm/configs/tec_defconfig
 create mode 100644 arch/arm/configs/ti814x_evm_defconfig
 create mode 100644 arch/arm/configs/ti816x_evm_defconfig
 create mode 100644 arch/arm/configs/titanium_defconfig
 create mode 100644 arch/arm/configs/tk71_defconfig
 create mode 100644 arch/arm/configs/tnetv107x_evm_defconfig
 create mode 100644 arch/arm/configs/tny_a9260_eeprom_defconfig
 create mode 100644 arch/arm/configs/tny_a9260_nandflash_defconfig
 create mode 100644 arch/arm/configs/tny_a9g20_eeprom_defconfig
 create mode 100644 arch/arm/configs/tny_a9g20_nandflash_defconfig
 create mode 100644 arch/arm/configs/top9000eval_xe_defconfig
 create mode 100644 arch/arm/configs/top9000su_xe_defconfig
 create mode 100644 arch/arm/configs/trats2_defconfig
 create mode 100644 arch/arm/configs/trats_defconfig
 create mode 100644 arch/arm/configs/tricorder_defconfig
 create mode 100644 arch/arm/configs/tricorder_flash_defconfig
 create mode 100644 arch/arm/configs/trimslice_defconfig
 create mode 100644 arch/arm/configs/trizepsiv_defconfig
 create mode 100644 arch/arm/configs/tseries_mmc_defconfig
 create mode 100644 arch/arm/configs/tseries_nand_defconfig
 create mode 100644 arch/arm/configs/tseries_spi_defconfig
 create mode 100644 arch/arm/configs/tt01_defconfig
 create mode 100644 arch/arm/configs/twister_defconfig
 create mode 100644 arch/arm/configs/tx25_defconfig
 create mode 100644 arch/arm/configs/u8500_href_defconfig
 create mode 100644 arch/arm/configs/udoo_quad_defconfig
 create mode 100644 arch/arm/configs/usb_a9263_dataflash_defconfig
 create mode 100644 arch/arm/configs/venice2_defconfig
 create mode 100644 arch/arm/configs/ventana_defconfig
 create mode 100644 arch/arm/configs/versatileab_defconfig
 create mode 100644 arch/arm/configs/versatilepb_defconfig
 create mode 100644 arch/arm/configs/versatileqemu_defconfig
 create mode 100644 arch/arm/configs/vexpress_aemv8a_defconfig
 create mode 100644 arch/arm/configs/vexpress_ca15_tc2_defconfig
 create mode 100644 arch/arm/configs/vexpress_ca5x2_defconfig
 create mode 100644 arch/arm/configs/vexpress_ca9x4_defconfig
 create mode 100644 arch/arm/configs/vf610twr_defconfig
 create mode 100644 arch/arm/configs/vision2_defconfig
 create mode 100644 arch/arm/configs/vl_ma2sc_defconfig
 create mode 100644 arch/arm/configs/vl_ma2sc_ram_defconfig
 create mode 100644 arch/arm/configs/vpac270_nor_128_defconfig
 create mode 100644 arch/arm/configs/vpac270_nor_256_defconfig
 create mode 100644 arch/arm/configs/vpac270_ond_256_defconfig
 create mode 100644 arch/arm/configs/wandboard_dl_defconfig
 create mode 100644 arch/arm/configs/wandboard_quad_defconfig
 create mode 100644 arch/arm/configs/wandboard_solo_defconfig
 create mode 100644 arch/arm/configs/whistler_defconfig
 create mode 100644 arch/arm/configs/wireless_space_defconfig
 create mode 100644 arch/arm/configs/woodburn_defconfig
 create mode 100644 arch/arm/configs/woodburn_sd_defconfig
 create mode 100644 arch/arm/configs/x600_defconfig
 create mode 100644 arch/arm/configs/xaeniax_defconfig
 create mode 100644 arch/arm/configs/xfi3_defconfig
 create mode 100644 arch/arm/configs/zipitz2_defconfig
 create mode 100644 arch/arm/configs/zmx25_defconfig
 create mode 100644 arch/arm/configs/zynq_microzed_defconfig
 create mode 100644 arch/arm/configs/zynq_zc70x_defconfig
 create mode 100644 arch/arm/configs/zynq_zc770_xm010_defconfig
 create mode 100644 arch/arm/configs/zynq_zc770_xm012_defconfig
 create mode 100644 arch/arm/configs/zynq_zc770_xm013_defconfig
 create mode 100644 arch/arm/configs/zynq_zed_defconfig
 create mode 100644 arch/avr32/Kconfig
 create mode 100644 arch/avr32/configs/atngw100_defconfig
 create mode 100644 arch/avr32/configs/atngw100mkii_defconfig
 create mode 100644 arch/avr32/configs/atstk1002_defconfig
 create mode 100644 arch/avr32/configs/atstk1003_defconfig
 create mode 100644 arch/avr32/configs/atstk1004_defconfig
 create mode 100644 arch/avr32/configs/atstk1006_defconfig
 create mode 100644 arch/avr32/configs/favr-32-ezkit_defconfig
 create mode 100644 arch/avr32/configs/grasshopper_defconfig
 create mode 100644 arch/avr32/configs/hammerhead_defconfig
 create mode 100644 arch/avr32/configs/mimc200_defconfig
 create mode 100644 arch/blackfin/Kconfig
 create mode 100644 arch/blackfin/configs/bct-brettl2_defconfig
 create mode 100644 arch/blackfin/configs/bf506f-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf518f-ezbrd_defconfig
 create mode 100644 arch/blackfin/configs/bf525-ucr2_defconfig
 create mode 100644 arch/blackfin/configs/bf526-ezbrd_defconfig
 create mode 100644 arch/blackfin/configs/bf527-ad7160-eval_defconfig
 create mode 100644 arch/blackfin/configs/bf527-ezkit-v2_defconfig
 create mode 100644 arch/blackfin/configs/bf527-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf527-sdp_defconfig
 create mode 100644 arch/blackfin/configs/bf533-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf533-stamp_defconfig
 create mode 100644 arch/blackfin/configs/bf537-minotaur_defconfig
 create mode 100644 arch/blackfin/configs/bf537-pnav_defconfig
 create mode 100644 arch/blackfin/configs/bf537-srv1_defconfig
 create mode 100644 arch/blackfin/configs/bf537-stamp_defconfig
 create mode 100644 arch/blackfin/configs/bf538f-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf548-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf561-acvilon_defconfig
 create mode 100644 arch/blackfin/configs/bf561-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf609-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/blackstamp_defconfig
 create mode 100644 arch/blackfin/configs/blackvme_defconfig
 create mode 100644 arch/blackfin/configs/br4_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf527_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf533_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf537e_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf537u_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf548_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf561_defconfig
 create mode 100644 arch/blackfin/configs/dnp5370_defconfig
 create mode 100644 arch/blackfin/configs/ibf-dsp561_defconfig
 create mode 100644 arch/blackfin/configs/ip04_defconfig
 create mode 100644 arch/blackfin/configs/pr1_defconfig
 create mode 100644 arch/blackfin/configs/tcm-bf518_defconfig
 create mode 100644 arch/blackfin/configs/tcm-bf537_defconfig
 create mode 100644 arch/m68k/Kconfig
 create mode 100644 arch/m68k/configs/M5208EVBE_defconfig
 create mode 100644 arch/m68k/configs/M52277EVB_defconfig
 create mode 100644 arch/m68k/configs/M52277EVB_stmicro_defconfig
 create mode 100644 arch/m68k/configs/M5235EVB_Flash32_defconfig
 create mode 100644 arch/m68k/configs/M5235EVB_defconfig
 create mode 100644 arch/m68k/configs/M5249EVB_defconfig
 create mode 100644 arch/m68k/configs/M5253DEMO_defconfig
 create mode 100644 arch/m68k/configs/M5253EVBE_defconfig
 create mode 100644 arch/m68k/configs/M5272C3_defconfig
 create mode 100644 arch/m68k/configs/M5275EVB_defconfig
 create mode 100644 arch/m68k/configs/M5282EVB_defconfig
 create mode 100644 arch/m68k/configs/M53017EVB_defconfig
 create mode 100644 arch/m68k/configs/M5329AFEE_defconfig
 create mode 100644 arch/m68k/configs/M5329BFEE_defconfig
 create mode 100644 arch/m68k/configs/M5373EVB_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_nand_mii_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_nand_rmii_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_nand_rmii_lowfreq_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_serial_mii_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_serial_rmii_defconfig
 create mode 100644 arch/m68k/configs/M54451EVB_defconfig
 create mode 100644 arch/m68k/configs/M54451EVB_stmicro_defconfig
 create mode 100644 arch/m68k/configs/M54455EVB_a66_defconfig
 create mode 100644 arch/m68k/configs/M54455EVB_defconfig
 create mode 100644 arch/m68k/configs/M54455EVB_i66_defconfig
 create mode 100644 arch/m68k/configs/M54455EVB_intel_defconfig
 create mode 100644 arch/m68k/configs/M54455EVB_stm33_defconfig
 create mode 100644 arch/m68k/configs/M5475AFE_defconfig
 create mode 100644 arch/m68k/configs/M5475BFE_defconfig
 create mode 100644 arch/m68k/configs/M5475CFE_defconfig
 create mode 100644 arch/m68k/configs/M5475DFE_defconfig
 create mode 100644 arch/m68k/configs/M5475EFE_defconfig
 create mode 100644 arch/m68k/configs/M5475FFE_defconfig
 create mode 100644 arch/m68k/configs/M5475GFE_defconfig
 create mode 100644 arch/m68k/configs/M5485AFE_defconfig
 create mode 100644 arch/m68k/configs/M5485BFE_defconfig
 create mode 100644 arch/m68k/configs/M5485CFE_defconfig
 create mode 100644 arch/m68k/configs/M5485DFE_defconfig
 create mode 100644 arch/m68k/configs/M5485EFE_defconfig
 create mode 100644 arch/m68k/configs/M5485FFE_defconfig
 create mode 100644 arch/m68k/configs/M5485GFE_defconfig
 create mode 100644 arch/m68k/configs/M5485HFE_defconfig
 create mode 100644 arch/m68k/configs/TASREG_defconfig
 create mode 100644 arch/m68k/configs/astro_mcf5373l_defconfig
 create mode 100644 arch/m68k/configs/cobra5272_defconfig
 create mode 100644 arch/m68k/configs/eb_cpu5282_defconfig
 create mode 100644 arch/m68k/configs/eb_cpu5282_internal_defconfig
 create mode 100644 arch/microblaze/Kconfig
 create mode 100644 arch/microblaze/configs/microblaze-generic_defconfig
 create mode 100644 arch/mips/Kconfig
 create mode 100644 arch/mips/configs/dbau1000_defconfig
 create mode 100644 arch/mips/configs/dbau1100_defconfig
 create mode 100644 arch/mips/configs/dbau1500_defconfig
 create mode 100644 arch/mips/configs/dbau1550_defconfig
 create mode 100644 arch/mips/configs/dbau1550_el_defconfig
 create mode 100644 arch/mips/configs/malta_defconfig
 create mode 100644 arch/mips/configs/maltael_defconfig
 create mode 100644 arch/mips/configs/pb1000_defconfig
 create mode 100644 arch/mips/configs/qemu_mips64_defconfig
 create mode 100644 arch/mips/configs/qemu_mips64el_defconfig
 create mode 100644 arch/mips/configs/qemu_mips_defconfig
 create mode 100644 arch/mips/configs/qemu_mipsel_defconfig
 create mode 100644 arch/mips/configs/vct_platinum_defconfig
 create mode 100644 arch/mips/configs/vct_platinum_onenand_defconfig
 create mode 100644 arch/mips/configs/vct_platinum_onenand_small_defconfig
 create mode 100644 arch/mips/configs/vct_platinum_small_defconfig
 create mode 100644 arch/mips/configs/vct_platinumavc_defconfig
 create mode 100644 arch/mips/configs/vct_platinumavc_onenand_defconfig
 create mode 100644 arch/mips/configs/vct_platinumavc_onenand_small_defconfig
 create mode 100644 arch/mips/configs/vct_platinumavc_small_defconfig
 create mode 100644 arch/mips/configs/vct_premium_defconfig
 create mode 100644 arch/mips/configs/vct_premium_onenand_defconfig
 create mode 100644 arch/mips/configs/vct_premium_onenand_small_defconfig
 create mode 100644 arch/mips/configs/vct_premium_small_defconfig
 create mode 100644 arch/nds32/Kconfig
 create mode 100644 arch/nds32/configs/adp-ag101_defconfig
 create mode 100644 arch/nds32/configs/adp-ag101p_defconfig
 create mode 100644 arch/nds32/configs/adp-ag102_defconfig
 create mode 100644 arch/nios2/Kconfig
 create mode 100644 arch/nios2/configs/PCI5441_defconfig
 create mode 100644 arch/nios2/configs/PK1C20_defconfig
 create mode 100644 arch/nios2/configs/nios2-generic_defconfig
 create mode 100644 arch/openrisc/Kconfig
 create mode 100644 arch/openrisc/configs/openrisc-generic_defconfig
 create mode 100644 arch/powerpc/Kconfig
 create mode 100644 arch/powerpc/configs/A3000_defconfig
 create mode 100644 arch/powerpc/configs/APC405_defconfig
 create mode 100644 arch/powerpc/configs/AR405_defconfig
 create mode 100644 arch/powerpc/configs/ASH405_defconfig
 create mode 100644 arch/powerpc/configs/AdderII_defconfig
 create mode 100644 arch/powerpc/configs/Adder_defconfig
 create mode 100644 arch/powerpc/configs/B4420QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/B4420QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/B4420QDS_defconfig
 create mode 100644 arch/powerpc/configs/B4860QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/B4860QDS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/B4860QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/B4860QDS_defconfig
 create mode 100644 arch/powerpc/configs/BC3450_defconfig
 create mode 100644 arch/powerpc/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9131RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9131RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
 create mode 100644 arch/powerpc/configs/C29XPCIE_NAND_defconfig
 create mode 100644 arch/powerpc/configs/C29XPCIE_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/C29XPCIE_defconfig
 create mode 100644 arch/powerpc/configs/CATcenter_25_defconfig
 create mode 100644 arch/powerpc/configs/CATcenter_33_defconfig
 create mode 100644 arch/powerpc/configs/CATcenter_defconfig
 create mode 100644 arch/powerpc/configs/CMS700_defconfig
 create mode 100644 arch/powerpc/configs/CPC45_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/CPC45_defconfig
 create mode 100644 arch/powerpc/configs/CPCI2DP_defconfig
 create mode 100644 arch/powerpc/configs/CPCI4052_defconfig
 create mode 100644 arch/powerpc/configs/CPCI405AB_defconfig
 create mode 100644 arch/powerpc/configs/CPCI405DT_defconfig
 create mode 100644 arch/powerpc/configs/CPCI405_defconfig
 create mode 100644 arch/powerpc/configs/CPCI750_defconfig
 create mode 100644 arch/powerpc/configs/CPCIISER4_defconfig
 create mode 100644 arch/powerpc/configs/CPU86_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/CPU86_defconfig
 create mode 100644 arch/powerpc/configs/CPU87_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/CPU87_defconfig
 create mode 100644 arch/powerpc/configs/CRAYL1_defconfig
 create mode 100644 arch/powerpc/configs/CU824_defconfig
 create mode 100644 arch/powerpc/configs/DB64360_defconfig
 create mode 100644 arch/powerpc/configs/DB64460_defconfig
 create mode 100644 arch/powerpc/configs/DP405_defconfig
 create mode 100644 arch/powerpc/configs/DU405_defconfig
 create mode 100644 arch/powerpc/configs/DU440_defconfig
 create mode 100644 arch/powerpc/configs/ELPPC_defconfig
 create mode 100644 arch/powerpc/configs/ELPT860_defconfig
 create mode 100644 arch/powerpc/configs/ESTEEM192E_defconfig
 create mode 100644 arch/powerpc/configs/EVAL5200_defconfig
 create mode 100644 arch/powerpc/configs/FLAGADM_defconfig
 create mode 100644 arch/powerpc/configs/FPS850L_defconfig
 create mode 100644 arch/powerpc/configs/FPS860L_defconfig
 create mode 100644 arch/powerpc/configs/G2000_defconfig
 create mode 100644 arch/powerpc/configs/GEN860T_SC_defconfig
 create mode 100644 arch/powerpc/configs/GEN860T_defconfig
 create mode 100644 arch/powerpc/configs/HH405_defconfig
 create mode 100644 arch/powerpc/configs/HIDDEN_DRAGON_defconfig
 create mode 100644 arch/powerpc/configs/HUB405_defconfig
 create mode 100644 arch/powerpc/configs/HWW1U1A_defconfig
 create mode 100644 arch/powerpc/configs/ICU862_100MHz_defconfig
 create mode 100644 arch/powerpc/configs/ICU862_defconfig
 create mode 100644 arch/powerpc/configs/IDS8247_defconfig
 create mode 100644 arch/powerpc/configs/IP860_defconfig
 create mode 100644 arch/powerpc/configs/IPHASE4539_defconfig
 create mode 100644 arch/powerpc/configs/ISPAN_REVB_defconfig
 create mode 100644 arch/powerpc/configs/ISPAN_defconfig
 create mode 100644 arch/powerpc/configs/IVML24_128_defconfig
 create mode 100644 arch/powerpc/configs/IVML24_256_defconfig
 create mode 100644 arch/powerpc/configs/IVML24_defconfig
 create mode 100644 arch/powerpc/configs/IVMS8_128_defconfig
 create mode 100644 arch/powerpc/configs/IVMS8_256_defconfig
 create mode 100644 arch/powerpc/configs/IVMS8_defconfig
 create mode 100644 arch/powerpc/configs/JSE_defconfig
 create mode 100644 arch/powerpc/configs/KAREF_defconfig
 create mode 100644 arch/powerpc/configs/KUP4K_defconfig
 create mode 100644 arch/powerpc/configs/KUP4X_defconfig
 create mode 100644 arch/powerpc/configs/Lite5200_LOWBOOT08_defconfig
 create mode 100644 arch/powerpc/configs/Lite5200_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/Lite5200_defconfig
 create mode 100644 arch/powerpc/configs/MERGERBOX_defconfig
 create mode 100644 arch/powerpc/configs/METROBOX_defconfig
 create mode 100644 arch/powerpc/configs/MHPC_defconfig
 create mode 100644 arch/powerpc/configs/MINI5200_defconfig
 create mode 100644 arch/powerpc/configs/MIP405T_defconfig
 create mode 100644 arch/powerpc/configs/MIP405_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_33MHz_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_33MHz_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_40MHz_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_40MHz_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/MPC8266ADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8272ADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8272ADS_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/MPC8308RDB_defconfig
 create mode 100644 arch/powerpc/configs/MPC8313ERDB_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8313ERDB_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC8313ERDB_NAND_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8313ERDB_NAND_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC8315ERDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/MPC8315ERDB_defconfig
 create mode 100644 arch/powerpc/configs/MPC8323ERDB_defconfig
 create mode 100644 arch/powerpc/configs/MPC832XEMDS_ATM_defconfig
 create mode 100644 arch/powerpc/configs/MPC832XEMDS_HOST_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC832XEMDS_HOST_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC832XEMDS_SLAVE_defconfig
 create mode 100644 arch/powerpc/configs/MPC832XEMDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8349EMDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8349ITXGP_defconfig
 create mode 100644 arch/powerpc/configs/MPC8349ITX_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/MPC8349ITX_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_33_ATM_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_33_HOST_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_33_HOST_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_33_SLAVE_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_66_ATM_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_66_HOST_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_66_HOST_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_66_SLAVE_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360ERDK_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360ERDK_defconfig
 create mode 100644 arch/powerpc/configs/MPC837XEMDS_HOST_defconfig
 create mode 100644 arch/powerpc/configs/MPC837XEMDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC837XERDB_defconfig
 create mode 100644 arch/powerpc/configs/MPC8536DS_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/MPC8536DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/MPC8536DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/MPC8536DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/MPC8536DS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8540ADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8541CDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8541CDS_legacy_defconfig
 create mode 100644 arch/powerpc/configs/MPC8544DS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8548CDS_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/MPC8548CDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8548CDS_legacy_defconfig
 create mode 100644 arch/powerpc/configs/MPC8555CDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8555CDS_legacy_defconfig
 create mode 100644 arch/powerpc/configs/MPC8560ADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8568MDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8569MDS_ATM_defconfig
 create mode 100644 arch/powerpc/configs/MPC8569MDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/MPC8569MDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8572DS_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/MPC8572DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/MPC8572DS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8610HPCD_defconfig
 create mode 100644 arch/powerpc/configs/MPC8641HPCN_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/MPC8641HPCN_defconfig
 create mode 100644 arch/powerpc/configs/MPC86xADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC885ADS_defconfig
 create mode 100644 arch/powerpc/configs/MUSENKI_defconfig
 create mode 100644 arch/powerpc/configs/MVBC_P_defconfig
 create mode 100644 arch/powerpc/configs/MVBLM7_defconfig
 create mode 100644 arch/powerpc/configs/MVBLUE_defconfig
 create mode 100644 arch/powerpc/configs/MVSMR_defconfig
 create mode 100644 arch/powerpc/configs/MiniFAP_defconfig
 create mode 100644 arch/powerpc/configs/NETPHONE_V2_defconfig
 create mode 100644 arch/powerpc/configs/NETPHONE_defconfig
 create mode 100644 arch/powerpc/configs/NETTA2_V2_defconfig
 create mode 100644 arch/powerpc/configs/NETTA2_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_6412_SWAPHOOK_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_6412_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_ISDN_6412_SWAPHOOK_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_ISDN_6412_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_ISDN_SWAPHOOK_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_ISDN_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_SWAPHOOK_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_defconfig
 create mode 100644 arch/powerpc/configs/NETVIA_V2_defconfig
 create mode 100644 arch/powerpc/configs/NETVIA_defconfig
 create mode 100644 arch/powerpc/configs/NSCU_defconfig
 create mode 100644 arch/powerpc/configs/O2D300_defconfig
 create mode 100644 arch/powerpc/configs/O2DNT2_RAMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/O2DNT2_defconfig
 create mode 100644 arch/powerpc/configs/O2D_defconfig
 create mode 100644 arch/powerpc/configs/O2I_defconfig
 create mode 100644 arch/powerpc/configs/O2MNT_O2M110_defconfig
 create mode 100644 arch/powerpc/configs/O2MNT_O2M112_defconfig
 create mode 100644 arch/powerpc/configs/O2MNT_O2M113_defconfig
 create mode 100644 arch/powerpc/configs/O2MNT_defconfig
 create mode 100644 arch/powerpc/configs/O3DNT_defconfig
 create mode 100644 arch/powerpc/configs/OCRTC_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_NOR_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_NOR_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_NOR_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_NOR_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_defconfig
 create mode 100644 arch/powerpc/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020MBG-PC_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020MBG-PC_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PD_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_defconfig
 create mode 100644 arch/powerpc/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020UTM-PC_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020UTM-PC_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_defconfig
 create mode 100644 arch/powerpc/configs/P1023RDB_defconfig
 create mode 100644 arch/powerpc/configs/P1023RDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1023RDS_defconfig
 create mode 100644 arch/powerpc/configs/P1024RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1024RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1024RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1024RDB_defconfig
 create mode 100644 arch/powerpc/configs/P1025RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1025RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1025RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1025RDB_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_defconfig
 create mode 100644 arch/powerpc/configs/P2020COME_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020COME_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020DS_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P2020DS_DDR2_defconfig
 create mode 100644 arch/powerpc/configs/P2020DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020DS_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_defconfig
 create mode 100644 arch/powerpc/configs/P3G4_defconfig
 create mode 100644 arch/powerpc/configs/P4080DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P4080DS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P4080DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P4080DS_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_defconfig
 create mode 100644 arch/powerpc/configs/P5040DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P5040DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P5040DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P5040DS_defconfig
 create mode 100644 arch/powerpc/configs/PATI_defconfig
 create mode 100644 arch/powerpc/configs/PCI405_defconfig
 create mode 100644 arch/powerpc/configs/PIP405_defconfig
 create mode 100644 arch/powerpc/configs/PLU405_defconfig
 create mode 100644 arch/powerpc/configs/PM520_DDR_defconfig
 create mode 100644 arch/powerpc/configs/PM520_ROMBOOT_DDR_defconfig
 create mode 100644 arch/powerpc/configs/PM520_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/PM520_defconfig
 create mode 100644 arch/powerpc/configs/PM825_BIGFLASH_defconfig
 create mode 100644 arch/powerpc/configs/PM825_ROMBOOT_BIGFLASH_defconfig
 create mode 100644 arch/powerpc/configs/PM825_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/PM825_defconfig
 create mode 100644 arch/powerpc/configs/PM826_BIGFLASH_defconfig
 create mode 100644 arch/powerpc/configs/PM826_ROMBOOT_BIGFLASH_defconfig
 create mode 100644 arch/powerpc/configs/PM826_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/PM826_defconfig
 create mode 100644 arch/powerpc/configs/PM828_PCI_defconfig
 create mode 100644 arch/powerpc/configs/PM828_ROMBOOT_PCI_defconfig
 create mode 100644 arch/powerpc/configs/PM828_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/PM828_defconfig
 create mode 100644 arch/powerpc/configs/PMC405DE_defconfig
 create mode 100644 arch/powerpc/configs/PMC405_defconfig
 create mode 100644 arch/powerpc/configs/PMC440_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_BA_25_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_BA_33_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_HI_25_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_HI_33_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_ME_25_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_ME_33_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-VR_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-VR_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-ZU_66MHz_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-ZU_66MHz_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-ZU_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-ZU_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/QS823_defconfig
 create mode 100644 arch/powerpc/configs/QS850_defconfig
 create mode 100644 arch/powerpc/configs/QS860T_defconfig
 create mode 100644 arch/powerpc/configs/R360MPI_defconfig
 create mode 100644 arch/powerpc/configs/RBC823_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_64_LCD_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_64_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_LCD_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_NVRAM_64_LCD_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_NVRAM_64_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_NVRAM_LCD_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_NVRAM_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_defconfig
 create mode 100644 arch/powerpc/configs/RRvision_LCD_defconfig
 create mode 100644 arch/powerpc/configs/RRvision_defconfig
 create mode 100644 arch/powerpc/configs/Rattler8248_defconfig
 create mode 100644 arch/powerpc/configs/Rattler_defconfig
 create mode 100644 arch/powerpc/configs/SIMPC8313_LP_defconfig
 create mode 100644 arch/powerpc/configs/SIMPC8313_SP_defconfig
 create mode 100644 arch/powerpc/configs/SM850_defconfig
 create mode 100644 arch/powerpc/configs/SPD823TS_defconfig
 create mode 100644 arch/powerpc/configs/SXNI855T_defconfig
 create mode 100644 arch/powerpc/configs/Sandpoint8240_defconfig
 create mode 100644 arch/powerpc/configs/Sandpoint8245_defconfig
 create mode 100644 arch/powerpc/configs/T1040QDS_D4_defconfig
 create mode 100644 arch/powerpc/configs/T1040QDS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T1040QDS_defconfig
 create mode 100644 arch/powerpc/configs/T1040RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T1040RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T1040RDB_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T1040RDB_defconfig
 create mode 100644 arch/powerpc/configs/T1042RDB_PI_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T1042RDB_PI_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_defconfig
 create mode 100644 arch/powerpc/configs/T2081QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T2081QDS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T2081QDS_defconfig
 create mode 100644 arch/powerpc/configs/T4160QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T4160QDS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T4160QDS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T4160QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T4160QDS_defconfig
 create mode 100644 arch/powerpc/configs/T4160RDB_defconfig
 create mode 100644 arch/powerpc/configs/T4240EMU_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_defconfig
 create mode 100644 arch/powerpc/configs/T4240RDB_defconfig
 create mode 100644 arch/powerpc/configs/TB5200_B_defconfig
 create mode 100644 arch/powerpc/configs/TB5200_defconfig
 create mode 100644 arch/powerpc/configs/TK885D_defconfig
 create mode 100644 arch/powerpc/configs/TOP5200_defconfig
 create mode 100644 arch/powerpc/configs/TOP860_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200S_HIGHBOOT_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200S_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200_B_HIGHBOOT_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200_B_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200_STK100_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200_defconfig
 create mode 100644 arch/powerpc/configs/TQM823L_LCD_defconfig
 create mode 100644 arch/powerpc/configs/TQM823L_defconfig
 create mode 100644 arch/powerpc/configs/TQM823M_defconfig
 create mode 100644 arch/powerpc/configs/TQM8255_AA_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AA_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AB_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AC_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AD_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AE_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AF_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AG_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AH_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AI_defconfig
 create mode 100644 arch/powerpc/configs/TQM8265_AA_defconfig
 create mode 100644 arch/powerpc/configs/TQM8272_defconfig
 create mode 100644 arch/powerpc/configs/TQM834x_defconfig
 create mode 100644 arch/powerpc/configs/TQM850L_defconfig
 create mode 100644 arch/powerpc/configs/TQM850M_defconfig
 create mode 100644 arch/powerpc/configs/TQM855L_defconfig
 create mode 100644 arch/powerpc/configs/TQM855M_defconfig
 create mode 100644 arch/powerpc/configs/TQM860L_defconfig
 create mode 100644 arch/powerpc/configs/TQM860M_defconfig
 create mode 100644 arch/powerpc/configs/TQM862L_defconfig
 create mode 100644 arch/powerpc/configs/TQM862M_defconfig
 create mode 100644 arch/powerpc/configs/TQM866M_defconfig
 create mode 100644 arch/powerpc/configs/TQM885D_defconfig
 create mode 100644 arch/powerpc/configs/TTTech_defconfig
 create mode 100644 arch/powerpc/configs/TWR-P1025_defconfig
 create mode 100644 arch/powerpc/configs/Total5200_Rev2_defconfig
 create mode 100644 arch/powerpc/configs/Total5200_Rev2_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/Total5200_defconfig
 create mode 100644 arch/powerpc/configs/Total5200_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/VOH405_defconfig
 create mode 100644 arch/powerpc/configs/VOM405_defconfig
 create mode 100644 arch/powerpc/configs/VoVPN-GW_66MHz_defconfig
 create mode 100644 arch/powerpc/configs/W7OLMC_defconfig
 create mode 100644 arch/powerpc/configs/W7OLMG_defconfig
 create mode 100644 arch/powerpc/configs/WUH405_defconfig
 create mode 100644 arch/powerpc/configs/ZPC1900_defconfig
 create mode 100644 arch/powerpc/configs/ZUMA_defconfig
 create mode 100644 arch/powerpc/configs/a3m071_defconfig
 create mode 100644 arch/powerpc/configs/a4m072_defconfig
 create mode 100644 arch/powerpc/configs/a4m2k_defconfig
 create mode 100644 arch/powerpc/configs/ac14xx_defconfig
 create mode 100644 arch/powerpc/configs/acadia_defconfig
 create mode 100644 arch/powerpc/configs/aev_defconfig
 create mode 100644 arch/powerpc/configs/alpr_defconfig
 create mode 100644 arch/powerpc/configs/arches_defconfig
 create mode 100644 arch/powerpc/configs/aria_defconfig
 create mode 100644 arch/powerpc/configs/atc_defconfig
 create mode 100644 arch/powerpc/configs/bamboo_defconfig
 create mode 100644 arch/powerpc/configs/bluestone_defconfig
 create mode 100644 arch/powerpc/configs/bubinga_defconfig
 create mode 100644 arch/powerpc/configs/caddy2_defconfig
 create mode 100644 arch/powerpc/configs/cam5200_defconfig
 create mode 100644 arch/powerpc/configs/cam5200_niosflash_defconfig
 create mode 100644 arch/powerpc/configs/canmb_defconfig
 create mode 100644 arch/powerpc/configs/canyonlands_defconfig
 create mode 100644 arch/powerpc/configs/charon_defconfig
 create mode 100644 arch/powerpc/configs/cm5200_defconfig
 create mode 100644 arch/powerpc/configs/cmi_mpc5xx_defconfig
 create mode 100644 arch/powerpc/configs/cogent_mpc8260_defconfig
 create mode 100644 arch/powerpc/configs/cogent_mpc8xx_defconfig
 create mode 100644 arch/powerpc/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
 create mode 100644 arch/powerpc/configs/controlcenterd_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
 create mode 100644 arch/powerpc/configs/controlcenterd_TRAILBLAZER_defconfig
 create mode 100644 arch/powerpc/configs/cpci5200_defconfig
 create mode 100644 arch/powerpc/configs/csb272_defconfig
 create mode 100644 arch/powerpc/configs/csb472_defconfig
 create mode 100644 arch/powerpc/configs/debris_defconfig
 create mode 100644 arch/powerpc/configs/devconcenter_defconfig
 create mode 100644 arch/powerpc/configs/digsy_mtc_RAMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/digsy_mtc_defconfig
 create mode 100644 arch/powerpc/configs/digsy_mtc_rev5_RAMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/digsy_mtc_rev5_defconfig
 create mode 100644 arch/powerpc/configs/dlvision-10g_defconfig
 create mode 100644 arch/powerpc/configs/dlvision_defconfig
 create mode 100644 arch/powerpc/configs/eXalion_defconfig
 create mode 100644 arch/powerpc/configs/ebony_defconfig
 create mode 100644 arch/powerpc/configs/ep8248_defconfig
 create mode 100644 arch/powerpc/configs/ep8260_defconfig
 create mode 100644 arch/powerpc/configs/ep82xxm_defconfig
 create mode 100644 arch/powerpc/configs/fo300_defconfig
 create mode 100644 arch/powerpc/configs/fx12mm_defconfig
 create mode 100644 arch/powerpc/configs/fx12mm_flash_defconfig
 create mode 100644 arch/powerpc/configs/galaxy5200_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/galaxy5200_defconfig
 create mode 100644 arch/powerpc/configs/gdppc440etx_defconfig
 create mode 100644 arch/powerpc/configs/glacier_defconfig
 create mode 100644 arch/powerpc/configs/gw8260_defconfig
 create mode 100644 arch/powerpc/configs/haleakala_defconfig
 create mode 100644 arch/powerpc/configs/hermes_defconfig
 create mode 100644 arch/powerpc/configs/hmi1001_defconfig
 create mode 100644 arch/powerpc/configs/hymod_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_DDR_LOWBOOT08_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_DDR_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_DDR_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_LOWBOOT08_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_defconfig
 create mode 100644 arch/powerpc/configs/icon_defconfig
 create mode 100644 arch/powerpc/configs/ids8313_defconfig
 create mode 100644 arch/powerpc/configs/inka4x0_defconfig
 create mode 100644 arch/powerpc/configs/intip_defconfig
 create mode 100644 arch/powerpc/configs/io64_defconfig
 create mode 100644 arch/powerpc/configs/io_defconfig
 create mode 100644 arch/powerpc/configs/iocon_defconfig
 create mode 100644 arch/powerpc/configs/ipek01_defconfig
 create mode 100644 arch/powerpc/configs/jupiter_defconfig
 create mode 100644 arch/powerpc/configs/katmai_defconfig
 create mode 100644 arch/powerpc/configs/kilauea_defconfig
 create mode 100644 arch/powerpc/configs/kmcoge4_defconfig
 create mode 100644 arch/powerpc/configs/kmcoge5ne_defconfig
 create mode 100644 arch/powerpc/configs/kmeter1_defconfig
 create mode 100644 arch/powerpc/configs/kmlion1_defconfig
 create mode 100644 arch/powerpc/configs/kmopti2_defconfig
 create mode 100644 arch/powerpc/configs/kmsupx5_defconfig
 create mode 100644 arch/powerpc/configs/kmvect1_defconfig
 create mode 100644 arch/powerpc/configs/korat_defconfig
 create mode 100644 arch/powerpc/configs/korat_perm_defconfig
 create mode 100644 arch/powerpc/configs/kvme080_defconfig
 create mode 100644 arch/powerpc/configs/lcd4_lwmon5_defconfig
 create mode 100644 arch/powerpc/configs/lite5200b_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/lite5200b_PM_defconfig
 create mode 100644 arch/powerpc/configs/lite5200b_defconfig
 create mode 100644 arch/powerpc/configs/luan_defconfig
 create mode 100644 arch/powerpc/configs/lwmon5_defconfig
 create mode 100644 arch/powerpc/configs/lwmon_defconfig
 create mode 100644 arch/powerpc/configs/makalu_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_COM12_SDRAM_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_COM12_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_COM12_highboot_SDRAM_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_COM12_highboot_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_SDRAM_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_highboot_SDRAM_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_highboot_defconfig
 create mode 100644 arch/powerpc/configs/mecp5123_defconfig
 create mode 100644 arch/powerpc/configs/mecp5200_defconfig
 create mode 100644 arch/powerpc/configs/mgcoge3ne_defconfig
 create mode 100644 arch/powerpc/configs/mgcoge_defconfig
 create mode 100644 arch/powerpc/configs/ml507_defconfig
 create mode 100644 arch/powerpc/configs/ml507_flash_defconfig
 create mode 100644 arch/powerpc/configs/motionpro_defconfig
 create mode 100644 arch/powerpc/configs/mpc5121ads_defconfig
 create mode 100644 arch/powerpc/configs/mpc5121ads_rev2_defconfig
 create mode 100644 arch/powerpc/configs/mpc7448hpc2_defconfig
 create mode 100644 arch/powerpc/configs/mpc8308_p1m_defconfig
 create mode 100644 arch/powerpc/configs/muas3001_defconfig
 create mode 100644 arch/powerpc/configs/muas3001_dev_defconfig
 create mode 100644 arch/powerpc/configs/mucmc52_defconfig
 create mode 100644 arch/powerpc/configs/munices_defconfig
 create mode 100644 arch/powerpc/configs/neo_defconfig
 create mode 100644 arch/powerpc/configs/ocotea_defconfig
 create mode 100644 arch/powerpc/configs/p3m7448_defconfig
 create mode 100644 arch/powerpc/configs/p3m750_defconfig
 create mode 100644 arch/powerpc/configs/p3p440_defconfig
 create mode 100644 arch/powerpc/configs/pcm030_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/pcm030_defconfig
 create mode 100644 arch/powerpc/configs/pcs440ep_defconfig
 create mode 100644 arch/powerpc/configs/pdm360ng_defconfig
 create mode 100644 arch/powerpc/configs/pf5200_defconfig
 create mode 100644 arch/powerpc/configs/ppmc7xx_defconfig
 create mode 100644 arch/powerpc/configs/ppmc8260_defconfig
 create mode 100644 arch/powerpc/configs/prs200_DDR_defconfig
 create mode 100644 arch/powerpc/configs/prs200_defconfig
 create mode 100644 arch/powerpc/configs/prs200_highboot_DDR_defconfig
 create mode 100644 arch/powerpc/configs/prs200_highboot_defconfig
 create mode 100644 arch/powerpc/configs/qemu-ppce500_defconfig
 create mode 100644 arch/powerpc/configs/quad100hd_defconfig
 create mode 100644 arch/powerpc/configs/quantum_defconfig
 create mode 100644 arch/powerpc/configs/rainier_defconfig
 create mode 100644 arch/powerpc/configs/rainier_ramboot_defconfig
 create mode 100644 arch/powerpc/configs/redwood_defconfig
 create mode 100644 arch/powerpc/configs/sacsng_defconfig
 create mode 100644 arch/powerpc/configs/sbc405_defconfig
 create mode 100644 arch/powerpc/configs/sbc8349_PCI_33_defconfig
 create mode 100644 arch/powerpc/configs/sbc8349_PCI_66_defconfig
 create mode 100644 arch/powerpc/configs/sbc8349_defconfig
 create mode 100644 arch/powerpc/configs/sbc8548_PCI_33_PCIE_defconfig
 create mode 100644 arch/powerpc/configs/sbc8548_PCI_33_defconfig
 create mode 100644 arch/powerpc/configs/sbc8548_PCI_66_PCIE_defconfig
 create mode 100644 arch/powerpc/configs/sbc8548_PCI_66_defconfig
 create mode 100644 arch/powerpc/configs/sbc8548_defconfig
 create mode 100644 arch/powerpc/configs/sbc8641d_defconfig
 create mode 100644 arch/powerpc/configs/sc3_defconfig
 create mode 100644 arch/powerpc/configs/sequoia_defconfig
 create mode 100644 arch/powerpc/configs/sequoia_ramboot_defconfig
 create mode 100644 arch/powerpc/configs/socrates_defconfig
 create mode 100644 arch/powerpc/configs/spc1920_defconfig
 create mode 100644 arch/powerpc/configs/stxgp3_defconfig
 create mode 100644 arch/powerpc/configs/stxssa_4M_defconfig
 create mode 100644 arch/powerpc/configs/stxssa_defconfig
 create mode 100644 arch/powerpc/configs/stxxtc_defconfig
 create mode 100644 arch/powerpc/configs/suvd3_defconfig
 create mode 100644 arch/powerpc/configs/svm_sc8xx_defconfig
 create mode 100644 arch/powerpc/configs/sycamore_defconfig
 create mode 100644 arch/powerpc/configs/t3corp_defconfig
 create mode 100644 arch/powerpc/configs/taihu_defconfig
 create mode 100644 arch/powerpc/configs/taishan_defconfig
 create mode 100644 arch/powerpc/configs/tuge1_defconfig
 create mode 100644 arch/powerpc/configs/tuxx1_defconfig
 create mode 100644 arch/powerpc/configs/uc100_defconfig
 create mode 100644 arch/powerpc/configs/uc101_defconfig
 create mode 100644 arch/powerpc/configs/utx8245_defconfig
 create mode 100644 arch/powerpc/configs/v37_defconfig
 create mode 100644 arch/powerpc/configs/v38b_defconfig
 create mode 100644 arch/powerpc/configs/v5fx30teval_defconfig
 create mode 100644 arch/powerpc/configs/v5fx30teval_flash_defconfig
 create mode 100644 arch/powerpc/configs/ve8313_defconfig
 create mode 100644 arch/powerpc/configs/virtlab2_defconfig
 create mode 100644 arch/powerpc/configs/vme8349_defconfig
 create mode 100644 arch/powerpc/configs/walnut_defconfig
 create mode 100644 arch/powerpc/configs/wtk_defconfig
 create mode 100644 arch/powerpc/configs/xilinx-ppc405-generic_defconfig
 create mode 100644 arch/powerpc/configs/xilinx-ppc405-generic_flash_defconfig
 create mode 100644 arch/powerpc/configs/xilinx-ppc440-generic_defconfig
 create mode 100644 arch/powerpc/configs/xilinx-ppc440-generic_flash_defconfig
 create mode 100644 arch/powerpc/configs/xpedite1000_defconfig
 create mode 100644 arch/powerpc/configs/xpedite517x_defconfig
 create mode 100644 arch/powerpc/configs/xpedite520x_defconfig
 create mode 100644 arch/powerpc/configs/xpedite537x_defconfig
 create mode 100644 arch/powerpc/configs/xpedite550x_defconfig
 create mode 100644 arch/powerpc/configs/yellowstone_defconfig
 create mode 100644 arch/powerpc/configs/yosemite_defconfig
 create mode 100644 arch/powerpc/configs/yucca_defconfig
 create mode 100644 arch/powerpc/configs/zeus_defconfig
 create mode 100644 arch/sandbox/Kconfig
 create mode 100644 arch/sandbox/configs/sandbox_defconfig
 create mode 100644 arch/sh/Kconfig
 create mode 100644 arch/sh/configs/MigoR_defconfig
 create mode 100644 arch/sh/configs/ap325rxa_defconfig
 create mode 100644 arch/sh/configs/ap_sh4a_4a_defconfig
 create mode 100644 arch/sh/configs/ecovec_defconfig
 create mode 100644 arch/sh/configs/espt_defconfig
 create mode 100644 arch/sh/configs/mpr2_defconfig
 create mode 100644 arch/sh/configs/ms7720se_defconfig
 create mode 100644 arch/sh/configs/ms7722se_defconfig
 create mode 100644 arch/sh/configs/ms7750se_defconfig
 create mode 100644 arch/sh/configs/r0p7734_defconfig
 create mode 100644 arch/sh/configs/r2dplus_defconfig
 create mode 100644 arch/sh/configs/r7780mp_defconfig
 create mode 100644 arch/sh/configs/rsk7203_defconfig
 create mode 100644 arch/sh/configs/rsk7264_defconfig
 create mode 100644 arch/sh/configs/rsk7269_defconfig
 create mode 100644 arch/sh/configs/sh7752evb_defconfig
 create mode 100644 arch/sh/configs/sh7753evb_defconfig
 create mode 100644 arch/sh/configs/sh7757lcr_defconfig
 create mode 100644 arch/sh/configs/sh7763rdp_defconfig
 create mode 100644 arch/sh/configs/sh7785lcr_32bit_defconfig
 create mode 100644 arch/sh/configs/sh7785lcr_defconfig
 create mode 100644 arch/sh/configs/shmin_defconfig
 create mode 100644 arch/sparc/Kconfig
 create mode 100644 arch/sparc/configs/gr_cpci_ax2000_defconfig
 create mode 100644 arch/sparc/configs/gr_ep2s60_defconfig
 create mode 100644 arch/sparc/configs/gr_xc3s_1500_defconfig
 create mode 100644 arch/sparc/configs/grsim_defconfig
 create mode 100644 arch/sparc/configs/grsim_leon2_defconfig
 create mode 100644 arch/x86/Kconfig
 create mode 100644 arch/x86/configs/coreboot-x86_defconfig
 create mode 100644 board/8dtech/eco5pk/Kconfig
 create mode 100644 board/AndesTech/adp-ag101/Kconfig
 create mode 100644 board/AndesTech/adp-ag101p/Kconfig
 create mode 100644 board/AndesTech/adp-ag102/Kconfig
 create mode 100644 board/Barix/ipam390/Kconfig
 create mode 100644 board/BuR/kwb/Kconfig
 create mode 100644 board/BuR/tseries/Kconfig
 create mode 100644 board/BuS/eb_cpu5282/Kconfig
 create mode 100644 board/BuS/eb_cpux9k2/Kconfig
 create mode 100644 board/BuS/vl_ma2sc/Kconfig
 create mode 100644 board/CarMediaLab/flea3/Kconfig
 create mode 100644 board/LEOX/elpt860/Kconfig
 create mode 100644 board/LaCie/edminiv2/Kconfig
 create mode 100644 board/LaCie/net2big_v2/Kconfig
 create mode 100644 board/LaCie/netspace_v2/Kconfig
 create mode 100644 board/LaCie/wireless_space/Kconfig
 create mode 100644 board/Marvell/aspenite/Kconfig
 create mode 100644 board/Marvell/db64360/Kconfig
 create mode 100644 board/Marvell/db64460/Kconfig
 create mode 100644 board/Marvell/dkb/Kconfig
 create mode 100644 board/Marvell/dreamplug/Kconfig
 create mode 100644 board/Marvell/gplugd/Kconfig
 create mode 100644 board/Marvell/guruplug/Kconfig
 create mode 100644 board/Marvell/mv88f6281gtw_ge/Kconfig
 create mode 100644 board/Marvell/openrd/Kconfig
 create mode 100644 board/Marvell/rd6281a/Kconfig
 create mode 100644 board/Marvell/sheevaplug/Kconfig
 create mode 100644 board/RPXlite_dw/Kconfig
 create mode 100644 board/RRvision/Kconfig
 create mode 100644 board/Seagate/dockstar/Kconfig
 create mode 100644 board/Seagate/goflexhome/Kconfig
 create mode 100644 board/a3000/Kconfig
 create mode 100644 board/a3m071/Kconfig
 create mode 100644 board/a4m072/Kconfig
 create mode 100644 board/adder/Kconfig
 create mode 100644 board/afeb9260/Kconfig
 create mode 100644 board/ait/cam_enc_4xx/Kconfig
 create mode 100644 board/alphaproject/ap_sh4a_4a/Kconfig
 create mode 100644 board/altera/nios2-generic/Kconfig
 create mode 100644 board/altera/socfpga/Kconfig
 create mode 100644 board/amcc/acadia/Kconfig
 create mode 100644 board/amcc/bamboo/Kconfig
 create mode 100644 board/amcc/bluestone/Kconfig
 create mode 100644 board/amcc/bubinga/Kconfig
 create mode 100644 board/amcc/canyonlands/Kconfig
 create mode 100644 board/amcc/ebony/Kconfig
 create mode 100644 board/amcc/katmai/Kconfig
 create mode 100644 board/amcc/kilauea/Kconfig
 create mode 100644 board/amcc/luan/Kconfig
 create mode 100644 board/amcc/makalu/Kconfig
 create mode 100644 board/amcc/ocotea/Kconfig
 create mode 100644 board/amcc/redwood/Kconfig
 create mode 100644 board/amcc/sequoia/Kconfig
 create mode 100644 board/amcc/taihu/Kconfig
 create mode 100644 board/amcc/taishan/Kconfig
 create mode 100644 board/amcc/walnut/Kconfig
 create mode 100644 board/amcc/yosemite/Kconfig
 create mode 100644 board/amcc/yucca/Kconfig
 create mode 100644 board/armadeus/apf27/Kconfig
 create mode 100644 board/armltd/integrator/Kconfig
 create mode 100644 board/armltd/versatile/Kconfig
 create mode 100644 board/armltd/vexpress/Kconfig
 create mode 100644 board/armltd/vexpress64/Kconfig
 create mode 100644 board/astro/mcf5373l/Kconfig
 create mode 100644 board/atc/Kconfig
 create mode 100644 board/atmark-techno/armadillo-800eva/Kconfig
 create mode 100644 board/atmel/at91rm9200ek/Kconfig
 create mode 100644 board/atmel/at91sam9260ek/Kconfig
 create mode 100644 board/atmel/at91sam9261ek/Kconfig
 create mode 100644 board/atmel/at91sam9263ek/Kconfig
 create mode 100644 board/atmel/at91sam9m10g45ek/Kconfig
 create mode 100644 board/atmel/at91sam9n12ek/Kconfig
 create mode 100644 board/atmel/at91sam9rlek/Kconfig
 create mode 100644 board/atmel/at91sam9x5ek/Kconfig
 create mode 100644 board/atmel/atngw100/Kconfig
 create mode 100644 board/atmel/atngw100mkii/Kconfig
 create mode 100644 board/atmel/atstk1000/Kconfig
 create mode 100644 board/atmel/sama5d3_xplained/Kconfig
 create mode 100644 board/atmel/sama5d3xek/Kconfig
 create mode 100644 board/avionic-design/medcom-wide/Kconfig
 create mode 100644 board/avionic-design/plutux/Kconfig
 create mode 100644 board/avionic-design/tec-ng/Kconfig
 create mode 100644 board/avionic-design/tec/Kconfig
 create mode 100644 board/avnet/fx12mm/Kconfig
 create mode 100644 board/avnet/v5fx30teval/Kconfig
 create mode 100644 board/balloon3/Kconfig
 create mode 100644 board/barco/titanium/Kconfig
 create mode 100644 board/bc3450/Kconfig
 create mode 100644 board/bct-brettl2/Kconfig
 create mode 100644 board/bf506f-ezkit/Kconfig
 create mode 100644 board/bf518f-ezbrd/Kconfig
 create mode 100644 board/bf525-ucr2/Kconfig
 create mode 100644 board/bf526-ezbrd/Kconfig
 create mode 100644 board/bf527-ad7160-eval/Kconfig
 create mode 100644 board/bf527-ezkit/Kconfig
 create mode 100644 board/bf527-sdp/Kconfig
 create mode 100644 board/bf533-ezkit/Kconfig
 create mode 100644 board/bf533-stamp/Kconfig
 create mode 100644 board/bf537-minotaur/Kconfig
 create mode 100644 board/bf537-pnav/Kconfig
 create mode 100644 board/bf537-srv1/Kconfig
 create mode 100644 board/bf537-stamp/Kconfig
 create mode 100644 board/bf538f-ezkit/Kconfig
 create mode 100644 board/bf548-ezkit/Kconfig
 create mode 100644 board/bf561-acvilon/Kconfig
 create mode 100644 board/bf561-ezkit/Kconfig
 create mode 100644 board/bf609-ezkit/Kconfig
 create mode 100644 board/blackstamp/Kconfig
 create mode 100644 board/blackvme/Kconfig
 create mode 100644 board/bluegiga/apx4devkit/Kconfig
 create mode 100644 board/bluewater/snapper9260/Kconfig
 create mode 100644 board/boundary/nitrogen6x/Kconfig
 create mode 100644 board/br4/Kconfig
 create mode 100644 board/broadcom/bcm28155_ap/Kconfig
 create mode 100644 board/buffalo/lsxl/Kconfig
 create mode 100644 board/calao/sbc35_a9g20/Kconfig
 create mode 100644 board/calao/tny_a9260/Kconfig
 create mode 100644 board/calao/usb_a9263/Kconfig
 create mode 100644 board/canmb/Kconfig
 create mode 100644 board/chromebook-x86/coreboot/Kconfig
 create mode 100644 board/cloudengines/pogo_e02/Kconfig
 create mode 100644 board/cm-bf527/Kconfig
 create mode 100644 board/cm-bf533/Kconfig
 create mode 100644 board/cm-bf537e/Kconfig
 create mode 100644 board/cm-bf537u/Kconfig
 create mode 100644 board/cm-bf548/Kconfig
 create mode 100644 board/cm-bf561/Kconfig
 create mode 100644 board/cm4008/Kconfig
 create mode 100644 board/cm41xx/Kconfig
 create mode 100644 board/cm5200/Kconfig
 create mode 100644 board/cmi/Kconfig
 create mode 100644 board/cobra5272/Kconfig
 create mode 100644 board/cogent/Kconfig
 create mode 100644 board/comelit/dig297/Kconfig
 create mode 100644 board/compal/paz00/Kconfig
 create mode 100644 board/compulab/cm_t335/Kconfig
 create mode 100644 board/compulab/cm_t35/Kconfig
 create mode 100644 board/compulab/cm_t54/Kconfig
 create mode 100644 board/compulab/trimslice/Kconfig
 create mode 100644 board/congatec/cgtqmx6eval/Kconfig
 create mode 100644 board/corscience/tricorder/Kconfig
 create mode 100644 board/cpc45/Kconfig
 create mode 100644 board/cpu86/Kconfig
 create mode 100644 board/cpu87/Kconfig
 create mode 100644 board/cray/L1/Kconfig
 create mode 100644 board/creative/xfi3/Kconfig
 create mode 100644 board/csb272/Kconfig
 create mode 100644 board/csb472/Kconfig
 create mode 100644 board/cu824/Kconfig
 create mode 100644 board/d-link/dns325/Kconfig
 create mode 100644 board/dave/PPChameleonEVB/Kconfig
 create mode 100644 board/davedenx/aria/Kconfig
 create mode 100644 board/davedenx/qong/Kconfig
 create mode 100644 board/davinci/da8xxevm/Kconfig
 create mode 100644 board/davinci/dm355evm/Kconfig
 create mode 100644 board/davinci/dm355leopard/Kconfig
 create mode 100644 board/davinci/dm365evm/Kconfig
 create mode 100644 board/davinci/dm6467evm/Kconfig
 create mode 100644 board/davinci/dvevm/Kconfig
 create mode 100644 board/davinci/ea20/Kconfig
 create mode 100644 board/davinci/schmoogie/Kconfig
 create mode 100644 board/davinci/sffsdr/Kconfig
 create mode 100644 board/davinci/sonata/Kconfig
 create mode 100644 board/dbau1x00/Kconfig
 create mode 100644 board/denx/m28evk/Kconfig
 create mode 100644 board/denx/m53evk/Kconfig
 create mode 100644 board/dnp5370/Kconfig
 create mode 100644 board/eXalion/Kconfig
 create mode 100644 board/earthlcd/favr-32-ezkit/Kconfig
 create mode 100644 board/egnite/ethernut5/Kconfig
 create mode 100644 board/eltec/elppc/Kconfig
 create mode 100644 board/eltec/mhpc/Kconfig
 create mode 100644 board/embest/mx6boards/Kconfig
 create mode 100644 board/emk/top5200/Kconfig
 create mode 100644 board/emk/top860/Kconfig
 create mode 100644 board/emk/top9000/Kconfig
 create mode 100644 board/enbw/enbw_cmc/Kconfig
 create mode 100644 board/ep8248/Kconfig
 create mode 100644 board/ep8260/Kconfig
 create mode 100644 board/ep82xxm/Kconfig
 create mode 100644 board/esd/apc405/Kconfig
 create mode 100644 board/esd/ar405/Kconfig
 create mode 100644 board/esd/ash405/Kconfig
 create mode 100644 board/esd/cms700/Kconfig
 create mode 100644 board/esd/cpci2dp/Kconfig
 create mode 100644 board/esd/cpci405/Kconfig
 create mode 100644 board/esd/cpci5200/Kconfig
 create mode 100644 board/esd/cpci750/Kconfig
 create mode 100644 board/esd/cpciiser4/Kconfig
 create mode 100644 board/esd/dp405/Kconfig
 create mode 100644 board/esd/du405/Kconfig
 create mode 100644 board/esd/du440/Kconfig
 create mode 100644 board/esd/hh405/Kconfig
 create mode 100644 board/esd/hub405/Kconfig
 create mode 100644 board/esd/mecp5123/Kconfig
 create mode 100644 board/esd/mecp5200/Kconfig
 create mode 100644 board/esd/meesc/Kconfig
 create mode 100644 board/esd/ocrtc/Kconfig
 create mode 100644 board/esd/otc570/Kconfig
 create mode 100644 board/esd/pci405/Kconfig
 create mode 100644 board/esd/pf5200/Kconfig
 create mode 100644 board/esd/plu405/Kconfig
 create mode 100644 board/esd/pmc405/Kconfig
 create mode 100644 board/esd/pmc405de/Kconfig
 create mode 100644 board/esd/pmc440/Kconfig
 create mode 100644 board/esd/tasreg/Kconfig
 create mode 100644 board/esd/vme8349/Kconfig
 create mode 100644 board/esd/voh405/Kconfig
 create mode 100644 board/esd/vom405/Kconfig
 create mode 100644 board/esd/wuh405/Kconfig
 create mode 100644 board/esg/ima3-mx53/Kconfig
 create mode 100644 board/espt/Kconfig
 create mode 100644 board/esteem192e/Kconfig
 create mode 100644 board/etin/debris/Kconfig
 create mode 100644 board/etin/kvme080/Kconfig
 create mode 100644 board/eukrea/cpu9260/Kconfig
 create mode 100644 board/eukrea/cpuat91/Kconfig
 create mode 100644 board/evb64260/Kconfig
 create mode 100644 board/exmeritus/hww1u1a/Kconfig
 create mode 100644 board/fads/Kconfig
 create mode 100644 board/faraday/a320evb/Kconfig
 create mode 100644 board/flagadm/Kconfig
 create mode 100644 board/freescale/b4860qds/Kconfig
 create mode 100644 board/freescale/bsc9131rdb/Kconfig
 create mode 100644 board/freescale/bsc9132qds/Kconfig
 create mode 100644 board/freescale/c29xpcie/Kconfig
 create mode 100644 board/freescale/corenet_ds/Kconfig
 create mode 100644 board/freescale/m5208evbe/Kconfig
 create mode 100644 board/freescale/m52277evb/Kconfig
 create mode 100644 board/freescale/m5235evb/Kconfig
 create mode 100644 board/freescale/m5249evb/Kconfig
 create mode 100644 board/freescale/m5253demo/Kconfig
 create mode 100644 board/freescale/m5253evbe/Kconfig
 create mode 100644 board/freescale/m5272c3/Kconfig
 create mode 100644 board/freescale/m5275evb/Kconfig
 create mode 100644 board/freescale/m5282evb/Kconfig
 create mode 100644 board/freescale/m53017evb/Kconfig
 create mode 100644 board/freescale/m5329evb/Kconfig
 create mode 100644 board/freescale/m5373evb/Kconfig
 create mode 100644 board/freescale/m54418twr/Kconfig
 create mode 100644 board/freescale/m54451evb/Kconfig
 create mode 100644 board/freescale/m54455evb/Kconfig
 create mode 100644 board/freescale/m547xevb/Kconfig
 create mode 100644 board/freescale/m548xevb/Kconfig
 create mode 100644 board/freescale/mpc5121ads/Kconfig
 create mode 100644 board/freescale/mpc7448hpc2/Kconfig
 create mode 100644 board/freescale/mpc8260ads/Kconfig
 create mode 100644 board/freescale/mpc8266ads/Kconfig
 create mode 100644 board/freescale/mpc8308rdb/Kconfig
 create mode 100644 board/freescale/mpc8313erdb/Kconfig
 create mode 100644 board/freescale/mpc8315erdb/Kconfig
 create mode 100644 board/freescale/mpc8323erdb/Kconfig
 create mode 100644 board/freescale/mpc832xemds/Kconfig
 create mode 100644 board/freescale/mpc8349emds/Kconfig
 create mode 100644 board/freescale/mpc8349itx/Kconfig
 create mode 100644 board/freescale/mpc8360emds/Kconfig
 create mode 100644 board/freescale/mpc8360erdk/Kconfig
 create mode 100644 board/freescale/mpc837xemds/Kconfig
 create mode 100644 board/freescale/mpc837xerdb/Kconfig
 create mode 100644 board/freescale/mpc8536ds/Kconfig
 create mode 100644 board/freescale/mpc8540ads/Kconfig
 create mode 100644 board/freescale/mpc8541cds/Kconfig
 create mode 100644 board/freescale/mpc8544ds/Kconfig
 create mode 100644 board/freescale/mpc8548cds/Kconfig
 create mode 100644 board/freescale/mpc8555cds/Kconfig
 create mode 100644 board/freescale/mpc8560ads/Kconfig
 create mode 100644 board/freescale/mpc8568mds/Kconfig
 create mode 100644 board/freescale/mpc8569mds/Kconfig
 create mode 100644 board/freescale/mpc8572ds/Kconfig
 create mode 100644 board/freescale/mpc8610hpcd/Kconfig
 create mode 100644 board/freescale/mpc8641hpcn/Kconfig
 create mode 100644 board/freescale/mx23evk/Kconfig
 create mode 100644 board/freescale/mx25pdk/Kconfig
 create mode 100644 board/freescale/mx28evk/Kconfig
 create mode 100644 board/freescale/mx31ads/Kconfig
 create mode 100644 board/freescale/mx31pdk/Kconfig
 create mode 100644 board/freescale/mx35pdk/Kconfig
 create mode 100644 board/freescale/mx51evk/Kconfig
 create mode 100644 board/freescale/mx53ard/Kconfig
 create mode 100644 board/freescale/mx53evk/Kconfig
 create mode 100644 board/freescale/mx53loco/Kconfig
 create mode 100644 board/freescale/mx53smd/Kconfig
 create mode 100644 board/freescale/mx6qarm2/Kconfig
 create mode 100644 board/freescale/mx6qsabreauto/Kconfig
 create mode 100644 board/freescale/mx6sabresd/Kconfig
 create mode 100644 board/freescale/mx6slevk/Kconfig
 create mode 100644 board/freescale/p1010rdb/Kconfig
 create mode 100644 board/freescale/p1022ds/Kconfig
 create mode 100644 board/freescale/p1023rdb/Kconfig
 create mode 100644 board/freescale/p1023rds/Kconfig
 create mode 100644 board/freescale/p1_p2_rdb/Kconfig
 create mode 100644 board/freescale/p1_p2_rdb_pc/Kconfig
 create mode 100644 board/freescale/p1_twr/Kconfig
 create mode 100644 board/freescale/p2020come/Kconfig
 create mode 100644 board/freescale/p2020ds/Kconfig
 create mode 100644 board/freescale/p2041rdb/Kconfig
 create mode 100644 board/freescale/qemu-ppce500/Kconfig
 create mode 100644 board/freescale/t1040qds/Kconfig
 create mode 100644 board/freescale/t104xrdb/Kconfig
 create mode 100644 board/freescale/t208xqds/Kconfig
 create mode 100644 board/freescale/t208xrdb/Kconfig
 create mode 100644 board/freescale/t4qds/Kconfig
 create mode 100644 board/freescale/t4rdb/Kconfig
 create mode 100644 board/freescale/vf610twr/Kconfig
 create mode 100644 board/funkwerk/vovpn-gw/Kconfig
 create mode 100644 board/g2000/Kconfig
 create mode 100644 board/gaisler/gr_cpci_ax2000/Kconfig
 create mode 100644 board/gaisler/gr_ep2s60/Kconfig
 create mode 100644 board/gaisler/gr_xc3s_1500/Kconfig
 create mode 100644 board/gaisler/grsim/Kconfig
 create mode 100644 board/gaisler/grsim_leon2/Kconfig
 create mode 100644 board/galaxy5200/Kconfig
 create mode 100644 board/gateworks/gw_ventana/Kconfig
 create mode 100644 board/gdsys/405ep/Kconfig
 create mode 100644 board/gdsys/405ex/Kconfig
 create mode 100644 board/gdsys/dlvision/Kconfig
 create mode 100644 board/gdsys/gdppc440etx/Kconfig
 create mode 100644 board/gdsys/intip/Kconfig
 create mode 100644 board/gdsys/p1022/Kconfig
 create mode 100644 board/gen860t/Kconfig
 create mode 100644 board/genesi/mx51_efikamx/Kconfig
 create mode 100644 board/gumstix/duovero/Kconfig
 create mode 100644 board/gumstix/pepper/Kconfig
 create mode 100644 board/gw8260/Kconfig
 create mode 100644 board/h2200/Kconfig
 create mode 100644 board/hale/tt01/Kconfig
 create mode 100644 board/hermes/Kconfig
 create mode 100644 board/hidden_dragon/Kconfig
 create mode 100644 board/highbank/Kconfig
 create mode 100644 board/htkw/mcx/Kconfig
 create mode 100644 board/hymod/Kconfig
 create mode 100644 board/ibf-dsp561/Kconfig
 create mode 100644 board/icecube/Kconfig
 create mode 100644 board/icpdas/lp8x4x/Kconfig
 create mode 100644 board/icu862/Kconfig
 create mode 100644 board/ids/ids8247/Kconfig
 create mode 100644 board/ids/ids8313/Kconfig
 create mode 100644 board/ifm/ac14xx/Kconfig
 create mode 100644 board/ifm/o2dnt2/Kconfig
 create mode 100644 board/imgtec/malta/Kconfig
 create mode 100644 board/imx31_phycore/Kconfig
 create mode 100644 board/in-circuit/grasshopper/Kconfig
 create mode 100644 board/inka4x0/Kconfig
 create mode 100644 board/intercontrol/digsy_mtc/Kconfig
 create mode 100644 board/iomega/iconnect/Kconfig
 create mode 100644 board/ip04/Kconfig
 create mode 100644 board/ip860/Kconfig
 create mode 100644 board/ipek01/Kconfig
 create mode 100644 board/iphase4539/Kconfig
 create mode 100644 board/isee/igep0033/Kconfig
 create mode 100644 board/isee/igep00x0/Kconfig
 create mode 100644 board/ispan/Kconfig
 create mode 100644 board/ivm/Kconfig
 create mode 100644 board/jornada/Kconfig
 create mode 100644 board/jse/Kconfig
 create mode 100644 board/jupiter/Kconfig
 create mode 100644 board/karo/tk71/Kconfig
 create mode 100644 board/karo/tx25/Kconfig
 create mode 100644 board/keymile/km82xx/Kconfig
 create mode 100644 board/keymile/km83xx/Kconfig
 create mode 100644 board/keymile/km_arm/Kconfig
 create mode 100644 board/keymile/kmp204x/Kconfig
 create mode 100644 board/kmc/kzm9g/Kconfig
 create mode 100644 board/korat/Kconfig
 create mode 100644 board/kup/kup4k/Kconfig
 create mode 100644 board/kup/kup4x/Kconfig
 create mode 100644 board/logicpd/am3517evm/Kconfig
 create mode 100644 board/logicpd/imx27lite/Kconfig
 create mode 100644 board/logicpd/imx31_litekit/Kconfig
 create mode 100644 board/logicpd/omap3som/Kconfig
 create mode 100644 board/logicpd/zoom1/Kconfig
 create mode 100644 board/lwmon/Kconfig
 create mode 100644 board/lwmon5/Kconfig
 create mode 100644 board/manroland/hmi1001/Kconfig
 create mode 100644 board/manroland/mucmc52/Kconfig
 create mode 100644 board/manroland/uc100/Kconfig
 create mode 100644 board/manroland/uc101/Kconfig
 create mode 100644 board/matrix_vision/mergerbox/Kconfig
 create mode 100644 board/matrix_vision/mvbc_p/Kconfig
 create mode 100644 board/matrix_vision/mvblm7/Kconfig
 create mode 100644 board/matrix_vision/mvblx/Kconfig
 create mode 100644 board/matrix_vision/mvsmr/Kconfig
 create mode 100644 board/mcc200/Kconfig
 create mode 100644 board/micronas/vct/Kconfig
 create mode 100644 board/mimc/mimc200/Kconfig
 create mode 100644 board/miromico/hammerhead/Kconfig
 create mode 100644 board/mosaixtech/icon/Kconfig
 create mode 100644 board/motionpro/Kconfig
 create mode 100644 board/mpc8308_p1m/Kconfig
 create mode 100644 board/mpl/mip405/Kconfig
 create mode 100644 board/mpl/pati/Kconfig
 create mode 100644 board/mpl/pip405/Kconfig
 create mode 100644 board/mpl/vcma9/Kconfig
 create mode 100644 board/mpr2/Kconfig
 create mode 100644 board/ms7720se/Kconfig
 create mode 100644 board/ms7722se/Kconfig
 create mode 100644 board/ms7750se/Kconfig
 create mode 100644 board/muas3001/Kconfig
 create mode 100644 board/munices/Kconfig
 create mode 100644 board/musenki/Kconfig
 create mode 100644 board/mvblue/Kconfig
 create mode 100644 board/netphone/Kconfig
 create mode 100644 board/netta/Kconfig
 create mode 100644 board/netta2/Kconfig
 create mode 100644 board/netvia/Kconfig
 create mode 100644 board/nokia/rx51/Kconfig
 create mode 100644 board/nvidia/beaver/Kconfig
 create mode 100644 board/nvidia/cardhu/Kconfig
 create mode 100644 board/nvidia/dalmore/Kconfig
 create mode 100644 board/nvidia/harmony/Kconfig
 create mode 100644 board/nvidia/jetson-tk1/Kconfig
 create mode 100644 board/nvidia/seaboard/Kconfig
 create mode 100644 board/nvidia/venice2/Kconfig
 create mode 100644 board/nvidia/ventana/Kconfig
 create mode 100644 board/nvidia/whistler/Kconfig
 create mode 100644 board/olimex/mx23_olinuxino/Kconfig
 create mode 100644 board/omicron/calimain/Kconfig
 create mode 100644 board/openrisc/openrisc-generic/Kconfig
 create mode 100644 board/overo/Kconfig
 create mode 100644 board/palmld/Kconfig
 create mode 100644 board/palmtc/Kconfig
 create mode 100644 board/palmtreo680/Kconfig
 create mode 100644 board/pandora/Kconfig
 create mode 100644 board/pb1x00/Kconfig
 create mode 100644 board/pcs440ep/Kconfig
 create mode 100644 board/pdm360ng/Kconfig
 create mode 100644 board/phytec/pcm030/Kconfig
 create mode 100644 board/phytec/pcm051/Kconfig
 create mode 100644 board/pm520/Kconfig
 create mode 100644 board/pm826/Kconfig
 create mode 100644 board/pm828/Kconfig
 create mode 100644 board/ppcag/bg0900/Kconfig
 create mode 100644 board/ppmc7xx/Kconfig
 create mode 100644 board/ppmc8260/Kconfig
 create mode 100644 board/pr1/Kconfig
 create mode 100644 board/prodrive/alpr/Kconfig
 create mode 100644 board/prodrive/p3mx/Kconfig
 create mode 100644 board/prodrive/p3p440/Kconfig
 create mode 100644 board/psyent/pci5441/Kconfig
 create mode 100644 board/psyent/pk1c20/Kconfig
 create mode 100644 board/pxa255_idp/Kconfig
 create mode 100644 board/qemu-mips/Kconfig
 create mode 100644 board/quad100hd/Kconfig
 create mode 100644 board/quantum/Kconfig
 create mode 100644 board/r360mpi/Kconfig
 create mode 100644 board/raidsonic/ib62x0/Kconfig
 create mode 100644 board/raspberrypi/rpi_b/Kconfig
 create mode 100644 board/rattler/Kconfig
 create mode 100644 board/rbc823/Kconfig
 create mode 100644 board/renesas/MigoR/Kconfig
 create mode 100644 board/renesas/ap325rxa/Kconfig
 create mode 100644 board/renesas/ecovec/Kconfig
 create mode 100644 board/renesas/koelsch/Kconfig
 create mode 100644 board/renesas/lager/Kconfig
 create mode 100644 board/renesas/r0p7734/Kconfig
 create mode 100644 board/renesas/r2dplus/Kconfig
 create mode 100644 board/renesas/r7780mp/Kconfig
 create mode 100644 board/renesas/rsk7203/Kconfig
 create mode 100644 board/renesas/rsk7264/Kconfig
 create mode 100644 board/renesas/rsk7269/Kconfig
 create mode 100644 board/renesas/sh7752evb/Kconfig
 create mode 100644 board/renesas/sh7753evb/Kconfig
 create mode 100644 board/renesas/sh7757lcr/Kconfig
 create mode 100644 board/renesas/sh7763rdp/Kconfig
 create mode 100644 board/renesas/sh7785lcr/Kconfig
 create mode 100644 board/ronetix/pm9261/Kconfig
 create mode 100644 board/ronetix/pm9263/Kconfig
 create mode 100644 board/ronetix/pm9g45/Kconfig
 create mode 100644 board/sacsng/Kconfig
 create mode 100644 board/samsung/arndale/Kconfig
 create mode 100644 board/samsung/goni/Kconfig
 create mode 100644 board/samsung/origen/Kconfig
 create mode 100644 board/samsung/smdk2410/Kconfig
 create mode 100644 board/samsung/smdk5250/Kconfig
 create mode 100644 board/samsung/smdk5420/Kconfig
 create mode 100644 board/samsung/smdkc100/Kconfig
 create mode 100644 board/samsung/smdkv310/Kconfig
 create mode 100644 board/samsung/trats/Kconfig
 create mode 100644 board/samsung/trats2/Kconfig
 create mode 100644 board/samsung/universal_c210/Kconfig
 create mode 100644 board/sandburst/karef/Kconfig
 create mode 100644 board/sandburst/metrobox/Kconfig
 create mode 100644 board/sandisk/sansa_fuze_plus/Kconfig
 create mode 100644 board/sandpoint/Kconfig
 create mode 100644 board/sbc405/Kconfig
 create mode 100644 board/sbc8349/Kconfig
 create mode 100644 board/sbc8548/Kconfig
 create mode 100644 board/sbc8641d/Kconfig
 create mode 100644 board/sc3/Kconfig
 create mode 100644 board/scb9328/Kconfig
 create mode 100644 board/schulercontrol/sc_sps_1/Kconfig
 create mode 100644 board/sheldon/simpc8313/Kconfig
 create mode 100644 board/shmin/Kconfig
 create mode 100644 board/siemens/corvus/Kconfig
 create mode 100644 board/siemens/draco/Kconfig
 create mode 100644 board/siemens/pxm2/Kconfig
 create mode 100644 board/siemens/rut/Kconfig
 create mode 100644 board/siemens/taurus/Kconfig
 create mode 100644 board/silica/pengwyn/Kconfig
 create mode 100644 board/sixnet/Kconfig
 create mode 100644 board/snmc/qs850/Kconfig
 create mode 100644 board/snmc/qs860t/Kconfig
 create mode 100644 board/socrates/Kconfig
 create mode 100644 board/solidrun/hummingboard/Kconfig
 create mode 100644 board/spc1920/Kconfig
 create mode 100644 board/spd8xx/Kconfig
 create mode 100644 board/spear/spear300/Kconfig
 create mode 100644 board/spear/spear310/Kconfig
 create mode 100644 board/spear/spear320/Kconfig
 create mode 100644 board/spear/spear600/Kconfig
 create mode 100644 board/spear/x600/Kconfig
 create mode 100644 board/st-ericsson/snowball/Kconfig
 create mode 100644 board/st-ericsson/u8500/Kconfig
 create mode 100644 board/st/nhk8815/Kconfig
 create mode 100644 board/stx/stxgp3/Kconfig
 create mode 100644 board/stx/stxssa/Kconfig
 create mode 100644 board/stx/stxxtc/Kconfig
 create mode 100644 board/svm_sc8xx/Kconfig
 create mode 100644 board/synopsys/Kconfig
 create mode 100644 board/synopsys/axs101/Kconfig
 create mode 100644 board/syteco/jadecpu/Kconfig
 create mode 100644 board/syteco/zmx25/Kconfig
 create mode 100644 board/t3corp/Kconfig
 create mode 100644 board/taskit/stamp9g20/Kconfig
 create mode 100644 board/tcm-bf518/Kconfig
 create mode 100644 board/tcm-bf537/Kconfig
 create mode 100644 board/technexion/tao3530/Kconfig
 create mode 100644 board/technexion/twister/Kconfig
 create mode 100644 board/teejet/mt_ventoux/Kconfig
 create mode 100644 board/ti/am335x/Kconfig
 create mode 100644 board/ti/am3517crane/Kconfig
 create mode 100644 board/ti/am43xx/Kconfig
 create mode 100644 board/ti/beagle/Kconfig
 create mode 100644 board/ti/dra7xx/Kconfig
 create mode 100644 board/ti/evm/Kconfig
 create mode 100644 board/ti/k2hk_evm/Kconfig
 create mode 100644 board/ti/omap5912osk/Kconfig
 create mode 100644 board/ti/omap5_uevm/Kconfig
 create mode 100644 board/ti/panda/Kconfig
 create mode 100644 board/ti/sdp3430/Kconfig
 create mode 100644 board/ti/sdp4430/Kconfig
 create mode 100644 board/ti/ti814x/Kconfig
 create mode 100644 board/ti/ti816x/Kconfig
 create mode 100644 board/ti/tnetv107xevm/Kconfig
 create mode 100644 board/timll/devkit3250/Kconfig
 create mode 100644 board/timll/devkit8000/Kconfig
 create mode 100644 board/toradex/colibri_pxa270/Kconfig
 create mode 100644 board/toradex/colibri_t20_iris/Kconfig
 create mode 100644 board/total5200/Kconfig
 create mode 100644 board/tqc/tqm5200/Kconfig
 create mode 100644 board/tqc/tqm8260/Kconfig
 create mode 100644 board/tqc/tqm8272/Kconfig
 create mode 100644 board/tqc/tqm834x/Kconfig
 create mode 100644 board/tqc/tqm8xx/Kconfig
 create mode 100644 board/trizepsiv/Kconfig
 create mode 100644 board/ttcontrol/vision2/Kconfig
 create mode 100644 board/udoo/Kconfig
 create mode 100644 board/utx8245/Kconfig
 create mode 100644 board/v37/Kconfig
 create mode 100644 board/v38b/Kconfig
 create mode 100644 board/ve8313/Kconfig
 create mode 100644 board/vpac270/Kconfig
 create mode 100644 board/w7o/Kconfig
 create mode 100644 board/wandboard/Kconfig
 create mode 100644 board/woodburn/Kconfig
 create mode 100644 board/xaeniax/Kconfig
 create mode 100644 board/xes/xpedite1000/Kconfig
 create mode 100644 board/xes/xpedite517x/Kconfig
 create mode 100644 board/xes/xpedite520x/Kconfig
 create mode 100644 board/xes/xpedite537x/Kconfig
 create mode 100644 board/xes/xpedite550x/Kconfig
 create mode 100644 board/xilinx/microblaze-generic/Kconfig
 create mode 100644 board/xilinx/ml507/Kconfig
 create mode 100644 board/xilinx/ppc405-generic/Kconfig
 create mode 100644 board/xilinx/ppc440-generic/Kconfig
 create mode 100644 board/xilinx/zynq/Kconfig
 create mode 100644 board/zeus/Kconfig
 create mode 100644 board/zipitz2/Kconfig
 create mode 100644 board/zpc1900/Kconfig
 create mode 100644 include/linux/kconfig.h
 delete mode 100755 mkconfig
 create mode 100644 scripts/Makefile.autoconf
 create mode 100644 scripts/kconfig/.gitignore
 create mode 100644 scripts/kconfig/Makefile
 create mode 100644 scripts/kconfig/POTFILES.in
 create mode 100755 scripts/kconfig/check.sh
 create mode 100644 scripts/kconfig/conf.c
 create mode 100644 scripts/kconfig/confdata.c
 create mode 100644 scripts/kconfig/expr.c
 create mode 100644 scripts/kconfig/expr.h
 create mode 100644 scripts/kconfig/gconf.c
 create mode 100644 scripts/kconfig/gconf.glade
 create mode 100644 scripts/kconfig/images.c
 create mode 100644 scripts/kconfig/kxgettext.c
 create mode 100644 scripts/kconfig/list.h
 create mode 100644 scripts/kconfig/lkc.h
 create mode 100644 scripts/kconfig/lkc_proto.h
 create mode 100644 scripts/kconfig/lxdialog/.gitignore
 create mode 100644 scripts/kconfig/lxdialog/BIG.FAT.WARNING
 create mode 100644 scripts/kconfig/lxdialog/check-lxdialog.sh
 create mode 100644 scripts/kconfig/lxdialog/checklist.c
 create mode 100644 scripts/kconfig/lxdialog/dialog.h
 create mode 100644 scripts/kconfig/lxdialog/inputbox.c
 create mode 100644 scripts/kconfig/lxdialog/menubox.c
 create mode 100644 scripts/kconfig/lxdialog/textbox.c
 create mode 100644 scripts/kconfig/lxdialog/util.c
 create mode 100644 scripts/kconfig/lxdialog/yesno.c
 create mode 100644 scripts/kconfig/mconf.c
 create mode 100644 scripts/kconfig/menu.c
 create mode 100755 scripts/kconfig/merge_config.sh
 create mode 100644 scripts/kconfig/nconf.c
 create mode 100644 scripts/kconfig/nconf.gui.c
 create mode 100644 scripts/kconfig/nconf.h
 create mode 100644 scripts/kconfig/qconf.cc
 create mode 100644 scripts/kconfig/qconf.h
 create mode 100644 scripts/kconfig/streamline_config.pl
 create mode 100644 scripts/kconfig/symbol.c
 create mode 100644 scripts/kconfig/util.c
 create mode 100644 scripts/kconfig/zconf.gperf
 create mode 100644 scripts/kconfig/zconf.hash.c_shipped
 create mode 100644 scripts/kconfig/zconf.l
 create mode 100644 scripts/kconfig/zconf.lex.c_shipped
 create mode 100644 scripts/kconfig/zconf.tab.c_shipped
 create mode 100644 scripts/kconfig/zconf.y
 create mode 100644 scripts/silentoldconfig.sh
 create mode 100755 tools/genkconfig
 create mode 100755 tools/print_allconfigs

-- 
1.9.1

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 01/14] kconfig: import Kconfig files from Linux v3.15-rc7
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 02/14] Do not apply: tools: add genkconfig Masahiro Yamada
                   ` (12 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

Import
  - scripts/kconfig/*
  - include/linux/kconfig.h
from Linux Kernel v3.15-rc7.

I know they include lots of trailing spaces
but I keep intentionally them untouched.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

 include/linux/kconfig.h                    |   46 +
 scripts/kconfig/.gitignore                 |   22 +
 scripts/kconfig/Makefile                   |  322 ++++
 scripts/kconfig/POTFILES.in                |   12 +
 scripts/kconfig/check.sh                   |   14 +
 scripts/kconfig/conf.c                     |  718 ++++++++
 scripts/kconfig/confdata.c                 | 1242 ++++++++++++++
 scripts/kconfig/expr.c                     | 1168 +++++++++++++
 scripts/kconfig/expr.h                     |  241 +++
 scripts/kconfig/gconf.c                    | 1542 +++++++++++++++++
 scripts/kconfig/gconf.glade                |  661 ++++++++
 scripts/kconfig/images.c                   |  326 ++++
 scripts/kconfig/kxgettext.c                |  235 +++
 scripts/kconfig/list.h                     |  131 ++
 scripts/kconfig/lkc.h                      |  200 +++
 scripts/kconfig/lkc_proto.h                |   57 +
 scripts/kconfig/lxdialog/.gitignore        |    4 +
 scripts/kconfig/lxdialog/BIG.FAT.WARNING   |    4 +
 scripts/kconfig/lxdialog/check-lxdialog.sh |   87 +
 scripts/kconfig/lxdialog/checklist.c       |  332 ++++
 scripts/kconfig/lxdialog/dialog.h          |  257 +++
 scripts/kconfig/lxdialog/inputbox.c        |  301 ++++
 scripts/kconfig/lxdialog/menubox.c         |  437 +++++
 scripts/kconfig/lxdialog/textbox.c         |  408 +++++
 scripts/kconfig/lxdialog/util.c            |  713 ++++++++
 scripts/kconfig/lxdialog/yesno.c           |  114 ++
 scripts/kconfig/mconf.c                    | 1037 ++++++++++++
 scripts/kconfig/menu.c                     |  697 ++++++++
 scripts/kconfig/merge_config.sh            |  150 ++
 scripts/kconfig/nconf.c                    | 1557 +++++++++++++++++
 scripts/kconfig/nconf.gui.c                |  656 +++++++
 scripts/kconfig/nconf.h                    |   96 ++
 scripts/kconfig/qconf.cc                   | 1795 ++++++++++++++++++++
 scripts/kconfig/qconf.h                    |  338 ++++
 scripts/kconfig/streamline_config.pl       |  647 +++++++
 scripts/kconfig/symbol.c                   | 1373 +++++++++++++++
 scripts/kconfig/util.c                     |  159 ++
 scripts/kconfig/zconf.gperf                |   48 +
 scripts/kconfig/zconf.hash.c_shipped       |  289 ++++
 scripts/kconfig/zconf.l                    |  363 ++++
 scripts/kconfig/zconf.lex.c_shipped        | 2420 ++++++++++++++++++++++++++
 scripts/kconfig/zconf.tab.c_shipped        | 2538 ++++++++++++++++++++++++++++
 scripts/kconfig/zconf.y                    |  733 ++++++++
 43 files changed, 24490 insertions(+)
 create mode 100644 include/linux/kconfig.h
 create mode 100644 scripts/kconfig/.gitignore
 create mode 100644 scripts/kconfig/Makefile
 create mode 100644 scripts/kconfig/POTFILES.in
 create mode 100755 scripts/kconfig/check.sh
 create mode 100644 scripts/kconfig/conf.c
 create mode 100644 scripts/kconfig/confdata.c
 create mode 100644 scripts/kconfig/expr.c
 create mode 100644 scripts/kconfig/expr.h
 create mode 100644 scripts/kconfig/gconf.c
 create mode 100644 scripts/kconfig/gconf.glade
 create mode 100644 scripts/kconfig/images.c
 create mode 100644 scripts/kconfig/kxgettext.c
 create mode 100644 scripts/kconfig/list.h
 create mode 100644 scripts/kconfig/lkc.h
 create mode 100644 scripts/kconfig/lkc_proto.h
 create mode 100644 scripts/kconfig/lxdialog/.gitignore
 create mode 100644 scripts/kconfig/lxdialog/BIG.FAT.WARNING
 create mode 100644 scripts/kconfig/lxdialog/check-lxdialog.sh
 create mode 100644 scripts/kconfig/lxdialog/checklist.c
 create mode 100644 scripts/kconfig/lxdialog/dialog.h
 create mode 100644 scripts/kconfig/lxdialog/inputbox.c
 create mode 100644 scripts/kconfig/lxdialog/menubox.c
 create mode 100644 scripts/kconfig/lxdialog/textbox.c
 create mode 100644 scripts/kconfig/lxdialog/util.c
 create mode 100644 scripts/kconfig/lxdialog/yesno.c
 create mode 100644 scripts/kconfig/mconf.c
 create mode 100644 scripts/kconfig/menu.c
 create mode 100755 scripts/kconfig/merge_config.sh
 create mode 100644 scripts/kconfig/nconf.c
 create mode 100644 scripts/kconfig/nconf.gui.c
 create mode 100644 scripts/kconfig/nconf.h
 create mode 100644 scripts/kconfig/qconf.cc
 create mode 100644 scripts/kconfig/qconf.h
 create mode 100644 scripts/kconfig/streamline_config.pl
 create mode 100644 scripts/kconfig/symbol.c
 create mode 100644 scripts/kconfig/util.c
 create mode 100644 scripts/kconfig/zconf.gperf
 create mode 100644 scripts/kconfig/zconf.hash.c_shipped
 create mode 100644 scripts/kconfig/zconf.l
 create mode 100644 scripts/kconfig/zconf.lex.c_shipped
 create mode 100644 scripts/kconfig/zconf.tab.c_shipped
 create mode 100644 scripts/kconfig/zconf.y

diff --git a/include/linux/kconfig.h b/include/linux/kconfig.h
new file mode 100644
index 0000000..be342b9
--- /dev/null
+++ b/include/linux/kconfig.h
@@ -0,0 +1,46 @@
+#ifndef __LINUX_KCONFIG_H
+#define __LINUX_KCONFIG_H
+
+#include <generated/autoconf.h>
+
+/*
+ * Helper macros to use CONFIG_ options in C/CPP expressions. Note that
+ * these only work with boolean and tristate options.
+ */
+
+/*
+ * Getting something that works in C and CPP for an arg that may or may
+ * not be defined is tricky.  Here, if we have "#define CONFIG_BOOGER 1"
+ * we match on the placeholder define, insert the "0," for arg1 and generate
+ * the triplet (0, 1, 0).  Then the last step cherry picks the 2nd arg (a one).
+ * When CONFIG_BOOGER is not defined, we generate a (... 1, 0) pair, and when
+ * the last step cherry picks the 2nd arg, we get a zero.
+ */
+#define __ARG_PLACEHOLDER_1 0,
+#define config_enabled(cfg) _config_enabled(cfg)
+#define _config_enabled(value) __config_enabled(__ARG_PLACEHOLDER_##value)
+#define __config_enabled(arg1_or_junk) ___config_enabled(arg1_or_junk 1, 0)
+#define ___config_enabled(__ignored, val, ...) val
+
+/*
+ * IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',
+ * 0 otherwise.
+ *
+ */
+#define IS_ENABLED(option) \
+	(config_enabled(option) || config_enabled(option##_MODULE))
+
+/*
+ * IS_BUILTIN(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y', 0
+ * otherwise. For boolean options, this is equivalent to
+ * IS_ENABLED(CONFIG_FOO).
+ */
+#define IS_BUILTIN(option) config_enabled(option)
+
+/*
+ * IS_MODULE(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'm', 0
+ * otherwise.
+ */
+#define IS_MODULE(option) config_enabled(option##_MODULE)
+
+#endif /* __LINUX_KCONFIG_H */
diff --git a/scripts/kconfig/.gitignore b/scripts/kconfig/.gitignore
new file mode 100644
index 0000000..be603c4
--- /dev/null
+++ b/scripts/kconfig/.gitignore
@@ -0,0 +1,22 @@
+#
+# Generated files
+#
+config*
+*.lex.c
+*.tab.c
+*.tab.h
+zconf.hash.c
+*.moc
+gconf.glade.h
+*.pot
+*.mo
+
+#
+# configuration programs
+#
+conf
+mconf
+nconf
+qconf
+gconf
+kxgettext
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
new file mode 100644
index 0000000..844bc9d
--- /dev/null
+++ b/scripts/kconfig/Makefile
@@ -0,0 +1,322 @@
+# ===========================================================================
+# Kernel configuration targets
+# These targets are used from top-level makefile
+
+PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config \
+	localmodconfig localyesconfig
+
+ifdef KBUILD_KCONFIG
+Kconfig := $(KBUILD_KCONFIG)
+else
+Kconfig := Kconfig
+endif
+
+# We need this, in case the user has it in its environment
+unexport CONFIG_
+
+xconfig: $(obj)/qconf
+	$< $(Kconfig)
+
+gconfig: $(obj)/gconf
+	$< $(Kconfig)
+
+menuconfig: $(obj)/mconf
+	$< $(Kconfig)
+
+config: $(obj)/conf
+	$< --oldaskconfig $(Kconfig)
+
+nconfig: $(obj)/nconf
+	$< $(Kconfig)
+
+oldconfig: $(obj)/conf
+	$< --$@ $(Kconfig)
+
+silentoldconfig: $(obj)/conf
+	$(Q)mkdir -p include/generated
+	$< --$@ $(Kconfig)
+
+localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
+	$(Q)mkdir -p include/generated
+	$(Q)perl $< --$@ $(srctree) $(Kconfig) > .tmp.config
+	$(Q)if [ -f .config ]; then 					\
+			cmp -s .tmp.config .config ||			\
+			(mv -f .config .config.old.1;			\
+			 mv -f .tmp.config .config;			\
+			 $(obj)/conf --silentoldconfig $(Kconfig);	\
+			 mv -f .config.old.1 .config.old)		\
+	else								\
+			mv -f .tmp.config .config;			\
+			$(obj)/conf --silentoldconfig $(Kconfig);	\
+	fi
+	$(Q)rm -f .tmp.config
+
+# Create new linux.pot file
+# Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
+update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h
+	$(Q)echo "  GEN     config.pot"
+	$(Q)xgettext --default-domain=linux                         \
+	    --add-comments --keyword=_ --keyword=N_                 \
+	    --from-code=UTF-8                                       \
+	    --files-from=$(srctree)/scripts/kconfig/POTFILES.in     \
+	    --directory=$(srctree) --directory=$(objtree)           \
+	    --output $(obj)/config.pot
+	$(Q)sed -i s/CHARSET/UTF-8/ $(obj)/config.pot
+	$(Q)(for i in `ls $(srctree)/arch/*/Kconfig      \
+	    $(srctree)/arch/*/um/Kconfig`;               \
+	    do                                           \
+		echo "  GEN     $$i";                    \
+		$(obj)/kxgettext $$i                     \
+		     >> $(obj)/config.pot;               \
+	    done )
+	$(Q)echo "  GEN     linux.pot"
+	$(Q)msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
+	    --output $(obj)/linux.pot
+	$(Q)rm -f $(obj)/config.pot
+
+PHONY += allnoconfig allyesconfig allmodconfig alldefconfig randconfig
+
+allnoconfig allyesconfig allmodconfig alldefconfig randconfig: $(obj)/conf
+	$< --$@ $(Kconfig)
+
+PHONY += listnewconfig olddefconfig oldnoconfig savedefconfig defconfig
+
+listnewconfig olddefconfig: $(obj)/conf
+	$< --$@ $(Kconfig)
+
+# oldnoconfig is an alias of olddefconfig, because people already are dependent
+# on its behavior(sets new symbols to their default value but not 'n') with the
+# counter-intuitive name.
+oldnoconfig: $(obj)/conf
+	$< --olddefconfig $(Kconfig)
+
+savedefconfig: $(obj)/conf
+	$< --$@=defconfig $(Kconfig)
+
+defconfig: $(obj)/conf
+ifeq ($(KBUILD_DEFCONFIG),)
+	$< --defconfig $(Kconfig)
+else
+	@echo "*** Default configuration is based on '$(KBUILD_DEFCONFIG)'"
+	$(Q)$< --defconfig=arch/$(SRCARCH)/configs/$(KBUILD_DEFCONFIG) $(Kconfig)
+endif
+
+%_defconfig: $(obj)/conf
+	$(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
+
+# Help text used by make help
+help:
+	@echo  '  config	  - Update current config utilising a line-oriented program'
+	@echo  '  nconfig         - Update current config utilising a ncurses menu based program'
+	@echo  '  menuconfig	  - Update current config utilising a menu based program'
+	@echo  '  xconfig	  - Update current config utilising a QT based front-end'
+	@echo  '  gconfig	  - Update current config utilising a GTK based front-end'
+	@echo  '  oldconfig	  - Update current config utilising a provided .config as base'
+	@echo  '  localmodconfig  - Update current config disabling modules not loaded'
+	@echo  '  localyesconfig  - Update current config converting local mods to core'
+	@echo  '  silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
+	@echo  '  defconfig	  - New config with default from ARCH supplied defconfig'
+	@echo  '  savedefconfig   - Save current config as ./defconfig (minimal config)'
+	@echo  '  allnoconfig	  - New config where all options are answered with no'
+	@echo  '  allyesconfig	  - New config where all options are accepted with yes'
+	@echo  '  allmodconfig	  - New config selecting modules when possible'
+	@echo  '  alldefconfig    - New config with all symbols set to default'
+	@echo  '  randconfig	  - New config with random answer to all options'
+	@echo  '  listnewconfig   - List new options'
+	@echo  '  olddefconfig	  - Same as silentoldconfig but sets new symbols to their default value'
+
+# lxdialog stuff
+check-lxdialog  := $(srctree)/$(src)/lxdialog/check-lxdialog.sh
+
+# Use recursively expanded variables so we do not call gcc unless
+# we really need to do so. (Do not call gcc as part of make mrproper)
+HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \
+                    -DLOCALE
+
+# ===========================================================================
+# Shared Makefile for the various kconfig executables:
+# conf:	  Used for defconfig, oldconfig and related targets
+# nconf:  Used for the nconfig target.
+#         Utilizes ncurses
+# mconf:  Used for the menuconfig target
+#         Utilizes the lxdialog package
+# qconf:  Used for the xconfig target
+#         Based on QT which needs to be installed to compile it
+# gconf:  Used for the gconfig target
+#         Based on GTK which needs to be installed to compile it
+# object files used by all kconfig flavours
+
+lxdialog := lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o
+lxdialog += lxdialog/textbox.o lxdialog/yesno.o lxdialog/menubox.o
+
+conf-objs	:= conf.o  zconf.tab.o
+mconf-objs     := mconf.o zconf.tab.o $(lxdialog)
+nconf-objs     := nconf.o zconf.tab.o nconf.gui.o
+kxgettext-objs	:= kxgettext.o zconf.tab.o
+qconf-cxxobjs	:= qconf.o
+qconf-objs	:= zconf.tab.o
+gconf-objs	:= gconf.o zconf.tab.o
+
+hostprogs-y := conf
+
+ifeq ($(MAKECMDGOALS),nconfig)
+	hostprogs-y += nconf
+endif
+
+ifeq ($(MAKECMDGOALS),menuconfig)
+	hostprogs-y += mconf
+endif
+
+ifeq ($(MAKECMDGOALS),update-po-config)
+	hostprogs-y += kxgettext
+endif
+
+ifeq ($(MAKECMDGOALS),xconfig)
+	qconf-target := 1
+endif
+ifeq ($(MAKECMDGOALS),gconfig)
+	gconf-target := 1
+endif
+
+
+ifeq ($(qconf-target),1)
+	hostprogs-y += qconf
+endif
+
+ifeq ($(gconf-target),1)
+	hostprogs-y += gconf
+endif
+
+clean-files	:= qconf.moc .tmp_qtcheck .tmp_gtkcheck
+clean-files	+= zconf.tab.c zconf.lex.c zconf.hash.c gconf.glade.h
+clean-files     += mconf qconf gconf nconf
+clean-files     += config.pot linux.pot
+
+# Check that we have the required ncurses stuff installed for lxdialog (menuconfig)
+PHONY += $(obj)/dochecklxdialog
+$(addprefix $(obj)/,$(lxdialog)): $(obj)/dochecklxdialog
+$(obj)/dochecklxdialog:
+	$(Q)$(CONFIG_SHELL) $(check-lxdialog) -check $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTLOADLIBES_mconf)
+
+always := dochecklxdialog
+
+# Add environment specific flags
+HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCC) $(HOSTCFLAGS))
+
+# generated files seem to need this to find local include files
+HOSTCFLAGS_zconf.lex.o	:= -I$(src)
+HOSTCFLAGS_zconf.tab.o	:= -I$(src)
+
+LEX_PREFIX_zconf	:= zconf
+YACC_PREFIX_zconf	:= zconf
+
+HOSTLOADLIBES_qconf	= $(KC_QT_LIBS)
+HOSTCXXFLAGS_qconf.o	= $(KC_QT_CFLAGS)
+
+HOSTLOADLIBES_gconf	= `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0`
+HOSTCFLAGS_gconf.o	= `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
+                          -Wno-missing-prototypes
+
+HOSTLOADLIBES_mconf   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
+
+HOSTLOADLIBES_nconf	= $(shell \
+				pkg-config --libs menu panel ncurses 2>/dev/null \
+				|| echo "-lmenu -lpanel -lncurses"  )
+$(obj)/qconf.o: $(obj)/.tmp_qtcheck
+
+ifeq ($(qconf-target),1)
+$(obj)/.tmp_qtcheck: $(src)/Makefile
+-include $(obj)/.tmp_qtcheck
+
+# QT needs some extra effort...
+$(obj)/.tmp_qtcheck:
+	@set -e; echo "  CHECK   qt"; dir=""; pkg=""; \
+	if ! pkg-config --exists QtCore 2> /dev/null; then \
+	    echo "* Unable to find the QT4 tool qmake. Trying to use QT3"; \
+	    pkg-config --exists qt 2> /dev/null && pkg=qt; \
+	    pkg-config --exists qt-mt 2> /dev/null && pkg=qt-mt; \
+	    if [ -n "$$pkg" ]; then \
+	      cflags="\$$(shell pkg-config $$pkg --cflags)"; \
+	      libs="\$$(shell pkg-config $$pkg --libs)"; \
+	      moc="\$$(shell pkg-config $$pkg --variable=prefix)/bin/moc"; \
+	      dir="$$(pkg-config $$pkg --variable=prefix)"; \
+	    else \
+	      for d in $$QTDIR /usr/share/qt* /usr/lib/qt*; do \
+	        if [ -f $$d/include/qconfig.h ]; then dir=$$d; break; fi; \
+	      done; \
+	      if [ -z "$$dir" ]; then \
+	        echo >&2 "*"; \
+	        echo >&2 "* Unable to find any QT installation. Please make sure that"; \
+	        echo >&2 "* the QT4 or QT3 development package is correctly installed and"; \
+	        echo >&2 "* either qmake can be found or install pkg-config or set"; \
+	        echo >&2 "* the QTDIR environment variable to the correct location."; \
+	        echo >&2 "*"; \
+	        false; \
+	      fi; \
+	      libpath=$$dir/lib; lib=qt; osdir=""; \
+	      $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \
+	        osdir=x$$($(HOSTCXX) -print-multi-os-directory); \
+	      test -d $$libpath/$$osdir && libpath=$$libpath/$$osdir; \
+	      test -f $$libpath/libqt-mt.so && lib=qt-mt; \
+	      cflags="-I$$dir/include"; \
+	      libs="-L$$libpath -Wl,-rpath,$$libpath -l$$lib"; \
+	      moc="$$dir/bin/moc"; \
+	    fi; \
+	    if [ ! -x $$dir/bin/moc -a -x /usr/bin/moc ]; then \
+	      echo "*"; \
+	      echo "* Unable to find $$dir/bin/moc, using /usr/bin/moc instead."; \
+	      echo "*"; \
+	      moc="/usr/bin/moc"; \
+	    fi; \
+	else \
+	  cflags="\$$(shell pkg-config QtCore QtGui Qt3Support --cflags)"; \
+	  libs="\$$(shell pkg-config QtCore QtGui Qt3Support --libs)"; \
+	  moc="\$$(shell pkg-config QtCore --variable=moc_location)"; \
+	  [ -n "$$moc" ] || moc="\$$(shell pkg-config QtCore --variable=prefix)/bin/moc"; \
+	fi; \
+	echo "KC_QT_CFLAGS=$$cflags" > $@; \
+	echo "KC_QT_LIBS=$$libs" >> $@; \
+	echo "KC_QT_MOC=$$moc" >> $@
+endif
+
+$(obj)/gconf.o: $(obj)/.tmp_gtkcheck
+
+ifeq ($(gconf-target),1)
+-include $(obj)/.tmp_gtkcheck
+
+# GTK needs some extra effort, too...
+$(obj)/.tmp_gtkcheck:
+	@if `pkg-config --exists gtk+-2.0 gmodule-2.0 libglade-2.0`; then		\
+		if `pkg-config --atleast-version=2.0.0 gtk+-2.0`; then			\
+			touch $@;								\
+		else									\
+			echo >&2 "*"; 							\
+			echo >&2 "* GTK+ is present but version >= 2.0.0 is required.";	\
+			echo >&2 "*";							\
+			false;								\
+		fi									\
+	else										\
+		echo >&2 "*"; 								\
+		echo >&2 "* Unable to find the GTK+ installation. Please make sure that"; 	\
+		echo >&2 "* the GTK+ 2.0 development package is correctly installed..."; 	\
+		echo >&2 "* You need gtk+-2.0, glib-2.0 and libglade-2.0."; 		\
+		echo >&2 "*"; 								\
+		false;									\
+	fi
+endif
+
+$(obj)/zconf.tab.o: $(obj)/zconf.lex.c $(obj)/zconf.hash.c
+
+$(obj)/qconf.o: $(obj)/qconf.moc
+
+quiet_cmd_moc = MOC     $@
+      cmd_moc = $(KC_QT_MOC) -i $< -o $@
+
+$(obj)/%.moc: $(src)/%.h $(obj)/.tmp_qtcheck
+	$(call cmd,moc)
+
+# Extract gconf menu items for I18N support
+$(obj)/gconf.glade.h: $(obj)/gconf.glade
+	$(Q)intltool-extract --type=gettext/glade --srcdir=$(srctree) \
+	$(obj)/gconf.glade
+
diff --git a/scripts/kconfig/POTFILES.in b/scripts/kconfig/POTFILES.in
new file mode 100644
index 0000000..9674573
--- /dev/null
+++ b/scripts/kconfig/POTFILES.in
@@ -0,0 +1,12 @@
+scripts/kconfig/lxdialog/checklist.c
+scripts/kconfig/lxdialog/inputbox.c
+scripts/kconfig/lxdialog/menubox.c
+scripts/kconfig/lxdialog/textbox.c
+scripts/kconfig/lxdialog/util.c
+scripts/kconfig/lxdialog/yesno.c
+scripts/kconfig/mconf.c
+scripts/kconfig/conf.c
+scripts/kconfig/confdata.c
+scripts/kconfig/gconf.c
+scripts/kconfig/gconf.glade.h
+scripts/kconfig/qconf.cc
diff --git a/scripts/kconfig/check.sh b/scripts/kconfig/check.sh
new file mode 100755
index 0000000..854d9c7
--- /dev/null
+++ b/scripts/kconfig/check.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+# Needed for systems without gettext
+$* -x c -o /dev/null - > /dev/null 2>&1 << EOF
+#include <libintl.h>
+int main()
+{
+	gettext("");
+	return 0;
+}
+EOF
+if [ ! "$?" -eq "0"  ]; then
+	echo -DKBUILD_NO_NLS;
+fi
+
diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c
new file mode 100644
index 0000000..d19944f
--- /dev/null
+++ b/scripts/kconfig/conf.c
@@ -0,0 +1,718 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <locale.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+#include <getopt.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <errno.h>
+
+#include "lkc.h"
+
+static void conf(struct menu *menu);
+static void check_conf(struct menu *menu);
+static void xfgets(char *str, int size, FILE *in);
+
+enum input_mode {
+	oldaskconfig,
+	silentoldconfig,
+	oldconfig,
+	allnoconfig,
+	allyesconfig,
+	allmodconfig,
+	alldefconfig,
+	randconfig,
+	defconfig,
+	savedefconfig,
+	listnewconfig,
+	olddefconfig,
+} input_mode = oldaskconfig;
+
+static int indent = 1;
+static int tty_stdio;
+static int valid_stdin = 1;
+static int sync_kconfig;
+static int conf_cnt;
+static char line[128];
+static struct menu *rootEntry;
+
+static void print_help(struct menu *menu)
+{
+	struct gstr help = str_new();
+
+	menu_get_ext_help(menu, &help);
+
+	printf("\n%s\n", str_get(&help));
+	str_free(&help);
+}
+
+static void strip(char *str)
+{
+	char *p = str;
+	int l;
+
+	while ((isspace(*p)))
+		p++;
+	l = strlen(p);
+	if (p != str)
+		memmove(str, p, l + 1);
+	if (!l)
+		return;
+	p = str + l - 1;
+	while ((isspace(*p)))
+		*p-- = 0;
+}
+
+static void check_stdin(void)
+{
+	if (!valid_stdin) {
+		printf(_("aborted!\n\n"));
+		printf(_("Console input/output is redirected. "));
+		printf(_("Run 'make oldconfig' to update configuration.\n\n"));
+		exit(1);
+	}
+}
+
+static int conf_askvalue(struct symbol *sym, const char *def)
+{
+	enum symbol_type type = sym_get_type(sym);
+
+	if (!sym_has_value(sym))
+		printf(_("(NEW) "));
+
+	line[0] = '\n';
+	line[1] = 0;
+
+	if (!sym_is_changable(sym)) {
+		printf("%s\n", def);
+		line[0] = '\n';
+		line[1] = 0;
+		return 0;
+	}
+
+	switch (input_mode) {
+	case oldconfig:
+	case silentoldconfig:
+		if (sym_has_value(sym)) {
+			printf("%s\n", def);
+			return 0;
+		}
+		check_stdin();
+		/* fall through */
+	case oldaskconfig:
+		fflush(stdout);
+		xfgets(line, 128, stdin);
+		if (!tty_stdio)
+			printf("\n");
+		return 1;
+	default:
+		break;
+	}
+
+	switch (type) {
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		printf("%s\n", def);
+		return 1;
+	default:
+		;
+	}
+	printf("%s", line);
+	return 1;
+}
+
+static int conf_string(struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	const char *def;
+
+	while (1) {
+		printf("%*s%s ", indent - 1, "", _(menu->prompt->text));
+		printf("(%s) ", sym->name);
+		def = sym_get_string_value(sym);
+		if (sym_get_string_value(sym))
+			printf("[%s] ", def);
+		if (!conf_askvalue(sym, def))
+			return 0;
+		switch (line[0]) {
+		case '\n':
+			break;
+		case '?':
+			/* print help */
+			if (line[1] == '\n') {
+				print_help(menu);
+				def = NULL;
+				break;
+			}
+			/* fall through */
+		default:
+			line[strlen(line)-1] = 0;
+			def = line;
+		}
+		if (def && sym_set_string_value(sym, def))
+			return 0;
+	}
+}
+
+static int conf_sym(struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	tristate oldval, newval;
+
+	while (1) {
+		printf("%*s%s ", indent - 1, "", _(menu->prompt->text));
+		if (sym->name)
+			printf("(%s) ", sym->name);
+		putchar('[');
+		oldval = sym_get_tristate_value(sym);
+		switch (oldval) {
+		case no:
+			putchar('N');
+			break;
+		case mod:
+			putchar('M');
+			break;
+		case yes:
+			putchar('Y');
+			break;
+		}
+		if (oldval != no && sym_tristate_within_range(sym, no))
+			printf("/n");
+		if (oldval != mod && sym_tristate_within_range(sym, mod))
+			printf("/m");
+		if (oldval != yes && sym_tristate_within_range(sym, yes))
+			printf("/y");
+		if (menu_has_help(menu))
+			printf("/?");
+		printf("] ");
+		if (!conf_askvalue(sym, sym_get_string_value(sym)))
+			return 0;
+		strip(line);
+
+		switch (line[0]) {
+		case 'n':
+		case 'N':
+			newval = no;
+			if (!line[1] || !strcmp(&line[1], "o"))
+				break;
+			continue;
+		case 'm':
+		case 'M':
+			newval = mod;
+			if (!line[1])
+				break;
+			continue;
+		case 'y':
+		case 'Y':
+			newval = yes;
+			if (!line[1] || !strcmp(&line[1], "es"))
+				break;
+			continue;
+		case 0:
+			newval = oldval;
+			break;
+		case '?':
+			goto help;
+		default:
+			continue;
+		}
+		if (sym_set_tristate_value(sym, newval))
+			return 0;
+help:
+		print_help(menu);
+	}
+}
+
+static int conf_choice(struct menu *menu)
+{
+	struct symbol *sym, *def_sym;
+	struct menu *child;
+	bool is_new;
+
+	sym = menu->sym;
+	is_new = !sym_has_value(sym);
+	if (sym_is_changable(sym)) {
+		conf_sym(menu);
+		sym_calc_value(sym);
+		switch (sym_get_tristate_value(sym)) {
+		case no:
+			return 1;
+		case mod:
+			return 0;
+		case yes:
+			break;
+		}
+	} else {
+		switch (sym_get_tristate_value(sym)) {
+		case no:
+			return 1;
+		case mod:
+			printf("%*s%s\n", indent - 1, "", _(menu_get_prompt(menu)));
+			return 0;
+		case yes:
+			break;
+		}
+	}
+
+	while (1) {
+		int cnt, def;
+
+		printf("%*s%s\n", indent - 1, "", _(menu_get_prompt(menu)));
+		def_sym = sym_get_choice_value(sym);
+		cnt = def = 0;
+		line[0] = 0;
+		for (child = menu->list; child; child = child->next) {
+			if (!menu_is_visible(child))
+				continue;
+			if (!child->sym) {
+				printf("%*c %s\n", indent, '*', _(menu_get_prompt(child)));
+				continue;
+			}
+			cnt++;
+			if (child->sym == def_sym) {
+				def = cnt;
+				printf("%*c", indent, '>');
+			} else
+				printf("%*c", indent, ' ');
+			printf(" %d. %s", cnt, _(menu_get_prompt(child)));
+			if (child->sym->name)
+				printf(" (%s)", child->sym->name);
+			if (!sym_has_value(child->sym))
+				printf(_(" (NEW)"));
+			printf("\n");
+		}
+		printf(_("%*schoice"), indent - 1, "");
+		if (cnt == 1) {
+			printf("[1]: 1\n");
+			goto conf_childs;
+		}
+		printf("[1-%d", cnt);
+		if (menu_has_help(menu))
+			printf("?");
+		printf("]: ");
+		switch (input_mode) {
+		case oldconfig:
+		case silentoldconfig:
+			if (!is_new) {
+				cnt = def;
+				printf("%d\n", cnt);
+				break;
+			}
+			check_stdin();
+			/* fall through */
+		case oldaskconfig:
+			fflush(stdout);
+			xfgets(line, 128, stdin);
+			strip(line);
+			if (line[0] == '?') {
+				print_help(menu);
+				continue;
+			}
+			if (!line[0])
+				cnt = def;
+			else if (isdigit(line[0]))
+				cnt = atoi(line);
+			else
+				continue;
+			break;
+		default:
+			break;
+		}
+
+	conf_childs:
+		for (child = menu->list; child; child = child->next) {
+			if (!child->sym || !menu_is_visible(child))
+				continue;
+			if (!--cnt)
+				break;
+		}
+		if (!child)
+			continue;
+		if (line[0] && line[strlen(line) - 1] == '?') {
+			print_help(child);
+			continue;
+		}
+		sym_set_choice_value(sym, child->sym);
+		for (child = child->list; child; child = child->next) {
+			indent += 2;
+			conf(child);
+			indent -= 2;
+		}
+		return 1;
+	}
+}
+
+static void conf(struct menu *menu)
+{
+	struct symbol *sym;
+	struct property *prop;
+	struct menu *child;
+
+	if (!menu_is_visible(menu))
+		return;
+
+	sym = menu->sym;
+	prop = menu->prompt;
+	if (prop) {
+		const char *prompt;
+
+		switch (prop->type) {
+		case P_MENU:
+			if ((input_mode == silentoldconfig ||
+			     input_mode == listnewconfig ||
+			     input_mode == olddefconfig) &&
+			    rootEntry != menu) {
+				check_conf(menu);
+				return;
+			}
+			/* fall through */
+		case P_COMMENT:
+			prompt = menu_get_prompt(menu);
+			if (prompt)
+				printf("%*c\n%*c %s\n%*c\n",
+					indent, '*',
+					indent, '*', _(prompt),
+					indent, '*');
+		default:
+			;
+		}
+	}
+
+	if (!sym)
+		goto conf_childs;
+
+	if (sym_is_choice(sym)) {
+		conf_choice(menu);
+		if (sym->curr.tri != mod)
+			return;
+		goto conf_childs;
+	}
+
+	switch (sym->type) {
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		conf_string(menu);
+		break;
+	default:
+		conf_sym(menu);
+		break;
+	}
+
+conf_childs:
+	if (sym)
+		indent += 2;
+	for (child = menu->list; child; child = child->next)
+		conf(child);
+	if (sym)
+		indent -= 2;
+}
+
+static void check_conf(struct menu *menu)
+{
+	struct symbol *sym;
+	struct menu *child;
+
+	if (!menu_is_visible(menu))
+		return;
+
+	sym = menu->sym;
+	if (sym && !sym_has_value(sym)) {
+		if (sym_is_changable(sym) ||
+		    (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
+			if (input_mode == listnewconfig) {
+				if (sym->name && !sym_is_choice_value(sym)) {
+					printf("%s%s\n", CONFIG_, sym->name);
+				}
+			} else if (input_mode != olddefconfig) {
+				if (!conf_cnt++)
+					printf(_("*\n* Restart config...\n*\n"));
+				rootEntry = menu_get_parent_menu(menu);
+				conf(rootEntry);
+			}
+		}
+	}
+
+	for (child = menu->list; child; child = child->next)
+		check_conf(child);
+}
+
+static struct option long_opts[] = {
+	{"oldaskconfig",    no_argument,       NULL, oldaskconfig},
+	{"oldconfig",       no_argument,       NULL, oldconfig},
+	{"silentoldconfig", no_argument,       NULL, silentoldconfig},
+	{"defconfig",       optional_argument, NULL, defconfig},
+	{"savedefconfig",   required_argument, NULL, savedefconfig},
+	{"allnoconfig",     no_argument,       NULL, allnoconfig},
+	{"allyesconfig",    no_argument,       NULL, allyesconfig},
+	{"allmodconfig",    no_argument,       NULL, allmodconfig},
+	{"alldefconfig",    no_argument,       NULL, alldefconfig},
+	{"randconfig",      no_argument,       NULL, randconfig},
+	{"listnewconfig",   no_argument,       NULL, listnewconfig},
+	{"olddefconfig",    no_argument,       NULL, olddefconfig},
+	/*
+	 * oldnoconfig is an alias of olddefconfig, because people already
+	 * are dependent on its behavior(sets new symbols to their default
+	 * value but not 'n') with the counter-intuitive name.
+	 */
+	{"oldnoconfig",     no_argument,       NULL, olddefconfig},
+	{NULL, 0, NULL, 0}
+};
+
+static void conf_usage(const char *progname)
+{
+
+	printf("Usage: %s [option] <kconfig-file>\n", progname);
+	printf("[option] is _one_ of the following:\n");
+	printf("  --listnewconfig         List new options\n");
+	printf("  --oldaskconfig          Start a new configuration using a line-oriented program\n");
+	printf("  --oldconfig             Update a configuration using a provided .config as base\n");
+	printf("  --silentoldconfig       Same as oldconfig, but quietly, additionally update deps\n");
+	printf("  --olddefconfig          Same as silentoldconfig but sets new symbols to their default value\n");
+	printf("  --oldnoconfig           An alias of olddefconfig\n");
+	printf("  --defconfig <file>      New config with default defined in <file>\n");
+	printf("  --savedefconfig <file>  Save the minimal current configuration to <file>\n");
+	printf("  --allnoconfig           New config where all options are answered with no\n");
+	printf("  --allyesconfig          New config where all options are answered with yes\n");
+	printf("  --allmodconfig          New config where all options are answered with mod\n");
+	printf("  --alldefconfig          New config with all symbols set to default\n");
+	printf("  --randconfig            New config with random answer to all options\n");
+}
+
+int main(int ac, char **av)
+{
+	const char *progname = av[0];
+	int opt;
+	const char *name, *defconfig_file = NULL /* gcc uninit */;
+	struct stat tmpstat;
+
+	setlocale(LC_ALL, "");
+	bindtextdomain(PACKAGE, LOCALEDIR);
+	textdomain(PACKAGE);
+
+	tty_stdio = isatty(0) && isatty(1) && isatty(2);
+
+	while ((opt = getopt_long(ac, av, "", long_opts, NULL)) != -1) {
+		input_mode = (enum input_mode)opt;
+		switch (opt) {
+		case silentoldconfig:
+			sync_kconfig = 1;
+			break;
+		case defconfig:
+		case savedefconfig:
+			defconfig_file = optarg;
+			break;
+		case randconfig:
+		{
+			struct timeval now;
+			unsigned int seed;
+			char *seed_env;
+
+			/*
+			 * Use microseconds derived seed,
+			 * compensate for systems where it may be zero
+			 */
+			gettimeofday(&now, NULL);
+			seed = (unsigned int)((now.tv_sec + 1) * (now.tv_usec + 1));
+
+			seed_env = getenv("KCONFIG_SEED");
+			if( seed_env && *seed_env ) {
+				char *endp;
+				int tmp = (int)strtol(seed_env, &endp, 0);
+				if (*endp == '\0') {
+					seed = tmp;
+				}
+			}
+			fprintf( stderr, "KCONFIG_SEED=0x%X\n", seed );
+			srand(seed);
+			break;
+		}
+		case oldaskconfig:
+		case oldconfig:
+		case allnoconfig:
+		case allyesconfig:
+		case allmodconfig:
+		case alldefconfig:
+		case listnewconfig:
+		case olddefconfig:
+			break;
+		case '?':
+			conf_usage(progname);
+			exit(1);
+			break;
+		}
+	}
+	if (ac == optind) {
+		printf(_("%s: Kconfig file missing\n"), av[0]);
+		conf_usage(progname);
+		exit(1);
+	}
+	name = av[optind];
+	conf_parse(name);
+	//zconfdump(stdout);
+	if (sync_kconfig) {
+		name = conf_get_configname();
+		if (stat(name, &tmpstat)) {
+			fprintf(stderr, _("***\n"
+				"*** Configuration file \"%s\" not found!\n"
+				"***\n"
+				"*** Please run some configurator (e.g. \"make oldconfig\" or\n"
+				"*** \"make menuconfig\" or \"make xconfig\").\n"
+				"***\n"), name);
+			exit(1);
+		}
+	}
+
+	switch (input_mode) {
+	case defconfig:
+		if (!defconfig_file)
+			defconfig_file = conf_get_default_confname();
+		if (conf_read(defconfig_file)) {
+			printf(_("***\n"
+				"*** Can't find default configuration \"%s\"!\n"
+				"***\n"), defconfig_file);
+			exit(1);
+		}
+		break;
+	case savedefconfig:
+	case silentoldconfig:
+	case oldaskconfig:
+	case oldconfig:
+	case listnewconfig:
+	case olddefconfig:
+		conf_read(NULL);
+		break;
+	case allnoconfig:
+	case allyesconfig:
+	case allmodconfig:
+	case alldefconfig:
+	case randconfig:
+		name = getenv("KCONFIG_ALLCONFIG");
+		if (!name)
+			break;
+		if ((strcmp(name, "") != 0) && (strcmp(name, "1") != 0)) {
+			if (conf_read_simple(name, S_DEF_USER)) {
+				fprintf(stderr,
+					_("*** Can't read seed configuration \"%s\"!\n"),
+					name);
+				exit(1);
+			}
+			break;
+		}
+		switch (input_mode) {
+		case allnoconfig:	name = "allno.config"; break;
+		case allyesconfig:	name = "allyes.config"; break;
+		case allmodconfig:	name = "allmod.config"; break;
+		case alldefconfig:	name = "alldef.config"; break;
+		case randconfig:	name = "allrandom.config"; break;
+		default: break;
+		}
+		if (conf_read_simple(name, S_DEF_USER) &&
+		    conf_read_simple("all.config", S_DEF_USER)) {
+			fprintf(stderr,
+				_("*** KCONFIG_ALLCONFIG set, but no \"%s\" or \"all.config\" file found\n"),
+				name);
+			exit(1);
+		}
+		break;
+	default:
+		break;
+	}
+
+	if (sync_kconfig) {
+		if (conf_get_changed()) {
+			name = getenv("KCONFIG_NOSILENTUPDATE");
+			if (name && *name) {
+				fprintf(stderr,
+					_("\n*** The configuration requires explicit update.\n\n"));
+				return 1;
+			}
+		}
+		valid_stdin = tty_stdio;
+	}
+
+	switch (input_mode) {
+	case allnoconfig:
+		conf_set_all_new_symbols(def_no);
+		break;
+	case allyesconfig:
+		conf_set_all_new_symbols(def_yes);
+		break;
+	case allmodconfig:
+		conf_set_all_new_symbols(def_mod);
+		break;
+	case alldefconfig:
+		conf_set_all_new_symbols(def_default);
+		break;
+	case randconfig:
+		/* Really nothing to do in this loop */
+		while (conf_set_all_new_symbols(def_random)) ;
+		break;
+	case defconfig:
+		conf_set_all_new_symbols(def_default);
+		break;
+	case savedefconfig:
+		break;
+	case oldaskconfig:
+		rootEntry = &rootmenu;
+		conf(&rootmenu);
+		input_mode = silentoldconfig;
+		/* fall through */
+	case oldconfig:
+	case listnewconfig:
+	case olddefconfig:
+	case silentoldconfig:
+		/* Update until a loop caused no more changes */
+		do {
+			conf_cnt = 0;
+			check_conf(&rootmenu);
+		} while (conf_cnt &&
+			 (input_mode != listnewconfig &&
+			  input_mode != olddefconfig));
+		break;
+	}
+
+	if (sync_kconfig) {
+		/* silentoldconfig is used during the build so we shall update autoconf.
+		 * All other commands are only used to generate a config.
+		 */
+		if (conf_get_changed() && conf_write(NULL)) {
+			fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n"));
+			exit(1);
+		}
+		if (conf_write_autoconf()) {
+			fprintf(stderr, _("\n*** Error during update of the configuration.\n\n"));
+			return 1;
+		}
+	} else if (input_mode == savedefconfig) {
+		if (conf_write_defconfig(defconfig_file)) {
+			fprintf(stderr, _("n*** Error while saving defconfig to: %s\n\n"),
+			        defconfig_file);
+			return 1;
+		}
+	} else if (input_mode != listnewconfig) {
+		if (conf_write(NULL)) {
+			fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n"));
+			exit(1);
+		}
+	}
+	return 0;
+}
+
+/*
+ * Helper function to facilitate fgets() by Jean Sacren.
+ */
+void xfgets(char *str, int size, FILE *in)
+{
+	if (fgets(str, size, in) == NULL)
+		fprintf(stderr, "\nError in reading or end of file.\n");
+}
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
new file mode 100644
index 0000000..f88d90f
--- /dev/null
+++ b/scripts/kconfig/confdata.c
@@ -0,0 +1,1242 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <sys/stat.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+#include "lkc.h"
+
+static void conf_warning(const char *fmt, ...)
+	__attribute__ ((format (printf, 1, 2)));
+
+static void conf_message(const char *fmt, ...)
+	__attribute__ ((format (printf, 1, 2)));
+
+static const char *conf_filename;
+static int conf_lineno, conf_warnings, conf_unsaved;
+
+const char conf_defname[] = "arch/$ARCH/defconfig";
+
+static void conf_warning(const char *fmt, ...)
+{
+	va_list ap;
+	va_start(ap, fmt);
+	fprintf(stderr, "%s:%d:warning: ", conf_filename, conf_lineno);
+	vfprintf(stderr, fmt, ap);
+	fprintf(stderr, "\n");
+	va_end(ap);
+	conf_warnings++;
+}
+
+static void conf_default_message_callback(const char *fmt, va_list ap)
+{
+	printf("#\n# ");
+	vprintf(fmt, ap);
+	printf("\n#\n");
+}
+
+static void (*conf_message_callback) (const char *fmt, va_list ap) =
+	conf_default_message_callback;
+void conf_set_message_callback(void (*fn) (const char *fmt, va_list ap))
+{
+	conf_message_callback = fn;
+}
+
+static void conf_message(const char *fmt, ...)
+{
+	va_list ap;
+
+	va_start(ap, fmt);
+	if (conf_message_callback)
+		conf_message_callback(fmt, ap);
+}
+
+const char *conf_get_configname(void)
+{
+	char *name = getenv("KCONFIG_CONFIG");
+
+	return name ? name : ".config";
+}
+
+const char *conf_get_autoconfig_name(void)
+{
+	char *name = getenv("KCONFIG_AUTOCONFIG");
+
+	return name ? name : "include/config/auto.conf";
+}
+
+static char *conf_expand_value(const char *in)
+{
+	struct symbol *sym;
+	const char *src;
+	static char res_value[SYMBOL_MAXLENGTH];
+	char *dst, name[SYMBOL_MAXLENGTH];
+
+	res_value[0] = 0;
+	dst = name;
+	while ((src = strchr(in, '$'))) {
+		strncat(res_value, in, src - in);
+		src++;
+		dst = name;
+		while (isalnum(*src) || *src == '_')
+			*dst++ = *src++;
+		*dst = 0;
+		sym = sym_lookup(name, 0);
+		sym_calc_value(sym);
+		strcat(res_value, sym_get_string_value(sym));
+		in = src;
+	}
+	strcat(res_value, in);
+
+	return res_value;
+}
+
+char *conf_get_default_confname(void)
+{
+	struct stat buf;
+	static char fullname[PATH_MAX+1];
+	char *env, *name;
+
+	name = conf_expand_value(conf_defname);
+	env = getenv(SRCTREE);
+	if (env) {
+		sprintf(fullname, "%s/%s", env, name);
+		if (!stat(fullname, &buf))
+			return fullname;
+	}
+	return name;
+}
+
+static int conf_set_sym_val(struct symbol *sym, int def, int def_flags, char *p)
+{
+	char *p2;
+
+	switch (sym->type) {
+	case S_TRISTATE:
+		if (p[0] == 'm') {
+			sym->def[def].tri = mod;
+			sym->flags |= def_flags;
+			break;
+		}
+		/* fall through */
+	case S_BOOLEAN:
+		if (p[0] == 'y') {
+			sym->def[def].tri = yes;
+			sym->flags |= def_flags;
+			break;
+		}
+		if (p[0] == 'n') {
+			sym->def[def].tri = no;
+			sym->flags |= def_flags;
+			break;
+		}
+		if (def != S_DEF_AUTO)
+			conf_warning("symbol value '%s' invalid for %s",
+				     p, sym->name);
+		return 1;
+	case S_OTHER:
+		if (*p != '"') {
+			for (p2 = p; *p2 && !isspace(*p2); p2++)
+				;
+			sym->type = S_STRING;
+			goto done;
+		}
+		/* fall through */
+	case S_STRING:
+		if (*p++ != '"')
+			break;
+		for (p2 = p; (p2 = strpbrk(p2, "\"\\")); p2++) {
+			if (*p2 == '"') {
+				*p2 = 0;
+				break;
+			}
+			memmove(p2, p2 + 1, strlen(p2));
+		}
+		if (!p2) {
+			if (def != S_DEF_AUTO)
+				conf_warning("invalid string found");
+			return 1;
+		}
+		/* fall through */
+	case S_INT:
+	case S_HEX:
+	done:
+		if (sym_string_valid(sym, p)) {
+			sym->def[def].val = strdup(p);
+			sym->flags |= def_flags;
+		} else {
+			if (def != S_DEF_AUTO)
+				conf_warning("symbol value '%s' invalid for %s",
+					     p, sym->name);
+			return 1;
+		}
+		break;
+	default:
+		;
+	}
+	return 0;
+}
+
+#define LINE_GROWTH 16
+static int add_byte(int c, char **lineptr, size_t slen, size_t *n)
+{
+	char *nline;
+	size_t new_size = slen + 1;
+	if (new_size > *n) {
+		new_size += LINE_GROWTH - 1;
+		new_size *= 2;
+		nline = realloc(*lineptr, new_size);
+		if (!nline)
+			return -1;
+
+		*lineptr = nline;
+		*n = new_size;
+	}
+
+	(*lineptr)[slen] = c;
+
+	return 0;
+}
+
+static ssize_t compat_getline(char **lineptr, size_t *n, FILE *stream)
+{
+	char *line = *lineptr;
+	size_t slen = 0;
+
+	for (;;) {
+		int c = getc(stream);
+
+		switch (c) {
+		case '\n':
+			if (add_byte(c, &line, slen, n) < 0)
+				goto e_out;
+			slen++;
+			/* fall through */
+		case EOF:
+			if (add_byte('\0', &line, slen, n) < 0)
+				goto e_out;
+			*lineptr = line;
+			if (slen == 0)
+				return -1;
+			return slen;
+		default:
+			if (add_byte(c, &line, slen, n) < 0)
+				goto e_out;
+			slen++;
+		}
+	}
+
+e_out:
+	line[slen-1] = '\0';
+	*lineptr = line;
+	return -1;
+}
+
+int conf_read_simple(const char *name, int def)
+{
+	FILE *in = NULL;
+	char   *line = NULL;
+	size_t  line_asize = 0;
+	char *p, *p2;
+	struct symbol *sym;
+	int i, def_flags;
+
+	if (name) {
+		in = zconf_fopen(name);
+	} else {
+		struct property *prop;
+
+		name = conf_get_configname();
+		in = zconf_fopen(name);
+		if (in)
+			goto load;
+		sym_add_change_count(1);
+		if (!sym_defconfig_list) {
+			if (modules_sym)
+				sym_calc_value(modules_sym);
+			return 1;
+		}
+
+		for_all_defaults(sym_defconfig_list, prop) {
+			if (expr_calc_value(prop->visible.expr) == no ||
+			    prop->expr->type != E_SYMBOL)
+				continue;
+			name = conf_expand_value(prop->expr->left.sym->name);
+			in = zconf_fopen(name);
+			if (in) {
+				conf_message(_("using defaults found in %s"),
+					 name);
+				goto load;
+			}
+		}
+	}
+	if (!in)
+		return 1;
+
+load:
+	conf_filename = name;
+	conf_lineno = 0;
+	conf_warnings = 0;
+	conf_unsaved = 0;
+
+	def_flags = SYMBOL_DEF << def;
+	for_all_symbols(i, sym) {
+		sym->flags |= SYMBOL_CHANGED;
+		sym->flags &= ~(def_flags|SYMBOL_VALID);
+		if (sym_is_choice(sym))
+			sym->flags |= def_flags;
+		switch (sym->type) {
+		case S_INT:
+		case S_HEX:
+		case S_STRING:
+			if (sym->def[def].val)
+				free(sym->def[def].val);
+			/* fall through */
+		default:
+			sym->def[def].val = NULL;
+			sym->def[def].tri = no;
+		}
+	}
+
+	while (compat_getline(&line, &line_asize, in) != -1) {
+		conf_lineno++;
+		sym = NULL;
+		if (line[0] == '#') {
+			if (memcmp(line + 2, CONFIG_, strlen(CONFIG_)))
+				continue;
+			p = strchr(line + 2 + strlen(CONFIG_), ' ');
+			if (!p)
+				continue;
+			*p++ = 0;
+			if (strncmp(p, "is not set", 10))
+				continue;
+			if (def == S_DEF_USER) {
+				sym = sym_find(line + 2 + strlen(CONFIG_));
+				if (!sym) {
+					sym_add_change_count(1);
+					goto setsym;
+				}
+			} else {
+				sym = sym_lookup(line + 2 + strlen(CONFIG_), 0);
+				if (sym->type == S_UNKNOWN)
+					sym->type = S_BOOLEAN;
+			}
+			if (sym->flags & def_flags) {
+				conf_warning("override: reassigning to symbol %s", sym->name);
+			}
+			switch (sym->type) {
+			case S_BOOLEAN:
+			case S_TRISTATE:
+				sym->def[def].tri = no;
+				sym->flags |= def_flags;
+				break;
+			default:
+				;
+			}
+		} else if (memcmp(line, CONFIG_, strlen(CONFIG_)) == 0) {
+			p = strchr(line + strlen(CONFIG_), '=');
+			if (!p)
+				continue;
+			*p++ = 0;
+			p2 = strchr(p, '\n');
+			if (p2) {
+				*p2-- = 0;
+				if (*p2 == '\r')
+					*p2 = 0;
+			}
+			if (def == S_DEF_USER) {
+				sym = sym_find(line + strlen(CONFIG_));
+				if (!sym) {
+					sym_add_change_count(1);
+					goto setsym;
+				}
+			} else {
+				sym = sym_lookup(line + strlen(CONFIG_), 0);
+				if (sym->type == S_UNKNOWN)
+					sym->type = S_OTHER;
+			}
+			if (sym->flags & def_flags) {
+				conf_warning("override: reassigning to symbol %s", sym->name);
+			}
+			if (conf_set_sym_val(sym, def, def_flags, p))
+				continue;
+		} else {
+			if (line[0] != '\r' && line[0] != '\n')
+				conf_warning("unexpected data");
+			continue;
+		}
+setsym:
+		if (sym && sym_is_choice_value(sym)) {
+			struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym));
+			switch (sym->def[def].tri) {
+			case no:
+				break;
+			case mod:
+				if (cs->def[def].tri == yes) {
+					conf_warning("%s creates inconsistent choice state", sym->name);
+					cs->flags &= ~def_flags;
+				}
+				break;
+			case yes:
+				if (cs->def[def].tri != no)
+					conf_warning("override: %s changes choice state", sym->name);
+				cs->def[def].val = sym;
+				break;
+			}
+			cs->def[def].tri = EXPR_OR(cs->def[def].tri, sym->def[def].tri);
+		}
+	}
+	free(line);
+	fclose(in);
+
+	if (modules_sym)
+		sym_calc_value(modules_sym);
+	return 0;
+}
+
+int conf_read(const char *name)
+{
+	struct symbol *sym;
+	int i;
+
+	sym_set_change_count(0);
+
+	if (conf_read_simple(name, S_DEF_USER))
+		return 1;
+
+	for_all_symbols(i, sym) {
+		sym_calc_value(sym);
+		if (sym_is_choice(sym) || (sym->flags & SYMBOL_AUTO))
+			continue;
+		if (sym_has_value(sym) && (sym->flags & SYMBOL_WRITE)) {
+			/* check that calculated value agrees with saved value */
+			switch (sym->type) {
+			case S_BOOLEAN:
+			case S_TRISTATE:
+				if (sym->def[S_DEF_USER].tri != sym_get_tristate_value(sym))
+					break;
+				if (!sym_is_choice(sym))
+					continue;
+				/* fall through */
+			default:
+				if (!strcmp(sym->curr.val, sym->def[S_DEF_USER].val))
+					continue;
+				break;
+			}
+		} else if (!sym_has_value(sym) && !(sym->flags & SYMBOL_WRITE))
+			/* no previous value and not saved */
+			continue;
+		conf_unsaved++;
+		/* maybe print value in verbose mode... */
+	}
+
+	for_all_symbols(i, sym) {
+		if (sym_has_value(sym) && !sym_is_choice_value(sym)) {
+			/* Reset values of generates values, so they'll appear
+			 * as new, if they should become visible, but that
+			 * doesn't quite work if the Kconfig and the saved
+			 * configuration disagree.
+			 */
+			if (sym->visible == no && !conf_unsaved)
+				sym->flags &= ~SYMBOL_DEF_USER;
+			switch (sym->type) {
+			case S_STRING:
+			case S_INT:
+			case S_HEX:
+				/* Reset a string value if it's out of range */
+				if (sym_string_within_range(sym, sym->def[S_DEF_USER].val))
+					break;
+				sym->flags &= ~(SYMBOL_VALID|SYMBOL_DEF_USER);
+				conf_unsaved++;
+				break;
+			default:
+				break;
+			}
+		}
+	}
+
+	sym_add_change_count(conf_warnings || conf_unsaved);
+
+	return 0;
+}
+
+/*
+ * Kconfig configuration printer
+ *
+ * This printer is used when generating the resulting configuration after
+ * kconfig invocation and `defconfig' files. Unset symbol might be omitted by
+ * passing a non-NULL argument to the printer.
+ *
+ */
+static void
+kconfig_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
+{
+
+	switch (sym->type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		if (*value == 'n') {
+			bool skip_unset = (arg != NULL);
+
+			if (!skip_unset)
+				fprintf(fp, "# %s%s is not set\n",
+				    CONFIG_, sym->name);
+			return;
+		}
+		break;
+	default:
+		break;
+	}
+
+	fprintf(fp, "%s%s=%s\n", CONFIG_, sym->name, value);
+}
+
+static void
+kconfig_print_comment(FILE *fp, const char *value, void *arg)
+{
+	const char *p = value;
+	size_t l;
+
+	for (;;) {
+		l = strcspn(p, "\n");
+		fprintf(fp, "#");
+		if (l) {
+			fprintf(fp, " ");
+			xfwrite(p, l, 1, fp);
+			p += l;
+		}
+		fprintf(fp, "\n");
+		if (*p++ == '\0')
+			break;
+	}
+}
+
+static struct conf_printer kconfig_printer_cb =
+{
+	.print_symbol = kconfig_print_symbol,
+	.print_comment = kconfig_print_comment,
+};
+
+/*
+ * Header printer
+ *
+ * This printer is used when generating the `include/generated/autoconf.h' file.
+ */
+static void
+header_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
+{
+
+	switch (sym->type) {
+	case S_BOOLEAN:
+	case S_TRISTATE: {
+		const char *suffix = "";
+
+		switch (*value) {
+		case 'n':
+			break;
+		case 'm':
+			suffix = "_MODULE";
+			/* fall through */
+		default:
+			fprintf(fp, "#define %s%s%s 1\n",
+			    CONFIG_, sym->name, suffix);
+		}
+		break;
+	}
+	case S_HEX: {
+		const char *prefix = "";
+
+		if (value[0] != '0' || (value[1] != 'x' && value[1] != 'X'))
+			prefix = "0x";
+		fprintf(fp, "#define %s%s %s%s\n",
+		    CONFIG_, sym->name, prefix, value);
+		break;
+	}
+	case S_STRING:
+	case S_INT:
+		fprintf(fp, "#define %s%s %s\n",
+		    CONFIG_, sym->name, value);
+		break;
+	default:
+		break;
+	}
+
+}
+
+static void
+header_print_comment(FILE *fp, const char *value, void *arg)
+{
+	const char *p = value;
+	size_t l;
+
+	fprintf(fp, "/*\n");
+	for (;;) {
+		l = strcspn(p, "\n");
+		fprintf(fp, " *");
+		if (l) {
+			fprintf(fp, " ");
+			xfwrite(p, l, 1, fp);
+			p += l;
+		}
+		fprintf(fp, "\n");
+		if (*p++ == '\0')
+			break;
+	}
+	fprintf(fp, " */\n");
+}
+
+static struct conf_printer header_printer_cb =
+{
+	.print_symbol = header_print_symbol,
+	.print_comment = header_print_comment,
+};
+
+/*
+ * Tristate printer
+ *
+ * This printer is used when generating the `include/config/tristate.conf' file.
+ */
+static void
+tristate_print_symbol(FILE *fp, struct symbol *sym, const char *value, void *arg)
+{
+
+	if (sym->type == S_TRISTATE && *value != 'n')
+		fprintf(fp, "%s%s=%c\n", CONFIG_, sym->name, (char)toupper(*value));
+}
+
+static struct conf_printer tristate_printer_cb =
+{
+	.print_symbol = tristate_print_symbol,
+	.print_comment = kconfig_print_comment,
+};
+
+static void conf_write_symbol(FILE *fp, struct symbol *sym,
+			      struct conf_printer *printer, void *printer_arg)
+{
+	const char *str;
+
+	switch (sym->type) {
+	case S_OTHER:
+	case S_UNKNOWN:
+		break;
+	case S_STRING:
+		str = sym_get_string_value(sym);
+		str = sym_escape_string_value(str);
+		printer->print_symbol(fp, sym, str, printer_arg);
+		free((void *)str);
+		break;
+	default:
+		str = sym_get_string_value(sym);
+		printer->print_symbol(fp, sym, str, printer_arg);
+	}
+}
+
+static void
+conf_write_heading(FILE *fp, struct conf_printer *printer, void *printer_arg)
+{
+	char buf[256];
+
+	snprintf(buf, sizeof(buf),
+	    "\n"
+	    "Automatically generated file; DO NOT EDIT.\n"
+	    "%s\n",
+	    rootmenu.prompt->text);
+
+	printer->print_comment(fp, buf, printer_arg);
+}
+
+/*
+ * Write out a minimal config.
+ * All values that has default values are skipped as this is redundant.
+ */
+int conf_write_defconfig(const char *filename)
+{
+	struct symbol *sym;
+	struct menu *menu;
+	FILE *out;
+
+	out = fopen(filename, "w");
+	if (!out)
+		return 1;
+
+	sym_clear_all_valid();
+
+	/* Traverse all menus to find all relevant symbols */
+	menu = rootmenu.list;
+
+	while (menu != NULL)
+	{
+		sym = menu->sym;
+		if (sym == NULL) {
+			if (!menu_is_visible(menu))
+				goto next_menu;
+		} else if (!sym_is_choice(sym)) {
+			sym_calc_value(sym);
+			if (!(sym->flags & SYMBOL_WRITE))
+				goto next_menu;
+			sym->flags &= ~SYMBOL_WRITE;
+			/* If we cannot change the symbol - skip */
+			if (!sym_is_changable(sym))
+				goto next_menu;
+			/* If symbol equals to default value - skip */
+			if (strcmp(sym_get_string_value(sym), sym_get_string_default(sym)) == 0)
+				goto next_menu;
+
+			/*
+			 * If symbol is a choice value and equals to the
+			 * default for a choice - skip.
+			 * But only if value is bool and equal to "y" and
+			 * choice is not "optional".
+			 * (If choice is "optional" then all values can be "n")
+			 */
+			if (sym_is_choice_value(sym)) {
+				struct symbol *cs;
+				struct symbol *ds;
+
+				cs = prop_get_symbol(sym_get_choice_prop(sym));
+				ds = sym_choice_default(cs);
+				if (!sym_is_optional(cs) && sym == ds) {
+					if ((sym->type == S_BOOLEAN) &&
+					    sym_get_tristate_value(sym) == yes)
+						goto next_menu;
+				}
+			}
+			conf_write_symbol(out, sym, &kconfig_printer_cb, NULL);
+		}
+next_menu:
+		if (menu->list != NULL) {
+			menu = menu->list;
+		}
+		else if (menu->next != NULL) {
+			menu = menu->next;
+		} else {
+			while ((menu = menu->parent)) {
+				if (menu->next != NULL) {
+					menu = menu->next;
+					break;
+				}
+			}
+		}
+	}
+	fclose(out);
+	return 0;
+}
+
+int conf_write(const char *name)
+{
+	FILE *out;
+	struct symbol *sym;
+	struct menu *menu;
+	const char *basename;
+	const char *str;
+	char dirname[PATH_MAX+1], tmpname[PATH_MAX+1], newname[PATH_MAX+1];
+	char *env;
+
+	dirname[0] = 0;
+	if (name && name[0]) {
+		struct stat st;
+		char *slash;
+
+		if (!stat(name, &st) && S_ISDIR(st.st_mode)) {
+			strcpy(dirname, name);
+			strcat(dirname, "/");
+			basename = conf_get_configname();
+		} else if ((slash = strrchr(name, '/'))) {
+			int size = slash - name + 1;
+			memcpy(dirname, name, size);
+			dirname[size] = 0;
+			if (slash[1])
+				basename = slash + 1;
+			else
+				basename = conf_get_configname();
+		} else
+			basename = name;
+	} else
+		basename = conf_get_configname();
+
+	sprintf(newname, "%s%s", dirname, basename);
+	env = getenv("KCONFIG_OVERWRITECONFIG");
+	if (!env || !*env) {
+		sprintf(tmpname, "%s.tmpconfig.%d", dirname, (int)getpid());
+		out = fopen(tmpname, "w");
+	} else {
+		*tmpname = 0;
+		out = fopen(newname, "w");
+	}
+	if (!out)
+		return 1;
+
+	conf_write_heading(out, &kconfig_printer_cb, NULL);
+
+	if (!conf_get_changed())
+		sym_clear_all_valid();
+
+	menu = rootmenu.list;
+	while (menu) {
+		sym = menu->sym;
+		if (!sym) {
+			if (!menu_is_visible(menu))
+				goto next;
+			str = menu_get_prompt(menu);
+			fprintf(out, "\n"
+				     "#\n"
+				     "# %s\n"
+				     "#\n", str);
+		} else if (!(sym->flags & SYMBOL_CHOICE)) {
+			sym_calc_value(sym);
+			if (!(sym->flags & SYMBOL_WRITE))
+				goto next;
+			sym->flags &= ~SYMBOL_WRITE;
+
+			conf_write_symbol(out, sym, &kconfig_printer_cb, NULL);
+		}
+
+next:
+		if (menu->list) {
+			menu = menu->list;
+			continue;
+		}
+		if (menu->next)
+			menu = menu->next;
+		else while ((menu = menu->parent)) {
+			if (menu->next) {
+				menu = menu->next;
+				break;
+			}
+		}
+	}
+	fclose(out);
+
+	if (*tmpname) {
+		strcat(dirname, basename);
+		strcat(dirname, ".old");
+		rename(newname, dirname);
+		if (rename(tmpname, newname))
+			return 1;
+	}
+
+	conf_message(_("configuration written to %s"), newname);
+
+	sym_set_change_count(0);
+
+	return 0;
+}
+
+static int conf_split_config(void)
+{
+	const char *name;
+	char path[PATH_MAX+1];
+	char *s, *d, c;
+	struct symbol *sym;
+	struct stat sb;
+	int res, i, fd;
+
+	name = conf_get_autoconfig_name();
+	conf_read_simple(name, S_DEF_AUTO);
+
+	if (chdir("include/config"))
+		return 1;
+
+	res = 0;
+	for_all_symbols(i, sym) {
+		sym_calc_value(sym);
+		if ((sym->flags & SYMBOL_AUTO) || !sym->name)
+			continue;
+		if (sym->flags & SYMBOL_WRITE) {
+			if (sym->flags & SYMBOL_DEF_AUTO) {
+				/*
+				 * symbol has old and new value,
+				 * so compare them...
+				 */
+				switch (sym->type) {
+				case S_BOOLEAN:
+				case S_TRISTATE:
+					if (sym_get_tristate_value(sym) ==
+					    sym->def[S_DEF_AUTO].tri)
+						continue;
+					break;
+				case S_STRING:
+				case S_HEX:
+				case S_INT:
+					if (!strcmp(sym_get_string_value(sym),
+						    sym->def[S_DEF_AUTO].val))
+						continue;
+					break;
+				default:
+					break;
+				}
+			} else {
+				/*
+				 * If there is no old value, only 'no' (unset)
+				 * is allowed as new value.
+				 */
+				switch (sym->type) {
+				case S_BOOLEAN:
+				case S_TRISTATE:
+					if (sym_get_tristate_value(sym) == no)
+						continue;
+					break;
+				default:
+					break;
+				}
+			}
+		} else if (!(sym->flags & SYMBOL_DEF_AUTO))
+			/* There is neither an old nor a new value. */
+			continue;
+		/* else
+		 *	There is an old value, but no new value ('no' (unset)
+		 *	isn't saved in auto.conf, so the old value is always
+		 *	different from 'no').
+		 */
+
+		/* Replace all '_' and append ".h" */
+		s = sym->name;
+		d = path;
+		while ((c = *s++)) {
+			c = tolower(c);
+			*d++ = (c == '_') ? '/' : c;
+		}
+		strcpy(d, ".h");
+
+		/* Assume directory path already exists. */
+		fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
+		if (fd == -1) {
+			if (errno != ENOENT) {
+				res = 1;
+				break;
+			}
+			/*
+			 * Create directory components,
+			 * unless they exist already.
+			 */
+			d = path;
+			while ((d = strchr(d, '/'))) {
+				*d = 0;
+				if (stat(path, &sb) && mkdir(path, 0755)) {
+					res = 1;
+					goto out;
+				}
+				*d++ = '/';
+			}
+			/* Try it again. */
+			fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, 0644);
+			if (fd == -1) {
+				res = 1;
+				break;
+			}
+		}
+		close(fd);
+	}
+out:
+	if (chdir("../.."))
+		return 1;
+
+	return res;
+}
+
+int conf_write_autoconf(void)
+{
+	struct symbol *sym;
+	const char *name;
+	FILE *out, *tristate, *out_h;
+	int i;
+
+	sym_clear_all_valid();
+
+	file_write_dep("include/config/auto.conf.cmd");
+
+	if (conf_split_config())
+		return 1;
+
+	out = fopen(".tmpconfig", "w");
+	if (!out)
+		return 1;
+
+	tristate = fopen(".tmpconfig_tristate", "w");
+	if (!tristate) {
+		fclose(out);
+		return 1;
+	}
+
+	out_h = fopen(".tmpconfig.h", "w");
+	if (!out_h) {
+		fclose(out);
+		fclose(tristate);
+		return 1;
+	}
+
+	conf_write_heading(out, &kconfig_printer_cb, NULL);
+
+	conf_write_heading(tristate, &tristate_printer_cb, NULL);
+
+	conf_write_heading(out_h, &header_printer_cb, NULL);
+
+	for_all_symbols(i, sym) {
+		sym_calc_value(sym);
+		if (!(sym->flags & SYMBOL_WRITE) || !sym->name)
+			continue;
+
+		/* write symbol to auto.conf, tristate and header files */
+		conf_write_symbol(out, sym, &kconfig_printer_cb, (void *)1);
+
+		conf_write_symbol(tristate, sym, &tristate_printer_cb, (void *)1);
+
+		conf_write_symbol(out_h, sym, &header_printer_cb, NULL);
+	}
+	fclose(out);
+	fclose(tristate);
+	fclose(out_h);
+
+	name = getenv("KCONFIG_AUTOHEADER");
+	if (!name)
+		name = "include/generated/autoconf.h";
+	if (rename(".tmpconfig.h", name))
+		return 1;
+	name = getenv("KCONFIG_TRISTATE");
+	if (!name)
+		name = "include/config/tristate.conf";
+	if (rename(".tmpconfig_tristate", name))
+		return 1;
+	name = conf_get_autoconfig_name();
+	/*
+	 * This must be the last step, kbuild has a dependency on auto.conf
+	 * and this marks the successful completion of the previous steps.
+	 */
+	if (rename(".tmpconfig", name))
+		return 1;
+
+	return 0;
+}
+
+static int sym_change_count;
+static void (*conf_changed_callback)(void);
+
+void sym_set_change_count(int count)
+{
+	int _sym_change_count = sym_change_count;
+	sym_change_count = count;
+	if (conf_changed_callback &&
+	    (bool)_sym_change_count != (bool)count)
+		conf_changed_callback();
+}
+
+void sym_add_change_count(int count)
+{
+	sym_set_change_count(count + sym_change_count);
+}
+
+bool conf_get_changed(void)
+{
+	return sym_change_count;
+}
+
+void conf_set_changed_callback(void (*fn)(void))
+{
+	conf_changed_callback = fn;
+}
+
+static bool randomize_choice_values(struct symbol *csym)
+{
+	struct property *prop;
+	struct symbol *sym;
+	struct expr *e;
+	int cnt, def;
+
+	/*
+	 * If choice is mod then we may have more items selected
+	 * and if no then no-one.
+	 * In both cases stop.
+	 */
+	if (csym->curr.tri != yes)
+		return false;
+
+	prop = sym_get_choice_prop(csym);
+
+	/* count entries in choice block */
+	cnt = 0;
+	expr_list_for_each_sym(prop->expr, e, sym)
+		cnt++;
+
+	/*
+	 * find a random value and set it to yes,
+	 * set the rest to no so we have only one set
+	 */
+	def = (rand() % cnt);
+
+	cnt = 0;
+	expr_list_for_each_sym(prop->expr, e, sym) {
+		if (def == cnt++) {
+			sym->def[S_DEF_USER].tri = yes;
+			csym->def[S_DEF_USER].val = sym;
+		}
+		else {
+			sym->def[S_DEF_USER].tri = no;
+		}
+		sym->flags |= SYMBOL_DEF_USER;
+		/* clear VALID to get value calculated */
+		sym->flags &= ~SYMBOL_VALID;
+	}
+	csym->flags |= SYMBOL_DEF_USER;
+	/* clear VALID to get value calculated */
+	csym->flags &= ~(SYMBOL_VALID);
+
+	return true;
+}
+
+void set_all_choice_values(struct symbol *csym)
+{
+	struct property *prop;
+	struct symbol *sym;
+	struct expr *e;
+
+	prop = sym_get_choice_prop(csym);
+
+	/*
+	 * Set all non-assinged choice values to no
+	 */
+	expr_list_for_each_sym(prop->expr, e, sym) {
+		if (!sym_has_value(sym))
+			sym->def[S_DEF_USER].tri = no;
+	}
+	csym->flags |= SYMBOL_DEF_USER;
+	/* clear VALID to get value calculated */
+	csym->flags &= ~(SYMBOL_VALID | SYMBOL_NEED_SET_CHOICE_VALUES);
+}
+
+bool conf_set_all_new_symbols(enum conf_def_mode mode)
+{
+	struct symbol *sym, *csym;
+	int i, cnt, pby, pty, ptm;	/* pby: probability of boolean  = y
+					 * pty: probability of tristate = y
+					 * ptm: probability of tristate = m
+					 */
+
+	pby = 50; pty = ptm = 33; /* can't go as the default in switch-case
+				   * below, otherwise gcc whines about
+				   * -Wmaybe-uninitialized */
+	if (mode == def_random) {
+		int n, p[3];
+		char *env = getenv("KCONFIG_PROBABILITY");
+		n = 0;
+		while( env && *env ) {
+			char *endp;
+			int tmp = strtol( env, &endp, 10 );
+			if( tmp >= 0 && tmp <= 100 ) {
+				p[n++] = tmp;
+			} else {
+				errno = ERANGE;
+				perror( "KCONFIG_PROBABILITY" );
+				exit( 1 );
+			}
+			env = (*endp == ':') ? endp+1 : endp;
+			if( n >=3 ) {
+				break;
+			}
+		}
+		switch( n ) {
+		case 1:
+			pby = p[0]; ptm = pby/2; pty = pby-ptm;
+			break;
+		case 2:
+			pty = p[0]; ptm = p[1]; pby = pty + ptm;
+			break;
+		case 3:
+			pby = p[0]; pty = p[1]; ptm = p[2];
+			break;
+		}
+
+		if( pty+ptm > 100 ) {
+			errno = ERANGE;
+			perror( "KCONFIG_PROBABILITY" );
+			exit( 1 );
+		}
+	}
+	bool has_changed = false;
+
+	for_all_symbols(i, sym) {
+		if (sym_has_value(sym) || (sym->flags & SYMBOL_VALID))
+			continue;
+		switch (sym_get_type(sym)) {
+		case S_BOOLEAN:
+		case S_TRISTATE:
+			has_changed = true;
+			switch (mode) {
+			case def_yes:
+				sym->def[S_DEF_USER].tri = yes;
+				break;
+			case def_mod:
+				sym->def[S_DEF_USER].tri = mod;
+				break;
+			case def_no:
+				if (sym->flags & SYMBOL_ALLNOCONFIG_Y)
+					sym->def[S_DEF_USER].tri = yes;
+				else
+					sym->def[S_DEF_USER].tri = no;
+				break;
+			case def_random:
+				sym->def[S_DEF_USER].tri = no;
+				cnt = rand() % 100;
+				if (sym->type == S_TRISTATE) {
+					if (cnt < pty)
+						sym->def[S_DEF_USER].tri = yes;
+					else if (cnt < (pty+ptm))
+						sym->def[S_DEF_USER].tri = mod;
+				} else if (cnt < pby)
+					sym->def[S_DEF_USER].tri = yes;
+				break;
+			default:
+				continue;
+			}
+			if (!(sym_is_choice(sym) && mode == def_random))
+				sym->flags |= SYMBOL_DEF_USER;
+			break;
+		default:
+			break;
+		}
+
+	}
+
+	sym_clear_all_valid();
+
+	/*
+	 * We have different type of choice blocks.
+	 * If curr.tri equals to mod then we can select several
+	 * choice symbols in one block.
+	 * In this case we do nothing.
+	 * If curr.tri equals yes then only one symbol can be
+	 * selected in a choice block and we set it to yes,
+	 * and the rest to no.
+	 */
+	if (mode != def_random) {
+		for_all_symbols(i, csym) {
+			if ((sym_is_choice(csym) && !sym_has_value(csym)) ||
+			    sym_is_choice_value(csym))
+				csym->flags |= SYMBOL_NEED_SET_CHOICE_VALUES;
+		}
+	}
+
+	for_all_symbols(i, csym) {
+		if (sym_has_value(csym) || !sym_is_choice(csym))
+			continue;
+
+		sym_calc_value(csym);
+		if (mode == def_random)
+			has_changed = randomize_choice_values(csym);
+		else {
+			set_all_choice_values(csym);
+			has_changed = true;
+		}
+	}
+
+	return has_changed;
+}
diff --git a/scripts/kconfig/expr.c b/scripts/kconfig/expr.c
new file mode 100644
index 0000000..d662652
--- /dev/null
+++ b/scripts/kconfig/expr.c
@@ -0,0 +1,1168 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "lkc.h"
+
+#define DEBUG_EXPR	0
+
+struct expr *expr_alloc_symbol(struct symbol *sym)
+{
+	struct expr *e = xcalloc(1, sizeof(*e));
+	e->type = E_SYMBOL;
+	e->left.sym = sym;
+	return e;
+}
+
+struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
+{
+	struct expr *e = xcalloc(1, sizeof(*e));
+	e->type = type;
+	e->left.expr = ce;
+	return e;
+}
+
+struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2)
+{
+	struct expr *e = xcalloc(1, sizeof(*e));
+	e->type = type;
+	e->left.expr = e1;
+	e->right.expr = e2;
+	return e;
+}
+
+struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2)
+{
+	struct expr *e = xcalloc(1, sizeof(*e));
+	e->type = type;
+	e->left.sym = s1;
+	e->right.sym = s2;
+	return e;
+}
+
+struct expr *expr_alloc_and(struct expr *e1, struct expr *e2)
+{
+	if (!e1)
+		return e2;
+	return e2 ? expr_alloc_two(E_AND, e1, e2) : e1;
+}
+
+struct expr *expr_alloc_or(struct expr *e1, struct expr *e2)
+{
+	if (!e1)
+		return e2;
+	return e2 ? expr_alloc_two(E_OR, e1, e2) : e1;
+}
+
+struct expr *expr_copy(const struct expr *org)
+{
+	struct expr *e;
+
+	if (!org)
+		return NULL;
+
+	e = xmalloc(sizeof(*org));
+	memcpy(e, org, sizeof(*org));
+	switch (org->type) {
+	case E_SYMBOL:
+		e->left = org->left;
+		break;
+	case E_NOT:
+		e->left.expr = expr_copy(org->left.expr);
+		break;
+	case E_EQUAL:
+	case E_UNEQUAL:
+		e->left.sym = org->left.sym;
+		e->right.sym = org->right.sym;
+		break;
+	case E_AND:
+	case E_OR:
+	case E_LIST:
+		e->left.expr = expr_copy(org->left.expr);
+		e->right.expr = expr_copy(org->right.expr);
+		break;
+	default:
+		printf("can't copy type %d\n", e->type);
+		free(e);
+		e = NULL;
+		break;
+	}
+
+	return e;
+}
+
+void expr_free(struct expr *e)
+{
+	if (!e)
+		return;
+
+	switch (e->type) {
+	case E_SYMBOL:
+		break;
+	case E_NOT:
+		expr_free(e->left.expr);
+		return;
+	case E_EQUAL:
+	case E_UNEQUAL:
+		break;
+	case E_OR:
+	case E_AND:
+		expr_free(e->left.expr);
+		expr_free(e->right.expr);
+		break;
+	default:
+		printf("how to free type %d?\n", e->type);
+		break;
+	}
+	free(e);
+}
+
+static int trans_count;
+
+#define e1 (*ep1)
+#define e2 (*ep2)
+
+static void __expr_eliminate_eq(enum expr_type type, struct expr **ep1, struct expr **ep2)
+{
+	if (e1->type == type) {
+		__expr_eliminate_eq(type, &e1->left.expr, &e2);
+		__expr_eliminate_eq(type, &e1->right.expr, &e2);
+		return;
+	}
+	if (e2->type == type) {
+		__expr_eliminate_eq(type, &e1, &e2->left.expr);
+		__expr_eliminate_eq(type, &e1, &e2->right.expr);
+		return;
+	}
+	if (e1->type == E_SYMBOL && e2->type == E_SYMBOL &&
+	    e1->left.sym == e2->left.sym &&
+	    (e1->left.sym == &symbol_yes || e1->left.sym == &symbol_no))
+		return;
+	if (!expr_eq(e1, e2))
+		return;
+	trans_count++;
+	expr_free(e1); expr_free(e2);
+	switch (type) {
+	case E_OR:
+		e1 = expr_alloc_symbol(&symbol_no);
+		e2 = expr_alloc_symbol(&symbol_no);
+		break;
+	case E_AND:
+		e1 = expr_alloc_symbol(&symbol_yes);
+		e2 = expr_alloc_symbol(&symbol_yes);
+		break;
+	default:
+		;
+	}
+}
+
+void expr_eliminate_eq(struct expr **ep1, struct expr **ep2)
+{
+	if (!e1 || !e2)
+		return;
+	switch (e1->type) {
+	case E_OR:
+	case E_AND:
+		__expr_eliminate_eq(e1->type, ep1, ep2);
+	default:
+		;
+	}
+	if (e1->type != e2->type) switch (e2->type) {
+	case E_OR:
+	case E_AND:
+		__expr_eliminate_eq(e2->type, ep1, ep2);
+	default:
+		;
+	}
+	e1 = expr_eliminate_yn(e1);
+	e2 = expr_eliminate_yn(e2);
+}
+
+#undef e1
+#undef e2
+
+int expr_eq(struct expr *e1, struct expr *e2)
+{
+	int res, old_count;
+
+	if (e1->type != e2->type)
+		return 0;
+	switch (e1->type) {
+	case E_EQUAL:
+	case E_UNEQUAL:
+		return e1->left.sym == e2->left.sym && e1->right.sym == e2->right.sym;
+	case E_SYMBOL:
+		return e1->left.sym == e2->left.sym;
+	case E_NOT:
+		return expr_eq(e1->left.expr, e2->left.expr);
+	case E_AND:
+	case E_OR:
+		e1 = expr_copy(e1);
+		e2 = expr_copy(e2);
+		old_count = trans_count;
+		expr_eliminate_eq(&e1, &e2);
+		res = (e1->type == E_SYMBOL && e2->type == E_SYMBOL &&
+		       e1->left.sym == e2->left.sym);
+		expr_free(e1);
+		expr_free(e2);
+		trans_count = old_count;
+		return res;
+	case E_LIST:
+	case E_RANGE:
+	case E_NONE:
+		/* panic */;
+	}
+
+	if (DEBUG_EXPR) {
+		expr_fprint(e1, stdout);
+		printf(" = ");
+		expr_fprint(e2, stdout);
+		printf(" ?\n");
+	}
+
+	return 0;
+}
+
+struct expr *expr_eliminate_yn(struct expr *e)
+{
+	struct expr *tmp;
+
+	if (e) switch (e->type) {
+	case E_AND:
+		e->left.expr = expr_eliminate_yn(e->left.expr);
+		e->right.expr = expr_eliminate_yn(e->right.expr);
+		if (e->left.expr->type == E_SYMBOL) {
+			if (e->left.expr->left.sym == &symbol_no) {
+				expr_free(e->left.expr);
+				expr_free(e->right.expr);
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_no;
+				e->right.expr = NULL;
+				return e;
+			} else if (e->left.expr->left.sym == &symbol_yes) {
+				free(e->left.expr);
+				tmp = e->right.expr;
+				*e = *(e->right.expr);
+				free(tmp);
+				return e;
+			}
+		}
+		if (e->right.expr->type == E_SYMBOL) {
+			if (e->right.expr->left.sym == &symbol_no) {
+				expr_free(e->left.expr);
+				expr_free(e->right.expr);
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_no;
+				e->right.expr = NULL;
+				return e;
+			} else if (e->right.expr->left.sym == &symbol_yes) {
+				free(e->right.expr);
+				tmp = e->left.expr;
+				*e = *(e->left.expr);
+				free(tmp);
+				return e;
+			}
+		}
+		break;
+	case E_OR:
+		e->left.expr = expr_eliminate_yn(e->left.expr);
+		e->right.expr = expr_eliminate_yn(e->right.expr);
+		if (e->left.expr->type == E_SYMBOL) {
+			if (e->left.expr->left.sym == &symbol_no) {
+				free(e->left.expr);
+				tmp = e->right.expr;
+				*e = *(e->right.expr);
+				free(tmp);
+				return e;
+			} else if (e->left.expr->left.sym == &symbol_yes) {
+				expr_free(e->left.expr);
+				expr_free(e->right.expr);
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_yes;
+				e->right.expr = NULL;
+				return e;
+			}
+		}
+		if (e->right.expr->type == E_SYMBOL) {
+			if (e->right.expr->left.sym == &symbol_no) {
+				free(e->right.expr);
+				tmp = e->left.expr;
+				*e = *(e->left.expr);
+				free(tmp);
+				return e;
+			} else if (e->right.expr->left.sym == &symbol_yes) {
+				expr_free(e->left.expr);
+				expr_free(e->right.expr);
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_yes;
+				e->right.expr = NULL;
+				return e;
+			}
+		}
+		break;
+	default:
+		;
+	}
+	return e;
+}
+
+/*
+ * bool FOO!=n => FOO
+ */
+struct expr *expr_trans_bool(struct expr *e)
+{
+	if (!e)
+		return NULL;
+	switch (e->type) {
+	case E_AND:
+	case E_OR:
+	case E_NOT:
+		e->left.expr = expr_trans_bool(e->left.expr);
+		e->right.expr = expr_trans_bool(e->right.expr);
+		break;
+	case E_UNEQUAL:
+		// FOO!=n -> FOO
+		if (e->left.sym->type == S_TRISTATE) {
+			if (e->right.sym == &symbol_no) {
+				e->type = E_SYMBOL;
+				e->right.sym = NULL;
+			}
+		}
+		break;
+	default:
+		;
+	}
+	return e;
+}
+
+/*
+ * e1 || e2 -> ?
+ */
+static struct expr *expr_join_or(struct expr *e1, struct expr *e2)
+{
+	struct expr *tmp;
+	struct symbol *sym1, *sym2;
+
+	if (expr_eq(e1, e2))
+		return expr_copy(e1);
+	if (e1->type != E_EQUAL && e1->type != E_UNEQUAL && e1->type != E_SYMBOL && e1->type != E_NOT)
+		return NULL;
+	if (e2->type != E_EQUAL && e2->type != E_UNEQUAL && e2->type != E_SYMBOL && e2->type != E_NOT)
+		return NULL;
+	if (e1->type == E_NOT) {
+		tmp = e1->left.expr;
+		if (tmp->type != E_EQUAL && tmp->type != E_UNEQUAL && tmp->type != E_SYMBOL)
+			return NULL;
+		sym1 = tmp->left.sym;
+	} else
+		sym1 = e1->left.sym;
+	if (e2->type == E_NOT) {
+		if (e2->left.expr->type != E_SYMBOL)
+			return NULL;
+		sym2 = e2->left.expr->left.sym;
+	} else
+		sym2 = e2->left.sym;
+	if (sym1 != sym2)
+		return NULL;
+	if (sym1->type != S_BOOLEAN && sym1->type != S_TRISTATE)
+		return NULL;
+	if (sym1->type == S_TRISTATE) {
+		if (e1->type == E_EQUAL && e2->type == E_EQUAL &&
+		    ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) ||
+		     (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes))) {
+			// (a='y') || (a='m') -> (a!='n')
+			return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_no);
+		}
+		if (e1->type == E_EQUAL && e2->type == E_EQUAL &&
+		    ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) ||
+		     (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes))) {
+			// (a='y') || (a='n') -> (a!='m')
+			return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_mod);
+		}
+		if (e1->type == E_EQUAL && e2->type == E_EQUAL &&
+		    ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) ||
+		     (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod))) {
+			// (a='m') || (a='n') -> (a!='y')
+			return expr_alloc_comp(E_UNEQUAL, sym1, &symbol_yes);
+		}
+	}
+	if (sym1->type == S_BOOLEAN && sym1 == sym2) {
+		if ((e1->type == E_NOT && e1->left.expr->type == E_SYMBOL && e2->type == E_SYMBOL) ||
+		    (e2->type == E_NOT && e2->left.expr->type == E_SYMBOL && e1->type == E_SYMBOL))
+			return expr_alloc_symbol(&symbol_yes);
+	}
+
+	if (DEBUG_EXPR) {
+		printf("optimize (");
+		expr_fprint(e1, stdout);
+		printf(") || (");
+		expr_fprint(e2, stdout);
+		printf(")?\n");
+	}
+	return NULL;
+}
+
+static struct expr *expr_join_and(struct expr *e1, struct expr *e2)
+{
+	struct expr *tmp;
+	struct symbol *sym1, *sym2;
+
+	if (expr_eq(e1, e2))
+		return expr_copy(e1);
+	if (e1->type != E_EQUAL && e1->type != E_UNEQUAL && e1->type != E_SYMBOL && e1->type != E_NOT)
+		return NULL;
+	if (e2->type != E_EQUAL && e2->type != E_UNEQUAL && e2->type != E_SYMBOL && e2->type != E_NOT)
+		return NULL;
+	if (e1->type == E_NOT) {
+		tmp = e1->left.expr;
+		if (tmp->type != E_EQUAL && tmp->type != E_UNEQUAL && tmp->type != E_SYMBOL)
+			return NULL;
+		sym1 = tmp->left.sym;
+	} else
+		sym1 = e1->left.sym;
+	if (e2->type == E_NOT) {
+		if (e2->left.expr->type != E_SYMBOL)
+			return NULL;
+		sym2 = e2->left.expr->left.sym;
+	} else
+		sym2 = e2->left.sym;
+	if (sym1 != sym2)
+		return NULL;
+	if (sym1->type != S_BOOLEAN && sym1->type != S_TRISTATE)
+		return NULL;
+
+	if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_yes) ||
+	    (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_yes))
+		// (a) && (a='y') -> (a='y')
+		return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes);
+
+	if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_no) ||
+	    (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_no))
+		// (a) && (a!='n') -> (a)
+		return expr_alloc_symbol(sym1);
+
+	if ((e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_mod) ||
+	    (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_mod))
+		// (a) && (a!='m') -> (a='y')
+		return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes);
+
+	if (sym1->type == S_TRISTATE) {
+		if (e1->type == E_EQUAL && e2->type == E_UNEQUAL) {
+			// (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b'
+			sym2 = e1->right.sym;
+			if ((e2->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST))
+				return sym2 != e2->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2)
+							     : expr_alloc_symbol(&symbol_no);
+		}
+		if (e1->type == E_UNEQUAL && e2->type == E_EQUAL) {
+			// (a='b') && (a!='c') -> 'b'='c' ? 'n' : a='b'
+			sym2 = e2->right.sym;
+			if ((e1->right.sym->flags & SYMBOL_CONST) && (sym2->flags & SYMBOL_CONST))
+				return sym2 != e1->right.sym ? expr_alloc_comp(E_EQUAL, sym1, sym2)
+							     : expr_alloc_symbol(&symbol_no);
+		}
+		if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL &&
+			   ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_no) ||
+			    (e1->right.sym == &symbol_no && e2->right.sym == &symbol_yes)))
+			// (a!='y') && (a!='n') -> (a='m')
+			return expr_alloc_comp(E_EQUAL, sym1, &symbol_mod);
+
+		if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL &&
+			   ((e1->right.sym == &symbol_yes && e2->right.sym == &symbol_mod) ||
+			    (e1->right.sym == &symbol_mod && e2->right.sym == &symbol_yes)))
+			// (a!='y') && (a!='m') -> (a='n')
+			return expr_alloc_comp(E_EQUAL, sym1, &symbol_no);
+
+		if (e1->type == E_UNEQUAL && e2->type == E_UNEQUAL &&
+			   ((e1->right.sym == &symbol_mod && e2->right.sym == &symbol_no) ||
+			    (e1->right.sym == &symbol_no && e2->right.sym == &symbol_mod)))
+			// (a!='m') && (a!='n') -> (a='m')
+			return expr_alloc_comp(E_EQUAL, sym1, &symbol_yes);
+
+		if ((e1->type == E_SYMBOL && e2->type == E_EQUAL && e2->right.sym == &symbol_mod) ||
+		    (e2->type == E_SYMBOL && e1->type == E_EQUAL && e1->right.sym == &symbol_mod) ||
+		    (e1->type == E_SYMBOL && e2->type == E_UNEQUAL && e2->right.sym == &symbol_yes) ||
+		    (e2->type == E_SYMBOL && e1->type == E_UNEQUAL && e1->right.sym == &symbol_yes))
+			return NULL;
+	}
+
+	if (DEBUG_EXPR) {
+		printf("optimize (");
+		expr_fprint(e1, stdout);
+		printf(") && (");
+		expr_fprint(e2, stdout);
+		printf(")?\n");
+	}
+	return NULL;
+}
+
+static void expr_eliminate_dups1(enum expr_type type, struct expr **ep1, struct expr **ep2)
+{
+#define e1 (*ep1)
+#define e2 (*ep2)
+	struct expr *tmp;
+
+	if (e1->type == type) {
+		expr_eliminate_dups1(type, &e1->left.expr, &e2);
+		expr_eliminate_dups1(type, &e1->right.expr, &e2);
+		return;
+	}
+	if (e2->type == type) {
+		expr_eliminate_dups1(type, &e1, &e2->left.expr);
+		expr_eliminate_dups1(type, &e1, &e2->right.expr);
+		return;
+	}
+	if (e1 == e2)
+		return;
+
+	switch (e1->type) {
+	case E_OR: case E_AND:
+		expr_eliminate_dups1(e1->type, &e1, &e1);
+	default:
+		;
+	}
+
+	switch (type) {
+	case E_OR:
+		tmp = expr_join_or(e1, e2);
+		if (tmp) {
+			expr_free(e1); expr_free(e2);
+			e1 = expr_alloc_symbol(&symbol_no);
+			e2 = tmp;
+			trans_count++;
+		}
+		break;
+	case E_AND:
+		tmp = expr_join_and(e1, e2);
+		if (tmp) {
+			expr_free(e1); expr_free(e2);
+			e1 = expr_alloc_symbol(&symbol_yes);
+			e2 = tmp;
+			trans_count++;
+		}
+		break;
+	default:
+		;
+	}
+#undef e1
+#undef e2
+}
+
+static void expr_eliminate_dups2(enum expr_type type, struct expr **ep1, struct expr **ep2)
+{
+#define e1 (*ep1)
+#define e2 (*ep2)
+	struct expr *tmp, *tmp1, *tmp2;
+
+	if (e1->type == type) {
+		expr_eliminate_dups2(type, &e1->left.expr, &e2);
+		expr_eliminate_dups2(type, &e1->right.expr, &e2);
+		return;
+	}
+	if (e2->type == type) {
+		expr_eliminate_dups2(type, &e1, &e2->left.expr);
+		expr_eliminate_dups2(type, &e1, &e2->right.expr);
+	}
+	if (e1 == e2)
+		return;
+
+	switch (e1->type) {
+	case E_OR:
+		expr_eliminate_dups2(e1->type, &e1, &e1);
+		// (FOO || BAR) && (!FOO && !BAR) -> n
+		tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1)));
+		tmp2 = expr_copy(e2);
+		tmp = expr_extract_eq_and(&tmp1, &tmp2);
+		if (expr_is_yes(tmp1)) {
+			expr_free(e1);
+			e1 = expr_alloc_symbol(&symbol_no);
+			trans_count++;
+		}
+		expr_free(tmp2);
+		expr_free(tmp1);
+		expr_free(tmp);
+		break;
+	case E_AND:
+		expr_eliminate_dups2(e1->type, &e1, &e1);
+		// (FOO && BAR) || (!FOO || !BAR) -> y
+		tmp1 = expr_transform(expr_alloc_one(E_NOT, expr_copy(e1)));
+		tmp2 = expr_copy(e2);
+		tmp = expr_extract_eq_or(&tmp1, &tmp2);
+		if (expr_is_no(tmp1)) {
+			expr_free(e1);
+			e1 = expr_alloc_symbol(&symbol_yes);
+			trans_count++;
+		}
+		expr_free(tmp2);
+		expr_free(tmp1);
+		expr_free(tmp);
+		break;
+	default:
+		;
+	}
+#undef e1
+#undef e2
+}
+
+struct expr *expr_eliminate_dups(struct expr *e)
+{
+	int oldcount;
+	if (!e)
+		return e;
+
+	oldcount = trans_count;
+	while (1) {
+		trans_count = 0;
+		switch (e->type) {
+		case E_OR: case E_AND:
+			expr_eliminate_dups1(e->type, &e, &e);
+			expr_eliminate_dups2(e->type, &e, &e);
+		default:
+			;
+		}
+		if (!trans_count)
+			break;
+		e = expr_eliminate_yn(e);
+	}
+	trans_count = oldcount;
+	return e;
+}
+
+struct expr *expr_transform(struct expr *e)
+{
+	struct expr *tmp;
+
+	if (!e)
+		return NULL;
+	switch (e->type) {
+	case E_EQUAL:
+	case E_UNEQUAL:
+	case E_SYMBOL:
+	case E_LIST:
+		break;
+	default:
+		e->left.expr = expr_transform(e->left.expr);
+		e->right.expr = expr_transform(e->right.expr);
+	}
+
+	switch (e->type) {
+	case E_EQUAL:
+		if (e->left.sym->type != S_BOOLEAN)
+			break;
+		if (e->right.sym == &symbol_no) {
+			e->type = E_NOT;
+			e->left.expr = expr_alloc_symbol(e->left.sym);
+			e->right.sym = NULL;
+			break;
+		}
+		if (e->right.sym == &symbol_mod) {
+			printf("boolean symbol %s tested for 'm'? test forced to 'n'\n", e->left.sym->name);
+			e->type = E_SYMBOL;
+			e->left.sym = &symbol_no;
+			e->right.sym = NULL;
+			break;
+		}
+		if (e->right.sym == &symbol_yes) {
+			e->type = E_SYMBOL;
+			e->right.sym = NULL;
+			break;
+		}
+		break;
+	case E_UNEQUAL:
+		if (e->left.sym->type != S_BOOLEAN)
+			break;
+		if (e->right.sym == &symbol_no) {
+			e->type = E_SYMBOL;
+			e->right.sym = NULL;
+			break;
+		}
+		if (e->right.sym == &symbol_mod) {
+			printf("boolean symbol %s tested for 'm'? test forced to 'y'\n", e->left.sym->name);
+			e->type = E_SYMBOL;
+			e->left.sym = &symbol_yes;
+			e->right.sym = NULL;
+			break;
+		}
+		if (e->right.sym == &symbol_yes) {
+			e->type = E_NOT;
+			e->left.expr = expr_alloc_symbol(e->left.sym);
+			e->right.sym = NULL;
+			break;
+		}
+		break;
+	case E_NOT:
+		switch (e->left.expr->type) {
+		case E_NOT:
+			// !!a -> a
+			tmp = e->left.expr->left.expr;
+			free(e->left.expr);
+			free(e);
+			e = tmp;
+			e = expr_transform(e);
+			break;
+		case E_EQUAL:
+		case E_UNEQUAL:
+			// !a='x' -> a!='x'
+			tmp = e->left.expr;
+			free(e);
+			e = tmp;
+			e->type = e->type == E_EQUAL ? E_UNEQUAL : E_EQUAL;
+			break;
+		case E_OR:
+			// !(a || b) -> !a && !b
+			tmp = e->left.expr;
+			e->type = E_AND;
+			e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr);
+			tmp->type = E_NOT;
+			tmp->right.expr = NULL;
+			e = expr_transform(e);
+			break;
+		case E_AND:
+			// !(a && b) -> !a || !b
+			tmp = e->left.expr;
+			e->type = E_OR;
+			e->right.expr = expr_alloc_one(E_NOT, tmp->right.expr);
+			tmp->type = E_NOT;
+			tmp->right.expr = NULL;
+			e = expr_transform(e);
+			break;
+		case E_SYMBOL:
+			if (e->left.expr->left.sym == &symbol_yes) {
+				// !'y' -> 'n'
+				tmp = e->left.expr;
+				free(e);
+				e = tmp;
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_no;
+				break;
+			}
+			if (e->left.expr->left.sym == &symbol_mod) {
+				// !'m' -> 'm'
+				tmp = e->left.expr;
+				free(e);
+				e = tmp;
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_mod;
+				break;
+			}
+			if (e->left.expr->left.sym == &symbol_no) {
+				// !'n' -> 'y'
+				tmp = e->left.expr;
+				free(e);
+				e = tmp;
+				e->type = E_SYMBOL;
+				e->left.sym = &symbol_yes;
+				break;
+			}
+			break;
+		default:
+			;
+		}
+		break;
+	default:
+		;
+	}
+	return e;
+}
+
+int expr_contains_symbol(struct expr *dep, struct symbol *sym)
+{
+	if (!dep)
+		return 0;
+
+	switch (dep->type) {
+	case E_AND:
+	case E_OR:
+		return expr_contains_symbol(dep->left.expr, sym) ||
+		       expr_contains_symbol(dep->right.expr, sym);
+	case E_SYMBOL:
+		return dep->left.sym == sym;
+	case E_EQUAL:
+	case E_UNEQUAL:
+		return dep->left.sym == sym ||
+		       dep->right.sym == sym;
+	case E_NOT:
+		return expr_contains_symbol(dep->left.expr, sym);
+	default:
+		;
+	}
+	return 0;
+}
+
+bool expr_depends_symbol(struct expr *dep, struct symbol *sym)
+{
+	if (!dep)
+		return false;
+
+	switch (dep->type) {
+	case E_AND:
+		return expr_depends_symbol(dep->left.expr, sym) ||
+		       expr_depends_symbol(dep->right.expr, sym);
+	case E_SYMBOL:
+		return dep->left.sym == sym;
+	case E_EQUAL:
+		if (dep->left.sym == sym) {
+			if (dep->right.sym == &symbol_yes || dep->right.sym == &symbol_mod)
+				return true;
+		}
+		break;
+	case E_UNEQUAL:
+		if (dep->left.sym == sym) {
+			if (dep->right.sym == &symbol_no)
+				return true;
+		}
+		break;
+	default:
+		;
+	}
+ 	return false;
+}
+
+struct expr *expr_extract_eq_and(struct expr **ep1, struct expr **ep2)
+{
+	struct expr *tmp = NULL;
+	expr_extract_eq(E_AND, &tmp, ep1, ep2);
+	if (tmp) {
+		*ep1 = expr_eliminate_yn(*ep1);
+		*ep2 = expr_eliminate_yn(*ep2);
+	}
+	return tmp;
+}
+
+struct expr *expr_extract_eq_or(struct expr **ep1, struct expr **ep2)
+{
+	struct expr *tmp = NULL;
+	expr_extract_eq(E_OR, &tmp, ep1, ep2);
+	if (tmp) {
+		*ep1 = expr_eliminate_yn(*ep1);
+		*ep2 = expr_eliminate_yn(*ep2);
+	}
+	return tmp;
+}
+
+void expr_extract_eq(enum expr_type type, struct expr **ep, struct expr **ep1, struct expr **ep2)
+{
+#define e1 (*ep1)
+#define e2 (*ep2)
+	if (e1->type == type) {
+		expr_extract_eq(type, ep, &e1->left.expr, &e2);
+		expr_extract_eq(type, ep, &e1->right.expr, &e2);
+		return;
+	}
+	if (e2->type == type) {
+		expr_extract_eq(type, ep, ep1, &e2->left.expr);
+		expr_extract_eq(type, ep, ep1, &e2->right.expr);
+		return;
+	}
+	if (expr_eq(e1, e2)) {
+		*ep = *ep ? expr_alloc_two(type, *ep, e1) : e1;
+		expr_free(e2);
+		if (type == E_AND) {
+			e1 = expr_alloc_symbol(&symbol_yes);
+			e2 = expr_alloc_symbol(&symbol_yes);
+		} else if (type == E_OR) {
+			e1 = expr_alloc_symbol(&symbol_no);
+			e2 = expr_alloc_symbol(&symbol_no);
+		}
+	}
+#undef e1
+#undef e2
+}
+
+struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym)
+{
+	struct expr *e1, *e2;
+
+	if (!e) {
+		e = expr_alloc_symbol(sym);
+		if (type == E_UNEQUAL)
+			e = expr_alloc_one(E_NOT, e);
+		return e;
+	}
+	switch (e->type) {
+	case E_AND:
+		e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym);
+		e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym);
+		if (sym == &symbol_yes)
+			e = expr_alloc_two(E_AND, e1, e2);
+		if (sym == &symbol_no)
+			e = expr_alloc_two(E_OR, e1, e2);
+		if (type == E_UNEQUAL)
+			e = expr_alloc_one(E_NOT, e);
+		return e;
+	case E_OR:
+		e1 = expr_trans_compare(e->left.expr, E_EQUAL, sym);
+		e2 = expr_trans_compare(e->right.expr, E_EQUAL, sym);
+		if (sym == &symbol_yes)
+			e = expr_alloc_two(E_OR, e1, e2);
+		if (sym == &symbol_no)
+			e = expr_alloc_two(E_AND, e1, e2);
+		if (type == E_UNEQUAL)
+			e = expr_alloc_one(E_NOT, e);
+		return e;
+	case E_NOT:
+		return expr_trans_compare(e->left.expr, type == E_EQUAL ? E_UNEQUAL : E_EQUAL, sym);
+	case E_UNEQUAL:
+	case E_EQUAL:
+		if (type == E_EQUAL) {
+			if (sym == &symbol_yes)
+				return expr_copy(e);
+			if (sym == &symbol_mod)
+				return expr_alloc_symbol(&symbol_no);
+			if (sym == &symbol_no)
+				return expr_alloc_one(E_NOT, expr_copy(e));
+		} else {
+			if (sym == &symbol_yes)
+				return expr_alloc_one(E_NOT, expr_copy(e));
+			if (sym == &symbol_mod)
+				return expr_alloc_symbol(&symbol_yes);
+			if (sym == &symbol_no)
+				return expr_copy(e);
+		}
+		break;
+	case E_SYMBOL:
+		return expr_alloc_comp(type, e->left.sym, sym);
+	case E_LIST:
+	case E_RANGE:
+	case E_NONE:
+		/* panic */;
+	}
+	return NULL;
+}
+
+tristate expr_calc_value(struct expr *e)
+{
+	tristate val1, val2;
+	const char *str1, *str2;
+
+	if (!e)
+		return yes;
+
+	switch (e->type) {
+	case E_SYMBOL:
+		sym_calc_value(e->left.sym);
+		return e->left.sym->curr.tri;
+	case E_AND:
+		val1 = expr_calc_value(e->left.expr);
+		val2 = expr_calc_value(e->right.expr);
+		return EXPR_AND(val1, val2);
+	case E_OR:
+		val1 = expr_calc_value(e->left.expr);
+		val2 = expr_calc_value(e->right.expr);
+		return EXPR_OR(val1, val2);
+	case E_NOT:
+		val1 = expr_calc_value(e->left.expr);
+		return EXPR_NOT(val1);
+	case E_EQUAL:
+		sym_calc_value(e->left.sym);
+		sym_calc_value(e->right.sym);
+		str1 = sym_get_string_value(e->left.sym);
+		str2 = sym_get_string_value(e->right.sym);
+		return !strcmp(str1, str2) ? yes : no;
+	case E_UNEQUAL:
+		sym_calc_value(e->left.sym);
+		sym_calc_value(e->right.sym);
+		str1 = sym_get_string_value(e->left.sym);
+		str2 = sym_get_string_value(e->right.sym);
+		return !strcmp(str1, str2) ? no : yes;
+	default:
+		printf("expr_calc_value: %d?\n", e->type);
+		return no;
+	}
+}
+
+int expr_compare_type(enum expr_type t1, enum expr_type t2)
+{
+#if 0
+	return 1;
+#else
+	if (t1 == t2)
+		return 0;
+	switch (t1) {
+	case E_EQUAL:
+	case E_UNEQUAL:
+		if (t2 == E_NOT)
+			return 1;
+	case E_NOT:
+		if (t2 == E_AND)
+			return 1;
+	case E_AND:
+		if (t2 == E_OR)
+			return 1;
+	case E_OR:
+		if (t2 == E_LIST)
+			return 1;
+	case E_LIST:
+		if (t2 == 0)
+			return 1;
+	default:
+		return -1;
+	}
+	printf("[%dgt%d?]", t1, t2);
+	return 0;
+#endif
+}
+
+static inline struct expr *
+expr_get_leftmost_symbol(const struct expr *e)
+{
+
+	if (e == NULL)
+		return NULL;
+
+	while (e->type != E_SYMBOL)
+		e = e->left.expr;
+
+	return expr_copy(e);
+}
+
+/*
+ * Given expression `e1' and `e2', returns the leaf of the longest
+ * sub-expression of `e1' not containing 'e2.
+ */
+struct expr *expr_simplify_unmet_dep(struct expr *e1, struct expr *e2)
+{
+	struct expr *ret;
+
+	switch (e1->type) {
+	case E_OR:
+		return expr_alloc_and(
+		    expr_simplify_unmet_dep(e1->left.expr, e2),
+		    expr_simplify_unmet_dep(e1->right.expr, e2));
+	case E_AND: {
+		struct expr *e;
+		e = expr_alloc_and(expr_copy(e1), expr_copy(e2));
+		e = expr_eliminate_dups(e);
+		ret = (!expr_eq(e, e1)) ? e1 : NULL;
+		expr_free(e);
+		break;
+		}
+	default:
+		ret = e1;
+		break;
+	}
+
+	return expr_get_leftmost_symbol(ret);
+}
+
+void expr_print(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken)
+{
+	if (!e) {
+		fn(data, NULL, "y");
+		return;
+	}
+
+	if (expr_compare_type(prevtoken, e->type) > 0)
+		fn(data, NULL, "(");
+	switch (e->type) {
+	case E_SYMBOL:
+		if (e->left.sym->name)
+			fn(data, e->left.sym, e->left.sym->name);
+		else
+			fn(data, NULL, "<choice>");
+		break;
+	case E_NOT:
+		fn(data, NULL, "!");
+		expr_print(e->left.expr, fn, data, E_NOT);
+		break;
+	case E_EQUAL:
+		if (e->left.sym->name)
+			fn(data, e->left.sym, e->left.sym->name);
+		else
+			fn(data, NULL, "<choice>");
+		fn(data, NULL, "=");
+		fn(data, e->right.sym, e->right.sym->name);
+		break;
+	case E_UNEQUAL:
+		if (e->left.sym->name)
+			fn(data, e->left.sym, e->left.sym->name);
+		else
+			fn(data, NULL, "<choice>");
+		fn(data, NULL, "!=");
+		fn(data, e->right.sym, e->right.sym->name);
+		break;
+	case E_OR:
+		expr_print(e->left.expr, fn, data, E_OR);
+		fn(data, NULL, " || ");
+		expr_print(e->right.expr, fn, data, E_OR);
+		break;
+	case E_AND:
+		expr_print(e->left.expr, fn, data, E_AND);
+		fn(data, NULL, " && ");
+		expr_print(e->right.expr, fn, data, E_AND);
+		break;
+	case E_LIST:
+		fn(data, e->right.sym, e->right.sym->name);
+		if (e->left.expr) {
+			fn(data, NULL, " ^ ");
+			expr_print(e->left.expr, fn, data, E_LIST);
+		}
+		break;
+	case E_RANGE:
+		fn(data, NULL, "[");
+		fn(data, e->left.sym, e->left.sym->name);
+		fn(data, NULL, " ");
+		fn(data, e->right.sym, e->right.sym->name);
+		fn(data, NULL, "]");
+		break;
+	default:
+	  {
+		char buf[32];
+		sprintf(buf, "<unknown type %d>", e->type);
+		fn(data, NULL, buf);
+		break;
+	  }
+	}
+	if (expr_compare_type(prevtoken, e->type) > 0)
+		fn(data, NULL, ")");
+}
+
+static void expr_print_file_helper(void *data, struct symbol *sym, const char *str)
+{
+	xfwrite(str, strlen(str), 1, data);
+}
+
+void expr_fprint(struct expr *e, FILE *out)
+{
+	expr_print(e, expr_print_file_helper, out, E_NONE);
+}
+
+static void expr_print_gstr_helper(void *data, struct symbol *sym, const char *str)
+{
+	struct gstr *gs = (struct gstr*)data;
+	const char *sym_str = NULL;
+
+	if (sym)
+		sym_str = sym_get_string_value(sym);
+
+	if (gs->max_width) {
+		unsigned extra_length = strlen(str);
+		const char *last_cr = strrchr(gs->s, '\n');
+		unsigned last_line_length;
+
+		if (sym_str)
+			extra_length += 4 + strlen(sym_str);
+
+		if (!last_cr)
+			last_cr = gs->s;
+
+		last_line_length = strlen(gs->s) - (last_cr - gs->s);
+
+		if ((last_line_length + extra_length) > gs->max_width)
+			str_append(gs, "\\\n");
+	}
+
+	str_append(gs, str);
+	if (sym && sym->type != S_UNKNOWN)
+		str_printf(gs, " [=%s]", sym_str);
+}
+
+void expr_gstr_print(struct expr *e, struct gstr *gs)
+{
+	expr_print(e, expr_print_gstr_helper, gs, E_NONE);
+}
diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h
new file mode 100644
index 0000000..412ea8a
--- /dev/null
+++ b/scripts/kconfig/expr.h
@@ -0,0 +1,241 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#ifndef EXPR_H
+#define EXPR_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <assert.h>
+#include <stdio.h>
+#include "list.h"
+#ifndef __cplusplus
+#include <stdbool.h>
+#endif
+
+struct file {
+	struct file *next;
+	struct file *parent;
+	const char *name;
+	int lineno;
+};
+
+typedef enum tristate {
+	no, mod, yes
+} tristate;
+
+enum expr_type {
+	E_NONE, E_OR, E_AND, E_NOT, E_EQUAL, E_UNEQUAL, E_LIST, E_SYMBOL, E_RANGE
+};
+
+union expr_data {
+	struct expr *expr;
+	struct symbol *sym;
+};
+
+struct expr {
+	enum expr_type type;
+	union expr_data left, right;
+};
+
+#define EXPR_OR(dep1, dep2)	(((dep1)>(dep2))?(dep1):(dep2))
+#define EXPR_AND(dep1, dep2)	(((dep1)<(dep2))?(dep1):(dep2))
+#define EXPR_NOT(dep)		(2-(dep))
+
+#define expr_list_for_each_sym(l, e, s) \
+	for (e = (l); e && (s = e->right.sym); e = e->left.expr)
+
+struct expr_value {
+	struct expr *expr;
+	tristate tri;
+};
+
+struct symbol_value {
+	void *val;
+	tristate tri;
+};
+
+enum symbol_type {
+	S_UNKNOWN, S_BOOLEAN, S_TRISTATE, S_INT, S_HEX, S_STRING, S_OTHER
+};
+
+/* enum values are used as index to symbol.def[] */
+enum {
+	S_DEF_USER,		/* main user value */
+	S_DEF_AUTO,		/* values read from auto.conf */
+	S_DEF_DEF3,		/* Reserved for UI usage */
+	S_DEF_DEF4,		/* Reserved for UI usage */
+	S_DEF_COUNT
+};
+
+struct symbol {
+	struct symbol *next;
+	char *name;
+	enum symbol_type type;
+	struct symbol_value curr;
+	struct symbol_value def[S_DEF_COUNT];
+	tristate visible;
+	int flags;
+	struct property *prop;
+	struct expr_value dir_dep;
+	struct expr_value rev_dep;
+};
+
+#define for_all_symbols(i, sym) for (i = 0; i < SYMBOL_HASHSIZE; i++) for (sym = symbol_hash[i]; sym; sym = sym->next) if (sym->type != S_OTHER)
+
+#define SYMBOL_CONST      0x0001  /* symbol is const */
+#define SYMBOL_CHECK      0x0008  /* used during dependency checking */
+#define SYMBOL_CHOICE     0x0010  /* start of a choice block (null name) */
+#define SYMBOL_CHOICEVAL  0x0020  /* used as a value in a choice block */
+#define SYMBOL_VALID      0x0080  /* set when symbol.curr is calculated */
+#define SYMBOL_OPTIONAL   0x0100  /* choice is optional - values can be 'n' */
+#define SYMBOL_WRITE      0x0200  /* write symbol to file (KCONFIG_CONFIG) */
+#define SYMBOL_CHANGED    0x0400  /* ? */
+#define SYMBOL_AUTO       0x1000  /* value from environment variable */
+#define SYMBOL_CHECKED    0x2000  /* used during dependency checking */
+#define SYMBOL_WARNED     0x8000  /* warning has been issued */
+
+/* Set when symbol.def[] is used */
+#define SYMBOL_DEF        0x10000  /* First bit of SYMBOL_DEF */
+#define SYMBOL_DEF_USER   0x10000  /* symbol.def[S_DEF_USER] is valid */
+#define SYMBOL_DEF_AUTO   0x20000  /* symbol.def[S_DEF_AUTO] is valid */
+#define SYMBOL_DEF3       0x40000  /* symbol.def[S_DEF_3] is valid */
+#define SYMBOL_DEF4       0x80000  /* symbol.def[S_DEF_4] is valid */
+
+/* choice values need to be set before calculating this symbol value */
+#define SYMBOL_NEED_SET_CHOICE_VALUES  0x100000
+
+/* Set symbol to y if allnoconfig; used for symbols that hide others */
+#define SYMBOL_ALLNOCONFIG_Y 0x200000
+
+#define SYMBOL_MAXLENGTH	256
+#define SYMBOL_HASHSIZE		9973
+
+/* A property represent the config options that can be associated
+ * with a config "symbol".
+ * Sample:
+ * config FOO
+ *         default y
+ *         prompt "foo prompt"
+ *         select BAR
+ * config BAZ
+ *         int "BAZ Value"
+ *         range 1..255
+ */
+enum prop_type {
+	P_UNKNOWN,
+	P_PROMPT,   /* prompt "foo prompt" or "BAZ Value" */
+	P_COMMENT,  /* text associated with a comment */
+	P_MENU,     /* prompt associated with a menuconfig option */
+	P_DEFAULT,  /* default y */
+	P_CHOICE,   /* choice value */
+	P_SELECT,   /* select BAR */
+	P_RANGE,    /* range 7..100 (for a symbol) */
+	P_ENV,      /* value from environment variable */
+	P_SYMBOL,   /* where a symbol is defined */
+};
+
+struct property {
+	struct property *next;     /* next property - null if last */
+	struct symbol *sym;        /* the symbol for which the property is associated */
+	enum prop_type type;       /* type of property */
+	const char *text;          /* the prompt value - P_PROMPT, P_MENU, P_COMMENT */
+	struct expr_value visible;
+	struct expr *expr;         /* the optional conditional part of the property */
+	struct menu *menu;         /* the menu the property are associated with
+	                            * valid for: P_SELECT, P_RANGE, P_CHOICE,
+	                            * P_PROMPT, P_DEFAULT, P_MENU, P_COMMENT */
+	struct file *file;         /* what file was this property defined */
+	int lineno;                /* what lineno was this property defined */
+};
+
+#define for_all_properties(sym, st, tok) \
+	for (st = sym->prop; st; st = st->next) \
+		if (st->type == (tok))
+#define for_all_defaults(sym, st) for_all_properties(sym, st, P_DEFAULT)
+#define for_all_choices(sym, st) for_all_properties(sym, st, P_CHOICE)
+#define for_all_prompts(sym, st) \
+	for (st = sym->prop; st; st = st->next) \
+		if (st->text)
+
+struct menu {
+	struct menu *next;
+	struct menu *parent;
+	struct menu *list;
+	struct symbol *sym;
+	struct property *prompt;
+	struct expr *visibility;
+	struct expr *dep;
+	unsigned int flags;
+	char *help;
+	struct file *file;
+	int lineno;
+	void *data;
+};
+
+#define MENU_CHANGED		0x0001
+#define MENU_ROOT		0x0002
+
+struct jump_key {
+	struct list_head entries;
+	size_t offset;
+	struct menu *target;
+	int index;
+};
+
+#define JUMP_NB			9
+
+extern struct file *file_list;
+extern struct file *current_file;
+struct file *lookup_file(const char *name);
+
+extern struct symbol symbol_yes, symbol_no, symbol_mod;
+extern struct symbol *modules_sym;
+extern struct symbol *sym_defconfig_list;
+extern int cdebug;
+struct expr *expr_alloc_symbol(struct symbol *sym);
+struct expr *expr_alloc_one(enum expr_type type, struct expr *ce);
+struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2);
+struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2);
+struct expr *expr_alloc_and(struct expr *e1, struct expr *e2);
+struct expr *expr_alloc_or(struct expr *e1, struct expr *e2);
+struct expr *expr_copy(const struct expr *org);
+void expr_free(struct expr *e);
+int expr_eq(struct expr *e1, struct expr *e2);
+void expr_eliminate_eq(struct expr **ep1, struct expr **ep2);
+tristate expr_calc_value(struct expr *e);
+struct expr *expr_eliminate_yn(struct expr *e);
+struct expr *expr_trans_bool(struct expr *e);
+struct expr *expr_eliminate_dups(struct expr *e);
+struct expr *expr_transform(struct expr *e);
+int expr_contains_symbol(struct expr *dep, struct symbol *sym);
+bool expr_depends_symbol(struct expr *dep, struct symbol *sym);
+struct expr *expr_extract_eq_and(struct expr **ep1, struct expr **ep2);
+struct expr *expr_extract_eq_or(struct expr **ep1, struct expr **ep2);
+void expr_extract_eq(enum expr_type type, struct expr **ep, struct expr **ep1, struct expr **ep2);
+struct expr *expr_trans_compare(struct expr *e, enum expr_type type, struct symbol *sym);
+struct expr *expr_simplify_unmet_dep(struct expr *e1, struct expr *e2);
+
+void expr_fprint(struct expr *e, FILE *out);
+struct gstr; /* forward */
+void expr_gstr_print(struct expr *e, struct gstr *gs);
+
+static inline int expr_is_yes(struct expr *e)
+{
+	return !e || (e->type == E_SYMBOL && e->left.sym == &symbol_yes);
+}
+
+static inline int expr_is_no(struct expr *e)
+{
+	return e && (e->type == E_SYMBOL && e->left.sym == &symbol_no);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* EXPR_H */
diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c
new file mode 100644
index 0000000..f2bee70
--- /dev/null
+++ b/scripts/kconfig/gconf.c
@@ -0,0 +1,1542 @@
+/* Hey EMACS -*- linux-c -*- */
+/*
+ *
+ * Copyright (C) 2002-2003 Romain Lievin <roms@tilp.info>
+ * Released under the terms of the GNU GPL v2.0.
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <stdlib.h>
+#include "lkc.h"
+#include "images.c"
+
+#include <glade/glade.h>
+#include <gtk/gtk.h>
+#include <glib.h>
+#include <gdk/gdkkeysyms.h>
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <time.h>
+
+//#define DEBUG
+
+enum {
+	SINGLE_VIEW, SPLIT_VIEW, FULL_VIEW
+};
+
+enum {
+	OPT_NORMAL, OPT_ALL, OPT_PROMPT
+};
+
+static gint view_mode = FULL_VIEW;
+static gboolean show_name = TRUE;
+static gboolean show_range = TRUE;
+static gboolean show_value = TRUE;
+static gboolean resizeable = FALSE;
+static int opt_mode = OPT_NORMAL;
+
+GtkWidget *main_wnd = NULL;
+GtkWidget *tree1_w = NULL;	// left  frame
+GtkWidget *tree2_w = NULL;	// right frame
+GtkWidget *text_w = NULL;
+GtkWidget *hpaned = NULL;
+GtkWidget *vpaned = NULL;
+GtkWidget *back_btn = NULL;
+GtkWidget *save_btn = NULL;
+GtkWidget *save_menu_item = NULL;
+
+GtkTextTag *tag1, *tag2;
+GdkColor color;
+
+GtkTreeStore *tree1, *tree2, *tree;
+GtkTreeModel *model1, *model2;
+static GtkTreeIter *parents[256];
+static gint indent;
+
+static struct menu *current; // current node for SINGLE view
+static struct menu *browsed; // browsed node for SPLIT view
+
+enum {
+	COL_OPTION, COL_NAME, COL_NO, COL_MOD, COL_YES, COL_VALUE,
+	COL_MENU, COL_COLOR, COL_EDIT, COL_PIXBUF,
+	COL_PIXVIS, COL_BTNVIS, COL_BTNACT, COL_BTNINC, COL_BTNRAD,
+	COL_NUMBER
+};
+
+static void display_list(void);
+static void display_tree(struct menu *menu);
+static void display_tree_part(void);
+static void update_tree(struct menu *src, GtkTreeIter * dst);
+static void set_node(GtkTreeIter * node, struct menu *menu, gchar ** row);
+static gchar **fill_row(struct menu *menu);
+static void conf_changed(void);
+
+/* Helping/Debugging Functions */
+
+const char *dbg_sym_flags(int val)
+{
+	static char buf[256];
+
+	bzero(buf, 256);
+
+	if (val & SYMBOL_CONST)
+		strcat(buf, "const/");
+	if (val & SYMBOL_CHECK)
+		strcat(buf, "check/");
+	if (val & SYMBOL_CHOICE)
+		strcat(buf, "choice/");
+	if (val & SYMBOL_CHOICEVAL)
+		strcat(buf, "choiceval/");
+	if (val & SYMBOL_VALID)
+		strcat(buf, "valid/");
+	if (val & SYMBOL_OPTIONAL)
+		strcat(buf, "optional/");
+	if (val & SYMBOL_WRITE)
+		strcat(buf, "write/");
+	if (val & SYMBOL_CHANGED)
+		strcat(buf, "changed/");
+	if (val & SYMBOL_AUTO)
+		strcat(buf, "auto/");
+
+	buf[strlen(buf) - 1] = '\0';
+
+	return buf;
+}
+
+void replace_button_icon(GladeXML * xml, GdkDrawable * window,
+			 GtkStyle * style, gchar * btn_name, gchar ** xpm)
+{
+	GdkPixmap *pixmap;
+	GdkBitmap *mask;
+	GtkToolButton *button;
+	GtkWidget *image;
+
+	pixmap = gdk_pixmap_create_from_xpm_d(window, &mask,
+					      &style->bg[GTK_STATE_NORMAL],
+					      xpm);
+
+	button = GTK_TOOL_BUTTON(glade_xml_get_widget(xml, btn_name));
+	image = gtk_image_new_from_pixmap(pixmap, mask);
+	gtk_widget_show(image);
+	gtk_tool_button_set_icon_widget(button, image);
+}
+
+/* Main Window Initialization */
+void init_main_window(const gchar * glade_file)
+{
+	GladeXML *xml;
+	GtkWidget *widget;
+	GtkTextBuffer *txtbuf;
+	GtkStyle *style;
+
+	xml = glade_xml_new(glade_file, "window1", NULL);
+	if (!xml)
+		g_error(_("GUI loading failed !\n"));
+	glade_xml_signal_autoconnect(xml);
+
+	main_wnd = glade_xml_get_widget(xml, "window1");
+	hpaned = glade_xml_get_widget(xml, "hpaned1");
+	vpaned = glade_xml_get_widget(xml, "vpaned1");
+	tree1_w = glade_xml_get_widget(xml, "treeview1");
+	tree2_w = glade_xml_get_widget(xml, "treeview2");
+	text_w = glade_xml_get_widget(xml, "textview3");
+
+	back_btn = glade_xml_get_widget(xml, "button1");
+	gtk_widget_set_sensitive(back_btn, FALSE);
+
+	widget = glade_xml_get_widget(xml, "show_name1");
+	gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
+				       show_name);
+
+	widget = glade_xml_get_widget(xml, "show_range1");
+	gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
+				       show_range);
+
+	widget = glade_xml_get_widget(xml, "show_data1");
+	gtk_check_menu_item_set_active((GtkCheckMenuItem *) widget,
+				       show_value);
+
+	save_btn = glade_xml_get_widget(xml, "button3");
+	save_menu_item = glade_xml_get_widget(xml, "save1");
+	conf_set_changed_callback(conf_changed);
+
+	style = gtk_widget_get_style(main_wnd);
+	widget = glade_xml_get_widget(xml, "toolbar1");
+
+#if 0	/* Use stock Gtk icons instead */
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button1", (gchar **) xpm_back);
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button2", (gchar **) xpm_load);
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button3", (gchar **) xpm_save);
+#endif
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button4", (gchar **) xpm_single_view);
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button5", (gchar **) xpm_split_view);
+	replace_button_icon(xml, main_wnd->window, style,
+			    "button6", (gchar **) xpm_tree_view);
+
+#if 0
+	switch (view_mode) {
+	case SINGLE_VIEW:
+		widget = glade_xml_get_widget(xml, "button4");
+		g_signal_emit_by_name(widget, "clicked");
+		break;
+	case SPLIT_VIEW:
+		widget = glade_xml_get_widget(xml, "button5");
+		g_signal_emit_by_name(widget, "clicked");
+		break;
+	case FULL_VIEW:
+		widget = glade_xml_get_widget(xml, "button6");
+		g_signal_emit_by_name(widget, "clicked");
+		break;
+	}
+#endif
+	txtbuf = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
+	tag1 = gtk_text_buffer_create_tag(txtbuf, "mytag1",
+					  "foreground", "red",
+					  "weight", PANGO_WEIGHT_BOLD,
+					  NULL);
+	tag2 = gtk_text_buffer_create_tag(txtbuf, "mytag2",
+					  /*"style", PANGO_STYLE_OBLIQUE, */
+					  NULL);
+
+	gtk_window_set_title(GTK_WINDOW(main_wnd), rootmenu.prompt->text);
+
+	gtk_widget_show(main_wnd);
+}
+
+void init_tree_model(void)
+{
+	gint i;
+
+	tree = tree2 = gtk_tree_store_new(COL_NUMBER,
+					  G_TYPE_STRING, G_TYPE_STRING,
+					  G_TYPE_STRING, G_TYPE_STRING,
+					  G_TYPE_STRING, G_TYPE_STRING,
+					  G_TYPE_POINTER, GDK_TYPE_COLOR,
+					  G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF,
+					  G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+					  G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+					  G_TYPE_BOOLEAN);
+	model2 = GTK_TREE_MODEL(tree2);
+
+	for (parents[0] = NULL, i = 1; i < 256; i++)
+		parents[i] = (GtkTreeIter *) g_malloc(sizeof(GtkTreeIter));
+
+	tree1 = gtk_tree_store_new(COL_NUMBER,
+				   G_TYPE_STRING, G_TYPE_STRING,
+				   G_TYPE_STRING, G_TYPE_STRING,
+				   G_TYPE_STRING, G_TYPE_STRING,
+				   G_TYPE_POINTER, GDK_TYPE_COLOR,
+				   G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF,
+				   G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+				   G_TYPE_BOOLEAN, G_TYPE_BOOLEAN,
+				   G_TYPE_BOOLEAN);
+	model1 = GTK_TREE_MODEL(tree1);
+}
+
+void init_left_tree(void)
+{
+	GtkTreeView *view = GTK_TREE_VIEW(tree1_w);
+	GtkCellRenderer *renderer;
+	GtkTreeSelection *sel;
+	GtkTreeViewColumn *column;
+
+	gtk_tree_view_set_model(view, model1);
+	gtk_tree_view_set_headers_visible(view, TRUE);
+	gtk_tree_view_set_rules_hint(view, TRUE);
+
+	column = gtk_tree_view_column_new();
+	gtk_tree_view_append_column(view, column);
+	gtk_tree_view_column_set_title(column, _("Options"));
+
+	renderer = gtk_cell_renderer_toggle_new();
+	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+					renderer, FALSE);
+	gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+					    renderer,
+					    "active", COL_BTNACT,
+					    "inconsistent", COL_BTNINC,
+					    "visible", COL_BTNVIS,
+					    "radio", COL_BTNRAD, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+					renderer, FALSE);
+	gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+					    renderer,
+					    "text", COL_OPTION,
+					    "foreground-gdk",
+					    COL_COLOR, NULL);
+
+	sel = gtk_tree_view_get_selection(view);
+	gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);
+	gtk_widget_realize(tree1_w);
+}
+
+static void renderer_edited(GtkCellRendererText * cell,
+			    const gchar * path_string,
+			    const gchar * new_text, gpointer user_data);
+
+void init_right_tree(void)
+{
+	GtkTreeView *view = GTK_TREE_VIEW(tree2_w);
+	GtkCellRenderer *renderer;
+	GtkTreeSelection *sel;
+	GtkTreeViewColumn *column;
+	gint i;
+
+	gtk_tree_view_set_model(view, model2);
+	gtk_tree_view_set_headers_visible(view, TRUE);
+	gtk_tree_view_set_rules_hint(view, TRUE);
+
+	column = gtk_tree_view_column_new();
+	gtk_tree_view_append_column(view, column);
+	gtk_tree_view_column_set_title(column, _("Options"));
+
+	renderer = gtk_cell_renderer_pixbuf_new();
+	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+					renderer, FALSE);
+	gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+					    renderer,
+					    "pixbuf", COL_PIXBUF,
+					    "visible", COL_PIXVIS, NULL);
+	renderer = gtk_cell_renderer_toggle_new();
+	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+					renderer, FALSE);
+	gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+					    renderer,
+					    "active", COL_BTNACT,
+					    "inconsistent", COL_BTNINC,
+					    "visible", COL_BTNVIS,
+					    "radio", COL_BTNRAD, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_column_pack_start(GTK_TREE_VIEW_COLUMN(column),
+					renderer, FALSE);
+	gtk_tree_view_column_set_attributes(GTK_TREE_VIEW_COLUMN(column),
+					    renderer,
+					    "text", COL_OPTION,
+					    "foreground-gdk",
+					    COL_COLOR, NULL);
+
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_insert_column_with_attributes(view, -1,
+						    _("Name"), renderer,
+						    "text", COL_NAME,
+						    "foreground-gdk",
+						    COL_COLOR, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_insert_column_with_attributes(view, -1,
+						    "N", renderer,
+						    "text", COL_NO,
+						    "foreground-gdk",
+						    COL_COLOR, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_insert_column_with_attributes(view, -1,
+						    "M", renderer,
+						    "text", COL_MOD,
+						    "foreground-gdk",
+						    COL_COLOR, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_insert_column_with_attributes(view, -1,
+						    "Y", renderer,
+						    "text", COL_YES,
+						    "foreground-gdk",
+						    COL_COLOR, NULL);
+	renderer = gtk_cell_renderer_text_new();
+	gtk_tree_view_insert_column_with_attributes(view, -1,
+						    _("Value"), renderer,
+						    "text", COL_VALUE,
+						    "editable",
+						    COL_EDIT,
+						    "foreground-gdk",
+						    COL_COLOR, NULL);
+	g_signal_connect(G_OBJECT(renderer), "edited",
+			 G_CALLBACK(renderer_edited), NULL);
+
+	column = gtk_tree_view_get_column(view, COL_NAME);
+	gtk_tree_view_column_set_visible(column, show_name);
+	column = gtk_tree_view_get_column(view, COL_NO);
+	gtk_tree_view_column_set_visible(column, show_range);
+	column = gtk_tree_view_get_column(view, COL_MOD);
+	gtk_tree_view_column_set_visible(column, show_range);
+	column = gtk_tree_view_get_column(view, COL_YES);
+	gtk_tree_view_column_set_visible(column, show_range);
+	column = gtk_tree_view_get_column(view, COL_VALUE);
+	gtk_tree_view_column_set_visible(column, show_value);
+
+	if (resizeable) {
+		for (i = 0; i < COL_VALUE; i++) {
+			column = gtk_tree_view_get_column(view, i);
+			gtk_tree_view_column_set_resizable(column, TRUE);
+		}
+	}
+
+	sel = gtk_tree_view_get_selection(view);
+	gtk_tree_selection_set_mode(sel, GTK_SELECTION_SINGLE);
+}
+
+
+/* Utility Functions */
+
+
+static void text_insert_help(struct menu *menu)
+{
+	GtkTextBuffer *buffer;
+	GtkTextIter start, end;
+	const char *prompt = _(menu_get_prompt(menu));
+	struct gstr help = str_new();
+
+	menu_get_ext_help(menu, &help);
+
+	buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
+	gtk_text_buffer_get_bounds(buffer, &start, &end);
+	gtk_text_buffer_delete(buffer, &start, &end);
+	gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_w), 15);
+
+	gtk_text_buffer_get_end_iter(buffer, &end);
+	gtk_text_buffer_insert_with_tags(buffer, &end, prompt, -1, tag1,
+					 NULL);
+	gtk_text_buffer_insert_at_cursor(buffer, "\n\n", 2);
+	gtk_text_buffer_get_end_iter(buffer, &end);
+	gtk_text_buffer_insert_with_tags(buffer, &end, str_get(&help), -1, tag2,
+					 NULL);
+	str_free(&help);
+}
+
+
+static void text_insert_msg(const char *title, const char *message)
+{
+	GtkTextBuffer *buffer;
+	GtkTextIter start, end;
+	const char *msg = message;
+
+	buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text_w));
+	gtk_text_buffer_get_bounds(buffer, &start, &end);
+	gtk_text_buffer_delete(buffer, &start, &end);
+	gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text_w), 15);
+
+	gtk_text_buffer_get_end_iter(buffer, &end);
+	gtk_text_buffer_insert_with_tags(buffer, &end, title, -1, tag1,
+					 NULL);
+	gtk_text_buffer_insert_at_cursor(buffer, "\n\n", 2);
+	gtk_text_buffer_get_end_iter(buffer, &end);
+	gtk_text_buffer_insert_with_tags(buffer, &end, msg, -1, tag2,
+					 NULL);
+}
+
+
+/* Main Windows Callbacks */
+
+void on_save_activate(GtkMenuItem * menuitem, gpointer user_data);
+gboolean on_window1_delete_event(GtkWidget * widget, GdkEvent * event,
+				 gpointer user_data)
+{
+	GtkWidget *dialog, *label;
+	gint result;
+
+	if (!conf_get_changed())
+		return FALSE;
+
+	dialog = gtk_dialog_new_with_buttons(_("Warning !"),
+					     GTK_WINDOW(main_wnd),
+					     (GtkDialogFlags)
+					     (GTK_DIALOG_MODAL |
+					      GTK_DIALOG_DESTROY_WITH_PARENT),
+					     GTK_STOCK_OK,
+					     GTK_RESPONSE_YES,
+					     GTK_STOCK_NO,
+					     GTK_RESPONSE_NO,
+					     GTK_STOCK_CANCEL,
+					     GTK_RESPONSE_CANCEL, NULL);
+	gtk_dialog_set_default_response(GTK_DIALOG(dialog),
+					GTK_RESPONSE_CANCEL);
+
+	label = gtk_label_new(_("\nSave configuration ?\n"));
+	gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), label);
+	gtk_widget_show(label);
+
+	result = gtk_dialog_run(GTK_DIALOG(dialog));
+	switch (result) {
+	case GTK_RESPONSE_YES:
+		on_save_activate(NULL, NULL);
+		return FALSE;
+	case GTK_RESPONSE_NO:
+		return FALSE;
+	case GTK_RESPONSE_CANCEL:
+	case GTK_RESPONSE_DELETE_EVENT:
+	default:
+		gtk_widget_destroy(dialog);
+		return TRUE;
+	}
+
+	return FALSE;
+}
+
+
+void on_window1_destroy(GtkObject * object, gpointer user_data)
+{
+	gtk_main_quit();
+}
+
+
+void
+on_window1_size_request(GtkWidget * widget,
+			GtkRequisition * requisition, gpointer user_data)
+{
+	static gint old_h;
+	gint w, h;
+
+	if (widget->window == NULL)
+		gtk_window_get_default_size(GTK_WINDOW(main_wnd), &w, &h);
+	else
+		gdk_window_get_size(widget->window, &w, &h);
+
+	if (h == old_h)
+		return;
+	old_h = h;
+
+	gtk_paned_set_position(GTK_PANED(vpaned), 2 * h / 3);
+}
+
+
+/* Menu & Toolbar Callbacks */
+
+
+static void
+load_filename(GtkFileSelection * file_selector, gpointer user_data)
+{
+	const gchar *fn;
+
+	fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION
+					     (user_data));
+
+	if (conf_read(fn))
+		text_insert_msg(_("Error"), _("Unable to load configuration !"));
+	else
+		display_tree(&rootmenu);
+}
+
+void on_load1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkWidget *fs;
+
+	fs = gtk_file_selection_new(_("Load file..."));
+	g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->ok_button),
+			 "clicked",
+			 G_CALLBACK(load_filename), (gpointer) fs);
+	g_signal_connect_swapped(GTK_OBJECT
+				 (GTK_FILE_SELECTION(fs)->ok_button),
+				 "clicked", G_CALLBACK(gtk_widget_destroy),
+				 (gpointer) fs);
+	g_signal_connect_swapped(GTK_OBJECT
+				 (GTK_FILE_SELECTION(fs)->cancel_button),
+				 "clicked", G_CALLBACK(gtk_widget_destroy),
+				 (gpointer) fs);
+	gtk_widget_show(fs);
+}
+
+
+void on_save_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	if (conf_write(NULL))
+		text_insert_msg(_("Error"), _("Unable to save configuration !"));
+}
+
+
+static void
+store_filename(GtkFileSelection * file_selector, gpointer user_data)
+{
+	const gchar *fn;
+
+	fn = gtk_file_selection_get_filename(GTK_FILE_SELECTION
+					     (user_data));
+
+	if (conf_write(fn))
+		text_insert_msg(_("Error"), _("Unable to save configuration !"));
+
+	gtk_widget_destroy(GTK_WIDGET(user_data));
+}
+
+void on_save_as1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkWidget *fs;
+
+	fs = gtk_file_selection_new(_("Save file as..."));
+	g_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->ok_button),
+			 "clicked",
+			 G_CALLBACK(store_filename), (gpointer) fs);
+	g_signal_connect_swapped(GTK_OBJECT
+				 (GTK_FILE_SELECTION(fs)->ok_button),
+				 "clicked", G_CALLBACK(gtk_widget_destroy),
+				 (gpointer) fs);
+	g_signal_connect_swapped(GTK_OBJECT
+				 (GTK_FILE_SELECTION(fs)->cancel_button),
+				 "clicked", G_CALLBACK(gtk_widget_destroy),
+				 (gpointer) fs);
+	gtk_widget_show(fs);
+}
+
+
+void on_quit1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	if (!on_window1_delete_event(NULL, NULL, NULL))
+		gtk_widget_destroy(GTK_WIDGET(main_wnd));
+}
+
+
+void on_show_name1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkTreeViewColumn *col;
+
+	show_name = GTK_CHECK_MENU_ITEM(menuitem)->active;
+	col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_NAME);
+	if (col)
+		gtk_tree_view_column_set_visible(col, show_name);
+}
+
+
+void on_show_range1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkTreeViewColumn *col;
+
+	show_range = GTK_CHECK_MENU_ITEM(menuitem)->active;
+	col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_NO);
+	if (col)
+		gtk_tree_view_column_set_visible(col, show_range);
+	col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_MOD);
+	if (col)
+		gtk_tree_view_column_set_visible(col, show_range);
+	col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_YES);
+	if (col)
+		gtk_tree_view_column_set_visible(col, show_range);
+
+}
+
+
+void on_show_data1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkTreeViewColumn *col;
+
+	show_value = GTK_CHECK_MENU_ITEM(menuitem)->active;
+	col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), COL_VALUE);
+	if (col)
+		gtk_tree_view_column_set_visible(col, show_value);
+}
+
+
+void
+on_set_option_mode1_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+	opt_mode = OPT_NORMAL;
+	gtk_tree_store_clear(tree2);
+	display_tree(&rootmenu);	/* instead of update_tree to speed-up */
+}
+
+
+void
+on_set_option_mode2_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+	opt_mode = OPT_ALL;
+	gtk_tree_store_clear(tree2);
+	display_tree(&rootmenu);	/* instead of update_tree to speed-up */
+}
+
+
+void
+on_set_option_mode3_activate(GtkMenuItem *menuitem, gpointer user_data)
+{
+	opt_mode = OPT_PROMPT;
+	gtk_tree_store_clear(tree2);
+	display_tree(&rootmenu);	/* instead of update_tree to speed-up */
+}
+
+
+void on_introduction1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkWidget *dialog;
+	const gchar *intro_text = _(
+	    "Welcome to gkc, the GTK+ graphical configuration tool\n"
+	    "For each option, a blank box indicates the feature is disabled, a\n"
+	    "check indicates it is enabled, and a dot indicates that it is to\n"
+	    "be compiled as a module.  Clicking on the box will cycle through the three states.\n"
+	    "\n"
+	    "If you do not see an option (e.g., a device driver) that you\n"
+	    "believe should be present, try turning on Show All Options\n"
+	    "under the Options menu.\n"
+	    "Although there is no cross reference yet to help you figure out\n"
+	    "what other options must be enabled to support the option you\n"
+	    "are interested in, you can still view the help of a grayed-out\n"
+	    "option.\n"
+	    "\n"
+	    "Toggling Show Debug Info under the Options menu will show \n"
+	    "the dependencies, which you can then match by examining other options.");
+
+	dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
+					GTK_DIALOG_DESTROY_WITH_PARENT,
+					GTK_MESSAGE_INFO,
+					GTK_BUTTONS_CLOSE, "%s", intro_text);
+	g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
+				 G_CALLBACK(gtk_widget_destroy),
+				 GTK_OBJECT(dialog));
+	gtk_widget_show_all(dialog);
+}
+
+
+void on_about1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkWidget *dialog;
+	const gchar *about_text =
+	    _("gkc is copyright (c) 2002 Romain Lievin <roms@lpg.ticalc.org>.\n"
+	      "Based on the source code from Roman Zippel.\n");
+
+	dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
+					GTK_DIALOG_DESTROY_WITH_PARENT,
+					GTK_MESSAGE_INFO,
+					GTK_BUTTONS_CLOSE, "%s", about_text);
+	g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
+				 G_CALLBACK(gtk_widget_destroy),
+				 GTK_OBJECT(dialog));
+	gtk_widget_show_all(dialog);
+}
+
+
+void on_license1_activate(GtkMenuItem * menuitem, gpointer user_data)
+{
+	GtkWidget *dialog;
+	const gchar *license_text =
+	    _("gkc is released under the terms of the GNU GPL v2.\n"
+	      "For more information, please see the source code or\n"
+	      "visit http://www.fsf.org/licenses/licenses.html\n");
+
+	dialog = gtk_message_dialog_new(GTK_WINDOW(main_wnd),
+					GTK_DIALOG_DESTROY_WITH_PARENT,
+					GTK_MESSAGE_INFO,
+					GTK_BUTTONS_CLOSE, "%s", license_text);
+	g_signal_connect_swapped(GTK_OBJECT(dialog), "response",
+				 G_CALLBACK(gtk_widget_destroy),
+				 GTK_OBJECT(dialog));
+	gtk_widget_show_all(dialog);
+}
+
+
+void on_back_clicked(GtkButton * button, gpointer user_data)
+{
+	enum prop_type ptype;
+
+	current = current->parent;
+	ptype = current->prompt ? current->prompt->type : P_UNKNOWN;
+	if (ptype != P_MENU)
+		current = current->parent;
+	display_tree_part();
+
+	if (current == &rootmenu)
+		gtk_widget_set_sensitive(back_btn, FALSE);
+}
+
+
+void on_load_clicked(GtkButton * button, gpointer user_data)
+{
+	on_load1_activate(NULL, user_data);
+}
+
+
+void on_single_clicked(GtkButton * button, gpointer user_data)
+{
+	view_mode = SINGLE_VIEW;
+	gtk_widget_hide(tree1_w);
+	current = &rootmenu;
+	display_tree_part();
+}
+
+
+void on_split_clicked(GtkButton * button, gpointer user_data)
+{
+	gint w, h;
+	view_mode = SPLIT_VIEW;
+	gtk_widget_show(tree1_w);
+	gtk_window_get_default_size(GTK_WINDOW(main_wnd), &w, &h);
+	gtk_paned_set_position(GTK_PANED(hpaned), w / 2);
+	if (tree2)
+		gtk_tree_store_clear(tree2);
+	display_list();
+
+	/* Disable back btn, like in full mode. */
+	gtk_widget_set_sensitive(back_btn, FALSE);
+}
+
+
+void on_full_clicked(GtkButton * button, gpointer user_data)
+{
+	view_mode = FULL_VIEW;
+	gtk_widget_hide(tree1_w);
+	if (tree2)
+		gtk_tree_store_clear(tree2);
+	display_tree(&rootmenu);
+	gtk_widget_set_sensitive(back_btn, FALSE);
+}
+
+
+void on_collapse_clicked(GtkButton * button, gpointer user_data)
+{
+	gtk_tree_view_collapse_all(GTK_TREE_VIEW(tree2_w));
+}
+
+
+void on_expand_clicked(GtkButton * button, gpointer user_data)
+{
+	gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w));
+}
+
+
+/* CTree Callbacks */
+
+/* Change hex/int/string value in the cell */
+static void renderer_edited(GtkCellRendererText * cell,
+			    const gchar * path_string,
+			    const gchar * new_text, gpointer user_data)
+{
+	GtkTreePath *path = gtk_tree_path_new_from_string(path_string);
+	GtkTreeIter iter;
+	const char *old_def, *new_def;
+	struct menu *menu;
+	struct symbol *sym;
+
+	if (!gtk_tree_model_get_iter(model2, &iter, path))
+		return;
+
+	gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+	sym = menu->sym;
+
+	gtk_tree_model_get(model2, &iter, COL_VALUE, &old_def, -1);
+	new_def = new_text;
+
+	sym_set_string_value(sym, new_def);
+
+	update_tree(&rootmenu, NULL);
+
+	gtk_tree_path_free(path);
+}
+
+/* Change the value of a symbol and update the tree */
+static void change_sym_value(struct menu *menu, gint col)
+{
+	struct symbol *sym = menu->sym;
+	tristate newval;
+
+	if (!sym)
+		return;
+
+	if (col == COL_NO)
+		newval = no;
+	else if (col == COL_MOD)
+		newval = mod;
+	else if (col == COL_YES)
+		newval = yes;
+	else
+		return;
+
+	switch (sym_get_type(sym)) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		if (!sym_tristate_within_range(sym, newval))
+			newval = yes;
+		sym_set_tristate_value(sym, newval);
+		if (view_mode == FULL_VIEW)
+			update_tree(&rootmenu, NULL);
+		else if (view_mode == SPLIT_VIEW) {
+			update_tree(browsed, NULL);
+			display_list();
+		}
+		else if (view_mode == SINGLE_VIEW)
+			display_tree_part();	//fixme: keep exp/coll
+		break;
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+	default:
+		break;
+	}
+}
+
+static void toggle_sym_value(struct menu *menu)
+{
+	if (!menu->sym)
+		return;
+
+	sym_toggle_tristate_value(menu->sym);
+	if (view_mode == FULL_VIEW)
+		update_tree(&rootmenu, NULL);
+	else if (view_mode == SPLIT_VIEW) {
+		update_tree(browsed, NULL);
+		display_list();
+	}
+	else if (view_mode == SINGLE_VIEW)
+		display_tree_part();	//fixme: keep exp/coll
+}
+
+static gint column2index(GtkTreeViewColumn * column)
+{
+	gint i;
+
+	for (i = 0; i < COL_NUMBER; i++) {
+		GtkTreeViewColumn *col;
+
+		col = gtk_tree_view_get_column(GTK_TREE_VIEW(tree2_w), i);
+		if (col == column)
+			return i;
+	}
+
+	return -1;
+}
+
+
+/* User click: update choice (full) or goes down (single) */
+gboolean
+on_treeview2_button_press_event(GtkWidget * widget,
+				GdkEventButton * event, gpointer user_data)
+{
+	GtkTreeView *view = GTK_TREE_VIEW(widget);
+	GtkTreePath *path;
+	GtkTreeViewColumn *column;
+	GtkTreeIter iter;
+	struct menu *menu;
+	gint col;
+
+#if GTK_CHECK_VERSION(2,1,4) // bug in ctree with earlier version of GTK
+	gint tx = (gint) event->x;
+	gint ty = (gint) event->y;
+	gint cx, cy;
+
+	gtk_tree_view_get_path_at_pos(view, tx, ty, &path, &column, &cx,
+				      &cy);
+#else
+	gtk_tree_view_get_cursor(view, &path, &column);
+#endif
+	if (path == NULL)
+		return FALSE;
+
+	if (!gtk_tree_model_get_iter(model2, &iter, path))
+		return FALSE;
+	gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+
+	col = column2index(column);
+	if (event->type == GDK_2BUTTON_PRESS) {
+		enum prop_type ptype;
+		ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+
+		if (ptype == P_MENU && view_mode != FULL_VIEW && col == COL_OPTION) {
+			// goes down into menu
+			current = menu;
+			display_tree_part();
+			gtk_widget_set_sensitive(back_btn, TRUE);
+		} else if ((col == COL_OPTION)) {
+			toggle_sym_value(menu);
+			gtk_tree_view_expand_row(view, path, TRUE);
+		}
+	} else {
+		if (col == COL_VALUE) {
+			toggle_sym_value(menu);
+			gtk_tree_view_expand_row(view, path, TRUE);
+		} else if (col == COL_NO || col == COL_MOD
+			   || col == COL_YES) {
+			change_sym_value(menu, col);
+			gtk_tree_view_expand_row(view, path, TRUE);
+		}
+	}
+
+	return FALSE;
+}
+
+/* Key pressed: update choice */
+gboolean
+on_treeview2_key_press_event(GtkWidget * widget,
+			     GdkEventKey * event, gpointer user_data)
+{
+	GtkTreeView *view = GTK_TREE_VIEW(widget);
+	GtkTreePath *path;
+	GtkTreeViewColumn *column;
+	GtkTreeIter iter;
+	struct menu *menu;
+	gint col;
+
+	gtk_tree_view_get_cursor(view, &path, &column);
+	if (path == NULL)
+		return FALSE;
+
+	if (event->keyval == GDK_space) {
+		if (gtk_tree_view_row_expanded(view, path))
+			gtk_tree_view_collapse_row(view, path);
+		else
+			gtk_tree_view_expand_row(view, path, FALSE);
+		return TRUE;
+	}
+	if (event->keyval == GDK_KP_Enter) {
+	}
+	if (widget == tree1_w)
+		return FALSE;
+
+	gtk_tree_model_get_iter(model2, &iter, path);
+	gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+
+	if (!strcasecmp(event->string, "n"))
+		col = COL_NO;
+	else if (!strcasecmp(event->string, "m"))
+		col = COL_MOD;
+	else if (!strcasecmp(event->string, "y"))
+		col = COL_YES;
+	else
+		col = -1;
+	change_sym_value(menu, col);
+
+	return FALSE;
+}
+
+
+/* Row selection changed: update help */
+void
+on_treeview2_cursor_changed(GtkTreeView * treeview, gpointer user_data)
+{
+	GtkTreeSelection *selection;
+	GtkTreeIter iter;
+	struct menu *menu;
+
+	selection = gtk_tree_view_get_selection(treeview);
+	if (gtk_tree_selection_get_selected(selection, &model2, &iter)) {
+		gtk_tree_model_get(model2, &iter, COL_MENU, &menu, -1);
+		text_insert_help(menu);
+	}
+}
+
+
+/* User click: display sub-tree in the right frame. */
+gboolean
+on_treeview1_button_press_event(GtkWidget * widget,
+				GdkEventButton * event, gpointer user_data)
+{
+	GtkTreeView *view = GTK_TREE_VIEW(widget);
+	GtkTreePath *path;
+	GtkTreeViewColumn *column;
+	GtkTreeIter iter;
+	struct menu *menu;
+
+	gint tx = (gint) event->x;
+	gint ty = (gint) event->y;
+	gint cx, cy;
+
+	gtk_tree_view_get_path_at_pos(view, tx, ty, &path, &column, &cx,
+				      &cy);
+	if (path == NULL)
+		return FALSE;
+
+	gtk_tree_model_get_iter(model1, &iter, path);
+	gtk_tree_model_get(model1, &iter, COL_MENU, &menu, -1);
+
+	if (event->type == GDK_2BUTTON_PRESS) {
+		toggle_sym_value(menu);
+		current = menu;
+		display_tree_part();
+	} else {
+		browsed = menu;
+		display_tree_part();
+	}
+
+	gtk_widget_realize(tree2_w);
+	gtk_tree_view_set_cursor(view, path, NULL, FALSE);
+	gtk_widget_grab_focus(tree2_w);
+
+	return FALSE;
+}
+
+
+/* Fill a row of strings */
+static gchar **fill_row(struct menu *menu)
+{
+	static gchar *row[COL_NUMBER];
+	struct symbol *sym = menu->sym;
+	const char *def;
+	int stype;
+	tristate val;
+	enum prop_type ptype;
+	int i;
+
+	for (i = COL_OPTION; i <= COL_COLOR; i++)
+		g_free(row[i]);
+	bzero(row, sizeof(row));
+
+	row[COL_OPTION] =
+	    g_strdup_printf("%s %s", _(menu_get_prompt(menu)),
+			    sym && !sym_has_value(sym) ? "(NEW)" : "");
+
+	if (opt_mode == OPT_ALL && !menu_is_visible(menu))
+		row[COL_COLOR] = g_strdup("DarkGray");
+	else if (opt_mode == OPT_PROMPT &&
+			menu_has_prompt(menu) && !menu_is_visible(menu))
+		row[COL_COLOR] = g_strdup("DarkGray");
+	else
+		row[COL_COLOR] = g_strdup("Black");
+
+	ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+	switch (ptype) {
+	case P_MENU:
+		row[COL_PIXBUF] = (gchar *) xpm_menu;
+		if (view_mode == SINGLE_VIEW)
+			row[COL_PIXVIS] = GINT_TO_POINTER(TRUE);
+		row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+		break;
+	case P_COMMENT:
+		row[COL_PIXBUF] = (gchar *) xpm_void;
+		row[COL_PIXVIS] = GINT_TO_POINTER(FALSE);
+		row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+		break;
+	default:
+		row[COL_PIXBUF] = (gchar *) xpm_void;
+		row[COL_PIXVIS] = GINT_TO_POINTER(FALSE);
+		row[COL_BTNVIS] = GINT_TO_POINTER(TRUE);
+		break;
+	}
+
+	if (!sym)
+		return row;
+	row[COL_NAME] = g_strdup(sym->name);
+
+	sym_calc_value(sym);
+	sym->flags &= ~SYMBOL_CHANGED;
+
+	if (sym_is_choice(sym)) {	// parse childs for getting final value
+		struct menu *child;
+		struct symbol *def_sym = sym_get_choice_value(sym);
+		struct menu *def_menu = NULL;
+
+		row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+
+		for (child = menu->list; child; child = child->next) {
+			if (menu_is_visible(child)
+			    && child->sym == def_sym)
+				def_menu = child;
+		}
+
+		if (def_menu)
+			row[COL_VALUE] =
+			    g_strdup(_(menu_get_prompt(def_menu)));
+	}
+	if (sym->flags & SYMBOL_CHOICEVAL)
+		row[COL_BTNRAD] = GINT_TO_POINTER(TRUE);
+
+	stype = sym_get_type(sym);
+	switch (stype) {
+	case S_BOOLEAN:
+		if (GPOINTER_TO_INT(row[COL_PIXVIS]) == FALSE)
+			row[COL_BTNVIS] = GINT_TO_POINTER(TRUE);
+		if (sym_is_choice(sym))
+			break;
+		/* fall through */
+	case S_TRISTATE:
+		val = sym_get_tristate_value(sym);
+		switch (val) {
+		case no:
+			row[COL_NO] = g_strdup("N");
+			row[COL_VALUE] = g_strdup("N");
+			row[COL_BTNACT] = GINT_TO_POINTER(FALSE);
+			row[COL_BTNINC] = GINT_TO_POINTER(FALSE);
+			break;
+		case mod:
+			row[COL_MOD] = g_strdup("M");
+			row[COL_VALUE] = g_strdup("M");
+			row[COL_BTNINC] = GINT_TO_POINTER(TRUE);
+			break;
+		case yes:
+			row[COL_YES] = g_strdup("Y");
+			row[COL_VALUE] = g_strdup("Y");
+			row[COL_BTNACT] = GINT_TO_POINTER(TRUE);
+			row[COL_BTNINC] = GINT_TO_POINTER(FALSE);
+			break;
+		}
+
+		if (val != no && sym_tristate_within_range(sym, no))
+			row[COL_NO] = g_strdup("_");
+		if (val != mod && sym_tristate_within_range(sym, mod))
+			row[COL_MOD] = g_strdup("_");
+		if (val != yes && sym_tristate_within_range(sym, yes))
+			row[COL_YES] = g_strdup("_");
+		break;
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		def = sym_get_string_value(sym);
+		row[COL_VALUE] = g_strdup(def);
+		row[COL_EDIT] = GINT_TO_POINTER(TRUE);
+		row[COL_BTNVIS] = GINT_TO_POINTER(FALSE);
+		break;
+	}
+
+	return row;
+}
+
+
+/* Set the node content with a row of strings */
+static void set_node(GtkTreeIter * node, struct menu *menu, gchar ** row)
+{
+	GdkColor color;
+	gboolean success;
+	GdkPixbuf *pix;
+
+	pix = gdk_pixbuf_new_from_xpm_data((const char **)
+					   row[COL_PIXBUF]);
+
+	gdk_color_parse(row[COL_COLOR], &color);
+	gdk_colormap_alloc_colors(gdk_colormap_get_system(), &color, 1,
+				  FALSE, FALSE, &success);
+
+	gtk_tree_store_set(tree, node,
+			   COL_OPTION, row[COL_OPTION],
+			   COL_NAME, row[COL_NAME],
+			   COL_NO, row[COL_NO],
+			   COL_MOD, row[COL_MOD],
+			   COL_YES, row[COL_YES],
+			   COL_VALUE, row[COL_VALUE],
+			   COL_MENU, (gpointer) menu,
+			   COL_COLOR, &color,
+			   COL_EDIT, GPOINTER_TO_INT(row[COL_EDIT]),
+			   COL_PIXBUF, pix,
+			   COL_PIXVIS, GPOINTER_TO_INT(row[COL_PIXVIS]),
+			   COL_BTNVIS, GPOINTER_TO_INT(row[COL_BTNVIS]),
+			   COL_BTNACT, GPOINTER_TO_INT(row[COL_BTNACT]),
+			   COL_BTNINC, GPOINTER_TO_INT(row[COL_BTNINC]),
+			   COL_BTNRAD, GPOINTER_TO_INT(row[COL_BTNRAD]),
+			   -1);
+
+	g_object_unref(pix);
+}
+
+
+/* Add a node to the tree */
+static void place_node(struct menu *menu, char **row)
+{
+	GtkTreeIter *parent = parents[indent - 1];
+	GtkTreeIter *node = parents[indent];
+
+	gtk_tree_store_append(tree, node, parent);
+	set_node(node, menu, row);
+}
+
+
+/* Find a node in the GTK+ tree */
+static GtkTreeIter found;
+
+/*
+ * Find a menu in the GtkTree starting at parent.
+ */
+GtkTreeIter *gtktree_iter_find_node(GtkTreeIter * parent,
+				    struct menu *tofind)
+{
+	GtkTreeIter iter;
+	GtkTreeIter *child = &iter;
+	gboolean valid;
+	GtkTreeIter *ret;
+
+	valid = gtk_tree_model_iter_children(model2, child, parent);
+	while (valid) {
+		struct menu *menu;
+
+		gtk_tree_model_get(model2, child, 6, &menu, -1);
+
+		if (menu == tofind) {
+			memcpy(&found, child, sizeof(GtkTreeIter));
+			return &found;
+		}
+
+		ret = gtktree_iter_find_node(child, tofind);
+		if (ret)
+			return ret;
+
+		valid = gtk_tree_model_iter_next(model2, child);
+	}
+
+	return NULL;
+}
+
+
+/*
+ * Update the tree by adding/removing entries
+ * Does not change other nodes
+ */
+static void update_tree(struct menu *src, GtkTreeIter * dst)
+{
+	struct menu *child1;
+	GtkTreeIter iter, tmp;
+	GtkTreeIter *child2 = &iter;
+	gboolean valid;
+	GtkTreeIter *sibling;
+	struct symbol *sym;
+	struct menu *menu1, *menu2;
+
+	if (src == &rootmenu)
+		indent = 1;
+
+	valid = gtk_tree_model_iter_children(model2, child2, dst);
+	for (child1 = src->list; child1; child1 = child1->next) {
+
+		sym = child1->sym;
+
+	      reparse:
+		menu1 = child1;
+		if (valid)
+			gtk_tree_model_get(model2, child2, COL_MENU,
+					   &menu2, -1);
+		else
+			menu2 = NULL;	// force adding of a first child
+
+#ifdef DEBUG
+		printf("%*c%s | %s\n", indent, ' ',
+		       menu1 ? menu_get_prompt(menu1) : "nil",
+		       menu2 ? menu_get_prompt(menu2) : "nil");
+#endif
+
+		if ((opt_mode == OPT_NORMAL && !menu_is_visible(child1)) ||
+		    (opt_mode == OPT_PROMPT && !menu_has_prompt(child1)) ||
+		    (opt_mode == OPT_ALL    && !menu_get_prompt(child1))) {
+
+			/* remove node */
+			if (gtktree_iter_find_node(dst, menu1) != NULL) {
+				memcpy(&tmp, child2, sizeof(GtkTreeIter));
+				valid = gtk_tree_model_iter_next(model2,
+								 child2);
+				gtk_tree_store_remove(tree2, &tmp);
+				if (!valid)
+					return;		/* next parent */
+				else
+					goto reparse;	/* next child */
+			} else
+				continue;
+		}
+
+		if (menu1 != menu2) {
+			if (gtktree_iter_find_node(dst, menu1) == NULL) {	// add node
+				if (!valid && !menu2)
+					sibling = NULL;
+				else
+					sibling = child2;
+				gtk_tree_store_insert_before(tree2,
+							     child2,
+							     dst, sibling);
+				set_node(child2, menu1, fill_row(menu1));
+				if (menu2 == NULL)
+					valid = TRUE;
+			} else {	// remove node
+				memcpy(&tmp, child2, sizeof(GtkTreeIter));
+				valid = gtk_tree_model_iter_next(model2,
+								 child2);
+				gtk_tree_store_remove(tree2, &tmp);
+				if (!valid)
+					return;	// next parent
+				else
+					goto reparse;	// next child
+			}
+		} else if (sym && (sym->flags & SYMBOL_CHANGED)) {
+			set_node(child2, menu1, fill_row(menu1));
+		}
+
+		indent++;
+		update_tree(child1, child2);
+		indent--;
+
+		valid = gtk_tree_model_iter_next(model2, child2);
+	}
+}
+
+
+/* Display the whole tree (single/split/full view) */
+static void display_tree(struct menu *menu)
+{
+	struct symbol *sym;
+	struct property *prop;
+	struct menu *child;
+	enum prop_type ptype;
+
+	if (menu == &rootmenu) {
+		indent = 1;
+		current = &rootmenu;
+	}
+
+	for (child = menu->list; child; child = child->next) {
+		prop = child->prompt;
+		sym = child->sym;
+		ptype = prop ? prop->type : P_UNKNOWN;
+
+		if (sym)
+			sym->flags &= ~SYMBOL_CHANGED;
+
+		if ((view_mode == SPLIT_VIEW)
+		    && !(child->flags & MENU_ROOT) && (tree == tree1))
+			continue;
+
+		if ((view_mode == SPLIT_VIEW) && (child->flags & MENU_ROOT)
+		    && (tree == tree2))
+			continue;
+
+		if ((opt_mode == OPT_NORMAL && menu_is_visible(child)) ||
+		    (opt_mode == OPT_PROMPT && menu_has_prompt(child)) ||
+		    (opt_mode == OPT_ALL    && menu_get_prompt(child)))
+			place_node(child, fill_row(child));
+#ifdef DEBUG
+		printf("%*c%s: ", indent, ' ', menu_get_prompt(child));
+		printf("%s", child->flags & MENU_ROOT ? "rootmenu | " : "");
+		printf("%s", prop_get_type_name(ptype));
+		printf(" | ");
+		if (sym) {
+			printf("%s", sym_type_name(sym->type));
+			printf(" | ");
+			printf("%s", dbg_sym_flags(sym->flags));
+			printf("\n");
+		} else
+			printf("\n");
+#endif
+		if ((view_mode != FULL_VIEW) && (ptype == P_MENU)
+		    && (tree == tree2))
+			continue;
+/*
+                if (((menu != &rootmenu) && !(menu->flags & MENU_ROOT))
+		    || (view_mode == FULL_VIEW)
+		    || (view_mode == SPLIT_VIEW))*/
+
+		/* Change paned position if the view is not in 'split mode' */
+		if (view_mode == SINGLE_VIEW || view_mode == FULL_VIEW) {
+			gtk_paned_set_position(GTK_PANED(hpaned), 0);
+		}
+
+		if (((view_mode == SINGLE_VIEW) && (menu->flags & MENU_ROOT))
+		    || (view_mode == FULL_VIEW)
+		    || (view_mode == SPLIT_VIEW)) {
+			indent++;
+			display_tree(child);
+			indent--;
+		}
+	}
+}
+
+/* Display a part of the tree starting at current node (single/split view) */
+static void display_tree_part(void)
+{
+	if (tree2)
+		gtk_tree_store_clear(tree2);
+	if (view_mode == SINGLE_VIEW)
+		display_tree(current);
+	else if (view_mode == SPLIT_VIEW)
+		display_tree(browsed);
+	gtk_tree_view_expand_all(GTK_TREE_VIEW(tree2_w));
+}
+
+/* Display the list in the left frame (split view) */
+static void display_list(void)
+{
+	if (tree1)
+		gtk_tree_store_clear(tree1);
+
+	tree = tree1;
+	display_tree(&rootmenu);
+	gtk_tree_view_expand_all(GTK_TREE_VIEW(tree1_w));
+	tree = tree2;
+}
+
+void fixup_rootmenu(struct menu *menu)
+{
+	struct menu *child;
+	static int menu_cnt = 0;
+
+	menu->flags |= MENU_ROOT;
+	for (child = menu->list; child; child = child->next) {
+		if (child->prompt && child->prompt->type == P_MENU) {
+			menu_cnt++;
+			fixup_rootmenu(child);
+			menu_cnt--;
+		} else if (!menu_cnt)
+			fixup_rootmenu(child);
+	}
+}
+
+
+/* Main */
+int main(int ac, char *av[])
+{
+	const char *name;
+	char *env;
+	gchar *glade_file;
+
+	bindtextdomain(PACKAGE, LOCALEDIR);
+	bind_textdomain_codeset(PACKAGE, "UTF-8");
+	textdomain(PACKAGE);
+
+	/* GTK stuffs */
+	gtk_set_locale();
+	gtk_init(&ac, &av);
+	glade_init();
+
+	//add_pixmap_directory (PACKAGE_DATA_DIR "/" PACKAGE "/pixmaps");
+	//add_pixmap_directory (PACKAGE_SOURCE_DIR "/pixmaps");
+
+	/* Determine GUI path */
+	env = getenv(SRCTREE);
+	if (env)
+		glade_file = g_strconcat(env, "/scripts/kconfig/gconf.glade", NULL);
+	else if (av[0][0] == '/')
+		glade_file = g_strconcat(av[0], ".glade", NULL);
+	else
+		glade_file = g_strconcat(g_get_current_dir(), "/", av[0], ".glade", NULL);
+
+	/* Conf stuffs */
+	if (ac > 1 && av[1][0] == '-') {
+		switch (av[1][1]) {
+		case 'a':
+			//showAll = 1;
+			break;
+		case 'h':
+		case '?':
+			printf("%s <config>\n", av[0]);
+			exit(0);
+		}
+		name = av[2];
+	} else
+		name = av[1];
+
+	conf_parse(name);
+	fixup_rootmenu(&rootmenu);
+	conf_read(NULL);
+
+	/* Load the interface and connect signals */
+	init_main_window(glade_file);
+	init_tree_model();
+	init_left_tree();
+	init_right_tree();
+
+	switch (view_mode) {
+	case SINGLE_VIEW:
+		display_tree_part();
+		break;
+	case SPLIT_VIEW:
+		display_list();
+		break;
+	case FULL_VIEW:
+		display_tree(&rootmenu);
+		break;
+	}
+
+	gtk_main();
+
+	return 0;
+}
+
+static void conf_changed(void)
+{
+	bool changed = conf_get_changed();
+	gtk_widget_set_sensitive(save_btn, changed);
+	gtk_widget_set_sensitive(save_menu_item, changed);
+}
diff --git a/scripts/kconfig/gconf.glade b/scripts/kconfig/gconf.glade
new file mode 100644
index 0000000..aa483cb
--- /dev/null
+++ b/scripts/kconfig/gconf.glade
@@ -0,0 +1,661 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+
+<glade-interface>
+
+<widget class="GtkWindow" id="window1">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">Gtk Kernel Configurator</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="default_width">640</property>
+  <property name="default_height">480</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <signal name="destroy" handler="on_window1_destroy" object="window1"/>
+  <signal name="size_request" handler="on_window1_size_request" object="vpaned1" last_modification_time="Fri, 11 Jan 2002 16:17:11 GMT"/>
+  <signal name="delete_event" handler="on_window1_delete_event" object="window1" last_modification_time="Sun, 09 Mar 2003 19:42:46 GMT"/>
+
+  <child>
+    <widget class="GtkVBox" id="vbox1">
+      <property name="visible">True</property>
+      <property name="homogeneous">False</property>
+      <property name="spacing">0</property>
+
+      <child>
+	<widget class="GtkMenuBar" id="menubar1">
+	  <property name="visible">True</property>
+
+	  <child>
+	    <widget class="GtkMenuItem" id="file1">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">_File</property>
+	      <property name="use_underline">True</property>
+
+	      <child>
+		<widget class="GtkMenu" id="file1_menu">
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="load1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Load a config file</property>
+		      <property name="label" translatable="yes">_Load</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_load1_activate"/>
+		      <accelerator key="L" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image39">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-open</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="save1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Save the config in .config</property>
+		      <property name="label" translatable="yes">_Save</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_save_activate"/>
+		      <accelerator key="S" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image40">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-save</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="save_as1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Save the config in a file</property>
+		      <property name="label" translatable="yes">Save _as</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_save_as1_activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image41">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-save-as</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkSeparatorMenuItem" id="separator1">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="quit1">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_Quit</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_quit1_activate"/>
+		      <accelerator key="Q" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image42">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-quit</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkMenuItem" id="options1">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">_Options</property>
+	      <property name="use_underline">True</property>
+
+	      <child>
+		<widget class="GtkMenu" id="options1_menu">
+
+		  <child>
+		    <widget class="GtkCheckMenuItem" id="show_name1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show name</property>
+		      <property name="label" translatable="yes">Show _name</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <signal name="activate" handler="on_show_name1_activate"/>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkCheckMenuItem" id="show_range1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show range (Y/M/N)</property>
+		      <property name="label" translatable="yes">Show _range</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <signal name="activate" handler="on_show_range1_activate"/>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkCheckMenuItem" id="show_data1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show value of the option</property>
+		      <property name="label" translatable="yes">Show _data</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <signal name="activate" handler="on_show_data1_activate"/>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkSeparatorMenuItem" id="separator2">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkRadioMenuItem" id="set_option_mode1">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show normal options</property>
+		      <property name="label" translatable="yes">Show normal options</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">True</property>
+		      <signal name="activate" handler="on_set_option_mode1_activate"/>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkRadioMenuItem" id="set_option_mode2">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show all options</property>
+		      <property name="label" translatable="yes">Show all _options</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <property name="group">set_option_mode1</property>
+		      <signal name="activate" handler="on_set_option_mode2_activate"/>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkRadioMenuItem" id="set_option_mode3">
+		      <property name="visible">True</property>
+		      <property name="tooltip" translatable="yes">Show all options with prompts</property>
+		      <property name="label" translatable="yes">Show all prompt options</property>
+		      <property name="use_underline">True</property>
+		      <property name="active">False</property>
+		      <property name="group">set_option_mode1</property>
+		      <signal name="activate" handler="on_set_option_mode3_activate"/>
+		    </widget>
+		  </child>
+
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+
+	  <child>
+	    <widget class="GtkMenuItem" id="help1">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">_Help</property>
+	      <property name="use_underline">True</property>
+
+	      <child>
+		<widget class="GtkMenu" id="help1_menu">
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="introduction1">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_Introduction</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_introduction1_activate" last_modification_time="Fri, 15 Nov 2002 20:26:30 GMT"/>
+		      <accelerator key="I" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image43">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-dialog-question</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="about1">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_About</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_about1_activate" last_modification_time="Fri, 15 Nov 2002 20:26:30 GMT"/>
+		      <accelerator key="A" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image44">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-properties</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+
+		  <child>
+		    <widget class="GtkImageMenuItem" id="license1">
+		      <property name="visible">True</property>
+		      <property name="label" translatable="yes">_License</property>
+		      <property name="use_underline">True</property>
+		      <signal name="activate" handler="on_license1_activate" last_modification_time="Fri, 15 Nov 2002 20:26:30 GMT"/>
+
+		      <child internal-child="image">
+			<widget class="GtkImage" id="image45">
+			  <property name="visible">True</property>
+			  <property name="stock">gtk-justify-fill</property>
+			  <property name="icon_size">1</property>
+			  <property name="xalign">0.5</property>
+			  <property name="yalign">0.5</property>
+			  <property name="xpad">0</property>
+			  <property name="ypad">0</property>
+			</widget>
+		      </child>
+		    </widget>
+		  </child>
+		</widget>
+	      </child>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHandleBox" id="handlebox1">
+	  <property name="visible">True</property>
+	  <property name="shadow_type">GTK_SHADOW_OUT</property>
+	  <property name="handle_position">GTK_POS_LEFT</property>
+	  <property name="snap_edge">GTK_POS_TOP</property>
+
+	  <child>
+	    <widget class="GtkToolbar" id="toolbar1">
+	      <property name="visible">True</property>
+	      <property name="orientation">GTK_ORIENTATION_HORIZONTAL</property>
+	      <property name="toolbar_style">GTK_TOOLBAR_BOTH</property>
+	      <property name="tooltips">True</property>
+	      <property name="show_arrow">True</property>
+
+	      <child>
+		<widget class="GtkToolButton" id="button1">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Goes up of one level (single view)</property>
+		  <property name="label" translatable="yes">Back</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-undo</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_back_clicked"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolItem" id="toolitem1">
+		  <property name="visible">True</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+
+		  <child>
+		    <widget class="GtkVSeparator" id="vseparator1">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button2">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Load a config file</property>
+		  <property name="label" translatable="yes">Load</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-open</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_load_clicked"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button3">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Save a config file</property>
+		  <property name="label" translatable="yes">Save</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-save</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_save_activate"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolItem" id="toolitem2">
+		  <property name="visible">True</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+
+		  <child>
+		    <widget class="GtkVSeparator" id="vseparator2">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button4">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Single view</property>
+		  <property name="label" translatable="yes">Single</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-missing-image</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_single_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:39 GMT"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button5">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Split view</property>
+		  <property name="label" translatable="yes">Split</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-missing-image</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_split_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:45 GMT"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button6">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Full view</property>
+		  <property name="label" translatable="yes">Full</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-missing-image</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_full_clicked" last_modification_time="Sun, 12 Jan 2003 14:28:50 GMT"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolItem" id="toolitem3">
+		  <property name="visible">True</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+
+		  <child>
+		    <widget class="GtkVSeparator" id="vseparator3">
+		      <property name="visible">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button7">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Collapse the whole tree in the right frame</property>
+		  <property name="label" translatable="yes">Collapse</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-remove</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_collapse_clicked"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkToolButton" id="button8">
+		  <property name="visible">True</property>
+		  <property name="tooltip" translatable="yes">Expand the whole tree in the right frame</property>
+		  <property name="label" translatable="yes">Expand</property>
+		  <property name="use_underline">True</property>
+		  <property name="stock_id">gtk-add</property>
+		  <property name="visible_horizontal">True</property>
+		  <property name="visible_vertical">True</property>
+		  <property name="is_important">False</property>
+		  <signal name="clicked" handler="on_expand_clicked"/>
+		</widget>
+		<packing>
+		  <property name="expand">False</property>
+		  <property name="homogeneous">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">False</property>
+	  <property name="fill">False</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkHPaned" id="hpaned1">
+	  <property name="width_request">1</property>
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="position">0</property>
+
+	  <child>
+	    <widget class="GtkScrolledWindow" id="scrolledwindow1">
+	      <property name="visible">True</property>
+	      <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	      <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+	      <property name="shadow_type">GTK_SHADOW_IN</property>
+	      <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+	      <child>
+		<widget class="GtkTreeView" id="treeview1">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="headers_visible">True</property>
+		  <property name="rules_hint">False</property>
+		  <property name="reorderable">False</property>
+		  <property name="enable_search">False</property>
+		  <signal name="cursor_changed" handler="on_treeview2_cursor_changed" last_modification_time="Sun, 12 Jan 2003 15:58:22 GMT"/>
+		  <signal name="button_press_event" handler="on_treeview1_button_press_event" last_modification_time="Sun, 12 Jan 2003 16:03:52 GMT"/>
+		  <signal name="key_press_event" handler="on_treeview2_key_press_event" last_modification_time="Sun, 12 Jan 2003 16:11:44 GMT"/>
+		</widget>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="shrink">True</property>
+	      <property name="resize">False</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkVPaned" id="vpaned1">
+	      <property name="visible">True</property>
+	      <property name="can_focus">True</property>
+	      <property name="position">0</property>
+
+	      <child>
+		<widget class="GtkScrolledWindow" id="scrolledwindow2">
+		  <property name="visible">True</property>
+		  <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		  <property name="shadow_type">GTK_SHADOW_IN</property>
+		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		  <child>
+		    <widget class="GtkTreeView" id="treeview2">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="has_focus">True</property>
+		      <property name="headers_visible">True</property>
+		      <property name="rules_hint">False</property>
+		      <property name="reorderable">False</property>
+		      <property name="enable_search">False</property>
+		      <signal name="cursor_changed" handler="on_treeview2_cursor_changed" last_modification_time="Sun, 12 Jan 2003 15:57:55 GMT"/>
+		      <signal name="button_press_event" handler="on_treeview2_button_press_event" last_modification_time="Sun, 12 Jan 2003 15:57:58 GMT"/>
+		      <signal name="key_press_event" handler="on_treeview2_key_press_event" last_modification_time="Sun, 12 Jan 2003 15:58:01 GMT"/>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="shrink">True</property>
+		  <property name="resize">False</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkScrolledWindow" id="scrolledwindow3">
+		  <property name="visible">True</property>
+		  <property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
+		  <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+		  <property name="shadow_type">GTK_SHADOW_IN</property>
+		  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+		  <child>
+		    <widget class="GtkTextView" id="textview3">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="editable">False</property>
+		      <property name="overwrite">False</property>
+		      <property name="accepts_tab">True</property>
+		      <property name="justification">GTK_JUSTIFY_LEFT</property>
+		      <property name="wrap_mode">GTK_WRAP_WORD</property>
+		      <property name="cursor_visible">True</property>
+		      <property name="pixels_above_lines">0</property>
+		      <property name="pixels_below_lines">0</property>
+		      <property name="pixels_inside_wrap">0</property>
+		      <property name="left_margin">0</property>
+		      <property name="right_margin">0</property>
+		      <property name="indent">0</property>
+		      <property name="text" translatable="yes">Sorry, no help available for this option yet.</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="shrink">True</property>
+		  <property name="resize">True</property>
+		</packing>
+	      </child>
+	    </widget>
+	    <packing>
+	      <property name="shrink">True</property>
+	      <property name="resize">True</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="padding">0</property>
+	  <property name="expand">True</property>
+	  <property name="fill">True</property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+</glade-interface>
diff --git a/scripts/kconfig/images.c b/scripts/kconfig/images.c
new file mode 100644
index 0000000..d4f84bd
--- /dev/null
+++ b/scripts/kconfig/images.c
@@ -0,0 +1,326 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+static const char *xpm_load[] = {
+"22 22 5 1",
+". c None",
+"# c #000000",
+"c c #838100",
+"a c #ffff00",
+"b c #ffffff",
+"......................",
+"......................",
+"......................",
+"............####....#.",
+"...........#....##.##.",
+"..................###.",
+".................####.",
+".####...........#####.",
+"#abab##########.......",
+"#babababababab#.......",
+"#ababababababa#.......",
+"#babababababab#.......",
+"#ababab###############",
+"#babab##cccccccccccc##",
+"#abab##cccccccccccc##.",
+"#bab##cccccccccccc##..",
+"#ab##cccccccccccc##...",
+"#b##cccccccccccc##....",
+"###cccccccccccc##.....",
+"##cccccccccccc##......",
+"###############.......",
+"......................"};
+
+static const char *xpm_save[] = {
+"22 22 5 1",
+". c None",
+"# c #000000",
+"a c #838100",
+"b c #c5c2c5",
+"c c #cdb6d5",
+"......................",
+".####################.",
+".#aa#bbbbbbbbbbbb#bb#.",
+".#aa#bbbbbbbbbbbb#bb#.",
+".#aa#bbbbbbbbbcbb####.",
+".#aa#bbbccbbbbbbb#aa#.",
+".#aa#bbbccbbbbbbb#aa#.",
+".#aa#bbbbbbbbbbbb#aa#.",
+".#aa#bbbbbbbbbbbb#aa#.",
+".#aa#bbbbbbbbbbbb#aa#.",
+".#aa#bbbbbbbbbbbb#aa#.",
+".#aaa############aaa#.",
+".#aaaaaaaaaaaaaaaaaa#.",
+".#aaaaaaaaaaaaaaaaaa#.",
+".#aaa#############aa#.",
+".#aaa#########bbb#aa#.",
+".#aaa#########bbb#aa#.",
+".#aaa#########bbb#aa#.",
+".#aaa#########bbb#aa#.",
+".#aaa#########bbb#aa#.",
+"..##################..",
+"......................"};
+
+static const char *xpm_back[] = {
+"22 22 3 1",
+". c None",
+"# c #000083",
+"a c #838183",
+"......................",
+"......................",
+"......................",
+"......................",
+"......................",
+"...........######a....",
+"..#......##########...",
+"..##...####......##a..",
+"..###.###.........##..",
+"..######..........##..",
+"..#####...........##..",
+"..######..........##..",
+"..#######.........##..",
+"..########.......##a..",
+"...............a###...",
+"...............###....",
+"......................",
+"......................",
+"......................",
+"......................",
+"......................",
+"......................"};
+
+static const char *xpm_tree_view[] = {
+"22 22 2 1",
+". c None",
+"# c #000000",
+"......................",
+"......................",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......########........",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......########........",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......#...............",
+"......########........",
+"......................",
+"......................"};
+
+static const char *xpm_single_view[] = {
+"22 22 2 1",
+". c None",
+"# c #000000",
+"......................",
+"......................",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"..........#...........",
+"......................",
+"......................"};
+
+static const char *xpm_split_view[] = {
+"22 22 2 1",
+". c None",
+"# c #000000",
+"......................",
+"......................",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......#......#........",
+"......................",
+"......................"};
+
+static const char *xpm_symbol_no[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .......... ",
+"            "};
+
+static const char *xpm_symbol_mod[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .        . ",
+" .        . ",
+" .   ..   . ",
+" .  ....  . ",
+" .  ....  . ",
+" .   ..   . ",
+" .        . ",
+" .        . ",
+" .......... ",
+"            "};
+
+static const char *xpm_symbol_yes[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .        . ",
+" .        . ",
+" .      . . ",
+" .     .. . ",
+" . .  ..  . ",
+" . ....   . ",
+" .  ..    . ",
+" .        . ",
+" .......... ",
+"            "};
+
+static const char *xpm_choice_no[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+"    ....    ",
+"  ..    ..  ",
+"  .      .  ",
+" .        . ",
+" .        . ",
+" .        . ",
+" .        . ",
+"  .      .  ",
+"  ..    ..  ",
+"    ....    ",
+"            "};
+
+static const char *xpm_choice_yes[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+"    ....    ",
+"  ..    ..  ",
+"  .      .  ",
+" .   ..   . ",
+" .  ....  . ",
+" .  ....  . ",
+" .   ..   . ",
+"  .      .  ",
+"  ..    ..  ",
+"    ....    ",
+"            "};
+
+static const char *xpm_menu[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .        . ",
+" . ..     . ",
+" . ....   . ",
+" . ...... . ",
+" . ...... . ",
+" . ....   . ",
+" . ..     . ",
+" .        . ",
+" .......... ",
+"            "};
+
+static const char *xpm_menu_inv[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .......... ",
+" ..  ...... ",
+" ..    .... ",
+" ..      .. ",
+" ..      .. ",
+" ..    .... ",
+" ..  ...... ",
+" .......... ",
+" .......... ",
+"            "};
+
+static const char *xpm_menuback[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+" .......... ",
+" .        . ",
+" .     .. . ",
+" .   .... . ",
+" . ...... . ",
+" . ...... . ",
+" .   .... . ",
+" .     .. . ",
+" .        . ",
+" .......... ",
+"            "};
+
+static const char *xpm_void[] = {
+"12 12 2 1",
+"  c white",
+". c black",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            ",
+"            "};
diff --git a/scripts/kconfig/kxgettext.c b/scripts/kconfig/kxgettext.c
new file mode 100644
index 0000000..2858738
--- /dev/null
+++ b/scripts/kconfig/kxgettext.c
@@ -0,0 +1,235 @@
+/*
+ * Arnaldo Carvalho de Melo <acme@conectiva.com.br>, 2005
+ *
+ * Released under the terms of the GNU GPL v2.0
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "lkc.h"
+
+static char *escape(const char* text, char *bf, int len)
+{
+	char *bfp = bf;
+	int multiline = strchr(text, '\n') != NULL;
+	int eol = 0;
+	int textlen = strlen(text);
+
+	if ((textlen > 0) && (text[textlen-1] == '\n'))
+		eol = 1;
+
+	*bfp++ = '"';
+	--len;
+
+	if (multiline) {
+		*bfp++ = '"';
+		*bfp++ = '\n';
+		*bfp++ = '"';
+		len -= 3;
+	}
+
+	while (*text != '\0' && len > 1) {
+		if (*text == '"')
+			*bfp++ = '\\';
+		else if (*text == '\n') {
+			*bfp++ = '\\';
+			*bfp++ = 'n';
+			*bfp++ = '"';
+			*bfp++ = '\n';
+			*bfp++ = '"';
+			len -= 5;
+			++text;
+			goto next;
+		}
+		else if (*text == '\\') {
+			*bfp++ = '\\';
+			len--;
+		}
+		*bfp++ = *text++;
+next:
+		--len;
+	}
+
+	if (multiline && eol)
+		bfp -= 3;
+
+	*bfp++ = '"';
+	*bfp = '\0';
+
+	return bf;
+}
+
+struct file_line {
+	struct file_line *next;
+	const char *file;
+	int lineno;
+};
+
+static struct file_line *file_line__new(const char *file, int lineno)
+{
+	struct file_line *self = malloc(sizeof(*self));
+
+	if (self == NULL)
+		goto out;
+
+	self->file   = file;
+	self->lineno = lineno;
+	self->next   = NULL;
+out:
+	return self;
+}
+
+struct message {
+	const char	 *msg;
+	const char	 *option;
+	struct message	 *next;
+	struct file_line *files;
+};
+
+static struct message *message__list;
+
+static struct message *message__new(const char *msg, char *option,
+				    const char *file, int lineno)
+{
+	struct message *self = malloc(sizeof(*self));
+
+	if (self == NULL)
+		goto out;
+
+	self->files = file_line__new(file, lineno);
+	if (self->files == NULL)
+		goto out_fail;
+
+	self->msg = strdup(msg);
+	if (self->msg == NULL)
+		goto out_fail_msg;
+
+	self->option = option;
+	self->next = NULL;
+out:
+	return self;
+out_fail_msg:
+	free(self->files);
+out_fail:
+	free(self);
+	self = NULL;
+	goto out;
+}
+
+static struct message *mesage__find(const char *msg)
+{
+	struct message *m = message__list;
+
+	while (m != NULL) {
+		if (strcmp(m->msg, msg) == 0)
+			break;
+		m = m->next;
+	}
+
+	return m;
+}
+
+static int message__add_file_line(struct message *self, const char *file,
+				  int lineno)
+{
+	int rc = -1;
+	struct file_line *fl = file_line__new(file, lineno);
+
+	if (fl == NULL)
+		goto out;
+
+	fl->next    = self->files;
+	self->files = fl;
+	rc = 0;
+out:
+	return rc;
+}
+
+static int message__add(const char *msg, char *option, const char *file,
+			int lineno)
+{
+	int rc = 0;
+	char bf[16384];
+	char *escaped = escape(msg, bf, sizeof(bf));
+	struct message *m = mesage__find(escaped);
+
+	if (m != NULL)
+		rc = message__add_file_line(m, file, lineno);
+	else {
+		m = message__new(escaped, option, file, lineno);
+
+		if (m != NULL) {
+			m->next	      = message__list;
+			message__list = m;
+		} else
+			rc = -1;
+	}
+	return rc;
+}
+
+static void menu_build_message_list(struct menu *menu)
+{
+	struct menu *child;
+
+	message__add(menu_get_prompt(menu), NULL,
+		     menu->file == NULL ? "Root Menu" : menu->file->name,
+		     menu->lineno);
+
+	if (menu->sym != NULL && menu_has_help(menu))
+		message__add(menu_get_help(menu), menu->sym->name,
+			     menu->file == NULL ? "Root Menu" : menu->file->name,
+			     menu->lineno);
+
+	for (child = menu->list; child != NULL; child = child->next)
+		if (child->prompt != NULL)
+			menu_build_message_list(child);
+}
+
+static void message__print_file_lineno(struct message *self)
+{
+	struct file_line *fl = self->files;
+
+	putchar('\n');
+	if (self->option != NULL)
+		printf("# %s:00000\n", self->option);
+
+	printf("#: %s:%d", fl->file, fl->lineno);
+	fl = fl->next;
+
+	while (fl != NULL) {
+		printf(", %s:%d", fl->file, fl->lineno);
+		fl = fl->next;
+	}
+
+	putchar('\n');
+}
+
+static void message__print_gettext_msgid_msgstr(struct message *self)
+{
+	message__print_file_lineno(self);
+
+	printf("msgid %s\n"
+	       "msgstr \"\"\n", self->msg);
+}
+
+static void menu__xgettext(void)
+{
+	struct message *m = message__list;
+
+	while (m != NULL) {
+		/* skip empty lines ("") */
+		if (strlen(m->msg) > sizeof("\"\""))
+			message__print_gettext_msgid_msgstr(m);
+		m = m->next;
+	}
+}
+
+int main(int ac, char **av)
+{
+	conf_parse(av[1]);
+
+	menu_build_message_list(menu_get_root_menu(NULL));
+	menu__xgettext();
+	return 0;
+}
diff --git a/scripts/kconfig/list.h b/scripts/kconfig/list.h
new file mode 100644
index 0000000..685d80e
--- /dev/null
+++ b/scripts/kconfig/list.h
@@ -0,0 +1,131 @@
+#ifndef LIST_H
+#define LIST_H
+
+/*
+ * Copied from include/linux/...
+ */
+
+#undef offsetof
+#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
+
+/**
+ * container_of - cast a member of a structure out to the containing structure
+ * @ptr:        the pointer to the member.
+ * @type:       the type of the container struct this is embedded in.
+ * @member:     the name of the member within the struct.
+ *
+ */
+#define container_of(ptr, type, member) ({                      \
+	const typeof( ((type *)0)->member ) *__mptr = (ptr);    \
+	(type *)( (char *)__mptr - offsetof(type,member) );})
+
+
+struct list_head {
+	struct list_head *next, *prev;
+};
+
+
+#define LIST_HEAD_INIT(name) { &(name), &(name) }
+
+#define LIST_HEAD(name) \
+	struct list_head name = LIST_HEAD_INIT(name)
+
+/**
+ * list_entry - get the struct for this entry
+ * @ptr:	the &struct list_head pointer.
+ * @type:	the type of the struct this is embedded in.
+ * @member:	the name of the list_struct within the struct.
+ */
+#define list_entry(ptr, type, member) \
+	container_of(ptr, type, member)
+
+/**
+ * list_for_each_entry	-	iterate over list of given type
+ * @pos:	the type * to use as a loop cursor.
+ * @head:	the head for your list.
+ * @member:	the name of the list_struct within the struct.
+ */
+#define list_for_each_entry(pos, head, member)				\
+	for (pos = list_entry((head)->next, typeof(*pos), member);	\
+	     &pos->member != (head); 	\
+	     pos = list_entry(pos->member.next, typeof(*pos), member))
+
+/**
+ * list_for_each_entry_safe - iterate over list of given type safe against removal of list entry
+ * @pos:	the type * to use as a loop cursor.
+ * @n:		another type * to use as temporary storage
+ * @head:	the head for your list.
+ * @member:	the name of the list_struct within the struct.
+ */
+#define list_for_each_entry_safe(pos, n, head, member)			\
+	for (pos = list_entry((head)->next, typeof(*pos), member),	\
+		n = list_entry(pos->member.next, typeof(*pos), member);	\
+	     &pos->member != (head);					\
+	     pos = n, n = list_entry(n->member.next, typeof(*n), member))
+
+/**
+ * list_empty - tests whether a list is empty
+ * @head: the list to test.
+ */
+static inline int list_empty(const struct list_head *head)
+{
+	return head->next == head;
+}
+
+/*
+ * Insert a new entry between two known consecutive entries.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ */
+static inline void __list_add(struct list_head *_new,
+			      struct list_head *prev,
+			      struct list_head *next)
+{
+	next->prev = _new;
+	_new->next = next;
+	_new->prev = prev;
+	prev->next = _new;
+}
+
+/**
+ * list_add_tail - add a new entry
+ * @new: new entry to be added
+ * @head: list head to add it before
+ *
+ * Insert a new entry before the specified head.
+ * This is useful for implementing queues.
+ */
+static inline void list_add_tail(struct list_head *_new, struct list_head *head)
+{
+	__list_add(_new, head->prev, head);
+}
+
+/*
+ * Delete a list entry by making the prev/next entries
+ * point to each other.
+ *
+ * This is only for internal list manipulation where we know
+ * the prev/next entries already!
+ */
+static inline void __list_del(struct list_head *prev, struct list_head *next)
+{
+	next->prev = prev;
+	prev->next = next;
+}
+
+#define LIST_POISON1  ((void *) 0x00100100)
+#define LIST_POISON2  ((void *) 0x00200200)
+/**
+ * list_del - deletes entry from list.
+ * @entry: the element to delete from the list.
+ * Note: list_empty() on entry does not return true after this, the entry is
+ * in an undefined state.
+ */
+static inline void list_del(struct list_head *entry)
+{
+	__list_del(entry->prev, entry->next);
+	entry->next = (struct list_head*)LIST_POISON1;
+	entry->prev = (struct list_head*)LIST_POISON2;
+}
+#endif
diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h
new file mode 100644
index 0000000..d5daa7a
--- /dev/null
+++ b/scripts/kconfig/lkc.h
@@ -0,0 +1,200 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#ifndef LKC_H
+#define LKC_H
+
+#include "expr.h"
+
+#ifndef KBUILD_NO_NLS
+# include <libintl.h>
+#else
+static inline const char *gettext(const char *txt) { return txt; }
+static inline void textdomain(const char *domainname) {}
+static inline void bindtextdomain(const char *name, const char *dir) {}
+static inline char *bind_textdomain_codeset(const char *dn, char *c) { return c; }
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define P(name,type,arg)	extern type name arg
+#include "lkc_proto.h"
+#undef P
+
+#define SRCTREE "srctree"
+
+#ifndef PACKAGE
+#define PACKAGE "linux"
+#endif
+
+#define LOCALEDIR "/usr/share/locale"
+
+#define _(text) gettext(text)
+#define N_(text) (text)
+
+#ifndef CONFIG_
+#define CONFIG_ "CONFIG_"
+#endif
+static inline const char *CONFIG_prefix(void)
+{
+	return getenv( "CONFIG_" ) ?: CONFIG_;
+}
+#undef CONFIG_
+#define CONFIG_ CONFIG_prefix()
+
+#define TF_COMMAND	0x0001
+#define TF_PARAM	0x0002
+#define TF_OPTION	0x0004
+
+enum conf_def_mode {
+	def_default,
+	def_yes,
+	def_mod,
+	def_no,
+	def_random
+};
+
+#define T_OPT_MODULES		1
+#define T_OPT_DEFCONFIG_LIST	2
+#define T_OPT_ENV		3
+#define T_OPT_ALLNOCONFIG_Y	4
+
+struct kconf_id {
+	int name;
+	int token;
+	unsigned int flags;
+	enum symbol_type stype;
+};
+
+extern int zconfdebug;
+
+int zconfparse(void);
+void zconfdump(FILE *out);
+void zconf_starthelp(void);
+FILE *zconf_fopen(const char *name);
+void zconf_initscan(const char *name);
+void zconf_nextfile(const char *name);
+int zconf_lineno(void);
+const char *zconf_curname(void);
+
+/* confdata.c */
+const char *conf_get_configname(void);
+const char *conf_get_autoconfig_name(void);
+char *conf_get_default_confname(void);
+void sym_set_change_count(int count);
+void sym_add_change_count(int count);
+bool conf_set_all_new_symbols(enum conf_def_mode mode);
+void set_all_choice_values(struct symbol *csym);
+
+struct conf_printer {
+	void (*print_symbol)(FILE *, struct symbol *, const char *, void *);
+	void (*print_comment)(FILE *, const char *, void *);
+};
+
+/* confdata.c and expr.c */
+static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out)
+{
+	assert(len != 0);
+
+	if (fwrite(str, len, count, out) != count)
+		fprintf(stderr, "Error in writing or end of file.\n");
+}
+
+/* menu.c */
+void _menu_init(void);
+void menu_warn(struct menu *menu, const char *fmt, ...);
+struct menu *menu_add_menu(void);
+void menu_end_menu(void);
+void menu_add_entry(struct symbol *sym);
+void menu_end_entry(void);
+void menu_add_dep(struct expr *dep);
+void menu_add_visibility(struct expr *dep);
+struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep);
+struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep);
+void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep);
+void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep);
+void menu_add_option(int token, char *arg);
+void menu_finalize(struct menu *parent);
+void menu_set_type(int type);
+
+/* util.c */
+struct file *file_lookup(const char *name);
+int file_write_dep(const char *name);
+void *xmalloc(size_t size);
+void *xcalloc(size_t nmemb, size_t size);
+
+struct gstr {
+	size_t len;
+	char  *s;
+	/*
+	* when max_width is not zero long lines in string s (if any) get
+	* wrapped not to exceed the max_width value
+	*/
+	int max_width;
+};
+struct gstr str_new(void);
+struct gstr str_assign(const char *s);
+void str_free(struct gstr *gs);
+void str_append(struct gstr *gs, const char *s);
+void str_printf(struct gstr *gs, const char *fmt, ...);
+const char *str_get(struct gstr *gs);
+
+/* symbol.c */
+extern struct expr *sym_env_list;
+
+void sym_init(void);
+void sym_clear_all_valid(void);
+void sym_set_all_changed(void);
+void sym_set_changed(struct symbol *sym);
+struct symbol *sym_choice_default(struct symbol *sym);
+const char *sym_get_string_default(struct symbol *sym);
+struct symbol *sym_check_deps(struct symbol *sym);
+struct property *prop_alloc(enum prop_type type, struct symbol *sym);
+struct symbol *prop_get_symbol(struct property *prop);
+struct property *sym_get_env_prop(struct symbol *sym);
+
+static inline tristate sym_get_tristate_value(struct symbol *sym)
+{
+	return sym->curr.tri;
+}
+
+
+static inline struct symbol *sym_get_choice_value(struct symbol *sym)
+{
+	return (struct symbol *)sym->curr.val;
+}
+
+static inline bool sym_set_choice_value(struct symbol *ch, struct symbol *chval)
+{
+	return sym_set_tristate_value(chval, yes);
+}
+
+static inline bool sym_is_choice(struct symbol *sym)
+{
+	return sym->flags & SYMBOL_CHOICE ? true : false;
+}
+
+static inline bool sym_is_choice_value(struct symbol *sym)
+{
+	return sym->flags & SYMBOL_CHOICEVAL ? true : false;
+}
+
+static inline bool sym_is_optional(struct symbol *sym)
+{
+	return sym->flags & SYMBOL_OPTIONAL ? true : false;
+}
+
+static inline bool sym_has_value(struct symbol *sym)
+{
+	return sym->flags & SYMBOL_DEF_USER ? true : false;
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* LKC_H */
diff --git a/scripts/kconfig/lkc_proto.h b/scripts/kconfig/lkc_proto.h
new file mode 100644
index 0000000..ecdb965
--- /dev/null
+++ b/scripts/kconfig/lkc_proto.h
@@ -0,0 +1,57 @@
+#include <stdarg.h>
+
+/* confdata.c */
+P(conf_parse,void,(const char *name));
+P(conf_read,int,(const char *name));
+P(conf_read_simple,int,(const char *name, int));
+P(conf_write_defconfig,int,(const char *name));
+P(conf_write,int,(const char *name));
+P(conf_write_autoconf,int,(void));
+P(conf_get_changed,bool,(void));
+P(conf_set_changed_callback, void,(void (*fn)(void)));
+P(conf_set_message_callback, void,(void (*fn)(const char *fmt, va_list ap)));
+
+/* menu.c */
+P(rootmenu,struct menu,);
+
+P(menu_is_empty, bool, (struct menu *menu));
+P(menu_is_visible, bool, (struct menu *menu));
+P(menu_has_prompt, bool, (struct menu *menu));
+P(menu_get_prompt,const char *,(struct menu *menu));
+P(menu_get_root_menu,struct menu *,(struct menu *menu));
+P(menu_get_parent_menu,struct menu *,(struct menu *menu));
+P(menu_has_help,bool,(struct menu *menu));
+P(menu_get_help,const char *,(struct menu *menu));
+P(get_symbol_str, void, (struct gstr *r, struct symbol *sym, struct list_head
+			 *head));
+P(get_relations_str, struct gstr, (struct symbol **sym_arr, struct list_head
+				   *head));
+P(menu_get_ext_help,void,(struct menu *menu, struct gstr *help));
+
+/* symbol.c */
+P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
+
+P(sym_lookup,struct symbol *,(const char *name, int flags));
+P(sym_find,struct symbol *,(const char *name));
+P(sym_expand_string_value,const char *,(const char *in));
+P(sym_escape_string_value, const char *,(const char *in));
+P(sym_re_search,struct symbol **,(const char *pattern));
+P(sym_type_name,const char *,(enum symbol_type type));
+P(sym_calc_value,void,(struct symbol *sym));
+P(sym_get_type,enum symbol_type,(struct symbol *sym));
+P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri));
+P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri));
+P(sym_toggle_tristate_value,tristate,(struct symbol *sym));
+P(sym_string_valid,bool,(struct symbol *sym, const char *newval));
+P(sym_string_within_range,bool,(struct symbol *sym, const char *str));
+P(sym_set_string_value,bool,(struct symbol *sym, const char *newval));
+P(sym_is_changable,bool,(struct symbol *sym));
+P(sym_get_choice_prop,struct property *,(struct symbol *sym));
+P(sym_get_default_prop,struct property *,(struct symbol *sym));
+P(sym_get_string_value,const char *,(struct symbol *sym));
+
+P(prop_get_type_name,const char *,(enum prop_type type));
+
+/* expr.c */
+P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2));
+P(expr_print,void,(struct expr *e, void (*fn)(void *, struct symbol *, const char *), void *data, int prevtoken));
diff --git a/scripts/kconfig/lxdialog/.gitignore b/scripts/kconfig/lxdialog/.gitignore
new file mode 100644
index 0000000..90b08ff
--- /dev/null
+++ b/scripts/kconfig/lxdialog/.gitignore
@@ -0,0 +1,4 @@
+#
+# Generated files
+#
+lxdialog
diff --git a/scripts/kconfig/lxdialog/BIG.FAT.WARNING b/scripts/kconfig/lxdialog/BIG.FAT.WARNING
new file mode 100644
index 0000000..a8999d8
--- /dev/null
+++ b/scripts/kconfig/lxdialog/BIG.FAT.WARNING
@@ -0,0 +1,4 @@
+This is NOT the official version of dialog.  This version has been
+significantly modified from the original.  It is for use by the Linux
+kernel configuration script.  Please do not bother Savio Lam with 
+questions about this program.
diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh
new file mode 100644
index 0000000..9d2a4c5
--- /dev/null
+++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
@@ -0,0 +1,87 @@
+#!/bin/sh
+# Check ncurses compatibility
+
+# What library to link
+ldflags()
+{
+	pkg-config --libs ncursesw 2>/dev/null && exit
+	pkg-config --libs ncurses 2>/dev/null && exit
+	for ext in so a dll.a dylib ; do
+		for lib in ncursesw ncurses curses ; do
+			$cc -print-file-name=lib${lib}.${ext} | grep -q /
+			if [ $? -eq 0 ]; then
+				echo "-l${lib}"
+				exit
+			fi
+		done
+	done
+	exit 1
+}
+
+# Where is ncurses.h?
+ccflags()
+{
+	if [ -f /usr/include/ncursesw/curses.h ]; then
+		echo '-I/usr/include/ncursesw -DCURSES_LOC="<curses.h>"'
+		echo ' -DNCURSES_WIDECHAR=1'
+	elif [ -f /usr/include/ncurses/ncurses.h ]; then
+		echo '-I/usr/include/ncurses -DCURSES_LOC="<ncurses.h>"'
+	elif [ -f /usr/include/ncurses/curses.h ]; then
+		echo '-I/usr/include/ncurses -DCURSES_LOC="<curses.h>"'
+	elif [ -f /usr/include/ncurses.h ]; then
+		echo '-DCURSES_LOC="<ncurses.h>"'
+	else
+		echo '-DCURSES_LOC="<curses.h>"'
+	fi
+}
+
+# Temp file, try to clean up after us
+tmp=.lxdialog.tmp
+trap "rm -f $tmp" 0 1 2 3 15
+
+# Check if we can link to ncurses
+check() {
+        $cc -x c - -o $tmp 2>/dev/null <<'EOF'
+#include CURSES_LOC
+main() {}
+EOF
+	if [ $? != 0 ]; then
+	    echo " *** Unable to find the ncurses libraries or the"       1>&2
+	    echo " *** required header files."                            1>&2
+	    echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2
+	    echo " *** "                                                  1>&2
+	    echo " *** Install ncurses (ncurses-devel) and try again."    1>&2
+	    echo " *** "                                                  1>&2
+	    exit 1
+	fi
+}
+
+usage() {
+	printf "Usage: $0 [-check compiler options|-ccflags|-ldflags compiler options]\n"
+}
+
+if [ $# -eq 0 ]; then
+	usage
+	exit 1
+fi
+
+cc=""
+case "$1" in
+	"-check")
+		shift
+		cc="$@"
+		check
+		;;
+	"-ccflags")
+		ccflags
+		;;
+	"-ldflags")
+		shift
+		cc="$@"
+		ldflags
+		;;
+	"*")
+		usage
+		exit 1
+		;;
+esac
diff --git a/scripts/kconfig/lxdialog/checklist.c b/scripts/kconfig/lxdialog/checklist.c
new file mode 100644
index 0000000..3b15c08
--- /dev/null
+++ b/scripts/kconfig/lxdialog/checklist.c
@@ -0,0 +1,332 @@
+/*
+ *  checklist.c -- implements the checklist box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836 at cs.cuhk.hk)
+ *     Stuart Herbert - S.Herbert at sheffield.ac.uk: radiolist extension
+ *     Alessandro Rubini - rubini at ipvvis.unipv.it: merged the two
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcap at cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "dialog.h"
+
+static int list_width, check_x, item_x;
+
+/*
+ * Print list item
+ */
+static void print_item(WINDOW * win, int choice, int selected)
+{
+	int i;
+	char *list_item = malloc(list_width + 1);
+
+	strncpy(list_item, item_str(), list_width - item_x);
+	list_item[list_width - item_x] = '\0';
+
+	/* Clear 'residue' of last item */
+	wattrset(win, dlg.menubox.atr);
+	wmove(win, choice, 0);
+	for (i = 0; i < list_width; i++)
+		waddch(win, ' ');
+
+	wmove(win, choice, check_x);
+	wattrset(win, selected ? dlg.check_selected.atr
+		 : dlg.check.atr);
+	if (!item_is_tag(':'))
+		wprintw(win, "(%c)", item_is_tag('X') ? 'X' : ' ');
+
+	wattrset(win, selected ? dlg.tag_selected.atr : dlg.tag.atr);
+	mvwaddch(win, choice, item_x, list_item[0]);
+	wattrset(win, selected ? dlg.item_selected.atr : dlg.item.atr);
+	waddstr(win, list_item + 1);
+	if (selected) {
+		wmove(win, choice, check_x + 1);
+		wrefresh(win);
+	}
+	free(list_item);
+}
+
+/*
+ * Print the scroll indicators.
+ */
+static void print_arrows(WINDOW * win, int choice, int item_no, int scroll,
+	     int y, int x, int height)
+{
+	wmove(win, y, x);
+
+	if (scroll > 0) {
+		wattrset(win, dlg.uarrow.atr);
+		waddch(win, ACS_UARROW);
+		waddstr(win, "(-)");
+	} else {
+		wattrset(win, dlg.menubox.atr);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+	}
+
+	y = y + height + 1;
+	wmove(win, y, x);
+
+	if ((height < item_no) && (scroll + choice < item_no - 1)) {
+		wattrset(win, dlg.darrow.atr);
+		waddch(win, ACS_DARROW);
+		waddstr(win, "(+)");
+	} else {
+		wattrset(win, dlg.menubox_border.atr);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+	}
+}
+
+/*
+ *  Display the termination buttons
+ */
+static void print_buttons(WINDOW * dialog, int height, int width, int selected)
+{
+	int x = width / 2 - 11;
+	int y = height - 2;
+
+	print_button(dialog, gettext("Select"), y, x, selected == 0);
+	print_button(dialog, gettext(" Help "), y, x + 14, selected == 1);
+
+	wmove(dialog, y, x + 1 + 14 * selected);
+	wrefresh(dialog);
+}
+
+/*
+ * Display a dialog box with a list of options that can be turned on or off
+ * in the style of radiolist (only one option turned on@a time).
+ */
+int dialog_checklist(const char *title, const char *prompt, int height,
+		     int width, int list_height)
+{
+	int i, x, y, box_x, box_y;
+	int key = 0, button = 0, choice = 0, scroll = 0, max_choice;
+	WINDOW *dialog, *list;
+
+	/* which item to highlight */
+	item_foreach() {
+		if (item_is_tag('X'))
+			choice = item_n();
+		if (item_is_selected()) {
+			choice = item_n();
+			break;
+		}
+	}
+
+do_resize:
+	if (getmaxy(stdscr) < (height + CHECKLIST_HEIGTH_MIN))
+		return -ERRDISPLAYTOOSMALL;
+	if (getmaxx(stdscr) < (width + CHECKLIST_WIDTH_MIN))
+		return -ERRDISPLAYTOOSMALL;
+
+	max_choice = MIN(list_height, item_count());
+
+	/* center dialog box on screen */
+	x = (getmaxx(stdscr) - width) / 2;
+	y = (getmaxy(stdscr) - height) / 2;
+
+	draw_shadow(stdscr, y, x, height, width);
+
+	dialog = newwin(height, width, y, x);
+	keypad(dialog, TRUE);
+
+	draw_box(dialog, 0, 0, height, width,
+		 dlg.dialog.atr, dlg.border.atr);
+	wattrset(dialog, dlg.border.atr);
+	mvwaddch(dialog, height - 3, 0, ACS_LTEE);
+	for (i = 0; i < width - 2; i++)
+		waddch(dialog, ACS_HLINE);
+	wattrset(dialog, dlg.dialog.atr);
+	waddch(dialog, ACS_RTEE);
+
+	print_title(dialog, title, width);
+
+	wattrset(dialog, dlg.dialog.atr);
+	print_autowrap(dialog, prompt, width - 2, 1, 3);
+
+	list_width = width - 6;
+	box_y = height - list_height - 5;
+	box_x = (width - list_width) / 2 - 1;
+
+	/* create new window for the list */
+	list = subwin(dialog, list_height, list_width, y + box_y + 1,
+	              x + box_x + 1);
+
+	keypad(list, TRUE);
+
+	/* draw a box around the list items */
+	draw_box(dialog, box_y, box_x, list_height + 2, list_width + 2,
+	         dlg.menubox_border.atr, dlg.menubox.atr);
+
+	/* Find length of longest item in order to center checklist */
+	check_x = 0;
+	item_foreach()
+		check_x = MAX(check_x, strlen(item_str()) + 4);
+	check_x = MIN(check_x, list_width);
+
+	check_x = (list_width - check_x) / 2;
+	item_x = check_x + 4;
+
+	if (choice >= list_height) {
+		scroll = choice - list_height + 1;
+		choice -= scroll;
+	}
+
+	/* Print the list */
+	for (i = 0; i < max_choice; i++) {
+		item_set(scroll + i);
+		print_item(list, i, i == choice);
+	}
+
+	print_arrows(dialog, choice, item_count(), scroll,
+		     box_y, box_x + check_x + 5, list_height);
+
+	print_buttons(dialog, height, width, 0);
+
+	wnoutrefresh(dialog);
+	wnoutrefresh(list);
+	doupdate();
+
+	while (key != KEY_ESC) {
+		key = wgetch(dialog);
+
+		for (i = 0; i < max_choice; i++) {
+			item_set(i + scroll);
+			if (toupper(key) == toupper(item_str()[0]))
+				break;
+		}
+
+		if (i < max_choice || key == KEY_UP || key == KEY_DOWN ||
+		    key == '+' || key == '-') {
+			if (key == KEY_UP || key == '-') {
+				if (!choice) {
+					if (!scroll)
+						continue;
+					/* Scroll list down */
+					if (list_height > 1) {
+						/* De-highlight current first item */
+						item_set(scroll);
+						print_item(list, 0, FALSE);
+						scrollok(list, TRUE);
+						wscrl(list, -1);
+						scrollok(list, FALSE);
+					}
+					scroll--;
+					item_set(scroll);
+					print_item(list, 0, TRUE);
+					print_arrows(dialog, choice, item_count(),
+						     scroll, box_y, box_x + check_x + 5, list_height);
+
+					wnoutrefresh(dialog);
+					wrefresh(list);
+
+					continue;	/* wait for another key press */
+				} else
+					i = choice - 1;
+			} else if (key == KEY_DOWN || key == '+') {
+				if (choice == max_choice - 1) {
+					if (scroll + choice >= item_count() - 1)
+						continue;
+					/* Scroll list up */
+					if (list_height > 1) {
+						/* De-highlight current last item before scrolling up */
+						item_set(scroll + max_choice - 1);
+						print_item(list,
+							    max_choice - 1,
+							    FALSE);
+						scrollok(list, TRUE);
+						wscrl(list, 1);
+						scrollok(list, FALSE);
+					}
+					scroll++;
+					item_set(scroll + max_choice - 1);
+					print_item(list, max_choice - 1, TRUE);
+
+					print_arrows(dialog, choice, item_count(),
+						     scroll, box_y, box_x + check_x + 5, list_height);
+
+					wnoutrefresh(dialog);
+					wrefresh(list);
+
+					continue;	/* wait for another key press */
+				} else
+					i = choice + 1;
+			}
+			if (i != choice) {
+				/* De-highlight current item */
+				item_set(scroll + choice);
+				print_item(list, choice, FALSE);
+				/* Highlight new item */
+				choice = i;
+				item_set(scroll + choice);
+				print_item(list, choice, TRUE);
+				wnoutrefresh(dialog);
+				wrefresh(list);
+			}
+			continue;	/* wait for another key press */
+		}
+		switch (key) {
+		case 'H':
+		case 'h':
+		case '?':
+			button = 1;
+			/* fall-through */
+		case 'S':
+		case 's':
+		case ' ':
+		case '\n':
+			item_foreach()
+				item_set_selected(0);
+			item_set(scroll + choice);
+			item_set_selected(1);
+			delwin(list);
+			delwin(dialog);
+			return button;
+		case TAB:
+		case KEY_LEFT:
+		case KEY_RIGHT:
+			button = ((key == KEY_LEFT ? --button : ++button) < 0)
+			    ? 1 : (button > 1 ? 0 : button);
+
+			print_buttons(dialog, height, width, button);
+			wrefresh(dialog);
+			break;
+		case 'X':
+		case 'x':
+			key = KEY_ESC;
+			break;
+		case KEY_ESC:
+			key = on_key_esc(dialog);
+			break;
+		case KEY_RESIZE:
+			delwin(list);
+			delwin(dialog);
+			on_key_resize();
+			goto do_resize;
+		}
+
+		/* Now, update everything... */
+		doupdate();
+	}
+	delwin(list);
+	delwin(dialog);
+	return key;		/* ESC pressed */
+}
diff --git a/scripts/kconfig/lxdialog/dialog.h b/scripts/kconfig/lxdialog/dialog.h
new file mode 100644
index 0000000..b4343d3
--- /dev/null
+++ b/scripts/kconfig/lxdialog/dialog.h
@@ -0,0 +1,257 @@
+/*
+ *  dialog.h -- common declarations for all dialog modules
+ *
+ *  AUTHOR: Savio Lam (lam836 at cs.cuhk.hk)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <sys/types.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+#ifndef KBUILD_NO_NLS
+# include <libintl.h>
+#else
+# define gettext(Msgid) ((const char *) (Msgid))
+#endif
+
+#ifdef __sun__
+#define CURS_MACROS
+#endif
+#include CURSES_LOC
+
+/*
+ * Colors in ncurses 1.9.9e do not work properly since foreground and
+ * background colors are OR'd rather than separately masked.  This version
+ * of dialog was hacked to work with ncurses 1.9.9e, making it incompatible
+ * with standard curses.  The simplest fix (to make this work with standard
+ * curses) uses the wbkgdset() function, not used in the original hack.
+ * Turn it off if we're building with 1.9.9e, since it just confuses things.
+ */
+#if defined(NCURSES_VERSION) && defined(_NEED_WRAP) && !defined(GCC_PRINTFLIKE)
+#define OLD_NCURSES 1
+#undef  wbkgdset
+#define wbkgdset(w,p)		/*nothing */
+#else
+#define OLD_NCURSES 0
+#endif
+
+#define TR(params) _tracef params
+
+#define KEY_ESC 27
+#define TAB 9
+#define MAX_LEN 2048
+#define BUF_SIZE (10*1024)
+#define MIN(x,y) (x < y ? x : y)
+#define MAX(x,y) (x > y ? x : y)
+
+#ifndef ACS_ULCORNER
+#define ACS_ULCORNER '+'
+#endif
+#ifndef ACS_LLCORNER
+#define ACS_LLCORNER '+'
+#endif
+#ifndef ACS_URCORNER
+#define ACS_URCORNER '+'
+#endif
+#ifndef ACS_LRCORNER
+#define ACS_LRCORNER '+'
+#endif
+#ifndef ACS_HLINE
+#define ACS_HLINE '-'
+#endif
+#ifndef ACS_VLINE
+#define ACS_VLINE '|'
+#endif
+#ifndef ACS_LTEE
+#define ACS_LTEE '+'
+#endif
+#ifndef ACS_RTEE
+#define ACS_RTEE '+'
+#endif
+#ifndef ACS_UARROW
+#define ACS_UARROW '^'
+#endif
+#ifndef ACS_DARROW
+#define ACS_DARROW 'v'
+#endif
+
+/* error return codes */
+#define ERRDISPLAYTOOSMALL (KEY_MAX + 1)
+
+/*
+ *   Color definitions
+ */
+struct dialog_color {
+	chtype atr;	/* Color attribute */
+	int fg;		/* foreground */
+	int bg;		/* background */
+	int hl;		/* highlight this item */
+};
+
+struct subtitle_list {
+	struct subtitle_list *next;
+	const char *text;
+};
+
+struct dialog_info {
+	const char *backtitle;
+	struct subtitle_list *subtitles;
+	struct dialog_color screen;
+	struct dialog_color shadow;
+	struct dialog_color dialog;
+	struct dialog_color title;
+	struct dialog_color border;
+	struct dialog_color button_active;
+	struct dialog_color button_inactive;
+	struct dialog_color button_key_active;
+	struct dialog_color button_key_inactive;
+	struct dialog_color button_label_active;
+	struct dialog_color button_label_inactive;
+	struct dialog_color inputbox;
+	struct dialog_color inputbox_border;
+	struct dialog_color searchbox;
+	struct dialog_color searchbox_title;
+	struct dialog_color searchbox_border;
+	struct dialog_color position_indicator;
+	struct dialog_color menubox;
+	struct dialog_color menubox_border;
+	struct dialog_color item;
+	struct dialog_color item_selected;
+	struct dialog_color tag;
+	struct dialog_color tag_selected;
+	struct dialog_color tag_key;
+	struct dialog_color tag_key_selected;
+	struct dialog_color check;
+	struct dialog_color check_selected;
+	struct dialog_color uarrow;
+	struct dialog_color darrow;
+};
+
+/*
+ * Global variables
+ */
+extern struct dialog_info dlg;
+extern char dialog_input_result[];
+extern int saved_x, saved_y;		/* Needed in signal handler in mconf.c */
+
+/*
+ * Function prototypes
+ */
+
+/* item list as used by checklist and menubox */
+void item_reset(void);
+void item_make(const char *fmt, ...);
+void item_add_str(const char *fmt, ...);
+void item_set_tag(char tag);
+void item_set_data(void *p);
+void item_set_selected(int val);
+int item_activate_selected(void);
+void *item_data(void);
+char item_tag(void);
+
+/* item list manipulation for lxdialog use */
+#define MAXITEMSTR 200
+struct dialog_item {
+	char str[MAXITEMSTR];	/* promtp displayed */
+	char tag;
+	void *data;	/* pointer to menu item - used by menubox+checklist */
+	int selected;	/* Set to 1 by dialog_*() function if selected. */
+};
+
+/* list of lialog_items */
+struct dialog_list {
+	struct dialog_item node;
+	struct dialog_list *next;
+};
+
+extern struct dialog_list *item_cur;
+extern struct dialog_list item_nil;
+extern struct dialog_list *item_head;
+
+int item_count(void);
+void item_set(int n);
+int item_n(void);
+const char *item_str(void);
+int item_is_selected(void);
+int item_is_tag(char tag);
+#define item_foreach() \
+	for (item_cur = item_head ? item_head: item_cur; \
+	     item_cur && (item_cur != &item_nil); item_cur = item_cur->next)
+
+/* generic key handlers */
+int on_key_esc(WINDOW *win);
+int on_key_resize(void);
+
+/* minimum (re)size values */
+#define CHECKLIST_HEIGTH_MIN 6	/* For dialog_checklist() */
+#define CHECKLIST_WIDTH_MIN 6
+#define INPUTBOX_HEIGTH_MIN 2	/* For dialog_inputbox() */
+#define INPUTBOX_WIDTH_MIN 2
+#define MENUBOX_HEIGTH_MIN 15	/* For dialog_menu() */
+#define MENUBOX_WIDTH_MIN 65
+#define TEXTBOX_HEIGTH_MIN 8	/* For dialog_textbox() */
+#define TEXTBOX_WIDTH_MIN 8
+#define YESNO_HEIGTH_MIN 4	/* For dialog_yesno() */
+#define YESNO_WIDTH_MIN 4
+#define WINDOW_HEIGTH_MIN 19	/* For init_dialog() */
+#define WINDOW_WIDTH_MIN 80
+
+int init_dialog(const char *backtitle);
+void set_dialog_backtitle(const char *backtitle);
+void set_dialog_subtitles(struct subtitle_list *subtitles);
+void end_dialog(int x, int y);
+void attr_clear(WINDOW * win, int height, int width, chtype attr);
+void dialog_clear(void);
+void print_autowrap(WINDOW * win, const char *prompt, int width, int y, int x);
+void print_button(WINDOW * win, const char *label, int y, int x, int selected);
+void print_title(WINDOW *dialog, const char *title, int width);
+void draw_box(WINDOW * win, int y, int x, int height, int width, chtype box,
+	      chtype border);
+void draw_shadow(WINDOW * win, int y, int x, int height, int width);
+
+int first_alpha(const char *string, const char *exempt);
+int dialog_yesno(const char *title, const char *prompt, int height, int width);
+int dialog_msgbox(const char *title, const char *prompt, int height,
+		  int width, int pause);
+
+
+typedef void (*update_text_fn)(char *buf, size_t start, size_t end, void
+			       *_data);
+int dialog_textbox(const char *title, char *tbuf, int initial_height,
+		   int initial_width, int *keys, int *_vscroll, int *_hscroll,
+		   update_text_fn update_text, void *data);
+int dialog_menu(const char *title, const char *prompt,
+		const void *selected, int *s_scroll);
+int dialog_checklist(const char *title, const char *prompt, int height,
+		     int width, int list_height);
+int dialog_inputbox(const char *title, const char *prompt, int height,
+		    int width, const char *init);
+
+/*
+ * This is the base for fictitious keys, which activate
+ * the buttons.
+ *
+ * Mouse-generated keys are the following:
+ *   -- the first 32 are used as numbers, in addition to '0'-'9'
+ *   -- the lowercase are used to signal mouse-enter events (M_EVENT + 'o')
+ *   -- uppercase chars are used to invoke the button (M_EVENT + 'O')
+ */
+#define M_EVENT (KEY_MAX+1)
diff --git a/scripts/kconfig/lxdialog/inputbox.c b/scripts/kconfig/lxdialog/inputbox.c
new file mode 100644
index 0000000..447a582
--- /dev/null
+++ b/scripts/kconfig/lxdialog/inputbox.c
@@ -0,0 +1,301 @@
+/*
+ *  inputbox.c -- implements the input box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836 at cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcap at cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "dialog.h"
+
+char dialog_input_result[MAX_LEN + 1];
+
+/*
+ *  Print the termination buttons
+ */
+static void print_buttons(WINDOW * dialog, int height, int width, int selected)
+{
+	int x = width / 2 - 11;
+	int y = height - 2;
+
+	print_button(dialog, gettext("  Ok  "), y, x, selected == 0);
+	print_button(dialog, gettext(" Help "), y, x + 14, selected == 1);
+
+	wmove(dialog, y, x + 1 + 14 * selected);
+	wrefresh(dialog);
+}
+
+/*
+ * Display a dialog box for inputing a string
+ */
+int dialog_inputbox(const char *title, const char *prompt, int height, int width,
+                    const char *init)
+{
+	int i, x, y, box_y, box_x, box_width;
+	int input_x = 0, key = 0, button = -1;
+	int show_x, len, pos;
+	char *instr = dialog_input_result;
+	WINDOW *dialog;
+
+	if (!init)
+		instr[0] = '\0';
+	else
+		strcpy(instr, init);
+
+do_resize:
+	if (getmaxy(stdscr) <= (height - INPUTBOX_HEIGTH_MIN))
+		return -ERRDISPLAYTOOSMALL;
+	if (getmaxx(stdscr) <= (width - INPUTBOX_WIDTH_MIN))
+		return -ERRDISPLAYTOOSMALL;
+
+	/* center dialog box on screen */
+	x = (getmaxx(stdscr) - width) / 2;
+	y = (getmaxy(stdscr) - height) / 2;
+
+	draw_shadow(stdscr, y, x, height, width);
+
+	dialog = newwin(height, width, y, x);
+	keypad(dialog, TRUE);
+
+	draw_box(dialog, 0, 0, height, width,
+		 dlg.dialog.atr, dlg.border.atr);
+	wattrset(dialog, dlg.border.atr);
+	mvwaddch(dialog, height - 3, 0, ACS_LTEE);
+	for (i = 0; i < width - 2; i++)
+		waddch(dialog, ACS_HLINE);
+	wattrset(dialog, dlg.dialog.atr);
+	waddch(dialog, ACS_RTEE);
+
+	print_title(dialog, title, width);
+
+	wattrset(dialog, dlg.dialog.atr);
+	print_autowrap(dialog, prompt, width - 2, 1, 3);
+
+	/* Draw the input field box */
+	box_width = width - 6;
+	getyx(dialog, y, x);
+	box_y = y + 2;
+	box_x = (width - box_width) / 2;
+	draw_box(dialog, y + 1, box_x - 1, 3, box_width + 2,
+		 dlg.dialog.atr, dlg.border.atr);
+
+	print_buttons(dialog, height, width, 0);
+
+	/* Set up the initial value */
+	wmove(dialog, box_y, box_x);
+	wattrset(dialog, dlg.inputbox.atr);
+
+	len = strlen(instr);
+	pos = len;
+
+	if (len >= box_width) {
+		show_x = len - box_width + 1;
+		input_x = box_width - 1;
+		for (i = 0; i < box_width - 1; i++)
+			waddch(dialog, instr[show_x + i]);
+	} else {
+		show_x = 0;
+		input_x = len;
+		waddstr(dialog, instr);
+	}
+
+	wmove(dialog, box_y, box_x + input_x);
+
+	wrefresh(dialog);
+
+	while (key != KEY_ESC) {
+		key = wgetch(dialog);
+
+		if (button == -1) {	/* Input box selected */
+			switch (key) {
+			case TAB:
+			case KEY_UP:
+			case KEY_DOWN:
+				break;
+			case KEY_BACKSPACE:
+			case 127:
+				if (pos) {
+					wattrset(dialog, dlg.inputbox.atr);
+					if (input_x == 0) {
+						show_x--;
+					} else
+						input_x--;
+
+					if (pos < len) {
+						for (i = pos - 1; i < len; i++) {
+							instr[i] = instr[i+1];
+						}
+					}
+
+					pos--;
+					len--;
+					instr[len] = '\0';
+					wmove(dialog, box_y, box_x);
+					for (i = 0; i < box_width; i++) {
+						if (!instr[show_x + i]) {
+							waddch(dialog, ' ');
+							break;
+						}
+						waddch(dialog, instr[show_x + i]);
+					}
+					wmove(dialog, box_y, input_x + box_x);
+					wrefresh(dialog);
+				}
+				continue;
+			case KEY_LEFT:
+				if (pos > 0) {
+					if (input_x > 0) {
+						wmove(dialog, box_y, --input_x + box_x);
+					} else if (input_x == 0) {
+						show_x--;
+						wmove(dialog, box_y, box_x);
+						for (i = 0; i < box_width; i++) {
+							if (!instr[show_x + i]) {
+								waddch(dialog, ' ');
+								break;
+							}
+							waddch(dialog, instr[show_x + i]);
+						}
+						wmove(dialog, box_y, box_x);
+					}
+					pos--;
+				}
+				continue;
+			case KEY_RIGHT:
+				if (pos < len) {
+					if (input_x < box_width - 1) {
+						wmove(dialog, box_y, ++input_x + box_x);
+					} else if (input_x == box_width - 1) {
+						show_x++;
+						wmove(dialog, box_y, box_x);
+						for (i = 0; i < box_width; i++) {
+							if (!instr[show_x + i]) {
+								waddch(dialog, ' ');
+								break;
+							}
+							waddch(dialog, instr[show_x + i]);
+						}
+						wmove(dialog, box_y, input_x + box_x);
+					}
+					pos++;
+				}
+				continue;
+			default:
+				if (key < 0x100 && isprint(key)) {
+					if (len < MAX_LEN) {
+						wattrset(dialog, dlg.inputbox.atr);
+						if (pos < len) {
+							for (i = len; i > pos; i--)
+								instr[i] = instr[i-1];
+							instr[pos] = key;
+						} else {
+							instr[len] = key;
+						}
+						pos++;
+						len++;
+						instr[len] = '\0';
+
+						if (input_x == box_width - 1) {
+							show_x++;
+						} else {
+							input_x++;
+						}
+
+						wmove(dialog, box_y, box_x);
+						for (i = 0; i < box_width; i++) {
+							if (!instr[show_x + i]) {
+								waddch(dialog, ' ');
+								break;
+							}
+							waddch(dialog, instr[show_x + i]);
+						}
+						wmove(dialog, box_y, input_x + box_x);
+						wrefresh(dialog);
+					} else
+						flash();	/* Alarm user about overflow */
+					continue;
+				}
+			}
+		}
+		switch (key) {
+		case 'O':
+		case 'o':
+			delwin(dialog);
+			return 0;
+		case 'H':
+		case 'h':
+			delwin(dialog);
+			return 1;
+		case KEY_UP:
+		case KEY_LEFT:
+			switch (button) {
+			case -1:
+				button = 1;	/* Indicates "Help" button is selected */
+				print_buttons(dialog, height, width, 1);
+				break;
+			case 0:
+				button = -1;	/* Indicates input box is selected */
+				print_buttons(dialog, height, width, 0);
+				wmove(dialog, box_y, box_x + input_x);
+				wrefresh(dialog);
+				break;
+			case 1:
+				button = 0;	/* Indicates "OK" button is selected */
+				print_buttons(dialog, height, width, 0);
+				break;
+			}
+			break;
+		case TAB:
+		case KEY_DOWN:
+		case KEY_RIGHT:
+			switch (button) {
+			case -1:
+				button = 0;	/* Indicates "OK" button is selected */
+				print_buttons(dialog, height, width, 0);
+				break;
+			case 0:
+				button = 1;	/* Indicates "Help" button is selected */
+				print_buttons(dialog, height, width, 1);
+				break;
+			case 1:
+				button = -1;	/* Indicates input box is selected */
+				print_buttons(dialog, height, width, 0);
+				wmove(dialog, box_y, box_x + input_x);
+				wrefresh(dialog);
+				break;
+			}
+			break;
+		case ' ':
+		case '\n':
+			delwin(dialog);
+			return (button == -1 ? 0 : button);
+		case 'X':
+		case 'x':
+			key = KEY_ESC;
+			break;
+		case KEY_ESC:
+			key = on_key_esc(dialog);
+			break;
+		case KEY_RESIZE:
+			delwin(dialog);
+			on_key_resize();
+			goto do_resize;
+		}
+	}
+
+	delwin(dialog);
+	return KEY_ESC;		/* ESC pressed */
+}
diff --git a/scripts/kconfig/lxdialog/menubox.c b/scripts/kconfig/lxdialog/menubox.c
new file mode 100644
index 0000000..c93de0b
--- /dev/null
+++ b/scripts/kconfig/lxdialog/menubox.c
@@ -0,0 +1,437 @@
+/*
+ *  menubox.c -- implements the menu box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836 at cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcapw at cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/*
+ *  Changes by Clifford Wolf (god at clifford.at)
+ *
+ *  [ 1998-06-13 ]
+ *
+ *    *)  A bugfix for the Page-Down problem
+ *
+ *    *)  Formerly when I used Page Down and Page Up, the cursor would be set
+ *        to the first position in the menu box.  Now lxdialog is a bit
+ *        smarter and works more like other menu systems (just have a look at
+ *        it).
+ *
+ *    *)  Formerly if I selected something my scrolling would be broken because
+ *        lxdialog is re-invoked by the Menuconfig shell script, can't
+ *        remember the last scrolling position, and just sets it so that the
+ *        cursor is at the bottom of the box.  Now it writes the temporary file
+ *        lxdialog.scrltmp which contains this information. The file is
+ *        deleted by lxdialog if the user leaves a submenu or enters a new
+ *        one, but it would be nice if Menuconfig could make another "rm -f"
+ *        just to be sure.  Just try it out - you will recognise a difference!
+ *
+ *  [ 1998-06-14 ]
+ *
+ *    *)  Now lxdialog is crash-safe against broken "lxdialog.scrltmp" files
+ *        and menus change their size on the fly.
+ *
+ *    *)  If for some reason the last scrolling position is not saved by
+ *        lxdialog, it sets the scrolling so that the selected item is in the
+ *        middle of the menu box, not at the bottom.
+ *
+ * 02 January 1999, Michael Elizabeth Chastain (mec@shout.net)
+ * Reset 'scroll' to 0 if the value from lxdialog.scrltmp is bogus.
+ * This fixes a bug in Menuconfig where using ' ' to descend into menus
+ * would leave mis-synchronized lxdialog.scrltmp files lying around,
+ * fscanf would read in 'scroll', and eventually that value would get used.
+ */
+
+#include "dialog.h"
+
+static int menu_width, item_x;
+
+/*
+ * Print menu item
+ */
+static void do_print_item(WINDOW * win, const char *item, int line_y,
+                          int selected, int hotkey)
+{
+	int j;
+	char *menu_item = malloc(menu_width + 1);
+
+	strncpy(menu_item, item, menu_width - item_x);
+	menu_item[menu_width - item_x] = '\0';
+	j = first_alpha(menu_item, "YyNnMmHh");
+
+	/* Clear 'residue' of last item */
+	wattrset(win, dlg.menubox.atr);
+	wmove(win, line_y, 0);
+#if OLD_NCURSES
+	{
+		int i;
+		for (i = 0; i < menu_width; i++)
+			waddch(win, ' ');
+	}
+#else
+	wclrtoeol(win);
+#endif
+	wattrset(win, selected ? dlg.item_selected.atr : dlg.item.atr);
+	mvwaddstr(win, line_y, item_x, menu_item);
+	if (hotkey) {
+		wattrset(win, selected ? dlg.tag_key_selected.atr
+			 : dlg.tag_key.atr);
+		mvwaddch(win, line_y, item_x + j, menu_item[j]);
+	}
+	if (selected) {
+		wmove(win, line_y, item_x + 1);
+	}
+	free(menu_item);
+	wrefresh(win);
+}
+
+#define print_item(index, choice, selected)				\
+do {									\
+	item_set(index);						\
+	do_print_item(menu, item_str(), choice, selected, !item_is_tag(':')); \
+} while (0)
+
+/*
+ * Print the scroll indicators.
+ */
+static void print_arrows(WINDOW * win, int item_no, int scroll, int y, int x,
+			 int height)
+{
+	int cur_y, cur_x;
+
+	getyx(win, cur_y, cur_x);
+
+	wmove(win, y, x);
+
+	if (scroll > 0) {
+		wattrset(win, dlg.uarrow.atr);
+		waddch(win, ACS_UARROW);
+		waddstr(win, "(-)");
+	} else {
+		wattrset(win, dlg.menubox.atr);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+	}
+
+	y = y + height + 1;
+	wmove(win, y, x);
+	wrefresh(win);
+
+	if ((height < item_no) && (scroll + height < item_no)) {
+		wattrset(win, dlg.darrow.atr);
+		waddch(win, ACS_DARROW);
+		waddstr(win, "(+)");
+	} else {
+		wattrset(win, dlg.menubox_border.atr);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+		waddch(win, ACS_HLINE);
+	}
+
+	wmove(win, cur_y, cur_x);
+	wrefresh(win);
+}
+
+/*
+ * Display the termination buttons.
+ */
+static void print_buttons(WINDOW * win, int height, int width, int selected)
+{
+	int x = width / 2 - 28;
+	int y = height - 2;
+
+	print_button(win, gettext("Select"), y, x, selected == 0);
+	print_button(win, gettext(" Exit "), y, x + 12, selected == 1);
+	print_button(win, gettext(" Help "), y, x + 24, selected == 2);
+	print_button(win, gettext(" Save "), y, x + 36, selected == 3);
+	print_button(win, gettext(" Load "), y, x + 48, selected == 4);
+
+	wmove(win, y, x + 1 + 12 * selected);
+	wrefresh(win);
+}
+
+/* scroll up n lines (n may be negative) */
+static void do_scroll(WINDOW *win, int *scroll, int n)
+{
+	/* Scroll menu up */
+	scrollok(win, TRUE);
+	wscrl(win, n);
+	scrollok(win, FALSE);
+	*scroll = *scroll + n;
+	wrefresh(win);
+}
+
+/*
+ * Display a menu for choosing among a number of options
+ */
+int dialog_menu(const char *title, const char *prompt,
+                const void *selected, int *s_scroll)
+{
+	int i, j, x, y, box_x, box_y;
+	int height, width, menu_height;
+	int key = 0, button = 0, scroll = 0, choice = 0;
+	int first_item =  0, max_choice;
+	WINDOW *dialog, *menu;
+
+do_resize:
+	height = getmaxy(stdscr);
+	width = getmaxx(stdscr);
+	if (height < MENUBOX_HEIGTH_MIN || width < MENUBOX_WIDTH_MIN)
+		return -ERRDISPLAYTOOSMALL;
+
+	height -= 4;
+	width  -= 5;
+	menu_height = height - 10;
+
+	max_choice = MIN(menu_height, item_count());
+
+	/* center dialog box on screen */
+	x = (getmaxx(stdscr) - width) / 2;
+	y = (getmaxy(stdscr) - height) / 2;
+
+	draw_shadow(stdscr, y, x, height, width);
+
+	dialog = newwin(height, width, y, x);
+	keypad(dialog, TRUE);
+
+	draw_box(dialog, 0, 0, height, width,
+		 dlg.dialog.atr, dlg.border.atr);
+	wattrset(dialog, dlg.border.atr);
+	mvwaddch(dialog, height - 3, 0, ACS_LTEE);
+	for (i = 0; i < width - 2; i++)
+		waddch(dialog, ACS_HLINE);
+	wattrset(dialog, dlg.dialog.atr);
+	wbkgdset(dialog, dlg.dialog.atr & A_COLOR);
+	waddch(dialog, ACS_RTEE);
+
+	print_title(dialog, title, width);
+
+	wattrset(dialog, dlg.dialog.atr);
+	print_autowrap(dialog, prompt, width - 2, 1, 3);
+
+	menu_width = width - 6;
+	box_y = height - menu_height - 5;
+	box_x = (width - menu_width) / 2 - 1;
+
+	/* create new window for the menu */
+	menu = subwin(dialog, menu_height, menu_width,
+		      y + box_y + 1, x + box_x + 1);
+	keypad(menu, TRUE);
+
+	/* draw a box around the menu items */
+	draw_box(dialog, box_y, box_x, menu_height + 2, menu_width + 2,
+		 dlg.menubox_border.atr, dlg.menubox.atr);
+
+	if (menu_width >= 80)
+		item_x = (menu_width - 70) / 2;
+	else
+		item_x = 4;
+
+	/* Set choice to default item */
+	item_foreach()
+		if (selected && (selected == item_data()))
+			choice = item_n();
+	/* get the saved scroll info */
+	scroll = *s_scroll;
+	if ((scroll <= choice) && (scroll + max_choice > choice) &&
+	   (scroll >= 0) && (scroll + max_choice <= item_count())) {
+		first_item = scroll;
+		choice = choice - scroll;
+	} else {
+		scroll = 0;
+	}
+	if ((choice >= max_choice)) {
+		if (choice >= item_count() - max_choice / 2)
+			scroll = first_item = item_count() - max_choice;
+		else
+			scroll = first_item = choice - max_choice / 2;
+		choice = choice - scroll;
+	}
+
+	/* Print the menu */
+	for (i = 0; i < max_choice; i++) {
+		print_item(first_item + i, i, i == choice);
+	}
+
+	wnoutrefresh(menu);
+
+	print_arrows(dialog, item_count(), scroll,
+		     box_y, box_x + item_x + 1, menu_height);
+
+	print_buttons(dialog, height, width, 0);
+	wmove(menu, choice, item_x + 1);
+	wrefresh(menu);
+
+	while (key != KEY_ESC) {
+		key = wgetch(menu);
+
+		if (key < 256 && isalpha(key))
+			key = tolower(key);
+
+		if (strchr("ynmh", key))
+			i = max_choice;
+		else {
+			for (i = choice + 1; i < max_choice; i++) {
+				item_set(scroll + i);
+				j = first_alpha(item_str(), "YyNnMmHh");
+				if (key == tolower(item_str()[j]))
+					break;
+			}
+			if (i == max_choice)
+				for (i = 0; i < max_choice; i++) {
+					item_set(scroll + i);
+					j = first_alpha(item_str(), "YyNnMmHh");
+					if (key == tolower(item_str()[j]))
+						break;
+				}
+		}
+
+		if (item_count() != 0 &&
+		    (i < max_choice ||
+		     key == KEY_UP || key == KEY_DOWN ||
+		     key == '-' || key == '+' ||
+		     key == KEY_PPAGE || key == KEY_NPAGE)) {
+			/* Remove highligt of current item */
+			print_item(scroll + choice, choice, FALSE);
+
+			if (key == KEY_UP || key == '-') {
+				if (choice < 2 && scroll) {
+					/* Scroll menu down */
+					do_scroll(menu, &scroll, -1);
+
+					print_item(scroll, 0, FALSE);
+				} else
+					choice = MAX(choice - 1, 0);
+
+			} else if (key == KEY_DOWN || key == '+') {
+				print_item(scroll+choice, choice, FALSE);
+
+				if ((choice > max_choice - 3) &&
+				    (scroll + max_choice < item_count())) {
+					/* Scroll menu up */
+					do_scroll(menu, &scroll, 1);
+
+					print_item(scroll+max_choice - 1,
+						   max_choice - 1, FALSE);
+				} else
+					choice = MIN(choice + 1, max_choice - 1);
+
+			} else if (key == KEY_PPAGE) {
+				scrollok(menu, TRUE);
+				for (i = 0; (i < max_choice); i++) {
+					if (scroll > 0) {
+						do_scroll(menu, &scroll, -1);
+						print_item(scroll, 0, FALSE);
+					} else {
+						if (choice > 0)
+							choice--;
+					}
+				}
+
+			} else if (key == KEY_NPAGE) {
+				for (i = 0; (i < max_choice); i++) {
+					if (scroll + max_choice < item_count()) {
+						do_scroll(menu, &scroll, 1);
+						print_item(scroll+max_choice-1,
+							   max_choice - 1, FALSE);
+					} else {
+						if (choice + 1 < max_choice)
+							choice++;
+					}
+				}
+			} else
+				choice = i;
+
+			print_item(scroll + choice, choice, TRUE);
+
+			print_arrows(dialog, item_count(), scroll,
+				     box_y, box_x + item_x + 1, menu_height);
+
+			wnoutrefresh(dialog);
+			wrefresh(menu);
+
+			continue;	/* wait for another key press */
+		}
+
+		switch (key) {
+		case KEY_LEFT:
+		case TAB:
+		case KEY_RIGHT:
+			button = ((key == KEY_LEFT ? --button : ++button) < 0)
+			    ? 4 : (button > 4 ? 0 : button);
+
+			print_buttons(dialog, height, width, button);
+			wrefresh(menu);
+			break;
+		case ' ':
+		case 's':
+		case 'y':
+		case 'n':
+		case 'm':
+		case '/':
+		case 'h':
+		case '?':
+		case 'z':
+		case '\n':
+			/* save scroll info */
+			*s_scroll = scroll;
+			delwin(menu);
+			delwin(dialog);
+			item_set(scroll + choice);
+			item_set_selected(1);
+			switch (key) {
+			case 'h':
+			case '?':
+				return 2;
+			case 's':
+			case 'y':
+				return 5;
+			case 'n':
+				return 6;
+			case 'm':
+				return 7;
+			case ' ':
+				return 8;
+			case '/':
+				return 9;
+			case 'z':
+				return 10;
+			case '\n':
+				return button;
+			}
+			return 0;
+		case 'e':
+		case 'x':
+			key = KEY_ESC;
+			break;
+		case KEY_ESC:
+			key = on_key_esc(menu);
+			break;
+		case KEY_RESIZE:
+			on_key_resize();
+			delwin(menu);
+			delwin(dialog);
+			goto do_resize;
+		}
+	}
+	delwin(menu);
+	delwin(dialog);
+	return key;		/* ESC pressed */
+}
diff --git a/scripts/kconfig/lxdialog/textbox.c b/scripts/kconfig/lxdialog/textbox.c
new file mode 100644
index 0000000..1773319
--- /dev/null
+++ b/scripts/kconfig/lxdialog/textbox.c
@@ -0,0 +1,408 @@
+/*
+ *  textbox.c -- implements the text box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836 at cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcap at cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "dialog.h"
+
+static void back_lines(int n);
+static void print_page(WINDOW *win, int height, int width, update_text_fn
+		       update_text, void *data);
+static void print_line(WINDOW *win, int row, int width);
+static char *get_line(void);
+static void print_position(WINDOW * win);
+
+static int hscroll;
+static int begin_reached, end_reached, page_length;
+static char *buf;
+static char *page;
+
+/*
+ * refresh window content
+ */
+static void refresh_text_box(WINDOW *dialog, WINDOW *box, int boxh, int boxw,
+			     int cur_y, int cur_x, update_text_fn update_text,
+			     void *data)
+{
+	print_page(box, boxh, boxw, update_text, data);
+	print_position(dialog);
+	wmove(dialog, cur_y, cur_x);	/* Restore cursor position */
+	wrefresh(dialog);
+}
+
+
+/*
+ * Display text from a file in a dialog box.
+ *
+ * keys is a null-terminated array
+ * update_text() may not add or remove any '\n' or '\0' in tbuf
+ */
+int dialog_textbox(const char *title, char *tbuf, int initial_height,
+		   int initial_width, int *keys, int *_vscroll, int *_hscroll,
+		   update_text_fn update_text, void *data)
+{
+	int i, x, y, cur_x, cur_y, key = 0;
+	int height, width, boxh, boxw;
+	WINDOW *dialog, *box;
+	bool done = false;
+
+	begin_reached = 1;
+	end_reached = 0;
+	page_length = 0;
+	hscroll = 0;
+	buf = tbuf;
+	page = buf;	/* page is pointer to start of page to be displayed */
+
+	if (_vscroll && *_vscroll) {
+		begin_reached = 0;
+
+		for (i = 0; i < *_vscroll; i++)
+			get_line();
+	}
+	if (_hscroll)
+		hscroll = *_hscroll;
+
+do_resize:
+	getmaxyx(stdscr, height, width);
+	if (height < TEXTBOX_HEIGTH_MIN || width < TEXTBOX_WIDTH_MIN)
+		return -ERRDISPLAYTOOSMALL;
+	if (initial_height != 0)
+		height = initial_height;
+	else
+		if (height > 4)
+			height -= 4;
+		else
+			height = 0;
+	if (initial_width != 0)
+		width = initial_width;
+	else
+		if (width > 5)
+			width -= 5;
+		else
+			width = 0;
+
+	/* center dialog box on screen */
+	x = (getmaxx(stdscr) - width) / 2;
+	y = (getmaxy(stdscr) - height) / 2;
+
+	draw_shadow(stdscr, y, x, height, width);
+
+	dialog = newwin(height, width, y, x);
+	keypad(dialog, TRUE);
+
+	/* Create window for box region, used for scrolling text */
+	boxh = height - 4;
+	boxw = width - 2;
+	box = subwin(dialog, boxh, boxw, y + 1, x + 1);
+	wattrset(box, dlg.dialog.atr);
+	wbkgdset(box, dlg.dialog.atr & A_COLOR);
+
+	keypad(box, TRUE);
+
+	/* register the new window, along with its borders */
+	draw_box(dialog, 0, 0, height, width,
+		 dlg.dialog.atr, dlg.border.atr);
+
+	wattrset(dialog, dlg.border.atr);
+	mvwaddch(dialog, height - 3, 0, ACS_LTEE);
+	for (i = 0; i < width - 2; i++)
+		waddch(dialog, ACS_HLINE);
+	wattrset(dialog, dlg.dialog.atr);
+	wbkgdset(dialog, dlg.dialog.atr & A_COLOR);
+	waddch(dialog, ACS_RTEE);
+
+	print_title(dialog, title, width);
+
+	print_button(dialog, gettext(" Exit "), height - 2, width / 2 - 4, TRUE);
+	wnoutrefresh(dialog);
+	getyx(dialog, cur_y, cur_x);	/* Save cursor position */
+
+	/* Print first page of text */
+	attr_clear(box, boxh, boxw, dlg.dialog.atr);
+	refresh_text_box(dialog, box, boxh, boxw, cur_y, cur_x, update_text,
+			 data);
+
+	while (!done) {
+		key = wgetch(dialog);
+		switch (key) {
+		case 'E':	/* Exit */
+		case 'e':
+		case 'X':
+		case 'x':
+		case 'q':
+		case '\n':
+			done = true;
+			break;
+		case 'g':	/* First page */
+		case KEY_HOME:
+			if (!begin_reached) {
+				begin_reached = 1;
+				page = buf;
+				refresh_text_box(dialog, box, boxh, boxw,
+						 cur_y, cur_x, update_text,
+						 data);
+			}
+			break;
+		case 'G':	/* Last page */
+		case KEY_END:
+
+			end_reached = 1;
+			/* point to last char in buf */
+			page = buf + strlen(buf);
+			back_lines(boxh);
+			refresh_text_box(dialog, box, boxh, boxw, cur_y,
+					 cur_x, update_text, data);
+			break;
+		case 'K':	/* Previous line */
+		case 'k':
+		case KEY_UP:
+			if (begin_reached)
+				break;
+
+			back_lines(page_length + 1);
+			refresh_text_box(dialog, box, boxh, boxw, cur_y,
+					 cur_x, update_text, data);
+			break;
+		case 'B':	/* Previous page */
+		case 'b':
+		case 'u':
+		case KEY_PPAGE:
+			if (begin_reached)
+				break;
+			back_lines(page_length + boxh);
+			refresh_text_box(dialog, box, boxh, boxw, cur_y,
+					 cur_x, update_text, data);
+			break;
+		case 'J':	/* Next line */
+		case 'j':
+		case KEY_DOWN:
+			if (end_reached)
+				break;
+
+			back_lines(page_length - 1);
+			refresh_text_box(dialog, box, boxh, boxw, cur_y,
+					 cur_x, update_text, data);
+			break;
+		case KEY_NPAGE:	/* Next page */
+		case ' ':
+		case 'd':
+			if (end_reached)
+				break;
+
+			begin_reached = 0;
+			refresh_text_box(dialog, box, boxh, boxw, cur_y,
+					 cur_x, update_text, data);
+			break;
+		case '0':	/* Beginning of line */
+		case 'H':	/* Scroll left */
+		case 'h':
+		case KEY_LEFT:
+			if (hscroll <= 0)
+				break;
+
+			if (key == '0')
+				hscroll = 0;
+			else
+				hscroll--;
+			/* Reprint current page to scroll horizontally */
+			back_lines(page_length);
+			refresh_text_box(dialog, box, boxh, boxw, cur_y,
+					 cur_x, update_text, data);
+			break;
+		case 'L':	/* Scroll right */
+		case 'l':
+		case KEY_RIGHT:
+			if (hscroll >= MAX_LEN)
+				break;
+			hscroll++;
+			/* Reprint current page to scroll horizontally */
+			back_lines(page_length);
+			refresh_text_box(dialog, box, boxh, boxw, cur_y,
+					 cur_x, update_text, data);
+			break;
+		case KEY_ESC:
+			if (on_key_esc(dialog) == KEY_ESC)
+				done = true;
+			break;
+		case KEY_RESIZE:
+			back_lines(height);
+			delwin(box);
+			delwin(dialog);
+			on_key_resize();
+			goto do_resize;
+		default:
+			for (i = 0; keys[i]; i++) {
+				if (key == keys[i]) {
+					done = true;
+					break;
+				}
+			}
+		}
+	}
+	delwin(box);
+	delwin(dialog);
+	if (_vscroll) {
+		const char *s;
+
+		s = buf;
+		*_vscroll = 0;
+		back_lines(page_length);
+		while (s < page && (s = strchr(s, '\n'))) {
+			(*_vscroll)++;
+			s++;
+		}
+	}
+	if (_hscroll)
+		*_hscroll = hscroll;
+	return key;
+}
+
+/*
+ * Go back 'n' lines in text. Called by dialog_textbox().
+ * 'page' will be updated to point to the desired line in 'buf'.
+ */
+static void back_lines(int n)
+{
+	int i;
+
+	begin_reached = 0;
+	/* Go back 'n' lines */
+	for (i = 0; i < n; i++) {
+		if (*page == '\0') {
+			if (end_reached) {
+				end_reached = 0;
+				continue;
+			}
+		}
+		if (page == buf) {
+			begin_reached = 1;
+			return;
+		}
+		page--;
+		do {
+			if (page == buf) {
+				begin_reached = 1;
+				return;
+			}
+			page--;
+		} while (*page != '\n');
+		page++;
+	}
+}
+
+/*
+ * Print a new page of text.
+ */
+static void print_page(WINDOW *win, int height, int width, update_text_fn
+		       update_text, void *data)
+{
+	int i, passed_end = 0;
+
+	if (update_text) {
+		char *end;
+
+		for (i = 0; i < height; i++)
+			get_line();
+		end = page;
+		back_lines(height);
+		update_text(buf, page - buf, end - buf, data);
+	}
+
+	page_length = 0;
+	for (i = 0; i < height; i++) {
+		print_line(win, i, width);
+		if (!passed_end)
+			page_length++;
+		if (end_reached && !passed_end)
+			passed_end = 1;
+	}
+	wnoutrefresh(win);
+}
+
+/*
+ * Print a new line of text.
+ */
+static void print_line(WINDOW * win, int row, int width)
+{
+	char *line;
+
+	line = get_line();
+	line += MIN(strlen(line), hscroll);	/* Scroll horizontally */
+	wmove(win, row, 0);	/* move cursor to correct line */
+	waddch(win, ' ');
+	waddnstr(win, line, MIN(strlen(line), width - 2));
+
+	/* Clear 'residue' of previous line */
+#if OLD_NCURSES
+	{
+		int x = getcurx(win);
+		int i;
+		for (i = 0; i < width - x; i++)
+			waddch(win, ' ');
+	}
+#else
+	wclrtoeol(win);
+#endif
+}
+
+/*
+ * Return current line of text. Called by dialog_textbox() and print_line().
+ * 'page' should point to start of current line before calling, and will be
+ * updated to point to start of next line.
+ */
+static char *get_line(void)
+{
+	int i = 0;
+	static char line[MAX_LEN + 1];
+
+	end_reached = 0;
+	while (*page != '\n') {
+		if (*page == '\0') {
+			end_reached = 1;
+			break;
+		} else if (i < MAX_LEN)
+			line[i++] = *(page++);
+		else {
+			/* Truncate lines longer than MAX_LEN characters */
+			if (i == MAX_LEN)
+				line[i++] = '\0';
+			page++;
+		}
+	}
+	if (i <= MAX_LEN)
+		line[i] = '\0';
+	if (!end_reached)
+		page++;		/* move past '\n' */
+
+	return line;
+}
+
+/*
+ * Print current position
+ */
+static void print_position(WINDOW * win)
+{
+	int percent;
+
+	wattrset(win, dlg.position_indicator.atr);
+	wbkgdset(win, dlg.position_indicator.atr & A_COLOR);
+	percent = (page - buf) * 100 / strlen(buf);
+	wmove(win, getmaxy(win) - 3, getmaxx(win) - 9);
+	wprintw(win, "(%3d%%)", percent);
+}
diff --git a/scripts/kconfig/lxdialog/util.c b/scripts/kconfig/lxdialog/util.c
new file mode 100644
index 0000000..58a8289
--- /dev/null
+++ b/scripts/kconfig/lxdialog/util.c
@@ -0,0 +1,713 @@
+/*
+ *  util.c
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836 at cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcap@cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <stdarg.h>
+
+#include "dialog.h"
+
+/* Needed in signal handler in mconf.c */
+int saved_x, saved_y;
+
+struct dialog_info dlg;
+
+static void set_mono_theme(void)
+{
+	dlg.screen.atr = A_NORMAL;
+	dlg.shadow.atr = A_NORMAL;
+	dlg.dialog.atr = A_NORMAL;
+	dlg.title.atr = A_BOLD;
+	dlg.border.atr = A_NORMAL;
+	dlg.button_active.atr = A_REVERSE;
+	dlg.button_inactive.atr = A_DIM;
+	dlg.button_key_active.atr = A_REVERSE;
+	dlg.button_key_inactive.atr = A_BOLD;
+	dlg.button_label_active.atr = A_REVERSE;
+	dlg.button_label_inactive.atr = A_NORMAL;
+	dlg.inputbox.atr = A_NORMAL;
+	dlg.inputbox_border.atr = A_NORMAL;
+	dlg.searchbox.atr = A_NORMAL;
+	dlg.searchbox_title.atr = A_BOLD;
+	dlg.searchbox_border.atr = A_NORMAL;
+	dlg.position_indicator.atr = A_BOLD;
+	dlg.menubox.atr = A_NORMAL;
+	dlg.menubox_border.atr = A_NORMAL;
+	dlg.item.atr = A_NORMAL;
+	dlg.item_selected.atr = A_REVERSE;
+	dlg.tag.atr = A_BOLD;
+	dlg.tag_selected.atr = A_REVERSE;
+	dlg.tag_key.atr = A_BOLD;
+	dlg.tag_key_selected.atr = A_REVERSE;
+	dlg.check.atr = A_BOLD;
+	dlg.check_selected.atr = A_REVERSE;
+	dlg.uarrow.atr = A_BOLD;
+	dlg.darrow.atr = A_BOLD;
+}
+
+#define DLG_COLOR(dialog, f, b, h) \
+do {                               \
+	dlg.dialog.fg = (f);       \
+	dlg.dialog.bg = (b);       \
+	dlg.dialog.hl = (h);       \
+} while (0)
+
+static void set_classic_theme(void)
+{
+	DLG_COLOR(screen,                COLOR_CYAN,   COLOR_BLUE,   true);
+	DLG_COLOR(shadow,                COLOR_BLACK,  COLOR_BLACK,  true);
+	DLG_COLOR(dialog,                COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(title,                 COLOR_YELLOW, COLOR_WHITE,  true);
+	DLG_COLOR(border,                COLOR_WHITE,  COLOR_WHITE,  true);
+	DLG_COLOR(button_active,         COLOR_WHITE,  COLOR_BLUE,   true);
+	DLG_COLOR(button_inactive,       COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(button_key_active,     COLOR_WHITE,  COLOR_BLUE,   true);
+	DLG_COLOR(button_key_inactive,   COLOR_RED,    COLOR_WHITE,  false);
+	DLG_COLOR(button_label_active,   COLOR_YELLOW, COLOR_BLUE,   true);
+	DLG_COLOR(button_label_inactive, COLOR_BLACK,  COLOR_WHITE,  true);
+	DLG_COLOR(inputbox,              COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(inputbox_border,       COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(searchbox,             COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(searchbox_title,       COLOR_YELLOW, COLOR_WHITE,  true);
+	DLG_COLOR(searchbox_border,      COLOR_WHITE,  COLOR_WHITE,  true);
+	DLG_COLOR(position_indicator,    COLOR_YELLOW, COLOR_WHITE,  true);
+	DLG_COLOR(menubox,               COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(menubox_border,        COLOR_WHITE,  COLOR_WHITE,  true);
+	DLG_COLOR(item,                  COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(item_selected,         COLOR_WHITE,  COLOR_BLUE,   true);
+	DLG_COLOR(tag,                   COLOR_YELLOW, COLOR_WHITE,  true);
+	DLG_COLOR(tag_selected,          COLOR_YELLOW, COLOR_BLUE,   true);
+	DLG_COLOR(tag_key,               COLOR_YELLOW, COLOR_WHITE,  true);
+	DLG_COLOR(tag_key_selected,      COLOR_YELLOW, COLOR_BLUE,   true);
+	DLG_COLOR(check,                 COLOR_BLACK,  COLOR_WHITE,  false);
+	DLG_COLOR(check_selected,        COLOR_WHITE,  COLOR_BLUE,   true);
+	DLG_COLOR(uarrow,                COLOR_GREEN,  COLOR_WHITE,  true);
+	DLG_COLOR(darrow,                COLOR_GREEN,  COLOR_WHITE,  true);
+}
+
+static void set_blackbg_theme(void)
+{
+	DLG_COLOR(screen, COLOR_RED,   COLOR_BLACK, true);
+	DLG_COLOR(shadow, COLOR_BLACK, COLOR_BLACK, false);
+	DLG_COLOR(dialog, COLOR_WHITE, COLOR_BLACK, false);
+	DLG_COLOR(title,  COLOR_RED,   COLOR_BLACK, false);
+	DLG_COLOR(border, COLOR_BLACK, COLOR_BLACK, true);
+
+	DLG_COLOR(button_active,         COLOR_YELLOW, COLOR_RED,   false);
+	DLG_COLOR(button_inactive,       COLOR_YELLOW, COLOR_BLACK, false);
+	DLG_COLOR(button_key_active,     COLOR_YELLOW, COLOR_RED,   true);
+	DLG_COLOR(button_key_inactive,   COLOR_RED,    COLOR_BLACK, false);
+	DLG_COLOR(button_label_active,   COLOR_WHITE,  COLOR_RED,   false);
+	DLG_COLOR(button_label_inactive, COLOR_BLACK,  COLOR_BLACK, true);
+
+	DLG_COLOR(inputbox,         COLOR_YELLOW, COLOR_BLACK, false);
+	DLG_COLOR(inputbox_border,  COLOR_YELLOW, COLOR_BLACK, false);
+
+	DLG_COLOR(searchbox,        COLOR_YELLOW, COLOR_BLACK, false);
+	DLG_COLOR(searchbox_title,  COLOR_YELLOW, COLOR_BLACK, true);
+	DLG_COLOR(searchbox_border, COLOR_BLACK,  COLOR_BLACK, true);
+
+	DLG_COLOR(position_indicator, COLOR_RED, COLOR_BLACK,  false);
+
+	DLG_COLOR(menubox,          COLOR_YELLOW, COLOR_BLACK, false);
+	DLG_COLOR(menubox_border,   COLOR_BLACK,  COLOR_BLACK, true);
+
+	DLG_COLOR(item,             COLOR_WHITE, COLOR_BLACK, false);
+	DLG_COLOR(item_selected,    COLOR_WHITE, COLOR_RED,   false);
+
+	DLG_COLOR(tag,              COLOR_RED,    COLOR_BLACK, false);
+	DLG_COLOR(tag_selected,     COLOR_YELLOW, COLOR_RED,   true);
+	DLG_COLOR(tag_key,          COLOR_RED,    COLOR_BLACK, false);
+	DLG_COLOR(tag_key_selected, COLOR_YELLOW, COLOR_RED,   true);
+
+	DLG_COLOR(check,            COLOR_YELLOW, COLOR_BLACK, false);
+	DLG_COLOR(check_selected,   COLOR_YELLOW, COLOR_RED,   true);
+
+	DLG_COLOR(uarrow, COLOR_RED, COLOR_BLACK, false);
+	DLG_COLOR(darrow, COLOR_RED, COLOR_BLACK, false);
+}
+
+static void set_bluetitle_theme(void)
+{
+	set_classic_theme();
+	DLG_COLOR(title,               COLOR_BLUE,   COLOR_WHITE, true);
+	DLG_COLOR(button_key_active,   COLOR_YELLOW, COLOR_BLUE,  true);
+	DLG_COLOR(button_label_active, COLOR_WHITE,  COLOR_BLUE,  true);
+	DLG_COLOR(searchbox_title,     COLOR_BLUE,   COLOR_WHITE, true);
+	DLG_COLOR(position_indicator,  COLOR_BLUE,   COLOR_WHITE, true);
+	DLG_COLOR(tag,                 COLOR_BLUE,   COLOR_WHITE, true);
+	DLG_COLOR(tag_key,             COLOR_BLUE,   COLOR_WHITE, true);
+
+}
+
+/*
+ * Select color theme
+ */
+static int set_theme(const char *theme)
+{
+	int use_color = 1;
+	if (!theme)
+		set_bluetitle_theme();
+	else if (strcmp(theme, "classic") == 0)
+		set_classic_theme();
+	else if (strcmp(theme, "bluetitle") == 0)
+		set_bluetitle_theme();
+	else if (strcmp(theme, "blackbg") == 0)
+		set_blackbg_theme();
+	else if (strcmp(theme, "mono") == 0)
+		use_color = 0;
+
+	return use_color;
+}
+
+static void init_one_color(struct dialog_color *color)
+{
+	static int pair = 0;
+
+	pair++;
+	init_pair(pair, color->fg, color->bg);
+	if (color->hl)
+		color->atr = A_BOLD | COLOR_PAIR(pair);
+	else
+		color->atr = COLOR_PAIR(pair);
+}
+
+static void init_dialog_colors(void)
+{
+	init_one_color(&dlg.screen);
+	init_one_color(&dlg.shadow);
+	init_one_color(&dlg.dialog);
+	init_one_color(&dlg.title);
+	init_one_color(&dlg.border);
+	init_one_color(&dlg.button_active);
+	init_one_color(&dlg.button_inactive);
+	init_one_color(&dlg.button_key_active);
+	init_one_color(&dlg.button_key_inactive);
+	init_one_color(&dlg.button_label_active);
+	init_one_color(&dlg.button_label_inactive);
+	init_one_color(&dlg.inputbox);
+	init_one_color(&dlg.inputbox_border);
+	init_one_color(&dlg.searchbox);
+	init_one_color(&dlg.searchbox_title);
+	init_one_color(&dlg.searchbox_border);
+	init_one_color(&dlg.position_indicator);
+	init_one_color(&dlg.menubox);
+	init_one_color(&dlg.menubox_border);
+	init_one_color(&dlg.item);
+	init_one_color(&dlg.item_selected);
+	init_one_color(&dlg.tag);
+	init_one_color(&dlg.tag_selected);
+	init_one_color(&dlg.tag_key);
+	init_one_color(&dlg.tag_key_selected);
+	init_one_color(&dlg.check);
+	init_one_color(&dlg.check_selected);
+	init_one_color(&dlg.uarrow);
+	init_one_color(&dlg.darrow);
+}
+
+/*
+ * Setup for color display
+ */
+static void color_setup(const char *theme)
+{
+	int use_color;
+
+	use_color = set_theme(theme);
+	if (use_color && has_colors()) {
+		start_color();
+		init_dialog_colors();
+	} else
+		set_mono_theme();
+}
+
+/*
+ * Set window to attribute 'attr'
+ */
+void attr_clear(WINDOW * win, int height, int width, chtype attr)
+{
+	int i, j;
+
+	wattrset(win, attr);
+	for (i = 0; i < height; i++) {
+		wmove(win, i, 0);
+		for (j = 0; j < width; j++)
+			waddch(win, ' ');
+	}
+	touchwin(win);
+}
+
+void dialog_clear(void)
+{
+	int lines, columns;
+
+	lines = getmaxy(stdscr);
+	columns = getmaxx(stdscr);
+
+	attr_clear(stdscr, lines, columns, dlg.screen.atr);
+	/* Display background title if it exists ... - SLH */
+	if (dlg.backtitle != NULL) {
+		int i, len = 0, skip = 0;
+		struct subtitle_list *pos;
+
+		wattrset(stdscr, dlg.screen.atr);
+		mvwaddstr(stdscr, 0, 1, (char *)dlg.backtitle);
+
+		for (pos = dlg.subtitles; pos != NULL; pos = pos->next) {
+			/* 3 is for the arrow and spaces */
+			len += strlen(pos->text) + 3;
+		}
+
+		wmove(stdscr, 1, 1);
+		if (len > columns - 2) {
+			const char *ellipsis = "[...] ";
+			waddstr(stdscr, ellipsis);
+			skip = len - (columns - 2 - strlen(ellipsis));
+		}
+
+		for (pos = dlg.subtitles; pos != NULL; pos = pos->next) {
+			if (skip == 0)
+				waddch(stdscr, ACS_RARROW);
+			else
+				skip--;
+
+			if (skip == 0)
+				waddch(stdscr, ' ');
+			else
+				skip--;
+
+			if (skip < strlen(pos->text)) {
+				waddstr(stdscr, pos->text + skip);
+				skip = 0;
+			} else
+				skip -= strlen(pos->text);
+
+			if (skip == 0)
+				waddch(stdscr, ' ');
+			else
+				skip--;
+		}
+
+		for (i = len + 1; i < columns - 1; i++)
+			waddch(stdscr, ACS_HLINE);
+	}
+	wnoutrefresh(stdscr);
+}
+
+/*
+ * Do some initialization for dialog
+ */
+int init_dialog(const char *backtitle)
+{
+	int height, width;
+
+	initscr();		/* Init curses */
+
+	/* Get current cursor position for signal handler in mconf.c */
+	getyx(stdscr, saved_y, saved_x);
+
+	getmaxyx(stdscr, height, width);
+	if (height < WINDOW_HEIGTH_MIN || width < WINDOW_WIDTH_MIN) {
+		endwin();
+		return -ERRDISPLAYTOOSMALL;
+	}
+
+	dlg.backtitle = backtitle;
+	color_setup(getenv("MENUCONFIG_COLOR"));
+
+	keypad(stdscr, TRUE);
+	cbreak();
+	noecho();
+	dialog_clear();
+
+	return 0;
+}
+
+void set_dialog_backtitle(const char *backtitle)
+{
+	dlg.backtitle = backtitle;
+}
+
+void set_dialog_subtitles(struct subtitle_list *subtitles)
+{
+	dlg.subtitles = subtitles;
+}
+
+/*
+ * End using dialog functions.
+ */
+void end_dialog(int x, int y)
+{
+	/* move cursor back to original position */
+	move(y, x);
+	refresh();
+	endwin();
+}
+
+/* Print the title of the dialog. Center the title and truncate
+ * tile if wider than dialog (- 2 chars).
+ **/
+void print_title(WINDOW *dialog, const char *title, int width)
+{
+	if (title) {
+		int tlen = MIN(width - 2, strlen(title));
+		wattrset(dialog, dlg.title.atr);
+		mvwaddch(dialog, 0, (width - tlen) / 2 - 1, ' ');
+		mvwaddnstr(dialog, 0, (width - tlen)/2, title, tlen);
+		waddch(dialog, ' ');
+	}
+}
+
+/*
+ * Print a string of text in a window, automatically wrap around to the
+ * next line if the string is too long to fit on one line. Newline
+ * characters '\n' are propperly processed.  We start on a new line
+ * if there is no room for@least 4 nonblanks following a double-space.
+ */
+void print_autowrap(WINDOW * win, const char *prompt, int width, int y, int x)
+{
+	int newl, cur_x, cur_y;
+	int prompt_len, room, wlen;
+	char tempstr[MAX_LEN + 1], *word, *sp, *sp2, *newline_separator = 0;
+
+	strcpy(tempstr, prompt);
+
+	prompt_len = strlen(tempstr);
+
+	if (prompt_len <= width - x * 2) {	/* If prompt is short */
+		wmove(win, y, (width - prompt_len) / 2);
+		waddstr(win, tempstr);
+	} else {
+		cur_x = x;
+		cur_y = y;
+		newl = 1;
+		word = tempstr;
+		while (word && *word) {
+			sp = strpbrk(word, "\n ");
+			if (sp && *sp == '\n')
+				newline_separator = sp;
+
+			if (sp)
+				*sp++ = 0;
+
+			/* Wrap to next line if either the word does not fit,
+			   or it is the first word of a new sentence, and it is
+			   short, and the next word does not fit. */
+			room = width - cur_x;
+			wlen = strlen(word);
+			if (wlen > room ||
+			    (newl && wlen < 4 && sp
+			     && wlen + 1 + strlen(sp) > room
+			     && (!(sp2 = strpbrk(sp, "\n "))
+				 || wlen + 1 + (sp2 - sp) > room))) {
+				cur_y++;
+				cur_x = x;
+			}
+			wmove(win, cur_y, cur_x);
+			waddstr(win, word);
+			getyx(win, cur_y, cur_x);
+
+			/* Move to the next line if the word separator was a newline */
+			if (newline_separator) {
+				cur_y++;
+				cur_x = x;
+				newline_separator = 0;
+			} else
+				cur_x++;
+
+			if (sp && *sp == ' ') {
+				cur_x++;	/* double space */
+				while (*++sp == ' ') ;
+				newl = 1;
+			} else
+				newl = 0;
+			word = sp;
+		}
+	}
+}
+
+/*
+ * Print a button
+ */
+void print_button(WINDOW * win, const char *label, int y, int x, int selected)
+{
+	int i, temp;
+
+	wmove(win, y, x);
+	wattrset(win, selected ? dlg.button_active.atr
+		 : dlg.button_inactive.atr);
+	waddstr(win, "<");
+	temp = strspn(label, " ");
+	label += temp;
+	wattrset(win, selected ? dlg.button_label_active.atr
+		 : dlg.button_label_inactive.atr);
+	for (i = 0; i < temp; i++)
+		waddch(win, ' ');
+	wattrset(win, selected ? dlg.button_key_active.atr
+		 : dlg.button_key_inactive.atr);
+	waddch(win, label[0]);
+	wattrset(win, selected ? dlg.button_label_active.atr
+		 : dlg.button_label_inactive.atr);
+	waddstr(win, (char *)label + 1);
+	wattrset(win, selected ? dlg.button_active.atr
+		 : dlg.button_inactive.atr);
+	waddstr(win, ">");
+	wmove(win, y, x + temp + 1);
+}
+
+/*
+ * Draw a rectangular box with line drawing characters
+ */
+void
+draw_box(WINDOW * win, int y, int x, int height, int width,
+	 chtype box, chtype border)
+{
+	int i, j;
+
+	wattrset(win, 0);
+	for (i = 0; i < height; i++) {
+		wmove(win, y + i, x);
+		for (j = 0; j < width; j++)
+			if (!i && !j)
+				waddch(win, border | ACS_ULCORNER);
+			else if (i == height - 1 && !j)
+				waddch(win, border | ACS_LLCORNER);
+			else if (!i && j == width - 1)
+				waddch(win, box | ACS_URCORNER);
+			else if (i == height - 1 && j == width - 1)
+				waddch(win, box | ACS_LRCORNER);
+			else if (!i)
+				waddch(win, border | ACS_HLINE);
+			else if (i == height - 1)
+				waddch(win, box | ACS_HLINE);
+			else if (!j)
+				waddch(win, border | ACS_VLINE);
+			else if (j == width - 1)
+				waddch(win, box | ACS_VLINE);
+			else
+				waddch(win, box | ' ');
+	}
+}
+
+/*
+ * Draw shadows along the right and bottom edge to give a more 3D look
+ * to the boxes
+ */
+void draw_shadow(WINDOW * win, int y, int x, int height, int width)
+{
+	int i;
+
+	if (has_colors()) {	/* Whether terminal supports color? */
+		wattrset(win, dlg.shadow.atr);
+		wmove(win, y + height, x + 2);
+		for (i = 0; i < width; i++)
+			waddch(win, winch(win) & A_CHARTEXT);
+		for (i = y + 1; i < y + height + 1; i++) {
+			wmove(win, i, x + width);
+			waddch(win, winch(win) & A_CHARTEXT);
+			waddch(win, winch(win) & A_CHARTEXT);
+		}
+		wnoutrefresh(win);
+	}
+}
+
+/*
+ *  Return the position of the first alphabetic character in a string.
+ */
+int first_alpha(const char *string, const char *exempt)
+{
+	int i, in_paren = 0, c;
+
+	for (i = 0; i < strlen(string); i++) {
+		c = tolower(string[i]);
+
+		if (strchr("<[(", c))
+			++in_paren;
+		if (strchr(">])", c) && in_paren > 0)
+			--in_paren;
+
+		if ((!in_paren) && isalpha(c) && strchr(exempt, c) == 0)
+			return i;
+	}
+
+	return 0;
+}
+
+/*
+ * ncurses uses ESC to detect escaped char sequences. This resutl in
+ * a small timeout before ESC is actually delivered to the application.
+ * lxdialog suggest <ESC> <ESC> which is correctly translated to two
+ * times esc. But then we need to ignore the second esc to avoid stepping
+ * out one menu too much. Filter away all escaped key sequences since
+ * keypad(FALSE) turn off ncurses support for escape sequences - and thats
+ * needed to make notimeout() do as expected.
+ */
+int on_key_esc(WINDOW *win)
+{
+	int key;
+	int key2;
+	int key3;
+
+	nodelay(win, TRUE);
+	keypad(win, FALSE);
+	key = wgetch(win);
+	key2 = wgetch(win);
+	do {
+		key3 = wgetch(win);
+	} while (key3 != ERR);
+	nodelay(win, FALSE);
+	keypad(win, TRUE);
+	if (key == KEY_ESC && key2 == ERR)
+		return KEY_ESC;
+	else if (key != ERR && key != KEY_ESC && key2 == ERR)
+		ungetch(key);
+
+	return -1;
+}
+
+/* redraw screen in new size */
+int on_key_resize(void)
+{
+	dialog_clear();
+	return KEY_RESIZE;
+}
+
+struct dialog_list *item_cur;
+struct dialog_list item_nil;
+struct dialog_list *item_head;
+
+void item_reset(void)
+{
+	struct dialog_list *p, *next;
+
+	for (p = item_head; p; p = next) {
+		next = p->next;
+		free(p);
+	}
+	item_head = NULL;
+	item_cur = &item_nil;
+}
+
+void item_make(const char *fmt, ...)
+{
+	va_list ap;
+	struct dialog_list *p = malloc(sizeof(*p));
+
+	if (item_head)
+		item_cur->next = p;
+	else
+		item_head = p;
+	item_cur = p;
+	memset(p, 0, sizeof(*p));
+
+	va_start(ap, fmt);
+	vsnprintf(item_cur->node.str, sizeof(item_cur->node.str), fmt, ap);
+	va_end(ap);
+}
+
+void item_add_str(const char *fmt, ...)
+{
+	va_list ap;
+        size_t avail;
+
+	avail = sizeof(item_cur->node.str) - strlen(item_cur->node.str);
+
+	va_start(ap, fmt);
+	vsnprintf(item_cur->node.str + strlen(item_cur->node.str),
+		  avail, fmt, ap);
+	item_cur->node.str[sizeof(item_cur->node.str) - 1] = '\0';
+	va_end(ap);
+}
+
+void item_set_tag(char tag)
+{
+	item_cur->node.tag = tag;
+}
+void item_set_data(void *ptr)
+{
+	item_cur->node.data = ptr;
+}
+
+void item_set_selected(int val)
+{
+	item_cur->node.selected = val;
+}
+
+int item_activate_selected(void)
+{
+	item_foreach()
+		if (item_is_selected())
+			return 1;
+	return 0;
+}
+
+void *item_data(void)
+{
+	return item_cur->node.data;
+}
+
+char item_tag(void)
+{
+	return item_cur->node.tag;
+}
+
+int item_count(void)
+{
+	int n = 0;
+	struct dialog_list *p;
+
+	for (p = item_head; p; p = p->next)
+		n++;
+	return n;
+}
+
+void item_set(int n)
+{
+	int i = 0;
+	item_foreach()
+		if (i++ == n)
+			return;
+}
+
+int item_n(void)
+{
+	int n = 0;
+	struct dialog_list *p;
+
+	for (p = item_head; p; p = p->next) {
+		if (p == item_cur)
+			return n;
+		n++;
+	}
+	return 0;
+}
+
+const char *item_str(void)
+{
+	return item_cur->node.str;
+}
+
+int item_is_selected(void)
+{
+	return (item_cur->node.selected != 0);
+}
+
+int item_is_tag(char tag)
+{
+	return (item_cur->node.tag == tag);
+}
diff --git a/scripts/kconfig/lxdialog/yesno.c b/scripts/kconfig/lxdialog/yesno.c
new file mode 100644
index 0000000..676fb2f
--- /dev/null
+++ b/scripts/kconfig/lxdialog/yesno.c
@@ -0,0 +1,114 @@
+/*
+ *  yesno.c -- implements the yes/no box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836 at cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcap at cfw.com)
+ *
+ *  This program is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU General Public License
+ *  as published by the Free Software Foundation; either version 2
+ *  of the License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "dialog.h"
+
+/*
+ * Display termination buttons
+ */
+static void print_buttons(WINDOW * dialog, int height, int width, int selected)
+{
+	int x = width / 2 - 10;
+	int y = height - 2;
+
+	print_button(dialog, gettext(" Yes "), y, x, selected == 0);
+	print_button(dialog, gettext("  No  "), y, x + 13, selected == 1);
+
+	wmove(dialog, y, x + 1 + 13 * selected);
+	wrefresh(dialog);
+}
+
+/*
+ * Display a dialog box with two buttons - Yes and No
+ */
+int dialog_yesno(const char *title, const char *prompt, int height, int width)
+{
+	int i, x, y, key = 0, button = 0;
+	WINDOW *dialog;
+
+do_resize:
+	if (getmaxy(stdscr) < (height + YESNO_HEIGTH_MIN))
+		return -ERRDISPLAYTOOSMALL;
+	if (getmaxx(stdscr) < (width + YESNO_WIDTH_MIN))
+		return -ERRDISPLAYTOOSMALL;
+
+	/* center dialog box on screen */
+	x = (getmaxx(stdscr) - width) / 2;
+	y = (getmaxy(stdscr) - height) / 2;
+
+	draw_shadow(stdscr, y, x, height, width);
+
+	dialog = newwin(height, width, y, x);
+	keypad(dialog, TRUE);
+
+	draw_box(dialog, 0, 0, height, width,
+		 dlg.dialog.atr, dlg.border.atr);
+	wattrset(dialog, dlg.border.atr);
+	mvwaddch(dialog, height - 3, 0, ACS_LTEE);
+	for (i = 0; i < width - 2; i++)
+		waddch(dialog, ACS_HLINE);
+	wattrset(dialog, dlg.dialog.atr);
+	waddch(dialog, ACS_RTEE);
+
+	print_title(dialog, title, width);
+
+	wattrset(dialog, dlg.dialog.atr);
+	print_autowrap(dialog, prompt, width - 2, 1, 3);
+
+	print_buttons(dialog, height, width, 0);
+
+	while (key != KEY_ESC) {
+		key = wgetch(dialog);
+		switch (key) {
+		case 'Y':
+		case 'y':
+			delwin(dialog);
+			return 0;
+		case 'N':
+		case 'n':
+			delwin(dialog);
+			return 1;
+
+		case TAB:
+		case KEY_LEFT:
+		case KEY_RIGHT:
+			button = ((key == KEY_LEFT ? --button : ++button) < 0) ? 1 : (button > 1 ? 0 : button);
+
+			print_buttons(dialog, height, width, button);
+			wrefresh(dialog);
+			break;
+		case ' ':
+		case '\n':
+			delwin(dialog);
+			return button;
+		case KEY_ESC:
+			key = on_key_esc(dialog);
+			break;
+		case KEY_RESIZE:
+			delwin(dialog);
+			on_key_resize();
+			goto do_resize;
+		}
+	}
+
+	delwin(dialog);
+	return key;		/* ESC pressed */
+}
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
new file mode 100644
index 0000000..59184bb
--- /dev/null
+++ b/scripts/kconfig/mconf.c
@@ -0,0 +1,1037 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ *
+ * Introduced single menu mode (show all sub-menus in one large tree).
+ * 2002-11-06 Petr Baudis <pasky@ucw.cz>
+ *
+ * i18n, 2005, Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+ */
+
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+#include <signal.h>
+#include <unistd.h>
+#include <locale.h>
+
+#include "lkc.h"
+#include "lxdialog/dialog.h"
+
+static const char mconf_readme[] = N_(
+"Overview\n"
+"--------\n"
+"This interface lets you select features and parameters for the build.\n"
+"Features can either be built-in, modularized, or ignored. Parameters\n"
+"must be entered in as decimal or hexadecimal numbers or text.\n"
+"\n"
+"Menu items beginning with following braces represent features that\n"
+"  [ ] can be built in or removed\n"
+"  < > can be built in, modularized or removed\n"
+"  { } can be built in or modularized (selected by other feature)\n"
+"  - - are selected by other feature,\n"
+"while *, M or whitespace inside braces means to build in, build as\n"
+"a module or to exclude the feature respectively.\n"
+"\n"
+"To change any of these features, highlight it with the cursor\n"
+"keys and press <Y> to build it in, <M> to make it a module or\n"
+"<N> to remove it.  You may also press the <Space Bar> to cycle\n"
+"through the available options (i.e. Y->N->M->Y).\n"
+"\n"
+"Some additional keyboard hints:\n"
+"\n"
+"Menus\n"
+"----------\n"
+"o  Use the Up/Down arrow keys (cursor keys) to highlight the item you\n"
+"   wish to change or the submenu you wish to select and press <Enter>.\n"
+"   Submenus are designated by \"--->\", empty ones by \"----\".\n"
+"\n"
+"   Shortcut: Press the option's highlighted letter (hotkey).\n"
+"             Pressing a hotkey more than once will sequence\n"
+"             through all visible items which use that hotkey.\n"
+"\n"
+"   You may also use the <PAGE UP> and <PAGE DOWN> keys to scroll\n"
+"   unseen options into view.\n"
+"\n"
+"o  To exit a menu use the cursor keys to highlight the <Exit> button\n"
+"   and press <ENTER>.\n"
+"\n"
+"   Shortcut: Press <ESC><ESC> or <E> or <X> if there is no hotkey\n"
+"             using those letters.  You may press a single <ESC>, but\n"
+"             there is a delayed response which you may find annoying.\n"
+"\n"
+"   Also, the <TAB> and cursor keys will cycle between <Select>,\n"
+"   <Exit>, <Help>, <Save>, and <Load>.\n"
+"\n"
+"o  To get help with an item, use the cursor keys to highlight <Help>\n"
+"   and press <ENTER>.\n"
+"\n"
+"   Shortcut: Press <H> or <?>.\n"
+"\n"
+"o  To toggle the display of hidden options, press <Z>.\n"
+"\n"
+"\n"
+"Radiolists  (Choice lists)\n"
+"-----------\n"
+"o  Use the cursor keys to select the option you wish to set and press\n"
+"   <S> or the <SPACE BAR>.\n"
+"\n"
+"   Shortcut: Press the first letter of the option you wish to set then\n"
+"             press <S> or <SPACE BAR>.\n"
+"\n"
+"o  To see available help for the item, use the cursor keys to highlight\n"
+"   <Help> and Press <ENTER>.\n"
+"\n"
+"   Shortcut: Press <H> or <?>.\n"
+"\n"
+"   Also, the <TAB> and cursor keys will cycle between <Select> and\n"
+"   <Help>\n"
+"\n"
+"\n"
+"Data Entry\n"
+"-----------\n"
+"o  Enter the requested information and press <ENTER>\n"
+"   If you are entering hexadecimal values, it is not necessary to\n"
+"   add the '0x' prefix to the entry.\n"
+"\n"
+"o  For help, use the <TAB> or cursor keys to highlight the help option\n"
+"   and press <ENTER>.  You can try <TAB><H> as well.\n"
+"\n"
+"\n"
+"Text Box    (Help Window)\n"
+"--------\n"
+"o  Use the cursor keys to scroll up/down/left/right.  The VI editor\n"
+"   keys h,j,k,l function here as do <u>, <d>, <SPACE BAR> and <B> for\n"
+"   those who are familiar with less and lynx.\n"
+"\n"
+"o  Press <E>, <X>, <q>, <Enter> or <Esc><Esc> to exit.\n"
+"\n"
+"\n"
+"Alternate Configuration Files\n"
+"-----------------------------\n"
+"Menuconfig supports the use of alternate configuration files for\n"
+"those who, for various reasons, find it necessary to switch\n"
+"between different configurations.\n"
+"\n"
+"The <Save> button will let you save the current configuration to\n"
+"a file of your choosing.  Use the <Load> button to load a previously\n"
+"saved alternate configuration.\n"
+"\n"
+"Even if you don't use alternate configuration files, but you find\n"
+"during a Menuconfig session that you have completely messed up your\n"
+"settings, you may use the <Load> button to restore your previously\n"
+"saved settings from \".config\" without restarting Menuconfig.\n"
+"\n"
+"Other information\n"
+"-----------------\n"
+"If you use Menuconfig in an XTERM window, make sure you have your\n"
+"$TERM variable set to point to an xterm definition which supports\n"
+"color.  Otherwise, Menuconfig will look rather bad.  Menuconfig will\n"
+"not display correctly in an RXVT window because rxvt displays only one\n"
+"intensity of color, bright.\n"
+"\n"
+"Menuconfig will display larger menus on screens or xterms which are\n"
+"set to display more than the standard 25 row by 80 column geometry.\n"
+"In order for this to work, the \"stty size\" command must be able to\n"
+"display the screen's current row and column geometry.  I STRONGLY\n"
+"RECOMMEND that you make sure you do NOT have the shell variables\n"
+"LINES and COLUMNS exported into your environment.  Some distributions\n"
+"export those variables via /etc/profile.  Some ncurses programs can\n"
+"become confused when those variables (LINES & COLUMNS) don't reflect\n"
+"the true screen size.\n"
+"\n"
+"Optional personality available\n"
+"------------------------------\n"
+"If you prefer to have all of the options listed in a single menu,\n"
+"rather than the default multimenu hierarchy, run the menuconfig with\n"
+"MENUCONFIG_MODE environment variable set to single_menu. Example:\n"
+"\n"
+"make MENUCONFIG_MODE=single_menu menuconfig\n"
+"\n"
+"<Enter> will then unroll the appropriate category, or enfold it if it\n"
+"is already unrolled.\n"
+"\n"
+"Note that this mode can eventually be a little more CPU expensive\n"
+"(especially with a larger number of unrolled categories) than the\n"
+"default mode.\n"
+"\n"
+"Different color themes available\n"
+"--------------------------------\n"
+"It is possible to select different color themes using the variable\n"
+"MENUCONFIG_COLOR. To select a theme use:\n"
+"\n"
+"make MENUCONFIG_COLOR=<theme> menuconfig\n"
+"\n"
+"Available themes are\n"
+" mono       => selects colors suitable for monochrome displays\n"
+" blackbg    => selects a color scheme with black background\n"
+" classic    => theme with blue background. The classic look\n"
+" bluetitle  => an LCD friendly version of classic. (default)\n"
+"\n"),
+menu_instructions[] = N_(
+	"Arrow keys navigate the menu.  "
+	"<Enter> selects submenus ---> (or empty submenus ----).  "
+	"Highlighted letters are hotkeys.  "
+	"Pressing <Y> includes, <N> excludes, <M> modularizes features.  "
+	"Press <Esc><Esc> to exit, <?> for Help, </> for Search.  "
+	"Legend: [*] built-in  [ ] excluded  <M> module  < > module capable"),
+radiolist_instructions[] = N_(
+	"Use the arrow keys to navigate this window or "
+	"press the hotkey of the item you wish to select "
+	"followed by the <SPACE BAR>. "
+	"Press <?> for additional information about this option."),
+inputbox_instructions_int[] = N_(
+	"Please enter a decimal value. "
+	"Fractions will not be accepted.  "
+	"Use the <TAB> key to move from the input field to the buttons below it."),
+inputbox_instructions_hex[] = N_(
+	"Please enter a hexadecimal value. "
+	"Use the <TAB> key to move from the input field to the buttons below it."),
+inputbox_instructions_string[] = N_(
+	"Please enter a string value. "
+	"Use the <TAB> key to move from the input field to the buttons below it."),
+setmod_text[] = N_(
+	"This feature depends on another which has been configured as a module.\n"
+	"As a result, this feature will be built as a module."),
+load_config_text[] = N_(
+	"Enter the name of the configuration file you wish to load.  "
+	"Accept the name shown to restore the configuration you "
+	"last retrieved.  Leave blank to abort."),
+load_config_help[] = N_(
+	"\n"
+	"For various reasons, one may wish to keep several different\n"
+	"configurations available on a single machine.\n"
+	"\n"
+	"If you have saved a previous configuration in a file other than the\n"
+	"default one, entering its name here will allow you to modify that\n"
+	"configuration.\n"
+	"\n"
+	"If you are uncertain, then you have probably never used alternate\n"
+	"configuration files. You should therefore leave this blank to abort.\n"),
+save_config_text[] = N_(
+	"Enter a filename to which this configuration should be saved "
+	"as an alternate.  Leave blank to abort."),
+save_config_help[] = N_(
+	"\n"
+	"For various reasons, one may wish to keep different configurations\n"
+	"available on a single machine.\n"
+	"\n"
+	"Entering a file name here will allow you to later retrieve, modify\n"
+	"and use the current configuration as an alternate to whatever\n"
+	"configuration options you have selected at that time.\n"
+	"\n"
+	"If you are uncertain what all this means then you should probably\n"
+	"leave this blank.\n"),
+search_help[] = N_(
+	"\n"
+	"Search for symbols and display their relations.\n"
+	"Regular expressions are allowed.\n"
+	"Example: search for \"^FOO\"\n"
+	"Result:\n"
+	"-----------------------------------------------------------------\n"
+	"Symbol: FOO [=m]\n"
+	"Type  : tristate\n"
+	"Prompt: Foo bus is used to drive the bar HW\n"
+	"  Location:\n"
+	"    -> Bus options (PCI, PCMCIA, EISA, ISA)\n"
+	"      -> PCI support (PCI [=y])\n"
+	"(1)     -> PCI access mode (<choice> [=y])\n"
+	"  Defined at drivers/pci/Kconfig:47\n"
+	"  Depends on: X86_LOCAL_APIC && X86_IO_APIC || IA64\n"
+	"  Selects: LIBCRC32\n"
+	"  Selected by: BAR [=n]\n"
+	"-----------------------------------------------------------------\n"
+	"o The line 'Type:' shows the type of the configuration option for\n"
+	"  this symbol (boolean, tristate, string, ...)\n"
+	"o The line 'Prompt:' shows the text used in the menu structure for\n"
+	"  this symbol\n"
+	"o The 'Defined at' line tells at what file / line number the symbol\n"
+	"  is defined\n"
+	"o The 'Depends on:' line tells what symbols need to be defined for\n"
+	"  this symbol to be visible in the menu (selectable)\n"
+	"o The 'Location:' lines tells where in the menu structure this symbol\n"
+	"  is located\n"
+	"    A location followed by a [=y] indicates that this is a\n"
+	"    selectable menu item - and the current value is displayed inside\n"
+	"    brackets.\n"
+	"    Press the key in the (#) prefix to jump directly to that\n"
+	"    location. You will be returned to the current search results\n"
+	"    after exiting this new menu.\n"
+	"o The 'Selects:' line tells what symbols will be automatically\n"
+	"  selected if this symbol is selected (y or m)\n"
+	"o The 'Selected by' line tells what symbol has selected this symbol\n"
+	"\n"
+	"Only relevant lines are shown.\n"
+	"\n\n"
+	"Search examples:\n"
+	"Examples: USB	=> find all symbols containing USB\n"
+	"          ^USB => find all symbols starting with USB\n"
+	"          USB$ => find all symbols ending with USB\n"
+	"\n");
+
+static int indent;
+static struct menu *current_menu;
+static int child_count;
+static int single_menu_mode;
+static int show_all_options;
+static int save_and_exit;
+
+static void conf(struct menu *menu, struct menu *active_menu);
+static void conf_choice(struct menu *menu);
+static void conf_string(struct menu *menu);
+static void conf_load(void);
+static void conf_save(void);
+static int show_textbox_ext(const char *title, char *text, int r, int c,
+			    int *keys, int *vscroll, int *hscroll,
+			    update_text_fn update_text, void *data);
+static void show_textbox(const char *title, const char *text, int r, int c);
+static void show_helptext(const char *title, const char *text);
+static void show_help(struct menu *menu);
+
+static char filename[PATH_MAX+1];
+static void set_config_filename(const char *config_filename)
+{
+	static char menu_backtitle[PATH_MAX+128];
+	int size;
+
+	size = snprintf(menu_backtitle, sizeof(menu_backtitle),
+	                "%s - %s", config_filename, rootmenu.prompt->text);
+	if (size >= sizeof(menu_backtitle))
+		menu_backtitle[sizeof(menu_backtitle)-1] = '\0';
+	set_dialog_backtitle(menu_backtitle);
+
+	size = snprintf(filename, sizeof(filename), "%s", config_filename);
+	if (size >= sizeof(filename))
+		filename[sizeof(filename)-1] = '\0';
+}
+
+struct subtitle_part {
+	struct list_head entries;
+	const char *text;
+};
+static LIST_HEAD(trail);
+
+static struct subtitle_list *subtitles;
+static void set_subtitle(void)
+{
+	struct subtitle_part *sp;
+	struct subtitle_list *pos, *tmp;
+
+	for (pos = subtitles; pos != NULL; pos = tmp) {
+		tmp = pos->next;
+		free(pos);
+	}
+
+	subtitles = NULL;
+	list_for_each_entry(sp, &trail, entries) {
+		if (sp->text) {
+			if (pos) {
+				pos->next = xcalloc(sizeof(*pos), 1);
+				pos = pos->next;
+			} else {
+				subtitles = pos = xcalloc(sizeof(*pos), 1);
+			}
+			pos->text = sp->text;
+		}
+	}
+
+	set_dialog_subtitles(subtitles);
+}
+
+static void reset_subtitle(void)
+{
+	struct subtitle_list *pos, *tmp;
+
+	for (pos = subtitles; pos != NULL; pos = tmp) {
+		tmp = pos->next;
+		free(pos);
+	}
+	subtitles = NULL;
+	set_dialog_subtitles(subtitles);
+}
+
+struct search_data {
+	struct list_head *head;
+	struct menu **targets;
+	int *keys;
+};
+
+static void update_text(char *buf, size_t start, size_t end, void *_data)
+{
+	struct search_data *data = _data;
+	struct jump_key *pos;
+	int k = 0;
+
+	list_for_each_entry(pos, data->head, entries) {
+		if (pos->offset >= start && pos->offset < end) {
+			char header[4];
+
+			if (k < JUMP_NB) {
+				int key = '0' + (pos->index % JUMP_NB) + 1;
+
+				sprintf(header, "(%c)", key);
+				data->keys[k] = key;
+				data->targets[k] = pos->target;
+				k++;
+			} else {
+				sprintf(header, "   ");
+			}
+
+			memcpy(buf + pos->offset, header, sizeof(header) - 1);
+		}
+	}
+	data->keys[k] = 0;
+}
+
+static void search_conf(void)
+{
+	struct symbol **sym_arr;
+	struct gstr res;
+	struct gstr title;
+	char *dialog_input;
+	int dres, vscroll = 0, hscroll = 0;
+	bool again;
+	struct gstr sttext;
+	struct subtitle_part stpart;
+
+	title = str_new();
+	str_printf( &title, _("Enter (sub)string or regexp to search for "
+			      "(with or without \"%s\")"), CONFIG_);
+
+again:
+	dialog_clear();
+	dres = dialog_inputbox(_("Search Configuration Parameter"),
+			      str_get(&title),
+			      10, 75, "");
+	switch (dres) {
+	case 0:
+		break;
+	case 1:
+		show_helptext(_("Search Configuration"), search_help);
+		goto again;
+	default:
+		str_free(&title);
+		return;
+	}
+
+	/* strip the prefix if necessary */
+	dialog_input = dialog_input_result;
+	if (strncasecmp(dialog_input_result, CONFIG_, strlen(CONFIG_)) == 0)
+		dialog_input += strlen(CONFIG_);
+
+	sttext = str_new();
+	str_printf(&sttext, "Search (%s)", dialog_input_result);
+	stpart.text = str_get(&sttext);
+	list_add_tail(&stpart.entries, &trail);
+
+	sym_arr = sym_re_search(dialog_input);
+	do {
+		LIST_HEAD(head);
+		struct menu *targets[JUMP_NB];
+		int keys[JUMP_NB + 1], i;
+		struct search_data data = {
+			.head = &head,
+			.targets = targets,
+			.keys = keys,
+		};
+		struct jump_key *pos, *tmp;
+
+		res = get_relations_str(sym_arr, &head);
+		set_subtitle();
+		dres = show_textbox_ext(_("Search Results"), (char *)
+					str_get(&res), 0, 0, keys, &vscroll,
+					&hscroll, &update_text, (void *)
+					&data);
+		again = false;
+		for (i = 0; i < JUMP_NB && keys[i]; i++)
+			if (dres == keys[i]) {
+				conf(targets[i]->parent, targets[i]);
+				again = true;
+			}
+		str_free(&res);
+		list_for_each_entry_safe(pos, tmp, &head, entries)
+			free(pos);
+	} while (again);
+	free(sym_arr);
+	str_free(&title);
+	list_del(trail.prev);
+	str_free(&sttext);
+}
+
+static void build_conf(struct menu *menu)
+{
+	struct symbol *sym;
+	struct property *prop;
+	struct menu *child;
+	int type, tmp, doint = 2;
+	tristate val;
+	char ch;
+	bool visible;
+
+	/*
+	 * note: menu_is_visible() has side effect that it will
+	 * recalc the value of the symbol.
+	 */
+	visible = menu_is_visible(menu);
+	if (show_all_options && !menu_has_prompt(menu))
+		return;
+	else if (!show_all_options && !visible)
+		return;
+
+	sym = menu->sym;
+	prop = menu->prompt;
+	if (!sym) {
+		if (prop && menu != current_menu) {
+			const char *prompt = menu_get_prompt(menu);
+			switch (prop->type) {
+			case P_MENU:
+				child_count++;
+				prompt = _(prompt);
+				if (single_menu_mode) {
+					item_make("%s%*c%s",
+						  menu->data ? "-->" : "++>",
+						  indent + 1, ' ', prompt);
+				} else
+					item_make("   %*c%s  %s",
+						  indent + 1, ' ', prompt,
+						  menu_is_empty(menu) ? "----" : "--->");
+				item_set_tag('m');
+				item_set_data(menu);
+				if (single_menu_mode && menu->data)
+					goto conf_childs;
+				return;
+			case P_COMMENT:
+				if (prompt) {
+					child_count++;
+					item_make("   %*c*** %s ***", indent + 1, ' ', _(prompt));
+					item_set_tag(':');
+					item_set_data(menu);
+				}
+				break;
+			default:
+				if (prompt) {
+					child_count++;
+					item_make("---%*c%s", indent + 1, ' ', _(prompt));
+					item_set_tag(':');
+					item_set_data(menu);
+				}
+			}
+		} else
+			doint = 0;
+		goto conf_childs;
+	}
+
+	type = sym_get_type(sym);
+	if (sym_is_choice(sym)) {
+		struct symbol *def_sym = sym_get_choice_value(sym);
+		struct menu *def_menu = NULL;
+
+		child_count++;
+		for (child = menu->list; child; child = child->next) {
+			if (menu_is_visible(child) && child->sym == def_sym)
+				def_menu = child;
+		}
+
+		val = sym_get_tristate_value(sym);
+		if (sym_is_changable(sym)) {
+			switch (type) {
+			case S_BOOLEAN:
+				item_make("[%c]", val == no ? ' ' : '*');
+				break;
+			case S_TRISTATE:
+				switch (val) {
+				case yes: ch = '*'; break;
+				case mod: ch = 'M'; break;
+				default:  ch = ' '; break;
+				}
+				item_make("<%c>", ch);
+				break;
+			}
+			item_set_tag('t');
+			item_set_data(menu);
+		} else {
+			item_make("   ");
+			item_set_tag(def_menu ? 't' : ':');
+			item_set_data(menu);
+		}
+
+		item_add_str("%*c%s", indent + 1, ' ', _(menu_get_prompt(menu)));
+		if (val == yes) {
+			if (def_menu) {
+				item_add_str(" (%s)", _(menu_get_prompt(def_menu)));
+				item_add_str("  --->");
+				if (def_menu->list) {
+					indent += 2;
+					build_conf(def_menu);
+					indent -= 2;
+				}
+			}
+			return;
+		}
+	} else {
+		if (menu == current_menu) {
+			item_make("---%*c%s", indent + 1, ' ', _(menu_get_prompt(menu)));
+			item_set_tag(':');
+			item_set_data(menu);
+			goto conf_childs;
+		}
+		child_count++;
+		val = sym_get_tristate_value(sym);
+		if (sym_is_choice_value(sym) && val == yes) {
+			item_make("   ");
+			item_set_tag(':');
+			item_set_data(menu);
+		} else {
+			switch (type) {
+			case S_BOOLEAN:
+				if (sym_is_changable(sym))
+					item_make("[%c]", val == no ? ' ' : '*');
+				else
+					item_make("-%c-", val == no ? ' ' : '*');
+				item_set_tag('t');
+				item_set_data(menu);
+				break;
+			case S_TRISTATE:
+				switch (val) {
+				case yes: ch = '*'; break;
+				case mod: ch = 'M'; break;
+				default:  ch = ' '; break;
+				}
+				if (sym_is_changable(sym)) {
+					if (sym->rev_dep.tri == mod)
+						item_make("{%c}", ch);
+					else
+						item_make("<%c>", ch);
+				} else
+					item_make("-%c-", ch);
+				item_set_tag('t');
+				item_set_data(menu);
+				break;
+			default:
+				tmp = 2 + strlen(sym_get_string_value(sym)); /* () = 2 */
+				item_make("(%s)", sym_get_string_value(sym));
+				tmp = indent - tmp + 4;
+				if (tmp < 0)
+					tmp = 0;
+				item_add_str("%*c%s%s", tmp, ' ', _(menu_get_prompt(menu)),
+					     (sym_has_value(sym) || !sym_is_changable(sym)) ?
+					     "" : _(" (NEW)"));
+				item_set_tag('s');
+				item_set_data(menu);
+				goto conf_childs;
+			}
+		}
+		item_add_str("%*c%s%s", indent + 1, ' ', _(menu_get_prompt(menu)),
+			  (sym_has_value(sym) || !sym_is_changable(sym)) ?
+			  "" : _(" (NEW)"));
+		if (menu->prompt->type == P_MENU) {
+			item_add_str("  %s", menu_is_empty(menu) ? "----" : "--->");
+			return;
+		}
+	}
+
+conf_childs:
+	indent += doint;
+	for (child = menu->list; child; child = child->next)
+		build_conf(child);
+	indent -= doint;
+}
+
+static void conf(struct menu *menu, struct menu *active_menu)
+{
+	struct menu *submenu;
+	const char *prompt = menu_get_prompt(menu);
+	struct subtitle_part stpart;
+	struct symbol *sym;
+	int res;
+	int s_scroll = 0;
+
+	if (menu != &rootmenu)
+		stpart.text = menu_get_prompt(menu);
+	else
+		stpart.text = NULL;
+	list_add_tail(&stpart.entries, &trail);
+
+	while (1) {
+		item_reset();
+		current_menu = menu;
+		build_conf(menu);
+		if (!child_count)
+			break;
+		set_subtitle();
+		dialog_clear();
+		res = dialog_menu(prompt ? _(prompt) : _("Main Menu"),
+				  _(menu_instructions),
+				  active_menu, &s_scroll);
+		if (res == 1 || res == KEY_ESC || res == -ERRDISPLAYTOOSMALL)
+			break;
+		if (item_count() != 0) {
+			if (!item_activate_selected())
+				continue;
+			if (!item_tag())
+				continue;
+		}
+		submenu = item_data();
+		active_menu = item_data();
+		if (submenu)
+			sym = submenu->sym;
+		else
+			sym = NULL;
+
+		switch (res) {
+		case 0:
+			switch (item_tag()) {
+			case 'm':
+				if (single_menu_mode)
+					submenu->data = (void *) (long) !submenu->data;
+				else
+					conf(submenu, NULL);
+				break;
+			case 't':
+				if (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)
+					conf_choice(submenu);
+				else if (submenu->prompt->type == P_MENU)
+					conf(submenu, NULL);
+				break;
+			case 's':
+				conf_string(submenu);
+				break;
+			}
+			break;
+		case 2:
+			if (sym)
+				show_help(submenu);
+			else {
+				reset_subtitle();
+				show_helptext(_("README"), _(mconf_readme));
+			}
+			break;
+		case 3:
+			reset_subtitle();
+			conf_save();
+			break;
+		case 4:
+			reset_subtitle();
+			conf_load();
+			break;
+		case 5:
+			if (item_is_tag('t')) {
+				if (sym_set_tristate_value(sym, yes))
+					break;
+				if (sym_set_tristate_value(sym, mod))
+					show_textbox(NULL, setmod_text, 6, 74);
+			}
+			break;
+		case 6:
+			if (item_is_tag('t'))
+				sym_set_tristate_value(sym, no);
+			break;
+		case 7:
+			if (item_is_tag('t'))
+				sym_set_tristate_value(sym, mod);
+			break;
+		case 8:
+			if (item_is_tag('t'))
+				sym_toggle_tristate_value(sym);
+			else if (item_is_tag('m'))
+				conf(submenu, NULL);
+			break;
+		case 9:
+			search_conf();
+			break;
+		case 10:
+			show_all_options = !show_all_options;
+			break;
+		}
+	}
+
+	list_del(trail.prev);
+}
+
+static int show_textbox_ext(const char *title, char *text, int r, int c, int
+			    *keys, int *vscroll, int *hscroll, update_text_fn
+			    update_text, void *data)
+{
+	dialog_clear();
+	return dialog_textbox(title, text, r, c, keys, vscroll, hscroll,
+			      update_text, data);
+}
+
+static void show_textbox(const char *title, const char *text, int r, int c)
+{
+	show_textbox_ext(title, (char *) text, r, c, (int []) {0}, NULL, NULL,
+			 NULL, NULL);
+}
+
+static void show_helptext(const char *title, const char *text)
+{
+	show_textbox(title, text, 0, 0);
+}
+
+static void conf_message_callback(const char *fmt, va_list ap)
+{
+	char buf[PATH_MAX+1];
+
+	vsnprintf(buf, sizeof(buf), fmt, ap);
+	if (save_and_exit)
+		printf("%s", buf);
+	else
+		show_textbox(NULL, buf, 6, 60);
+}
+
+static void show_help(struct menu *menu)
+{
+	struct gstr help = str_new();
+
+	help.max_width = getmaxx(stdscr) - 10;
+	menu_get_ext_help(menu, &help);
+
+	show_helptext(_(menu_get_prompt(menu)), str_get(&help));
+	str_free(&help);
+}
+
+static void conf_choice(struct menu *menu)
+{
+	const char *prompt = _(menu_get_prompt(menu));
+	struct menu *child;
+	struct symbol *active;
+
+	active = sym_get_choice_value(menu->sym);
+	while (1) {
+		int res;
+		int selected;
+		item_reset();
+
+		current_menu = menu;
+		for (child = menu->list; child; child = child->next) {
+			if (!menu_is_visible(child))
+				continue;
+			if (child->sym)
+				item_make("%s", _(menu_get_prompt(child)));
+			else {
+				item_make("*** %s ***", _(menu_get_prompt(child)));
+				item_set_tag(':');
+			}
+			item_set_data(child);
+			if (child->sym == active)
+				item_set_selected(1);
+			if (child->sym == sym_get_choice_value(menu->sym))
+				item_set_tag('X');
+		}
+		dialog_clear();
+		res = dialog_checklist(prompt ? _(prompt) : _("Main Menu"),
+					_(radiolist_instructions),
+					MENUBOX_HEIGTH_MIN,
+					MENUBOX_WIDTH_MIN,
+					CHECKLIST_HEIGTH_MIN);
+		selected = item_activate_selected();
+		switch (res) {
+		case 0:
+			if (selected) {
+				child = item_data();
+				if (!child->sym)
+					break;
+
+				sym_set_tristate_value(child->sym, yes);
+			}
+			return;
+		case 1:
+			if (selected) {
+				child = item_data();
+				show_help(child);
+				active = child->sym;
+			} else
+				show_help(menu);
+			break;
+		case KEY_ESC:
+			return;
+		case -ERRDISPLAYTOOSMALL:
+			return;
+		}
+	}
+}
+
+static void conf_string(struct menu *menu)
+{
+	const char *prompt = menu_get_prompt(menu);
+
+	while (1) {
+		int res;
+		const char *heading;
+
+		switch (sym_get_type(menu->sym)) {
+		case S_INT:
+			heading = _(inputbox_instructions_int);
+			break;
+		case S_HEX:
+			heading = _(inputbox_instructions_hex);
+			break;
+		case S_STRING:
+			heading = _(inputbox_instructions_string);
+			break;
+		default:
+			heading = _("Internal mconf error!");
+		}
+		dialog_clear();
+		res = dialog_inputbox(prompt ? _(prompt) : _("Main Menu"),
+				      heading, 10, 75,
+				      sym_get_string_value(menu->sym));
+		switch (res) {
+		case 0:
+			if (sym_set_string_value(menu->sym, dialog_input_result))
+				return;
+			show_textbox(NULL, _("You have made an invalid entry."), 5, 43);
+			break;
+		case 1:
+			show_help(menu);
+			break;
+		case KEY_ESC:
+			return;
+		}
+	}
+}
+
+static void conf_load(void)
+{
+
+	while (1) {
+		int res;
+		dialog_clear();
+		res = dialog_inputbox(NULL, load_config_text,
+				      11, 55, filename);
+		switch(res) {
+		case 0:
+			if (!dialog_input_result[0])
+				return;
+			if (!conf_read(dialog_input_result)) {
+				set_config_filename(dialog_input_result);
+				sym_set_change_count(1);
+				return;
+			}
+			show_textbox(NULL, _("File does not exist!"), 5, 38);
+			break;
+		case 1:
+			show_helptext(_("Load Alternate Configuration"), load_config_help);
+			break;
+		case KEY_ESC:
+			return;
+		}
+	}
+}
+
+static void conf_save(void)
+{
+	while (1) {
+		int res;
+		dialog_clear();
+		res = dialog_inputbox(NULL, save_config_text,
+				      11, 55, filename);
+		switch(res) {
+		case 0:
+			if (!dialog_input_result[0])
+				return;
+			if (!conf_write(dialog_input_result)) {
+				set_config_filename(dialog_input_result);
+				return;
+			}
+			show_textbox(NULL, _("Can't create file!  Probably a nonexistent directory."), 5, 60);
+			break;
+		case 1:
+			show_helptext(_("Save Alternate Configuration"), save_config_help);
+			break;
+		case KEY_ESC:
+			return;
+		}
+	}
+}
+
+static int handle_exit(void)
+{
+	int res;
+
+	save_and_exit = 1;
+	reset_subtitle();
+	dialog_clear();
+	if (conf_get_changed())
+		res = dialog_yesno(NULL,
+				   _("Do you wish to save your new configuration?\n"
+				     "(Press <ESC><ESC> to continue kernel configuration.)"),
+				   6, 60);
+	else
+		res = -1;
+
+	end_dialog(saved_x, saved_y);
+
+	switch (res) {
+	case 0:
+		if (conf_write(filename)) {
+			fprintf(stderr, _("\n\n"
+					  "Error while writing of the configuration.\n"
+					  "Your configuration changes were NOT saved."
+					  "\n\n"));
+			return 1;
+		}
+		/* fall through */
+	case -1:
+		printf(_("\n\n"
+			 "*** End of the configuration.\n"
+			 "*** Execute 'make' to start the build or try 'make help'."
+			 "\n\n"));
+		res = 0;
+		break;
+	default:
+		fprintf(stderr, _("\n\n"
+				  "Your configuration changes were NOT saved."
+				  "\n\n"));
+		if (res != KEY_ESC)
+			res = 0;
+	}
+
+	return res;
+}
+
+static void sig_handler(int signo)
+{
+	exit(handle_exit());
+}
+
+int main(int ac, char **av)
+{
+	char *mode;
+	int res;
+
+	setlocale(LC_ALL, "");
+	bindtextdomain(PACKAGE, LOCALEDIR);
+	textdomain(PACKAGE);
+
+	signal(SIGINT, sig_handler);
+
+	conf_parse(av[1]);
+	conf_read(NULL);
+
+	mode = getenv("MENUCONFIG_MODE");
+	if (mode) {
+		if (!strcasecmp(mode, "single_menu"))
+			single_menu_mode = 1;
+	}
+
+	if (init_dialog(NULL)) {
+		fprintf(stderr, N_("Your display is too small to run Menuconfig!\n"));
+		fprintf(stderr, N_("It must be at least 19 lines by 80 columns.\n"));
+		return 1;
+	}
+
+	set_config_filename(conf_get_configname());
+	conf_set_message_callback(conf_message_callback);
+	do {
+		conf(&rootmenu, NULL);
+		res = handle_exit();
+	} while (res == KEY_ESC);
+
+	return res;
+}
+
diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
new file mode 100644
index 0000000..3ac2c9c
--- /dev/null
+++ b/scripts/kconfig/menu.c
@@ -0,0 +1,697 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "lkc.h"
+
+static const char nohelp_text[] = "There is no help available for this option.";
+
+struct menu rootmenu;
+static struct menu **last_entry_ptr;
+
+struct file *file_list;
+struct file *current_file;
+
+void menu_warn(struct menu *menu, const char *fmt, ...)
+{
+	va_list ap;
+	va_start(ap, fmt);
+	fprintf(stderr, "%s:%d:warning: ", menu->file->name, menu->lineno);
+	vfprintf(stderr, fmt, ap);
+	fprintf(stderr, "\n");
+	va_end(ap);
+}
+
+static void prop_warn(struct property *prop, const char *fmt, ...)
+{
+	va_list ap;
+	va_start(ap, fmt);
+	fprintf(stderr, "%s:%d:warning: ", prop->file->name, prop->lineno);
+	vfprintf(stderr, fmt, ap);
+	fprintf(stderr, "\n");
+	va_end(ap);
+}
+
+void _menu_init(void)
+{
+	current_entry = current_menu = &rootmenu;
+	last_entry_ptr = &rootmenu.list;
+}
+
+void menu_add_entry(struct symbol *sym)
+{
+	struct menu *menu;
+
+	menu = xmalloc(sizeof(*menu));
+	memset(menu, 0, sizeof(*menu));
+	menu->sym = sym;
+	menu->parent = current_menu;
+	menu->file = current_file;
+	menu->lineno = zconf_lineno();
+
+	*last_entry_ptr = menu;
+	last_entry_ptr = &menu->next;
+	current_entry = menu;
+	if (sym)
+		menu_add_symbol(P_SYMBOL, sym, NULL);
+}
+
+void menu_end_entry(void)
+{
+}
+
+struct menu *menu_add_menu(void)
+{
+	menu_end_entry();
+	last_entry_ptr = &current_entry->list;
+	return current_menu = current_entry;
+}
+
+void menu_end_menu(void)
+{
+	last_entry_ptr = &current_menu->next;
+	current_menu = current_menu->parent;
+}
+
+static struct expr *menu_check_dep(struct expr *e)
+{
+	if (!e)
+		return e;
+
+	switch (e->type) {
+	case E_NOT:
+		e->left.expr = menu_check_dep(e->left.expr);
+		break;
+	case E_OR:
+	case E_AND:
+		e->left.expr = menu_check_dep(e->left.expr);
+		e->right.expr = menu_check_dep(e->right.expr);
+		break;
+	case E_SYMBOL:
+		/* change 'm' into 'm' && MODULES */
+		if (e->left.sym == &symbol_mod)
+			return expr_alloc_and(e, expr_alloc_symbol(modules_sym));
+		break;
+	default:
+		break;
+	}
+	return e;
+}
+
+void menu_add_dep(struct expr *dep)
+{
+	current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep));
+}
+
+void menu_set_type(int type)
+{
+	struct symbol *sym = current_entry->sym;
+
+	if (sym->type == type)
+		return;
+	if (sym->type == S_UNKNOWN) {
+		sym->type = type;
+		return;
+	}
+	menu_warn(current_entry,
+		"ignoring type redefinition of '%s' from '%s' to '%s'",
+		sym->name ? sym->name : "<choice>",
+		sym_type_name(sym->type), sym_type_name(type));
+}
+
+struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *expr, struct expr *dep)
+{
+	struct property *prop = prop_alloc(type, current_entry->sym);
+
+	prop->menu = current_entry;
+	prop->expr = expr;
+	prop->visible.expr = menu_check_dep(dep);
+
+	if (prompt) {
+		if (isspace(*prompt)) {
+			prop_warn(prop, "leading whitespace ignored");
+			while (isspace(*prompt))
+				prompt++;
+		}
+		if (current_entry->prompt && current_entry != &rootmenu)
+			prop_warn(prop, "prompt redefined");
+
+		/* Apply all upper menus' visibilities to actual prompts. */
+		if(type == P_PROMPT) {
+			struct menu *menu = current_entry;
+
+			while ((menu = menu->parent) != NULL) {
+				struct expr *dup_expr;
+
+				if (!menu->visibility)
+					continue;
+				/*
+				 * Do not add a reference to the
+				 * menu's visibility expression but
+				 * use a copy of it.  Otherwise the
+				 * expression reduction functions
+				 * will modify expressions that have
+				 * multiple references which can
+				 * cause unwanted side effects.
+				 */
+				dup_expr = expr_copy(menu->visibility);
+
+				prop->visible.expr
+					= expr_alloc_and(prop->visible.expr,
+							 dup_expr);
+			}
+		}
+
+		current_entry->prompt = prop;
+	}
+	prop->text = prompt;
+
+	return prop;
+}
+
+struct property *menu_add_prompt(enum prop_type type, char *prompt, struct expr *dep)
+{
+	return menu_add_prop(type, prompt, NULL, dep);
+}
+
+void menu_add_visibility(struct expr *expr)
+{
+	current_entry->visibility = expr_alloc_and(current_entry->visibility,
+	    expr);
+}
+
+void menu_add_expr(enum prop_type type, struct expr *expr, struct expr *dep)
+{
+	menu_add_prop(type, NULL, expr, dep);
+}
+
+void menu_add_symbol(enum prop_type type, struct symbol *sym, struct expr *dep)
+{
+	menu_add_prop(type, NULL, expr_alloc_symbol(sym), dep);
+}
+
+void menu_add_option(int token, char *arg)
+{
+	switch (token) {
+	case T_OPT_MODULES:
+		if (modules_sym)
+			zconf_error("symbol '%s' redefines option 'modules'"
+				    " already defined by symbol '%s'",
+				    current_entry->sym->name,
+				    modules_sym->name
+				    );
+		modules_sym = current_entry->sym;
+		break;
+	case T_OPT_DEFCONFIG_LIST:
+		if (!sym_defconfig_list)
+			sym_defconfig_list = current_entry->sym;
+		else if (sym_defconfig_list != current_entry->sym)
+			zconf_error("trying to redefine defconfig symbol");
+		break;
+	case T_OPT_ENV:
+		prop_add_env(arg);
+		break;
+	case T_OPT_ALLNOCONFIG_Y:
+		current_entry->sym->flags |= SYMBOL_ALLNOCONFIG_Y;
+		break;
+	}
+}
+
+static int menu_validate_number(struct symbol *sym, struct symbol *sym2)
+{
+	return sym2->type == S_INT || sym2->type == S_HEX ||
+	       (sym2->type == S_UNKNOWN && sym_string_valid(sym, sym2->name));
+}
+
+static void sym_check_prop(struct symbol *sym)
+{
+	struct property *prop;
+	struct symbol *sym2;
+	for (prop = sym->prop; prop; prop = prop->next) {
+		switch (prop->type) {
+		case P_DEFAULT:
+			if ((sym->type == S_STRING || sym->type == S_INT || sym->type == S_HEX) &&
+			    prop->expr->type != E_SYMBOL)
+				prop_warn(prop,
+				    "default for config symbol '%s'"
+				    " must be a single symbol", sym->name);
+			if (prop->expr->type != E_SYMBOL)
+				break;
+			sym2 = prop_get_symbol(prop);
+			if (sym->type == S_HEX || sym->type == S_INT) {
+				if (!menu_validate_number(sym, sym2))
+					prop_warn(prop,
+					    "'%s': number is invalid",
+					    sym->name);
+			}
+			break;
+		case P_SELECT:
+			sym2 = prop_get_symbol(prop);
+			if (sym->type != S_BOOLEAN && sym->type != S_TRISTATE)
+				prop_warn(prop,
+				    "config symbol '%s' uses select, but is "
+				    "not boolean or tristate", sym->name);
+			else if (sym2->type != S_UNKNOWN &&
+			         sym2->type != S_BOOLEAN &&
+			         sym2->type != S_TRISTATE)
+				prop_warn(prop,
+				    "'%s' has wrong type. 'select' only "
+				    "accept arguments of boolean and "
+				    "tristate type", sym2->name);
+			break;
+		case P_RANGE:
+			if (sym->type != S_INT && sym->type != S_HEX)
+				prop_warn(prop, "range is only allowed "
+				                "for int or hex symbols");
+			if (!menu_validate_number(sym, prop->expr->left.sym) ||
+			    !menu_validate_number(sym, prop->expr->right.sym))
+				prop_warn(prop, "range is invalid");
+			break;
+		default:
+			;
+		}
+	}
+}
+
+void menu_finalize(struct menu *parent)
+{
+	struct menu *menu, *last_menu;
+	struct symbol *sym;
+	struct property *prop;
+	struct expr *parentdep, *basedep, *dep, *dep2, **ep;
+
+	sym = parent->sym;
+	if (parent->list) {
+		if (sym && sym_is_choice(sym)) {
+			if (sym->type == S_UNKNOWN) {
+				/* find the first choice value to find out choice type */
+				current_entry = parent;
+				for (menu = parent->list; menu; menu = menu->next) {
+					if (menu->sym && menu->sym->type != S_UNKNOWN) {
+						menu_set_type(menu->sym->type);
+						break;
+					}
+				}
+			}
+			/* set the type of the remaining choice values */
+			for (menu = parent->list; menu; menu = menu->next) {
+				current_entry = menu;
+				if (menu->sym && menu->sym->type == S_UNKNOWN)
+					menu_set_type(sym->type);
+			}
+			parentdep = expr_alloc_symbol(sym);
+		} else if (parent->prompt)
+			parentdep = parent->prompt->visible.expr;
+		else
+			parentdep = parent->dep;
+
+		for (menu = parent->list; menu; menu = menu->next) {
+			basedep = expr_transform(menu->dep);
+			basedep = expr_alloc_and(expr_copy(parentdep), basedep);
+			basedep = expr_eliminate_dups(basedep);
+			menu->dep = basedep;
+			if (menu->sym)
+				prop = menu->sym->prop;
+			else
+				prop = menu->prompt;
+			for (; prop; prop = prop->next) {
+				if (prop->menu != menu)
+					continue;
+				dep = expr_transform(prop->visible.expr);
+				dep = expr_alloc_and(expr_copy(basedep), dep);
+				dep = expr_eliminate_dups(dep);
+				if (menu->sym && menu->sym->type != S_TRISTATE)
+					dep = expr_trans_bool(dep);
+				prop->visible.expr = dep;
+				if (prop->type == P_SELECT) {
+					struct symbol *es = prop_get_symbol(prop);
+					es->rev_dep.expr = expr_alloc_or(es->rev_dep.expr,
+							expr_alloc_and(expr_alloc_symbol(menu->sym), expr_copy(dep)));
+				}
+			}
+		}
+		for (menu = parent->list; menu; menu = menu->next)
+			menu_finalize(menu);
+	} else if (sym) {
+		basedep = parent->prompt ? parent->prompt->visible.expr : NULL;
+		basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no);
+		basedep = expr_eliminate_dups(expr_transform(basedep));
+		last_menu = NULL;
+		for (menu = parent->next; menu; menu = menu->next) {
+			dep = menu->prompt ? menu->prompt->visible.expr : menu->dep;
+			if (!expr_contains_symbol(dep, sym))
+				break;
+			if (expr_depends_symbol(dep, sym))
+				goto next;
+			dep = expr_trans_compare(dep, E_UNEQUAL, &symbol_no);
+			dep = expr_eliminate_dups(expr_transform(dep));
+			dep2 = expr_copy(basedep);
+			expr_eliminate_eq(&dep, &dep2);
+			expr_free(dep);
+			if (!expr_is_yes(dep2)) {
+				expr_free(dep2);
+				break;
+			}
+			expr_free(dep2);
+		next:
+			menu_finalize(menu);
+			menu->parent = parent;
+			last_menu = menu;
+		}
+		if (last_menu) {
+			parent->list = parent->next;
+			parent->next = last_menu->next;
+			last_menu->next = NULL;
+		}
+
+		sym->dir_dep.expr = expr_alloc_or(sym->dir_dep.expr, parent->dep);
+	}
+	for (menu = parent->list; menu; menu = menu->next) {
+		if (sym && sym_is_choice(sym) &&
+		    menu->sym && !sym_is_choice_value(menu->sym)) {
+			current_entry = menu;
+			menu->sym->flags |= SYMBOL_CHOICEVAL;
+			if (!menu->prompt)
+				menu_warn(menu, "choice value must have a prompt");
+			for (prop = menu->sym->prop; prop; prop = prop->next) {
+				if (prop->type == P_DEFAULT)
+					prop_warn(prop, "defaults for choice "
+						  "values not supported");
+				if (prop->menu == menu)
+					continue;
+				if (prop->type == P_PROMPT &&
+				    prop->menu->parent->sym != sym)
+					prop_warn(prop, "choice value used outside its choice group");
+			}
+			/* Non-tristate choice values of tristate choices must
+			 * depend on the choice being set to Y. The choice
+			 * values' dependencies were propagated to their
+			 * properties above, so the change here must be re-
+			 * propagated.
+			 */
+			if (sym->type == S_TRISTATE && menu->sym->type != S_TRISTATE) {
+				basedep = expr_alloc_comp(E_EQUAL, sym, &symbol_yes);
+				menu->dep = expr_alloc_and(basedep, menu->dep);
+				for (prop = menu->sym->prop; prop; prop = prop->next) {
+					if (prop->menu != menu)
+						continue;
+					prop->visible.expr = expr_alloc_and(expr_copy(basedep),
+									    prop->visible.expr);
+				}
+			}
+			menu_add_symbol(P_CHOICE, sym, NULL);
+			prop = sym_get_choice_prop(sym);
+			for (ep = &prop->expr; *ep; ep = &(*ep)->left.expr)
+				;
+			*ep = expr_alloc_one(E_LIST, NULL);
+			(*ep)->right.sym = menu->sym;
+		}
+		if (menu->list && (!menu->prompt || !menu->prompt->text)) {
+			for (last_menu = menu->list; ; last_menu = last_menu->next) {
+				last_menu->parent = parent;
+				if (!last_menu->next)
+					break;
+			}
+			last_menu->next = menu->next;
+			menu->next = menu->list;
+			menu->list = NULL;
+		}
+	}
+
+	if (sym && !(sym->flags & SYMBOL_WARNED)) {
+		if (sym->type == S_UNKNOWN)
+			menu_warn(parent, "config symbol defined without type");
+
+		if (sym_is_choice(sym) && !parent->prompt)
+			menu_warn(parent, "choice must have a prompt");
+
+		/* Check properties connected to this symbol */
+		sym_check_prop(sym);
+		sym->flags |= SYMBOL_WARNED;
+	}
+
+	if (sym && !sym_is_optional(sym) && parent->prompt) {
+		sym->rev_dep.expr = expr_alloc_or(sym->rev_dep.expr,
+				expr_alloc_and(parent->prompt->visible.expr,
+					expr_alloc_symbol(&symbol_mod)));
+	}
+}
+
+bool menu_has_prompt(struct menu *menu)
+{
+	if (!menu->prompt)
+		return false;
+	return true;
+}
+
+/*
+ * Determine if a menu is empty.
+ * A menu is considered empty if it contains no or only
+ * invisible entries.
+ */
+bool menu_is_empty(struct menu *menu)
+{
+	struct menu *child;
+
+	for (child = menu->list; child; child = child->next) {
+		if (menu_is_visible(child))
+			return(false);
+	}
+	return(true);
+}
+
+bool menu_is_visible(struct menu *menu)
+{
+	struct menu *child;
+	struct symbol *sym;
+	tristate visible;
+
+	if (!menu->prompt)
+		return false;
+
+	if (menu->visibility) {
+		if (expr_calc_value(menu->visibility) == no)
+			return no;
+	}
+
+	sym = menu->sym;
+	if (sym) {
+		sym_calc_value(sym);
+		visible = menu->prompt->visible.tri;
+	} else
+		visible = menu->prompt->visible.tri = expr_calc_value(menu->prompt->visible.expr);
+
+	if (visible != no)
+		return true;
+
+	if (!sym || sym_get_tristate_value(menu->sym) == no)
+		return false;
+
+	for (child = menu->list; child; child = child->next) {
+		if (menu_is_visible(child)) {
+			if (sym)
+				sym->flags |= SYMBOL_DEF_USER;
+			return true;
+		}
+	}
+
+	return false;
+}
+
+const char *menu_get_prompt(struct menu *menu)
+{
+	if (menu->prompt)
+		return menu->prompt->text;
+	else if (menu->sym)
+		return menu->sym->name;
+	return NULL;
+}
+
+struct menu *menu_get_root_menu(struct menu *menu)
+{
+	return &rootmenu;
+}
+
+struct menu *menu_get_parent_menu(struct menu *menu)
+{
+	enum prop_type type;
+
+	for (; menu != &rootmenu; menu = menu->parent) {
+		type = menu->prompt ? menu->prompt->type : 0;
+		if (type == P_MENU)
+			break;
+	}
+	return menu;
+}
+
+bool menu_has_help(struct menu *menu)
+{
+	return menu->help != NULL;
+}
+
+const char *menu_get_help(struct menu *menu)
+{
+	if (menu->help)
+		return menu->help;
+	else
+		return "";
+}
+
+static void get_prompt_str(struct gstr *r, struct property *prop,
+			   struct list_head *head)
+{
+	int i, j;
+	struct menu *submenu[8], *menu, *location = NULL;
+	struct jump_key *jump;
+
+	str_printf(r, _("Prompt: %s\n"), _(prop->text));
+	menu = prop->menu->parent;
+	for (i = 0; menu != &rootmenu && i < 8; menu = menu->parent) {
+		bool accessible = menu_is_visible(menu);
+
+		submenu[i++] = menu;
+		if (location == NULL && accessible)
+			location = menu;
+	}
+	if (head && location) {
+		jump = xmalloc(sizeof(struct jump_key));
+
+		if (menu_is_visible(prop->menu)) {
+			/*
+			 * There is not enough room to put the hint at the
+			 * beginning of the "Prompt" line. Put the hint on the
+			 * last "Location" line even when it would belong on
+			 * the former.
+			 */
+			jump->target = prop->menu;
+		} else
+			jump->target = location;
+
+		if (list_empty(head))
+			jump->index = 0;
+		else
+			jump->index = list_entry(head->prev, struct jump_key,
+						 entries)->index + 1;
+
+		list_add_tail(&jump->entries, head);
+	}
+
+	if (i > 0) {
+		str_printf(r, _("  Location:\n"));
+		for (j = 4; --i >= 0; j += 2) {
+			menu = submenu[i];
+			if (head && location && menu == location)
+				jump->offset = strlen(r->s);
+			str_printf(r, "%*c-> %s", j, ' ',
+				   _(menu_get_prompt(menu)));
+			if (menu->sym) {
+				str_printf(r, " (%s [=%s])", menu->sym->name ?
+					menu->sym->name : _("<choice>"),
+					sym_get_string_value(menu->sym));
+			}
+			str_append(r, "\n");
+		}
+	}
+}
+
+/*
+ * get property of type P_SYMBOL
+ */
+static struct property *get_symbol_prop(struct symbol *sym)
+{
+	struct property *prop = NULL;
+
+	for_all_properties(sym, prop, P_SYMBOL)
+		break;
+	return prop;
+}
+
+/*
+ * head is optional and may be NULL
+ */
+void get_symbol_str(struct gstr *r, struct symbol *sym,
+		    struct list_head *head)
+{
+	bool hit;
+	struct property *prop;
+
+	if (sym && sym->name) {
+		str_printf(r, "Symbol: %s [=%s]\n", sym->name,
+			   sym_get_string_value(sym));
+		str_printf(r, "Type  : %s\n", sym_type_name(sym->type));
+		if (sym->type == S_INT || sym->type == S_HEX) {
+			prop = sym_get_range_prop(sym);
+			if (prop) {
+				str_printf(r, "Range : ");
+				expr_gstr_print(prop->expr, r);
+				str_append(r, "\n");
+			}
+		}
+	}
+	for_all_prompts(sym, prop)
+		get_prompt_str(r, prop, head);
+
+	prop = get_symbol_prop(sym);
+	if (prop) {
+		str_printf(r, _("  Defined at %s:%d\n"), prop->menu->file->name,
+			prop->menu->lineno);
+		if (!expr_is_yes(prop->visible.expr)) {
+			str_append(r, _("  Depends on: "));
+			expr_gstr_print(prop->visible.expr, r);
+			str_append(r, "\n");
+		}
+	}
+
+	hit = false;
+	for_all_properties(sym, prop, P_SELECT) {
+		if (!hit) {
+			str_append(r, "  Selects: ");
+			hit = true;
+		} else
+			str_printf(r, " && ");
+		expr_gstr_print(prop->expr, r);
+	}
+	if (hit)
+		str_append(r, "\n");
+	if (sym->rev_dep.expr) {
+		str_append(r, _("  Selected by: "));
+		expr_gstr_print(sym->rev_dep.expr, r);
+		str_append(r, "\n");
+	}
+	str_append(r, "\n\n");
+}
+
+struct gstr get_relations_str(struct symbol **sym_arr, struct list_head *head)
+{
+	struct symbol *sym;
+	struct gstr res = str_new();
+	int i;
+
+	for (i = 0; sym_arr && (sym = sym_arr[i]); i++)
+		get_symbol_str(&res, sym, head);
+	if (!i)
+		str_append(&res, _("No matches found.\n"));
+	return res;
+}
+
+
+void menu_get_ext_help(struct menu *menu, struct gstr *help)
+{
+	struct symbol *sym = menu->sym;
+	const char *help_text = nohelp_text;
+
+	if (menu_has_help(menu)) {
+		if (sym->name)
+			str_printf(help, "%s%s:\n\n", CONFIG_, sym->name);
+		help_text = menu_get_help(menu);
+	}
+	str_printf(help, "%s\n", _(help_text));
+	if (sym)
+		get_symbol_str(help, sym, NULL);
+}
diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh
new file mode 100755
index 0000000..81b0c61
--- /dev/null
+++ b/scripts/kconfig/merge_config.sh
@@ -0,0 +1,150 @@
+#!/bin/sh
+#  merge_config.sh - Takes a list of config fragment values, and merges
+#  them one by one. Provides warnings on overridden values, and specified
+#  values that did not make it to the resulting .config file (due to missed
+#  dependencies or config symbol removal).
+#
+#  Portions reused from kconf_check and generate_cfg:
+#  http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-tools/tree/tools/kconf_check
+#  http://git.yoctoproject.org/cgit/cgit.cgi/yocto-kernel-tools/tree/tools/generate_cfg
+#
+#  Copyright (c) 2009-2010 Wind River Systems, Inc.
+#  Copyright 2011 Linaro
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License version 2 as
+#  published by the Free Software Foundation.
+#
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#  See the GNU General Public License for more details.
+
+clean_up() {
+	rm -f $TMP_FILE
+	exit
+}
+trap clean_up HUP INT TERM
+
+usage() {
+	echo "Usage: $0 [OPTIONS] [CONFIG [...]]"
+	echo "  -h    display this help text"
+	echo "  -m    only merge the fragments, do not execute the make command"
+	echo "  -n    use allnoconfig instead of alldefconfig"
+	echo "  -r    list redundant entries when merging fragments"
+	echo "  -O    dir to put generated output files"
+}
+
+MAKE=true
+ALLTARGET=alldefconfig
+WARNREDUN=false
+OUTPUT=.
+
+while true; do
+	case $1 in
+	"-n")
+		ALLTARGET=allnoconfig
+		shift
+		continue
+		;;
+	"-m")
+		MAKE=false
+		shift
+		continue
+		;;
+	"-h")
+		usage
+		exit
+		;;
+	"-r")
+		WARNREDUN=true
+		shift
+		continue
+		;;
+	"-O")
+		if [ -d $2 ];then
+			OUTPUT=$(echo $2 | sed 's/\/*$//')
+		else
+			echo "output directory $2 does not exist" 1>&2
+			exit 1
+		fi
+		shift 2
+		continue
+		;;
+	*)
+		break
+		;;
+	esac
+done
+
+INITFILE=$1
+shift;
+
+MERGE_LIST=$*
+SED_CONFIG_EXP="s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p"
+TMP_FILE=$(mktemp ./.tmp.config.XXXXXXXXXX)
+
+echo "Using $INITFILE as base"
+cat $INITFILE > $TMP_FILE
+
+# Merge files, printing warnings on overrided values
+for MERGE_FILE in $MERGE_LIST ; do
+	echo "Merging $MERGE_FILE"
+	CFG_LIST=$(sed -n "$SED_CONFIG_EXP" $MERGE_FILE)
+
+	for CFG in $CFG_LIST ; do
+		grep -q -w $CFG $TMP_FILE
+		if [ $? -eq 0 ] ; then
+			PREV_VAL=$(grep -w $CFG $TMP_FILE)
+			NEW_VAL=$(grep -w $CFG $MERGE_FILE)
+			if [ "x$PREV_VAL" != "x$NEW_VAL" ] ; then
+			echo Value of $CFG is redefined by fragment $MERGE_FILE:
+			echo Previous  value: $PREV_VAL
+			echo New value:       $NEW_VAL
+			echo
+			elif [ "$WARNREDUN" = "true" ]; then
+			echo Value of $CFG is redundant by fragment $MERGE_FILE:
+			fi
+			sed -i "/$CFG[ =]/d" $TMP_FILE
+		fi
+	done
+	cat $MERGE_FILE >> $TMP_FILE
+done
+
+if [ "$MAKE" = "false" ]; then
+	cp $TMP_FILE $OUTPUT/.config
+	echo "#"
+	echo "# merged configuration written to $OUTPUT/.config (needs make)"
+	echo "#"
+	clean_up
+	exit
+fi
+
+# If we have an output dir, setup the O= argument, otherwise leave
+# it blank, since O=. will create an unnecessary ./source softlink
+OUTPUT_ARG=""
+if [ "$OUTPUT" != "." ] ; then
+	OUTPUT_ARG="O=$OUTPUT"
+fi
+
+
+# Use the merged file as the starting point for:
+# alldefconfig: Fills in any missing symbols with Kconfig default
+# allnoconfig: Fills in any missing symbols with # CONFIG_* is not set
+make KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET
+
+
+# Check all specified config values took (might have missed-dependency issues)
+for CFG in $(sed -n "$SED_CONFIG_EXP" $TMP_FILE); do
+
+	REQUESTED_VAL=$(grep -w -e "$CFG" $TMP_FILE)
+	ACTUAL_VAL=$(grep -w -e "$CFG" $OUTPUT/.config)
+	if [ "x$REQUESTED_VAL" != "x$ACTUAL_VAL" ] ; then
+		echo "Value requested for $CFG not in final .config"
+		echo "Requested value:  $REQUESTED_VAL"
+		echo "Actual value:     $ACTUAL_VAL"
+		echo ""
+	fi
+done
+
+clean_up
diff --git a/scripts/kconfig/nconf.c b/scripts/kconfig/nconf.c
new file mode 100644
index 0000000..4fbecd2
--- /dev/null
+++ b/scripts/kconfig/nconf.c
@@ -0,0 +1,1557 @@
+/*
+ * Copyright (C) 2008 Nir Tzachar <nir.tzachar@gmail.com?
+ * Released under the terms of the GNU GPL v2.0.
+ *
+ * Derived from menuconfig.
+ *
+ */
+#define _GNU_SOURCE
+#include <string.h>
+#include <stdlib.h>
+
+#include "lkc.h"
+#include "nconf.h"
+#include <ctype.h>
+
+static const char nconf_global_help[] = N_(
+"Help windows\n"
+"------------\n"
+"o  Global help:  Unless in a data entry window, pressing <F1> will give \n"
+"   you the global help window, which you are just reading.\n"
+"\n"
+"o  A short version of the global help is available by pressing <F3>.\n"
+"\n"
+"o  Local help:  To get help related to the current menu entry, use any\n"
+"   of <?> <h>, or if in a data entry window then press <F1>.\n"
+"\n"
+"\n"
+"Menu entries\n"
+"------------\n"
+"This interface lets you select features and parameters for the kernel\n"
+"build.  Kernel features can either be built-in, modularized, or removed.\n"
+"Parameters must be entered as text or decimal or hexadecimal numbers.\n"
+"\n"
+"Menu entries beginning with following braces represent features that\n"
+"  [ ]  can be built in or removed\n"
+"  < >  can be built in, modularized or removed\n"
+"  { }  can be built in or modularized, are selected by another feature\n"
+"  - -  are selected by another feature\n"
+"  XXX  cannot be selected.  Symbol Info <F2> tells you why.\n"
+"*, M or whitespace inside braces means to build in, build as a module\n"
+"or to exclude the feature respectively.\n"
+"\n"
+"To change any of these features, highlight it with the movement keys\n"
+"listed below and press <y> to build it in, <m> to make it a module or\n"
+"<n> to remove it.  You may press the <Space> key to cycle through the\n"
+"available options.\n"
+"\n"
+"A trailing \"--->\" designates a submenu, a trailing \"----\" an\n"
+"empty submenu.\n"
+"\n"
+"Menu navigation keys\n"
+"----------------------------------------------------------------------\n"
+"Linewise up                 <Up>\n"
+"Linewise down               <Down>\n"
+"Pagewise up                 <Page Up>\n"
+"Pagewise down               <Page Down>\n"
+"First entry                 <Home>\n"
+"Last entry                  <End>\n"
+"Enter a submenu             <Right>  <Enter>\n"
+"Go back to parent menu      <Left>   <Esc>  <F5>\n"
+"Close a help window         <Enter>  <Esc>  <F5>\n"
+"Close entry window, apply   <Enter>\n"
+"Close entry window, forget  <Esc>  <F5>\n"
+"Start incremental, case-insensitive search for STRING in menu entries,\n"
+"    no regex support, STRING is displayed in upper left corner\n"
+"                            </>STRING\n"
+"    Remove last character   <Backspace>\n"
+"    Jump to next hit        <Down>\n"
+"    Jump to previous hit    <Up>\n"
+"Exit menu search mode       </>  <Esc>\n"
+"Search for configuration variables with or without leading CONFIG_\n"
+"                            <F8>RegExpr<Enter>\n"
+"Verbose search help         <F8><F1>\n"
+"----------------------------------------------------------------------\n"
+"\n"
+"Unless in a data entry window, key <1> may be used instead of <F1>,\n"
+"<2> instead of <F2>, etc.\n"
+"\n"
+"\n"
+"Radiolist (Choice list)\n"
+"-----------------------\n"
+"Use the movement keys listed above to select the option you wish to set\n"
+"and press <Space>.\n"
+"\n"
+"\n"
+"Data entry\n"
+"----------\n"
+"Enter the requested information and press <Enter>.  Hexadecimal values\n"
+"may be entered without the \"0x\" prefix.\n"
+"\n"
+"\n"
+"Text Box (Help Window)\n"
+"----------------------\n"
+"Use movement keys as listed in table above.\n"
+"\n"
+"Press any of <Enter> <Esc> <q> <F5> <F9> to exit.\n"
+"\n"
+"\n"
+"Alternate configuration files\n"
+"-----------------------------\n"
+"nconfig supports switching between different configurations.\n"
+"Press <F6> to save your current configuration.  Press <F7> and enter\n"
+"a file name to load a previously saved configuration.\n"
+"\n"
+"\n"
+"Terminal configuration\n"
+"----------------------\n"
+"If you use nconfig in a xterm window, make sure your TERM environment\n"
+"variable specifies a terminal configuration which supports at least\n"
+"16 colors.  Otherwise nconfig will look rather bad.\n"
+"\n"
+"If the \"stty size\" command reports the current terminalsize correctly,\n"
+"nconfig will adapt to sizes larger than the traditional 80x25 \"standard\"\n"
+"and display longer menus properly.\n"
+"\n"
+"\n"
+"Single menu mode\n"
+"----------------\n"
+"If you prefer to have all of the menu entries listed in a single menu,\n"
+"rather than the default multimenu hierarchy, run nconfig with\n"
+"NCONFIG_MODE environment variable set to single_menu.  Example:\n"
+"\n"
+"make NCONFIG_MODE=single_menu nconfig\n"
+"\n"
+"<Enter> will then unfold the appropriate category, or fold it if it\n"
+"is already unfolded.  Folded menu entries will be designated by a\n"
+"leading \"++>\" and unfolded entries by a leading \"-->\".\n"
+"\n"
+"Note that this mode can eventually be a little more CPU expensive than\n"
+"the default mode, especially with a larger number of unfolded submenus.\n"
+"\n"),
+menu_no_f_instructions[] = N_(
+"Legend:  [*] built-in  [ ] excluded  <M> module  < > module capable.\n"
+"Submenus are designated by a trailing \"--->\", empty ones by \"----\".\n"
+"\n"
+"Use the following keys to navigate the menus:\n"
+"Move up or down with <Up> and <Down>.\n"
+"Enter a submenu with <Enter> or <Right>.\n"
+"Exit a submenu to its parent menu with <Esc> or <Left>.\n"
+"Pressing <y> includes, <n> excludes, <m> modularizes features.\n"
+"Pressing <Space> cycles through the available options.\n"
+"To search for menu entries press </>.\n"
+"<Esc> always leaves the current window.\n"
+"\n"
+"You do not have function keys support.\n"
+"Press <1> instead of <F1>, <2> instead of <F2>, etc.\n"
+"For verbose global help use key <1>.\n"
+"For help related to the current menu entry press <?> or <h>.\n"),
+menu_instructions[] = N_(
+"Legend:  [*] built-in  [ ] excluded  <M> module  < > module capable.\n"
+"Submenus are designated by a trailing \"--->\", empty ones by \"----\".\n"
+"\n"
+"Use the following keys to navigate the menus:\n"
+"Move up or down with <Up> or <Down>.\n"
+"Enter a submenu with <Enter> or <Right>.\n"
+"Exit a submenu to its parent menu with <Esc> or <Left>.\n"
+"Pressing <y> includes, <n> excludes, <m> modularizes features.\n"
+"Pressing <Space> cycles through the available options.\n"
+"To search for menu entries press </>.\n"
+"<Esc> always leaves the current window.\n"
+"\n"
+"Pressing <1> may be used instead of <F1>, <2> instead of <F2>, etc.\n"
+"For verbose global help press <F1>.\n"
+"For help related to the current menu entry press <?> or <h>.\n"),
+radiolist_instructions[] = N_(
+"Press <Up>, <Down>, <Home> or <End> to navigate a radiolist, select\n"
+"with <Space>.\n"
+"For help related to the current entry press <?> or <h>.\n"
+"For global help press <F1>.\n"),
+inputbox_instructions_int[] = N_(
+"Please enter a decimal value.\n"
+"Fractions will not be accepted.\n"
+"Press <Enter> to apply, <Esc> to cancel."),
+inputbox_instructions_hex[] = N_(
+"Please enter a hexadecimal value.\n"
+"Press <Enter> to apply, <Esc> to cancel."),
+inputbox_instructions_string[] = N_(
+"Please enter a string value.\n"
+"Press <Enter> to apply, <Esc> to cancel."),
+setmod_text[] = N_(
+"This feature depends on another feature which has been configured as a\n"
+"module.  As a result, the current feature will be built as a module too."),
+load_config_text[] = N_(
+"Enter the name of the configuration file you wish to load.\n"
+"Accept the name shown to restore the configuration you last\n"
+"retrieved.  Leave empty to abort."),
+load_config_help[] = N_(
+"For various reasons, one may wish to keep several different\n"
+"configurations available on a single machine.\n"
+"\n"
+"If you have saved a previous configuration in a file other than the\n"
+"default one, entering its name here will allow you to load and modify\n"
+"that configuration.\n"
+"\n"
+"Leave empty to abort.\n"),
+save_config_text[] = N_(
+"Enter a filename to which this configuration should be saved\n"
+"as an alternate.  Leave empty to abort."),
+save_config_help[] = N_(
+"For various reasons, one may wish to keep several different\n"
+"configurations available on a single machine.\n"
+"\n"
+"Entering a file name here will allow you to later retrieve, modify\n"
+"and use the current configuration as an alternate to whatever\n"
+"configuration options you have selected at that time.\n"
+"\n"
+"Leave empty to abort.\n"),
+search_help[] = N_(
+"Search for symbols (configuration variable names CONFIG_*) and display\n"
+"their relations.  Regular expressions are supported.\n"
+"Example:  Search for \"^FOO\".\n"
+"Result:\n"
+"-----------------------------------------------------------------\n"
+"Symbol: FOO [ = m]\n"
+"Prompt: Foo bus is used to drive the bar HW\n"
+"Defined at drivers/pci/Kconfig:47\n"
+"Depends on: X86_LOCAL_APIC && X86_IO_APIC || IA64\n"
+"Location:\n"
+"  -> Bus options (PCI, PCMCIA, EISA, ISA)\n"
+"    -> PCI support (PCI [ = y])\n"
+"      -> PCI access mode (<choice> [ = y])\n"
+"Selects: LIBCRC32\n"
+"Selected by: BAR\n"
+"-----------------------------------------------------------------\n"
+"o  The line 'Prompt:' shows the text displayed for this symbol in\n"
+"   the menu hierarchy.\n"
+"o  The 'Defined at' line tells at what file / line number the symbol is\n"
+"   defined.\n"
+"o  The 'Depends on:' line lists symbols that need to be defined for\n"
+"   this symbol to be visible and selectable in the menu.\n"
+"o  The 'Location:' lines tell, where in the menu structure this symbol\n"
+"   is located.  A location followed by a [ = y] indicates that this is\n"
+"   a selectable menu item, and the current value is displayed inside\n"
+"   brackets.\n"
+"o  The 'Selects:' line tells, what symbol will be automatically selected\n"
+"   if this symbol is selected (y or m).\n"
+"o  The 'Selected by' line tells what symbol has selected this symbol.\n"
+"\n"
+"Only relevant lines are shown.\n"
+"\n\n"
+"Search examples:\n"
+"USB  => find all symbols containing USB\n"
+"^USB => find all symbols starting with USB\n"
+"USB$ => find all symbols ending with USB\n"
+"\n");
+
+struct mitem {
+	char str[256];
+	char tag;
+	void *usrptr;
+	int is_visible;
+};
+
+#define MAX_MENU_ITEMS 4096
+static int show_all_items;
+static int indent;
+static struct menu *current_menu;
+static int child_count;
+static int single_menu_mode;
+/* the window in which all information appears */
+static WINDOW *main_window;
+/* the largest size of the menu window */
+static int mwin_max_lines;
+static int mwin_max_cols;
+/* the window in which we show option buttons */
+static MENU *curses_menu;
+static ITEM *curses_menu_items[MAX_MENU_ITEMS];
+static struct mitem k_menu_items[MAX_MENU_ITEMS];
+static int items_num;
+static int global_exit;
+/* the currently selected button */
+const char *current_instructions = menu_instructions;
+
+static char *dialog_input_result;
+static int dialog_input_result_len;
+
+static void conf(struct menu *menu);
+static void conf_choice(struct menu *menu);
+static void conf_string(struct menu *menu);
+static void conf_load(void);
+static void conf_save(void);
+static void show_help(struct menu *menu);
+static int do_exit(void);
+static void setup_windows(void);
+static void search_conf(void);
+
+typedef void (*function_key_handler_t)(int *key, struct menu *menu);
+static void handle_f1(int *key, struct menu *current_item);
+static void handle_f2(int *key, struct menu *current_item);
+static void handle_f3(int *key, struct menu *current_item);
+static void handle_f4(int *key, struct menu *current_item);
+static void handle_f5(int *key, struct menu *current_item);
+static void handle_f6(int *key, struct menu *current_item);
+static void handle_f7(int *key, struct menu *current_item);
+static void handle_f8(int *key, struct menu *current_item);
+static void handle_f9(int *key, struct menu *current_item);
+
+struct function_keys {
+	const char *key_str;
+	const char *func;
+	function_key key;
+	function_key_handler_t handler;
+};
+
+static const int function_keys_num = 9;
+struct function_keys function_keys[] = {
+	{
+		.key_str = "F1",
+		.func = "Help",
+		.key = F_HELP,
+		.handler = handle_f1,
+	},
+	{
+		.key_str = "F2",
+		.func = "SymInfo",
+		.key = F_SYMBOL,
+		.handler = handle_f2,
+	},
+	{
+		.key_str = "F3",
+		.func = "Help 2",
+		.key = F_INSTS,
+		.handler = handle_f3,
+	},
+	{
+		.key_str = "F4",
+		.func = "ShowAll",
+		.key = F_CONF,
+		.handler = handle_f4,
+	},
+	{
+		.key_str = "F5",
+		.func = "Back",
+		.key = F_BACK,
+		.handler = handle_f5,
+	},
+	{
+		.key_str = "F6",
+		.func = "Save",
+		.key = F_SAVE,
+		.handler = handle_f6,
+	},
+	{
+		.key_str = "F7",
+		.func = "Load",
+		.key = F_LOAD,
+		.handler = handle_f7,
+	},
+	{
+		.key_str = "F8",
+		.func = "SymSearch",
+		.key = F_SEARCH,
+		.handler = handle_f8,
+	},
+	{
+		.key_str = "F9",
+		.func = "Exit",
+		.key = F_EXIT,
+		.handler = handle_f9,
+	},
+};
+
+static void print_function_line(void)
+{
+	int i;
+	int offset = 1;
+	const int skip = 1;
+	int lines = getmaxy(stdscr);
+
+	for (i = 0; i < function_keys_num; i++) {
+		(void) wattrset(main_window, attributes[FUNCTION_HIGHLIGHT]);
+		mvwprintw(main_window, lines-3, offset,
+				"%s",
+				function_keys[i].key_str);
+		(void) wattrset(main_window, attributes[FUNCTION_TEXT]);
+		offset += strlen(function_keys[i].key_str);
+		mvwprintw(main_window, lines-3,
+				offset, "%s",
+				function_keys[i].func);
+		offset += strlen(function_keys[i].func) + skip;
+	}
+	(void) wattrset(main_window, attributes[NORMAL]);
+}
+
+/* help */
+static void handle_f1(int *key, struct menu *current_item)
+{
+	show_scroll_win(main_window,
+			_("Global help"), _(nconf_global_help));
+	return;
+}
+
+/* symbole help */
+static void handle_f2(int *key, struct menu *current_item)
+{
+	show_help(current_item);
+	return;
+}
+
+/* instructions */
+static void handle_f3(int *key, struct menu *current_item)
+{
+	show_scroll_win(main_window,
+			_("Short help"),
+			_(current_instructions));
+	return;
+}
+
+/* config */
+static void handle_f4(int *key, struct menu *current_item)
+{
+	int res = btn_dialog(main_window,
+			_("Show all symbols?"),
+			2,
+			"   <Show All>   ",
+			"<Don't show all>");
+	if (res == 0)
+		show_all_items = 1;
+	else if (res == 1)
+		show_all_items = 0;
+
+	return;
+}
+
+/* back */
+static void handle_f5(int *key, struct menu *current_item)
+{
+	*key = KEY_LEFT;
+	return;
+}
+
+/* save */
+static void handle_f6(int *key, struct menu *current_item)
+{
+	conf_save();
+	return;
+}
+
+/* load */
+static void handle_f7(int *key, struct menu *current_item)
+{
+	conf_load();
+	return;
+}
+
+/* search */
+static void handle_f8(int *key, struct menu *current_item)
+{
+	search_conf();
+	return;
+}
+
+/* exit */
+static void handle_f9(int *key, struct menu *current_item)
+{
+	do_exit();
+	return;
+}
+
+/* return != 0 to indicate the key was handles */
+static int process_special_keys(int *key, struct menu *menu)
+{
+	int i;
+
+	if (*key == KEY_RESIZE) {
+		setup_windows();
+		return 1;
+	}
+
+	for (i = 0; i < function_keys_num; i++) {
+		if (*key == KEY_F(function_keys[i].key) ||
+		    *key == '0' + function_keys[i].key){
+			function_keys[i].handler(key, menu);
+			return 1;
+		}
+	}
+
+	return 0;
+}
+
+static void clean_items(void)
+{
+	int i;
+	for (i = 0; curses_menu_items[i]; i++)
+		free_item(curses_menu_items[i]);
+	bzero(curses_menu_items, sizeof(curses_menu_items));
+	bzero(k_menu_items, sizeof(k_menu_items));
+	items_num = 0;
+}
+
+typedef enum {MATCH_TINKER_PATTERN_UP, MATCH_TINKER_PATTERN_DOWN,
+	FIND_NEXT_MATCH_DOWN, FIND_NEXT_MATCH_UP} match_f;
+
+/* return the index of the matched item, or -1 if no such item exists */
+static int get_mext_match(const char *match_str, match_f flag)
+{
+	int match_start = item_index(current_item(curses_menu));
+	int index;
+
+	if (flag == FIND_NEXT_MATCH_DOWN)
+		++match_start;
+	else if (flag == FIND_NEXT_MATCH_UP)
+		--match_start;
+
+	index = match_start;
+	index = (index + items_num) % items_num;
+	while (true) {
+		char *str = k_menu_items[index].str;
+		if (strcasestr(str, match_str) != 0)
+			return index;
+		if (flag == FIND_NEXT_MATCH_UP ||
+		    flag == MATCH_TINKER_PATTERN_UP)
+			--index;
+		else
+			++index;
+		index = (index + items_num) % items_num;
+		if (index == match_start)
+			return -1;
+	}
+}
+
+/* Make a new item. */
+static void item_make(struct menu *menu, char tag, const char *fmt, ...)
+{
+	va_list ap;
+
+	if (items_num > MAX_MENU_ITEMS-1)
+		return;
+
+	bzero(&k_menu_items[items_num], sizeof(k_menu_items[0]));
+	k_menu_items[items_num].tag = tag;
+	k_menu_items[items_num].usrptr = menu;
+	if (menu != NULL)
+		k_menu_items[items_num].is_visible =
+			menu_is_visible(menu);
+	else
+		k_menu_items[items_num].is_visible = 1;
+
+	va_start(ap, fmt);
+	vsnprintf(k_menu_items[items_num].str,
+		  sizeof(k_menu_items[items_num].str),
+		  fmt, ap);
+	va_end(ap);
+
+	if (!k_menu_items[items_num].is_visible)
+		memcpy(k_menu_items[items_num].str, "XXX", 3);
+
+	curses_menu_items[items_num] = new_item(
+			k_menu_items[items_num].str,
+			k_menu_items[items_num].str);
+	set_item_userptr(curses_menu_items[items_num],
+			&k_menu_items[items_num]);
+	/*
+	if (!k_menu_items[items_num].is_visible)
+		item_opts_off(curses_menu_items[items_num], O_SELECTABLE);
+	*/
+
+	items_num++;
+	curses_menu_items[items_num] = NULL;
+}
+
+/* very hackish. adds a string to the last item added */
+static void item_add_str(const char *fmt, ...)
+{
+	va_list ap;
+	int index = items_num-1;
+	char new_str[256];
+	char tmp_str[256];
+
+	if (index < 0)
+		return;
+
+	va_start(ap, fmt);
+	vsnprintf(new_str, sizeof(new_str), fmt, ap);
+	va_end(ap);
+	snprintf(tmp_str, sizeof(tmp_str), "%s%s",
+			k_menu_items[index].str, new_str);
+	strncpy(k_menu_items[index].str,
+		tmp_str,
+		sizeof(k_menu_items[index].str));
+
+	free_item(curses_menu_items[index]);
+	curses_menu_items[index] = new_item(
+			k_menu_items[index].str,
+			k_menu_items[index].str);
+	set_item_userptr(curses_menu_items[index],
+			&k_menu_items[index]);
+}
+
+/* get the tag of the currently selected item */
+static char item_tag(void)
+{
+	ITEM *cur;
+	struct mitem *mcur;
+
+	cur = current_item(curses_menu);
+	if (cur == NULL)
+		return 0;
+	mcur = (struct mitem *) item_userptr(cur);
+	return mcur->tag;
+}
+
+static int curses_item_index(void)
+{
+	return  item_index(current_item(curses_menu));
+}
+
+static void *item_data(void)
+{
+	ITEM *cur;
+	struct mitem *mcur;
+
+	cur = current_item(curses_menu);
+	if (!cur)
+		return NULL;
+	mcur = (struct mitem *) item_userptr(cur);
+	return mcur->usrptr;
+
+}
+
+static int item_is_tag(char tag)
+{
+	return item_tag() == tag;
+}
+
+static char filename[PATH_MAX+1];
+static char menu_backtitle[PATH_MAX+128];
+static const char *set_config_filename(const char *config_filename)
+{
+	int size;
+
+	size = snprintf(menu_backtitle, sizeof(menu_backtitle),
+			"%s - %s", config_filename, rootmenu.prompt->text);
+	if (size >= sizeof(menu_backtitle))
+		menu_backtitle[sizeof(menu_backtitle)-1] = '\0';
+
+	size = snprintf(filename, sizeof(filename), "%s", config_filename);
+	if (size >= sizeof(filename))
+		filename[sizeof(filename)-1] = '\0';
+	return menu_backtitle;
+}
+
+/* return = 0 means we are successful.
+ * -1 means go on doing what you were doing
+ */
+static int do_exit(void)
+{
+	int res;
+	if (!conf_get_changed()) {
+		global_exit = 1;
+		return 0;
+	}
+	res = btn_dialog(main_window,
+			_("Do you wish to save your new configuration?\n"
+				"<ESC> to cancel and resume nconfig."),
+			2,
+			"   <save>   ",
+			"<don't save>");
+	if (res == KEY_EXIT) {
+		global_exit = 0;
+		return -1;
+	}
+
+	/* if we got here, the user really wants to exit */
+	switch (res) {
+	case 0:
+		res = conf_write(filename);
+		if (res)
+			btn_dialog(
+				main_window,
+				_("Error during writing of configuration.\n"
+				  "Your configuration changes were NOT saved."),
+				  1,
+				  "<OK>");
+		break;
+	default:
+		btn_dialog(
+			main_window,
+			_("Your configuration changes were NOT saved."),
+			1,
+			"<OK>");
+		break;
+	}
+	global_exit = 1;
+	return 0;
+}
+
+
+static void search_conf(void)
+{
+	struct symbol **sym_arr;
+	struct gstr res;
+	struct gstr title;
+	char *dialog_input;
+	int dres;
+
+	title = str_new();
+	str_printf( &title, _("Enter (sub)string or regexp to search for "
+			      "(with or without \"%s\")"), CONFIG_);
+
+again:
+	dres = dialog_inputbox(main_window,
+			_("Search Configuration Parameter"),
+			str_get(&title),
+			"", &dialog_input_result, &dialog_input_result_len);
+	switch (dres) {
+	case 0:
+		break;
+	case 1:
+		show_scroll_win(main_window,
+				_("Search Configuration"), search_help);
+		goto again;
+	default:
+		str_free(&title);
+		return;
+	}
+
+	/* strip the prefix if necessary */
+	dialog_input = dialog_input_result;
+	if (strncasecmp(dialog_input_result, CONFIG_, strlen(CONFIG_)) == 0)
+		dialog_input += strlen(CONFIG_);
+
+	sym_arr = sym_re_search(dialog_input);
+	res = get_relations_str(sym_arr, NULL);
+	free(sym_arr);
+	show_scroll_win(main_window,
+			_("Search Results"), str_get(&res));
+	str_free(&res);
+	str_free(&title);
+}
+
+
+static void build_conf(struct menu *menu)
+{
+	struct symbol *sym;
+	struct property *prop;
+	struct menu *child;
+	int type, tmp, doint = 2;
+	tristate val;
+	char ch;
+
+	if (!menu || (!show_all_items && !menu_is_visible(menu)))
+		return;
+
+	sym = menu->sym;
+	prop = menu->prompt;
+	if (!sym) {
+		if (prop && menu != current_menu) {
+			const char *prompt = menu_get_prompt(menu);
+			enum prop_type ptype;
+			ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+			switch (ptype) {
+			case P_MENU:
+				child_count++;
+				prompt = _(prompt);
+				if (single_menu_mode) {
+					item_make(menu, 'm',
+						"%s%*c%s",
+						menu->data ? "-->" : "++>",
+						indent + 1, ' ', prompt);
+				} else
+					item_make(menu, 'm',
+						  "   %*c%s  %s",
+						  indent + 1, ' ', prompt,
+						  menu_is_empty(menu) ? "----" : "--->");
+
+				if (single_menu_mode && menu->data)
+					goto conf_childs;
+				return;
+			case P_COMMENT:
+				if (prompt) {
+					child_count++;
+					item_make(menu, ':',
+						"   %*c*** %s ***",
+						indent + 1, ' ',
+						_(prompt));
+				}
+				break;
+			default:
+				if (prompt) {
+					child_count++;
+					item_make(menu, ':', "---%*c%s",
+						indent + 1, ' ',
+						_(prompt));
+				}
+			}
+		} else
+			doint = 0;
+		goto conf_childs;
+	}
+
+	type = sym_get_type(sym);
+	if (sym_is_choice(sym)) {
+		struct symbol *def_sym = sym_get_choice_value(sym);
+		struct menu *def_menu = NULL;
+
+		child_count++;
+		for (child = menu->list; child; child = child->next) {
+			if (menu_is_visible(child) && child->sym == def_sym)
+				def_menu = child;
+		}
+
+		val = sym_get_tristate_value(sym);
+		if (sym_is_changable(sym)) {
+			switch (type) {
+			case S_BOOLEAN:
+				item_make(menu, 't', "[%c]",
+						val == no ? ' ' : '*');
+				break;
+			case S_TRISTATE:
+				switch (val) {
+				case yes:
+					ch = '*';
+					break;
+				case mod:
+					ch = 'M';
+					break;
+				default:
+					ch = ' ';
+					break;
+				}
+				item_make(menu, 't', "<%c>", ch);
+				break;
+			}
+		} else {
+			item_make(menu, def_menu ? 't' : ':', "   ");
+		}
+
+		item_add_str("%*c%s", indent + 1,
+				' ', _(menu_get_prompt(menu)));
+		if (val == yes) {
+			if (def_menu) {
+				item_add_str(" (%s)",
+					_(menu_get_prompt(def_menu)));
+				item_add_str("  --->");
+				if (def_menu->list) {
+					indent += 2;
+					build_conf(def_menu);
+					indent -= 2;
+				}
+			}
+			return;
+		}
+	} else {
+		if (menu == current_menu) {
+			item_make(menu, ':',
+				"---%*c%s", indent + 1,
+				' ', _(menu_get_prompt(menu)));
+			goto conf_childs;
+		}
+		child_count++;
+		val = sym_get_tristate_value(sym);
+		if (sym_is_choice_value(sym) && val == yes) {
+			item_make(menu, ':', "   ");
+		} else {
+			switch (type) {
+			case S_BOOLEAN:
+				if (sym_is_changable(sym))
+					item_make(menu, 't', "[%c]",
+						val == no ? ' ' : '*');
+				else
+					item_make(menu, 't', "-%c-",
+						val == no ? ' ' : '*');
+				break;
+			case S_TRISTATE:
+				switch (val) {
+				case yes:
+					ch = '*';
+					break;
+				case mod:
+					ch = 'M';
+					break;
+				default:
+					ch = ' ';
+					break;
+				}
+				if (sym_is_changable(sym)) {
+					if (sym->rev_dep.tri == mod)
+						item_make(menu,
+							't', "{%c}", ch);
+					else
+						item_make(menu,
+							't', "<%c>", ch);
+				} else
+					item_make(menu, 't', "-%c-", ch);
+				break;
+			default:
+				tmp = 2 + strlen(sym_get_string_value(sym));
+				item_make(menu, 's', "    (%s)",
+						sym_get_string_value(sym));
+				tmp = indent - tmp + 4;
+				if (tmp < 0)
+					tmp = 0;
+				item_add_str("%*c%s%s", tmp, ' ',
+						_(menu_get_prompt(menu)),
+						(sym_has_value(sym) ||
+						 !sym_is_changable(sym)) ? "" :
+						_(" (NEW)"));
+				goto conf_childs;
+			}
+		}
+		item_add_str("%*c%s%s", indent + 1, ' ',
+				_(menu_get_prompt(menu)),
+				(sym_has_value(sym) || !sym_is_changable(sym)) ?
+				"" : _(" (NEW)"));
+		if (menu->prompt && menu->prompt->type == P_MENU) {
+			item_add_str("  %s", menu_is_empty(menu) ? "----" : "--->");
+			return;
+		}
+	}
+
+conf_childs:
+	indent += doint;
+	for (child = menu->list; child; child = child->next)
+		build_conf(child);
+	indent -= doint;
+}
+
+static void reset_menu(void)
+{
+	unpost_menu(curses_menu);
+	clean_items();
+}
+
+/* adjust the menu to show this item.
+ * prefer not to scroll the menu if possible*/
+static void center_item(int selected_index, int *last_top_row)
+{
+	int toprow;
+
+	set_top_row(curses_menu, *last_top_row);
+	toprow = top_row(curses_menu);
+	if (selected_index < toprow ||
+	    selected_index >= toprow+mwin_max_lines) {
+		toprow = max(selected_index-mwin_max_lines/2, 0);
+		if (toprow >= item_count(curses_menu)-mwin_max_lines)
+			toprow = item_count(curses_menu)-mwin_max_lines;
+		set_top_row(curses_menu, toprow);
+	}
+	set_current_item(curses_menu,
+			curses_menu_items[selected_index]);
+	*last_top_row = toprow;
+	post_menu(curses_menu);
+	refresh_all_windows(main_window);
+}
+
+/* this function assumes reset_menu has been called before */
+static void show_menu(const char *prompt, const char *instructions,
+		int selected_index, int *last_top_row)
+{
+	int maxx, maxy;
+	WINDOW *menu_window;
+
+	current_instructions = instructions;
+
+	clear();
+	(void) wattrset(main_window, attributes[NORMAL]);
+	print_in_middle(stdscr, 1, 0, getmaxx(stdscr),
+			menu_backtitle,
+			attributes[MAIN_HEADING]);
+
+	(void) wattrset(main_window, attributes[MAIN_MENU_BOX]);
+	box(main_window, 0, 0);
+	(void) wattrset(main_window, attributes[MAIN_MENU_HEADING]);
+	mvwprintw(main_window, 0, 3, " %s ", prompt);
+	(void) wattrset(main_window, attributes[NORMAL]);
+
+	set_menu_items(curses_menu, curses_menu_items);
+
+	/* position the menu at the middle of the screen */
+	scale_menu(curses_menu, &maxy, &maxx);
+	maxx = min(maxx, mwin_max_cols-2);
+	maxy = mwin_max_lines;
+	menu_window = derwin(main_window,
+			maxy,
+			maxx,
+			2,
+			(mwin_max_cols-maxx)/2);
+	keypad(menu_window, TRUE);
+	set_menu_win(curses_menu, menu_window);
+	set_menu_sub(curses_menu, menu_window);
+
+	/* must reassert this after changing items, otherwise returns to a
+	 * default of 16
+	 */
+	set_menu_format(curses_menu, maxy, 1);
+	center_item(selected_index, last_top_row);
+	set_menu_format(curses_menu, maxy, 1);
+
+	print_function_line();
+
+	/* Post the menu */
+	post_menu(curses_menu);
+	refresh_all_windows(main_window);
+}
+
+static void adj_match_dir(match_f *match_direction)
+{
+	if (*match_direction == FIND_NEXT_MATCH_DOWN)
+		*match_direction =
+			MATCH_TINKER_PATTERN_DOWN;
+	else if (*match_direction == FIND_NEXT_MATCH_UP)
+		*match_direction =
+			MATCH_TINKER_PATTERN_UP;
+	/* else, do no change.. */
+}
+
+struct match_state
+{
+	int in_search;
+	match_f match_direction;
+	char pattern[256];
+};
+
+/* Return 0 means I have handled the key. In such a case, ans should hold the
+ * item to center, or -1 otherwise.
+ * Else return -1 .
+ */
+static int do_match(int key, struct match_state *state, int *ans)
+{
+	char c = (char) key;
+	int terminate_search = 0;
+	*ans = -1;
+	if (key == '/' || (state->in_search && key == 27)) {
+		move(0, 0);
+		refresh();
+		clrtoeol();
+		state->in_search = 1-state->in_search;
+		bzero(state->pattern, sizeof(state->pattern));
+		state->match_direction = MATCH_TINKER_PATTERN_DOWN;
+		return 0;
+	} else if (!state->in_search)
+		return 1;
+
+	if (isalnum(c) || isgraph(c) || c == ' ') {
+		state->pattern[strlen(state->pattern)] = c;
+		state->pattern[strlen(state->pattern)] = '\0';
+		adj_match_dir(&state->match_direction);
+		*ans = get_mext_match(state->pattern,
+				state->match_direction);
+	} else if (key == KEY_DOWN) {
+		state->match_direction = FIND_NEXT_MATCH_DOWN;
+		*ans = get_mext_match(state->pattern,
+				state->match_direction);
+	} else if (key == KEY_UP) {
+		state->match_direction = FIND_NEXT_MATCH_UP;
+		*ans = get_mext_match(state->pattern,
+				state->match_direction);
+	} else if (key == KEY_BACKSPACE || key == 127) {
+		state->pattern[strlen(state->pattern)-1] = '\0';
+		adj_match_dir(&state->match_direction);
+	} else
+		terminate_search = 1;
+
+	if (terminate_search) {
+		state->in_search = 0;
+		bzero(state->pattern, sizeof(state->pattern));
+		move(0, 0);
+		refresh();
+		clrtoeol();
+		return -1;
+	}
+	return 0;
+}
+
+static void conf(struct menu *menu)
+{
+	struct menu *submenu = 0;
+	const char *prompt = menu_get_prompt(menu);
+	struct symbol *sym;
+	int res;
+	int current_index = 0;
+	int last_top_row = 0;
+	struct match_state match_state = {
+		.in_search = 0,
+		.match_direction = MATCH_TINKER_PATTERN_DOWN,
+		.pattern = "",
+	};
+
+	while (!global_exit) {
+		reset_menu();
+		current_menu = menu;
+		build_conf(menu);
+		if (!child_count)
+			break;
+
+		show_menu(prompt ? _(prompt) : _("Main Menu"),
+				_(menu_instructions),
+				current_index, &last_top_row);
+		keypad((menu_win(curses_menu)), TRUE);
+		while (!global_exit) {
+			if (match_state.in_search) {
+				mvprintw(0, 0,
+					"searching: %s", match_state.pattern);
+				clrtoeol();
+			}
+			refresh_all_windows(main_window);
+			res = wgetch(menu_win(curses_menu));
+			if (!res)
+				break;
+			if (do_match(res, &match_state, &current_index) == 0) {
+				if (current_index != -1)
+					center_item(current_index,
+						    &last_top_row);
+				continue;
+			}
+			if (process_special_keys(&res,
+						(struct menu *) item_data()))
+				break;
+			switch (res) {
+			case KEY_DOWN:
+				menu_driver(curses_menu, REQ_DOWN_ITEM);
+				break;
+			case KEY_UP:
+				menu_driver(curses_menu, REQ_UP_ITEM);
+				break;
+			case KEY_NPAGE:
+				menu_driver(curses_menu, REQ_SCR_DPAGE);
+				break;
+			case KEY_PPAGE:
+				menu_driver(curses_menu, REQ_SCR_UPAGE);
+				break;
+			case KEY_HOME:
+				menu_driver(curses_menu, REQ_FIRST_ITEM);
+				break;
+			case KEY_END:
+				menu_driver(curses_menu, REQ_LAST_ITEM);
+				break;
+			case 'h':
+			case '?':
+				show_help((struct menu *) item_data());
+				break;
+			}
+			if (res == 10 || res == 27 ||
+				res == 32 || res == 'n' || res == 'y' ||
+				res == KEY_LEFT || res == KEY_RIGHT ||
+				res == 'm')
+				break;
+			refresh_all_windows(main_window);
+		}
+
+		refresh_all_windows(main_window);
+		/* if ESC or left*/
+		if (res == 27 || (menu != &rootmenu && res == KEY_LEFT))
+			break;
+
+		/* remember location in the menu */
+		last_top_row = top_row(curses_menu);
+		current_index = curses_item_index();
+
+		if (!item_tag())
+			continue;
+
+		submenu = (struct menu *) item_data();
+		if (!submenu || !menu_is_visible(submenu))
+			continue;
+		sym = submenu->sym;
+
+		switch (res) {
+		case ' ':
+			if (item_is_tag('t'))
+				sym_toggle_tristate_value(sym);
+			else if (item_is_tag('m'))
+				conf(submenu);
+			break;
+		case KEY_RIGHT:
+		case 10: /* ENTER WAS PRESSED */
+			switch (item_tag()) {
+			case 'm':
+				if (single_menu_mode)
+					submenu->data =
+						(void *) (long) !submenu->data;
+				else
+					conf(submenu);
+				break;
+			case 't':
+				if (sym_is_choice(sym) &&
+				    sym_get_tristate_value(sym) == yes)
+					conf_choice(submenu);
+				else if (submenu->prompt &&
+					 submenu->prompt->type == P_MENU)
+					conf(submenu);
+				else if (res == 10)
+					sym_toggle_tristate_value(sym);
+				break;
+			case 's':
+				conf_string(submenu);
+				break;
+			}
+			break;
+		case 'y':
+			if (item_is_tag('t')) {
+				if (sym_set_tristate_value(sym, yes))
+					break;
+				if (sym_set_tristate_value(sym, mod))
+					btn_dialog(main_window, setmod_text, 0);
+			}
+			break;
+		case 'n':
+			if (item_is_tag('t'))
+				sym_set_tristate_value(sym, no);
+			break;
+		case 'm':
+			if (item_is_tag('t'))
+				sym_set_tristate_value(sym, mod);
+			break;
+		}
+	}
+}
+
+static void conf_message_callback(const char *fmt, va_list ap)
+{
+	char buf[1024];
+
+	vsnprintf(buf, sizeof(buf), fmt, ap);
+	btn_dialog(main_window, buf, 1, "<OK>");
+}
+
+static void show_help(struct menu *menu)
+{
+	struct gstr help;
+
+	if (!menu)
+		return;
+
+	help = str_new();
+	menu_get_ext_help(menu, &help);
+	show_scroll_win(main_window, _(menu_get_prompt(menu)), str_get(&help));
+	str_free(&help);
+}
+
+static void conf_choice(struct menu *menu)
+{
+	const char *prompt = _(menu_get_prompt(menu));
+	struct menu *child = 0;
+	struct symbol *active;
+	int selected_index = 0;
+	int last_top_row = 0;
+	int res, i = 0;
+	struct match_state match_state = {
+		.in_search = 0,
+		.match_direction = MATCH_TINKER_PATTERN_DOWN,
+		.pattern = "",
+	};
+
+	active = sym_get_choice_value(menu->sym);
+	/* this is mostly duplicated from the conf() function. */
+	while (!global_exit) {
+		reset_menu();
+
+		for (i = 0, child = menu->list; child; child = child->next) {
+			if (!show_all_items && !menu_is_visible(child))
+				continue;
+
+			if (child->sym == sym_get_choice_value(menu->sym))
+				item_make(child, ':', "<X> %s",
+						_(menu_get_prompt(child)));
+			else if (child->sym)
+				item_make(child, ':', "    %s",
+						_(menu_get_prompt(child)));
+			else
+				item_make(child, ':', "*** %s ***",
+						_(menu_get_prompt(child)));
+
+			if (child->sym == active){
+				last_top_row = top_row(curses_menu);
+				selected_index = i;
+			}
+			i++;
+		}
+		show_menu(prompt ? _(prompt) : _("Choice Menu"),
+				_(radiolist_instructions),
+				selected_index,
+				&last_top_row);
+		while (!global_exit) {
+			if (match_state.in_search) {
+				mvprintw(0, 0, "searching: %s",
+					 match_state.pattern);
+				clrtoeol();
+			}
+			refresh_all_windows(main_window);
+			res = wgetch(menu_win(curses_menu));
+			if (!res)
+				break;
+			if (do_match(res, &match_state, &selected_index) == 0) {
+				if (selected_index != -1)
+					center_item(selected_index,
+						    &last_top_row);
+				continue;
+			}
+			if (process_special_keys(
+						&res,
+						(struct menu *) item_data()))
+				break;
+			switch (res) {
+			case KEY_DOWN:
+				menu_driver(curses_menu, REQ_DOWN_ITEM);
+				break;
+			case KEY_UP:
+				menu_driver(curses_menu, REQ_UP_ITEM);
+				break;
+			case KEY_NPAGE:
+				menu_driver(curses_menu, REQ_SCR_DPAGE);
+				break;
+			case KEY_PPAGE:
+				menu_driver(curses_menu, REQ_SCR_UPAGE);
+				break;
+			case KEY_HOME:
+				menu_driver(curses_menu, REQ_FIRST_ITEM);
+				break;
+			case KEY_END:
+				menu_driver(curses_menu, REQ_LAST_ITEM);
+				break;
+			case 'h':
+			case '?':
+				show_help((struct menu *) item_data());
+				break;
+			}
+			if (res == 10 || res == 27 || res == ' ' ||
+					res == KEY_LEFT){
+				break;
+			}
+			refresh_all_windows(main_window);
+		}
+		/* if ESC or left */
+		if (res == 27 || res == KEY_LEFT)
+			break;
+
+		child = item_data();
+		if (!child || !menu_is_visible(child) || !child->sym)
+			continue;
+		switch (res) {
+		case ' ':
+		case  10:
+		case KEY_RIGHT:
+			sym_set_tristate_value(child->sym, yes);
+			return;
+		case 'h':
+		case '?':
+			show_help(child);
+			active = child->sym;
+			break;
+		case KEY_EXIT:
+			return;
+		}
+	}
+}
+
+static void conf_string(struct menu *menu)
+{
+	const char *prompt = menu_get_prompt(menu);
+
+	while (1) {
+		int res;
+		const char *heading;
+
+		switch (sym_get_type(menu->sym)) {
+		case S_INT:
+			heading = _(inputbox_instructions_int);
+			break;
+		case S_HEX:
+			heading = _(inputbox_instructions_hex);
+			break;
+		case S_STRING:
+			heading = _(inputbox_instructions_string);
+			break;
+		default:
+			heading = _("Internal nconf error!");
+		}
+		res = dialog_inputbox(main_window,
+				prompt ? _(prompt) : _("Main Menu"),
+				heading,
+				sym_get_string_value(menu->sym),
+				&dialog_input_result,
+				&dialog_input_result_len);
+		switch (res) {
+		case 0:
+			if (sym_set_string_value(menu->sym,
+						dialog_input_result))
+				return;
+			btn_dialog(main_window,
+				_("You have made an invalid entry."), 0);
+			break;
+		case 1:
+			show_help(menu);
+			break;
+		case KEY_EXIT:
+			return;
+		}
+	}
+}
+
+static void conf_load(void)
+{
+	while (1) {
+		int res;
+		res = dialog_inputbox(main_window,
+				NULL, load_config_text,
+				filename,
+				&dialog_input_result,
+				&dialog_input_result_len);
+		switch (res) {
+		case 0:
+			if (!dialog_input_result[0])
+				return;
+			if (!conf_read(dialog_input_result)) {
+				set_config_filename(dialog_input_result);
+				sym_set_change_count(1);
+				return;
+			}
+			btn_dialog(main_window, _("File does not exist!"), 0);
+			break;
+		case 1:
+			show_scroll_win(main_window,
+					_("Load Alternate Configuration"),
+					load_config_help);
+			break;
+		case KEY_EXIT:
+			return;
+		}
+	}
+}
+
+static void conf_save(void)
+{
+	while (1) {
+		int res;
+		res = dialog_inputbox(main_window,
+				NULL, save_config_text,
+				filename,
+				&dialog_input_result,
+				&dialog_input_result_len);
+		switch (res) {
+		case 0:
+			if (!dialog_input_result[0])
+				return;
+			res = conf_write(dialog_input_result);
+			if (!res) {
+				set_config_filename(dialog_input_result);
+				return;
+			}
+			btn_dialog(main_window, _("Can't create file! "
+				"Probably a nonexistent directory."),
+				1, "<OK>");
+			break;
+		case 1:
+			show_scroll_win(main_window,
+				_("Save Alternate Configuration"),
+				save_config_help);
+			break;
+		case KEY_EXIT:
+			return;
+		}
+	}
+}
+
+void setup_windows(void)
+{
+	int lines, columns;
+
+	getmaxyx(stdscr, lines, columns);
+
+	if (main_window != NULL)
+		delwin(main_window);
+
+	/* set up the menu and menu window */
+	main_window = newwin(lines-2, columns-2, 2, 1);
+	keypad(main_window, TRUE);
+	mwin_max_lines = lines-7;
+	mwin_max_cols = columns-6;
+
+	/* panels order is from bottom to top */
+	new_panel(main_window);
+}
+
+int main(int ac, char **av)
+{
+	int lines, columns;
+	char *mode;
+
+	setlocale(LC_ALL, "");
+	bindtextdomain(PACKAGE, LOCALEDIR);
+	textdomain(PACKAGE);
+
+	conf_parse(av[1]);
+	conf_read(NULL);
+
+	mode = getenv("NCONFIG_MODE");
+	if (mode) {
+		if (!strcasecmp(mode, "single_menu"))
+			single_menu_mode = 1;
+	}
+
+	/* Initialize curses */
+	initscr();
+	/* set color theme */
+	set_colors();
+
+	cbreak();
+	noecho();
+	keypad(stdscr, TRUE);
+	curs_set(0);
+
+	getmaxyx(stdscr, lines, columns);
+	if (columns < 75 || lines < 20) {
+		endwin();
+		printf("Your terminal should have at "
+			"least 20 lines and 75 columns\n");
+		return 1;
+	}
+
+	notimeout(stdscr, FALSE);
+#if NCURSES_REENTRANT
+	set_escdelay(1);
+#else
+	ESCDELAY = 1;
+#endif
+
+	/* set btns menu */
+	curses_menu = new_menu(curses_menu_items);
+	menu_opts_off(curses_menu, O_SHOWDESC);
+	menu_opts_on(curses_menu, O_SHOWMATCH);
+	menu_opts_on(curses_menu, O_ONEVALUE);
+	menu_opts_on(curses_menu, O_NONCYCLIC);
+	menu_opts_on(curses_menu, O_IGNORECASE);
+	set_menu_mark(curses_menu, " ");
+	set_menu_fore(curses_menu, attributes[MAIN_MENU_FORE]);
+	set_menu_back(curses_menu, attributes[MAIN_MENU_BACK]);
+	set_menu_grey(curses_menu, attributes[MAIN_MENU_GREY]);
+
+	set_config_filename(conf_get_configname());
+	setup_windows();
+
+	/* check for KEY_FUNC(1) */
+	if (has_key(KEY_F(1)) == FALSE) {
+		show_scroll_win(main_window,
+				_("Instructions"),
+				_(menu_no_f_instructions));
+	}
+
+	conf_set_message_callback(conf_message_callback);
+	/* do the work */
+	while (!global_exit) {
+		conf(&rootmenu);
+		if (!global_exit && do_exit() == 0)
+			break;
+	}
+	/* ok, we are done */
+	unpost_menu(curses_menu);
+	free_menu(curses_menu);
+	delwin(main_window);
+	clear();
+	refresh();
+	endwin();
+	return 0;
+}
+
diff --git a/scripts/kconfig/nconf.gui.c b/scripts/kconfig/nconf.gui.c
new file mode 100644
index 0000000..8275f0e
--- /dev/null
+++ b/scripts/kconfig/nconf.gui.c
@@ -0,0 +1,656 @@
+/*
+ * Copyright (C) 2008 Nir Tzachar <nir.tzachar@gmail.com?
+ * Released under the terms of the GNU GPL v2.0.
+ *
+ * Derived from menuconfig.
+ *
+ */
+#include "nconf.h"
+
+/* a list of all the different widgets we use */
+attributes_t attributes[ATTR_MAX+1] = {0};
+
+/* available colors:
+   COLOR_BLACK   0
+   COLOR_RED     1
+   COLOR_GREEN   2
+   COLOR_YELLOW  3
+   COLOR_BLUE    4
+   COLOR_MAGENTA 5
+   COLOR_CYAN    6
+   COLOR_WHITE   7
+   */
+static void set_normal_colors(void)
+{
+	init_pair(NORMAL, -1, -1);
+	init_pair(MAIN_HEADING, COLOR_MAGENTA, -1);
+
+	/* FORE is for the selected item */
+	init_pair(MAIN_MENU_FORE, -1, -1);
+	/* BACK for all the rest */
+	init_pair(MAIN_MENU_BACK, -1, -1);
+	init_pair(MAIN_MENU_GREY, -1, -1);
+	init_pair(MAIN_MENU_HEADING, COLOR_GREEN, -1);
+	init_pair(MAIN_MENU_BOX, COLOR_YELLOW, -1);
+
+	init_pair(SCROLLWIN_TEXT, -1, -1);
+	init_pair(SCROLLWIN_HEADING, COLOR_GREEN, -1);
+	init_pair(SCROLLWIN_BOX, COLOR_YELLOW, -1);
+
+	init_pair(DIALOG_TEXT, -1, -1);
+	init_pair(DIALOG_BOX, COLOR_YELLOW, -1);
+	init_pair(DIALOG_MENU_BACK, COLOR_YELLOW, -1);
+	init_pair(DIALOG_MENU_FORE, COLOR_RED, -1);
+
+	init_pair(INPUT_BOX, COLOR_YELLOW, -1);
+	init_pair(INPUT_HEADING, COLOR_GREEN, -1);
+	init_pair(INPUT_TEXT, -1, -1);
+	init_pair(INPUT_FIELD, -1, -1);
+
+	init_pair(FUNCTION_HIGHLIGHT, -1, -1);
+	init_pair(FUNCTION_TEXT, COLOR_YELLOW, -1);
+}
+
+/* available attributes:
+   A_NORMAL        Normal display (no highlight)
+   A_STANDOUT      Best highlighting mode of the terminal.
+   A_UNDERLINE     Underlining
+   A_REVERSE       Reverse video
+   A_BLINK         Blinking
+   A_DIM           Half bright
+   A_BOLD          Extra bright or bold
+   A_PROTECT       Protected mode
+   A_INVIS         Invisible or blank mode
+   A_ALTCHARSET    Alternate character set
+   A_CHARTEXT      Bit-mask to extract a character
+   COLOR_PAIR(n)   Color-pair number n
+   */
+static void normal_color_theme(void)
+{
+	/* automatically add color... */
+#define mkattr(name, attr) do { \
+attributes[name] = attr | COLOR_PAIR(name); } while (0)
+	mkattr(NORMAL, NORMAL);
+	mkattr(MAIN_HEADING, A_BOLD | A_UNDERLINE);
+
+	mkattr(MAIN_MENU_FORE, A_REVERSE);
+	mkattr(MAIN_MENU_BACK, A_NORMAL);
+	mkattr(MAIN_MENU_GREY, A_NORMAL);
+	mkattr(MAIN_MENU_HEADING, A_BOLD);
+	mkattr(MAIN_MENU_BOX, A_NORMAL);
+
+	mkattr(SCROLLWIN_TEXT, A_NORMAL);
+	mkattr(SCROLLWIN_HEADING, A_BOLD);
+	mkattr(SCROLLWIN_BOX, A_BOLD);
+
+	mkattr(DIALOG_TEXT, A_BOLD);
+	mkattr(DIALOG_BOX, A_BOLD);
+	mkattr(DIALOG_MENU_FORE, A_STANDOUT);
+	mkattr(DIALOG_MENU_BACK, A_NORMAL);
+
+	mkattr(INPUT_BOX, A_NORMAL);
+	mkattr(INPUT_HEADING, A_BOLD);
+	mkattr(INPUT_TEXT, A_NORMAL);
+	mkattr(INPUT_FIELD, A_UNDERLINE);
+
+	mkattr(FUNCTION_HIGHLIGHT, A_BOLD);
+	mkattr(FUNCTION_TEXT, A_REVERSE);
+}
+
+static void no_colors_theme(void)
+{
+	/* automatically add highlight, no color */
+#define mkattrn(name, attr) { attributes[name] = attr; }
+
+	mkattrn(NORMAL, NORMAL);
+	mkattrn(MAIN_HEADING, A_BOLD | A_UNDERLINE);
+
+	mkattrn(MAIN_MENU_FORE, A_STANDOUT);
+	mkattrn(MAIN_MENU_BACK, A_NORMAL);
+	mkattrn(MAIN_MENU_GREY, A_NORMAL);
+	mkattrn(MAIN_MENU_HEADING, A_BOLD);
+	mkattrn(MAIN_MENU_BOX, A_NORMAL);
+
+	mkattrn(SCROLLWIN_TEXT, A_NORMAL);
+	mkattrn(SCROLLWIN_HEADING, A_BOLD);
+	mkattrn(SCROLLWIN_BOX, A_BOLD);
+
+	mkattrn(DIALOG_TEXT, A_NORMAL);
+	mkattrn(DIALOG_BOX, A_BOLD);
+	mkattrn(DIALOG_MENU_FORE, A_STANDOUT);
+	mkattrn(DIALOG_MENU_BACK, A_NORMAL);
+
+	mkattrn(INPUT_BOX, A_BOLD);
+	mkattrn(INPUT_HEADING, A_BOLD);
+	mkattrn(INPUT_TEXT, A_NORMAL);
+	mkattrn(INPUT_FIELD, A_UNDERLINE);
+
+	mkattrn(FUNCTION_HIGHLIGHT, A_BOLD);
+	mkattrn(FUNCTION_TEXT, A_REVERSE);
+}
+
+void set_colors()
+{
+	start_color();
+	use_default_colors();
+	set_normal_colors();
+	if (has_colors()) {
+		normal_color_theme();
+	} else {
+		/* give defaults */
+		no_colors_theme();
+	}
+}
+
+
+/* this changes the windows attributes !!! */
+void print_in_middle(WINDOW *win,
+		int starty,
+		int startx,
+		int width,
+		const char *string,
+		chtype color)
+{      int length, x, y;
+	float temp;
+
+
+	if (win == NULL)
+		win = stdscr;
+	getyx(win, y, x);
+	if (startx != 0)
+		x = startx;
+	if (starty != 0)
+		y = starty;
+	if (width == 0)
+		width = 80;
+
+	length = strlen(string);
+	temp = (width - length) / 2;
+	x = startx + (int)temp;
+	(void) wattrset(win, color);
+	mvwprintw(win, y, x, "%s", string);
+	refresh();
+}
+
+int get_line_no(const char *text)
+{
+	int i;
+	int total = 1;
+
+	if (!text)
+		return 0;
+
+	for (i = 0; text[i] != '\0'; i++)
+		if (text[i] == '\n')
+			total++;
+	return total;
+}
+
+const char *get_line(const char *text, int line_no)
+{
+	int i;
+	int lines = 0;
+
+	if (!text)
+		return 0;
+
+	for (i = 0; text[i] != '\0' && lines < line_no; i++)
+		if (text[i] == '\n')
+			lines++;
+	return text+i;
+}
+
+int get_line_length(const char *line)
+{
+	int res = 0;
+	while (*line != '\0' && *line != '\n') {
+		line++;
+		res++;
+	}
+	return res;
+}
+
+/* print all lines to the window. */
+void fill_window(WINDOW *win, const char *text)
+{
+	int x, y;
+	int total_lines = get_line_no(text);
+	int i;
+
+	getmaxyx(win, y, x);
+	/* do not go over end of line */
+	total_lines = min(total_lines, y);
+	for (i = 0; i < total_lines; i++) {
+		char tmp[x+10];
+		const char *line = get_line(text, i);
+		int len = get_line_length(line);
+		strncpy(tmp, line, min(len, x));
+		tmp[len] = '\0';
+		mvwprintw(win, i, 0, "%s", tmp);
+	}
+}
+
+/* get the message, and buttons.
+ * each button must be a char*
+ * return the selected button
+ *
+ * this dialog is used for 2 different things:
+ * 1) show a text box, no buttons.
+ * 2) show a dialog, with horizontal buttons
+ */
+int btn_dialog(WINDOW *main_window, const char *msg, int btn_num, ...)
+{
+	va_list ap;
+	char *btn;
+	int btns_width = 0;
+	int msg_lines = 0;
+	int msg_width = 0;
+	int total_width;
+	int win_rows = 0;
+	WINDOW *win;
+	WINDOW *msg_win;
+	WINDOW *menu_win;
+	MENU *menu;
+	ITEM *btns[btn_num+1];
+	int i, x, y;
+	int res = -1;
+
+
+	va_start(ap, btn_num);
+	for (i = 0; i < btn_num; i++) {
+		btn = va_arg(ap, char *);
+		btns[i] = new_item(btn, "");
+		btns_width += strlen(btn)+1;
+	}
+	va_end(ap);
+	btns[btn_num] = NULL;
+
+	/* find the widest line of msg: */
+	msg_lines = get_line_no(msg);
+	for (i = 0; i < msg_lines; i++) {
+		const char *line = get_line(msg, i);
+		int len = get_line_length(line);
+		if (msg_width < len)
+			msg_width = len;
+	}
+
+	total_width = max(msg_width, btns_width);
+	/* place dialog in middle of screen */
+	y = (getmaxy(stdscr)-(msg_lines+4))/2;
+	x = (getmaxx(stdscr)-(total_width+4))/2;
+
+
+	/* create the windows */
+	if (btn_num > 0)
+		win_rows = msg_lines+4;
+	else
+		win_rows = msg_lines+2;
+
+	win = newwin(win_rows, total_width+4, y, x);
+	keypad(win, TRUE);
+	menu_win = derwin(win, 1, btns_width, win_rows-2,
+			1+(total_width+2-btns_width)/2);
+	menu = new_menu(btns);
+	msg_win = derwin(win, win_rows-2, msg_width, 1,
+			1+(total_width+2-msg_width)/2);
+
+	set_menu_fore(menu, attributes[DIALOG_MENU_FORE]);
+	set_menu_back(menu, attributes[DIALOG_MENU_BACK]);
+
+	(void) wattrset(win, attributes[DIALOG_BOX]);
+	box(win, 0, 0);
+
+	/* print message */
+	(void) wattrset(msg_win, attributes[DIALOG_TEXT]);
+	fill_window(msg_win, msg);
+
+	set_menu_win(menu, win);
+	set_menu_sub(menu, menu_win);
+	set_menu_format(menu, 1, btn_num);
+	menu_opts_off(menu, O_SHOWDESC);
+	menu_opts_off(menu, O_SHOWMATCH);
+	menu_opts_on(menu, O_ONEVALUE);
+	menu_opts_on(menu, O_NONCYCLIC);
+	set_menu_mark(menu, "");
+	post_menu(menu);
+
+
+	touchwin(win);
+	refresh_all_windows(main_window);
+	while ((res = wgetch(win))) {
+		switch (res) {
+		case KEY_LEFT:
+			menu_driver(menu, REQ_LEFT_ITEM);
+			break;
+		case KEY_RIGHT:
+			menu_driver(menu, REQ_RIGHT_ITEM);
+			break;
+		case 10: /* ENTER */
+		case 27: /* ESCAPE */
+		case ' ':
+		case KEY_F(F_BACK):
+		case KEY_F(F_EXIT):
+			break;
+		}
+		touchwin(win);
+		refresh_all_windows(main_window);
+
+		if (res == 10 || res == ' ') {
+			res = item_index(current_item(menu));
+			break;
+		} else if (res == 27 || res == KEY_F(F_BACK) ||
+				res == KEY_F(F_EXIT)) {
+			res = KEY_EXIT;
+			break;
+		}
+	}
+
+	unpost_menu(menu);
+	free_menu(menu);
+	for (i = 0; i < btn_num; i++)
+		free_item(btns[i]);
+
+	delwin(win);
+	return res;
+}
+
+int dialog_inputbox(WINDOW *main_window,
+		const char *title, const char *prompt,
+		const char *init, char **resultp, int *result_len)
+{
+	int prompt_lines = 0;
+	int prompt_width = 0;
+	WINDOW *win;
+	WINDOW *prompt_win;
+	WINDOW *form_win;
+	PANEL *panel;
+	int i, x, y;
+	int res = -1;
+	int cursor_position = strlen(init);
+	int cursor_form_win;
+	char *result = *resultp;
+
+	if (strlen(init)+1 > *result_len) {
+		*result_len = strlen(init)+1;
+		*resultp = result = realloc(result, *result_len);
+	}
+
+	/* find the widest line of msg: */
+	prompt_lines = get_line_no(prompt);
+	for (i = 0; i < prompt_lines; i++) {
+		const char *line = get_line(prompt, i);
+		int len = get_line_length(line);
+		prompt_width = max(prompt_width, len);
+	}
+
+	if (title)
+		prompt_width = max(prompt_width, strlen(title));
+
+	/* place dialog in middle of screen */
+	y = (getmaxy(stdscr)-(prompt_lines+4))/2;
+	x = (getmaxx(stdscr)-(prompt_width+4))/2;
+
+	strncpy(result, init, *result_len);
+
+	/* create the windows */
+	win = newwin(prompt_lines+6, prompt_width+7, y, x);
+	prompt_win = derwin(win, prompt_lines+1, prompt_width, 2, 2);
+	form_win = derwin(win, 1, prompt_width, prompt_lines+3, 2);
+	keypad(form_win, TRUE);
+
+	(void) wattrset(form_win, attributes[INPUT_FIELD]);
+
+	(void) wattrset(win, attributes[INPUT_BOX]);
+	box(win, 0, 0);
+	(void) wattrset(win, attributes[INPUT_HEADING]);
+	if (title)
+		mvwprintw(win, 0, 3, "%s", title);
+
+	/* print message */
+	(void) wattrset(prompt_win, attributes[INPUT_TEXT]);
+	fill_window(prompt_win, prompt);
+
+	mvwprintw(form_win, 0, 0, "%*s", prompt_width, " ");
+	cursor_form_win = min(cursor_position, prompt_width-1);
+	mvwprintw(form_win, 0, 0, "%s",
+		  result + cursor_position-cursor_form_win);
+
+	/* create panels */
+	panel = new_panel(win);
+
+	/* show the cursor */
+	curs_set(1);
+
+	touchwin(win);
+	refresh_all_windows(main_window);
+	while ((res = wgetch(form_win))) {
+		int len = strlen(result);
+		switch (res) {
+		case 10: /* ENTER */
+		case 27: /* ESCAPE */
+		case KEY_F(F_HELP):
+		case KEY_F(F_EXIT):
+		case KEY_F(F_BACK):
+			break;
+		case 127:
+		case KEY_BACKSPACE:
+			if (cursor_position > 0) {
+				memmove(&result[cursor_position-1],
+						&result[cursor_position],
+						len-cursor_position+1);
+				cursor_position--;
+				cursor_form_win--;
+				len--;
+			}
+			break;
+		case KEY_DC:
+			if (cursor_position >= 0 && cursor_position < len) {
+				memmove(&result[cursor_position],
+						&result[cursor_position+1],
+						len-cursor_position+1);
+				len--;
+			}
+			break;
+		case KEY_UP:
+		case KEY_RIGHT:
+			if (cursor_position < len) {
+				cursor_position++;
+				cursor_form_win++;
+			}
+			break;
+		case KEY_DOWN:
+		case KEY_LEFT:
+			if (cursor_position > 0) {
+				cursor_position--;
+				cursor_form_win--;
+			}
+			break;
+		case KEY_HOME:
+			cursor_position = 0;
+			cursor_form_win = 0;
+			break;
+		case KEY_END:
+			cursor_position = len;
+			cursor_form_win = min(cursor_position, prompt_width-1);
+			break;
+		default:
+			if ((isgraph(res) || isspace(res))) {
+				/* one for new char, one for '\0' */
+				if (len+2 > *result_len) {
+					*result_len = len+2;
+					*resultp = result = realloc(result,
+								*result_len);
+				}
+				/* insert the char at the proper position */
+				memmove(&result[cursor_position+1],
+						&result[cursor_position],
+						len-cursor_position+1);
+				result[cursor_position] = res;
+				cursor_position++;
+				cursor_form_win++;
+				len++;
+			} else {
+				mvprintw(0, 0, "unknown key: %d\n", res);
+			}
+			break;
+		}
+		if (cursor_form_win < 0)
+			cursor_form_win = 0;
+		else if (cursor_form_win > prompt_width-1)
+			cursor_form_win = prompt_width-1;
+
+		wmove(form_win, 0, 0);
+		wclrtoeol(form_win);
+		mvwprintw(form_win, 0, 0, "%*s", prompt_width, " ");
+		mvwprintw(form_win, 0, 0, "%s",
+			result + cursor_position-cursor_form_win);
+		wmove(form_win, 0, cursor_form_win);
+		touchwin(win);
+		refresh_all_windows(main_window);
+
+		if (res == 10) {
+			res = 0;
+			break;
+		} else if (res == 27 || res == KEY_F(F_BACK) ||
+				res == KEY_F(F_EXIT)) {
+			res = KEY_EXIT;
+			break;
+		} else if (res == KEY_F(F_HELP)) {
+			res = 1;
+			break;
+		}
+	}
+
+	/* hide the cursor */
+	curs_set(0);
+	del_panel(panel);
+	delwin(prompt_win);
+	delwin(form_win);
+	delwin(win);
+	return res;
+}
+
+/* refresh all windows in the correct order */
+void refresh_all_windows(WINDOW *main_window)
+{
+	update_panels();
+	touchwin(main_window);
+	refresh();
+}
+
+/* layman's scrollable window... */
+void show_scroll_win(WINDOW *main_window,
+		const char *title,
+		const char *text)
+{
+	int res;
+	int total_lines = get_line_no(text);
+	int x, y, lines, columns;
+	int start_x = 0, start_y = 0;
+	int text_lines = 0, text_cols = 0;
+	int total_cols = 0;
+	int win_cols = 0;
+	int win_lines = 0;
+	int i = 0;
+	WINDOW *win;
+	WINDOW *pad;
+	PANEL *panel;
+
+	getmaxyx(stdscr, lines, columns);
+
+	/* find the widest line of msg: */
+	total_lines = get_line_no(text);
+	for (i = 0; i < total_lines; i++) {
+		const char *line = get_line(text, i);
+		int len = get_line_length(line);
+		total_cols = max(total_cols, len+2);
+	}
+
+	/* create the pad */
+	pad = newpad(total_lines+10, total_cols+10);
+	(void) wattrset(pad, attributes[SCROLLWIN_TEXT]);
+	fill_window(pad, text);
+
+	win_lines = min(total_lines+4, lines-2);
+	win_cols = min(total_cols+2, columns-2);
+	text_lines = max(win_lines-4, 0);
+	text_cols = max(win_cols-2, 0);
+
+	/* place window in middle of screen */
+	y = (lines-win_lines)/2;
+	x = (columns-win_cols)/2;
+
+	win = newwin(win_lines, win_cols, y, x);
+	keypad(win, TRUE);
+	/* show the help in the help window, and show the help panel */
+	(void) wattrset(win, attributes[SCROLLWIN_BOX]);
+	box(win, 0, 0);
+	(void) wattrset(win, attributes[SCROLLWIN_HEADING]);
+	mvwprintw(win, 0, 3, " %s ", title);
+	panel = new_panel(win);
+
+	/* handle scrolling */
+	do {
+
+		copywin(pad, win, start_y, start_x, 2, 2, text_lines,
+				text_cols, 0);
+		print_in_middle(win,
+				text_lines+2,
+				0,
+				text_cols,
+				"<OK>",
+				attributes[DIALOG_MENU_FORE]);
+		wrefresh(win);
+
+		res = wgetch(win);
+		switch (res) {
+		case KEY_NPAGE:
+		case ' ':
+		case 'd':
+			start_y += text_lines-2;
+			break;
+		case KEY_PPAGE:
+		case 'u':
+			start_y -= text_lines+2;
+			break;
+		case KEY_HOME:
+			start_y = 0;
+			break;
+		case KEY_END:
+			start_y = total_lines-text_lines;
+			break;
+		case KEY_DOWN:
+		case 'j':
+			start_y++;
+			break;
+		case KEY_UP:
+		case 'k':
+			start_y--;
+			break;
+		case KEY_LEFT:
+		case 'h':
+			start_x--;
+			break;
+		case KEY_RIGHT:
+		case 'l':
+			start_x++;
+			break;
+		}
+		if (res == 10 || res == 27 || res == 'q' ||
+			res == KEY_F(F_HELP) || res == KEY_F(F_BACK) ||
+			res == KEY_F(F_EXIT))
+			break;
+		if (start_y < 0)
+			start_y = 0;
+		if (start_y >= total_lines-text_lines)
+			start_y = total_lines-text_lines;
+		if (start_x < 0)
+			start_x = 0;
+		if (start_x >= total_cols-text_cols)
+			start_x = total_cols-text_cols;
+	} while (res);
+
+	del_panel(panel);
+	delwin(win);
+	refresh_all_windows(main_window);
+}
diff --git a/scripts/kconfig/nconf.h b/scripts/kconfig/nconf.h
new file mode 100644
index 0000000..0d52617
--- /dev/null
+++ b/scripts/kconfig/nconf.h
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2008 Nir Tzachar <nir.tzachar@gmail.com?
+ * Released under the terms of the GNU GPL v2.0.
+ *
+ * Derived from menuconfig.
+ *
+ */
+
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <locale.h>
+#include <curses.h>
+#include <menu.h>
+#include <panel.h>
+#include <form.h>
+
+#include <stdio.h>
+#include <time.h>
+#include <sys/time.h>
+
+#include "ncurses.h"
+
+#define max(a, b) ({\
+		typeof(a) _a = a;\
+		typeof(b) _b = b;\
+		_a > _b ? _a : _b; })
+
+#define min(a, b) ({\
+		typeof(a) _a = a;\
+		typeof(b) _b = b;\
+		_a < _b ? _a : _b; })
+
+typedef enum {
+	NORMAL = 1,
+	MAIN_HEADING,
+	MAIN_MENU_BOX,
+	MAIN_MENU_FORE,
+	MAIN_MENU_BACK,
+	MAIN_MENU_GREY,
+	MAIN_MENU_HEADING,
+	SCROLLWIN_TEXT,
+	SCROLLWIN_HEADING,
+	SCROLLWIN_BOX,
+	DIALOG_TEXT,
+	DIALOG_MENU_FORE,
+	DIALOG_MENU_BACK,
+	DIALOG_BOX,
+	INPUT_BOX,
+	INPUT_HEADING,
+	INPUT_TEXT,
+	INPUT_FIELD,
+	FUNCTION_TEXT,
+	FUNCTION_HIGHLIGHT,
+	ATTR_MAX
+} attributes_t;
+extern attributes_t attributes[];
+
+typedef enum {
+	F_HELP = 1,
+	F_SYMBOL = 2,
+	F_INSTS = 3,
+	F_CONF = 4,
+	F_BACK = 5,
+	F_SAVE = 6,
+	F_LOAD = 7,
+	F_SEARCH = 8,
+	F_EXIT = 9,
+} function_key;
+
+void set_colors(void);
+
+/* this changes the windows attributes !!! */
+void print_in_middle(WINDOW *win,
+		int starty,
+		int startx,
+		int width,
+		const char *string,
+		chtype color);
+int get_line_length(const char *line);
+int get_line_no(const char *text);
+const char *get_line(const char *text, int line_no);
+void fill_window(WINDOW *win, const char *text);
+int btn_dialog(WINDOW *main_window, const char *msg, int btn_num, ...);
+int dialog_inputbox(WINDOW *main_window,
+		const char *title, const char *prompt,
+		const char *init, char **resultp, int *result_len);
+void refresh_all_windows(WINDOW *main_window);
+void show_scroll_win(WINDOW *main_window,
+		const char *title,
+		const char *text);
diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
new file mode 100644
index 0000000..9d3b04b
--- /dev/null
+++ b/scripts/kconfig/qconf.cc
@@ -0,0 +1,1795 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <qglobal.h>
+
+#if QT_VERSION < 0x040000
+#include <stddef.h>
+#include <qmainwindow.h>
+#include <qvbox.h>
+#include <qvaluelist.h>
+#include <qtextbrowser.h>
+#include <qaction.h>
+#include <qheader.h>
+#include <qfiledialog.h>
+#include <qdragobject.h>
+#include <qpopupmenu.h>
+#else
+#include <q3mainwindow.h>
+#include <q3vbox.h>
+#include <q3valuelist.h>
+#include <q3textbrowser.h>
+#include <q3action.h>
+#include <q3header.h>
+#include <q3filedialog.h>
+#include <q3dragobject.h>
+#include <q3popupmenu.h>
+#endif
+
+#include <qapplication.h>
+#include <qdesktopwidget.h>
+#include <qtoolbar.h>
+#include <qlayout.h>
+#include <qsplitter.h>
+#include <qlineedit.h>
+#include <qlabel.h>
+#include <qpushbutton.h>
+#include <qmenubar.h>
+#include <qmessagebox.h>
+#include <qregexp.h>
+#include <qevent.h>
+
+#include <stdlib.h>
+
+#include "lkc.h"
+#include "qconf.h"
+
+#include "qconf.moc"
+#include "images.c"
+
+#ifdef _
+# undef _
+# define _ qgettext
+#endif
+
+static QApplication *configApp;
+static ConfigSettings *configSettings;
+
+Q3Action *ConfigMainWindow::saveAction;
+
+static inline QString qgettext(const char* str)
+{
+	return QString::fromLocal8Bit(gettext(str));
+}
+
+static inline QString qgettext(const QString& str)
+{
+	return QString::fromLocal8Bit(gettext(str.latin1()));
+}
+
+ConfigSettings::ConfigSettings()
+	: QSettings("kernel.org", "qconf")
+{
+}
+
+/**
+ * Reads a list of integer values from the application settings.
+ */
+Q3ValueList<int> ConfigSettings::readSizes(const QString& key, bool *ok)
+{
+	Q3ValueList<int> result;
+	QStringList entryList = readListEntry(key, ok);
+	QStringList::Iterator it;
+
+	for (it = entryList.begin(); it != entryList.end(); ++it)
+		result.push_back((*it).toInt());
+
+	return result;
+}
+
+/**
+ * Writes a list of integer values to the application settings.
+ */
+bool ConfigSettings::writeSizes(const QString& key, const Q3ValueList<int>& value)
+{
+	QStringList stringList;
+	Q3ValueList<int>::ConstIterator it;
+
+	for (it = value.begin(); it != value.end(); ++it)
+		stringList.push_back(QString::number(*it));
+	return writeEntry(key, stringList);
+}
+
+
+/*
+ * set the new data
+ * TODO check the value
+ */
+void ConfigItem::okRename(int col)
+{
+	Parent::okRename(col);
+	sym_set_string_value(menu->sym, text(dataColIdx).latin1());
+	listView()->updateList(this);
+}
+
+/*
+ * update the displayed of a menu entry
+ */
+void ConfigItem::updateMenu(void)
+{
+	ConfigList* list;
+	struct symbol* sym;
+	struct property *prop;
+	QString prompt;
+	int type;
+	tristate expr;
+
+	list = listView();
+	if (goParent) {
+		setPixmap(promptColIdx, list->menuBackPix);
+		prompt = "..";
+		goto set_prompt;
+	}
+
+	sym = menu->sym;
+	prop = menu->prompt;
+	prompt = _(menu_get_prompt(menu));
+
+	if (prop) switch (prop->type) {
+	case P_MENU:
+		if (list->mode == singleMode || list->mode == symbolMode) {
+			/* a menuconfig entry is displayed differently
+			 * depending whether it's at the view root or a child.
+			 */
+			if (sym && list->rootEntry == menu)
+				break;
+			setPixmap(promptColIdx, list->menuPix);
+		} else {
+			if (sym)
+				break;
+			setPixmap(promptColIdx, 0);
+		}
+		goto set_prompt;
+	case P_COMMENT:
+		setPixmap(promptColIdx, 0);
+		goto set_prompt;
+	default:
+		;
+	}
+	if (!sym)
+		goto set_prompt;
+
+	setText(nameColIdx, QString::fromLocal8Bit(sym->name));
+
+	type = sym_get_type(sym);
+	switch (type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		char ch;
+
+		if (!sym_is_changable(sym) && list->optMode == normalOpt) {
+			setPixmap(promptColIdx, 0);
+			setText(noColIdx, QString::null);
+			setText(modColIdx, QString::null);
+			setText(yesColIdx, QString::null);
+			break;
+		}
+		expr = sym_get_tristate_value(sym);
+		switch (expr) {
+		case yes:
+			if (sym_is_choice_value(sym) && type == S_BOOLEAN)
+				setPixmap(promptColIdx, list->choiceYesPix);
+			else
+				setPixmap(promptColIdx, list->symbolYesPix);
+			setText(yesColIdx, "Y");
+			ch = 'Y';
+			break;
+		case mod:
+			setPixmap(promptColIdx, list->symbolModPix);
+			setText(modColIdx, "M");
+			ch = 'M';
+			break;
+		default:
+			if (sym_is_choice_value(sym) && type == S_BOOLEAN)
+				setPixmap(promptColIdx, list->choiceNoPix);
+			else
+				setPixmap(promptColIdx, list->symbolNoPix);
+			setText(noColIdx, "N");
+			ch = 'N';
+			break;
+		}
+		if (expr != no)
+			setText(noColIdx, sym_tristate_within_range(sym, no) ? "_" : 0);
+		if (expr != mod)
+			setText(modColIdx, sym_tristate_within_range(sym, mod) ? "_" : 0);
+		if (expr != yes)
+			setText(yesColIdx, sym_tristate_within_range(sym, yes) ? "_" : 0);
+
+		setText(dataColIdx, QChar(ch));
+		break;
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		const char* data;
+
+		data = sym_get_string_value(sym);
+
+		int i = list->mapIdx(dataColIdx);
+		if (i >= 0)
+			setRenameEnabled(i, TRUE);
+		setText(dataColIdx, data);
+		if (type == S_STRING)
+			prompt = QString("%1: %2").arg(prompt).arg(data);
+		else
+			prompt = QString("(%2) %1").arg(prompt).arg(data);
+		break;
+	}
+	if (!sym_has_value(sym) && visible)
+		prompt += _(" (NEW)");
+set_prompt:
+	setText(promptColIdx, prompt);
+}
+
+void ConfigItem::testUpdateMenu(bool v)
+{
+	ConfigItem* i;
+
+	visible = v;
+	if (!menu)
+		return;
+
+	sym_calc_value(menu->sym);
+	if (menu->flags & MENU_CHANGED) {
+		/* the menu entry changed, so update all list items */
+		menu->flags &= ~MENU_CHANGED;
+		for (i = (ConfigItem*)menu->data; i; i = i->nextItem)
+			i->updateMenu();
+	} else if (listView()->updateAll)
+		updateMenu();
+}
+
+void ConfigItem::paintCell(QPainter* p, const QColorGroup& cg, int column, int width, int align)
+{
+	ConfigList* list = listView();
+
+	if (visible) {
+		if (isSelected() && !list->hasFocus() && list->mode == menuMode)
+			Parent::paintCell(p, list->inactivedColorGroup, column, width, align);
+		else
+			Parent::paintCell(p, cg, column, width, align);
+	} else
+		Parent::paintCell(p, list->disabledColorGroup, column, width, align);
+}
+
+/*
+ * construct a menu entry
+ */
+void ConfigItem::init(void)
+{
+	if (menu) {
+		ConfigList* list = listView();
+		nextItem = (ConfigItem*)menu->data;
+		menu->data = this;
+
+		if (list->mode != fullMode)
+			setOpen(TRUE);
+		sym_calc_value(menu->sym);
+	}
+	updateMenu();
+}
+
+/*
+ * destruct a menu entry
+ */
+ConfigItem::~ConfigItem(void)
+{
+	if (menu) {
+		ConfigItem** ip = (ConfigItem**)&menu->data;
+		for (; *ip; ip = &(*ip)->nextItem) {
+			if (*ip == this) {
+				*ip = nextItem;
+				break;
+			}
+		}
+	}
+}
+
+ConfigLineEdit::ConfigLineEdit(ConfigView* parent)
+	: Parent(parent)
+{
+	connect(this, SIGNAL(lostFocus()), SLOT(hide()));
+}
+
+void ConfigLineEdit::show(ConfigItem* i)
+{
+	item = i;
+	if (sym_get_string_value(item->menu->sym))
+		setText(QString::fromLocal8Bit(sym_get_string_value(item->menu->sym)));
+	else
+		setText(QString::null);
+	Parent::show();
+	setFocus();
+}
+
+void ConfigLineEdit::keyPressEvent(QKeyEvent* e)
+{
+	switch (e->key()) {
+	case Qt::Key_Escape:
+		break;
+	case Qt::Key_Return:
+	case Qt::Key_Enter:
+		sym_set_string_value(item->menu->sym, text().latin1());
+		parent()->updateList(item);
+		break;
+	default:
+		Parent::keyPressEvent(e);
+		return;
+	}
+	e->accept();
+	parent()->list->setFocus();
+	hide();
+}
+
+ConfigList::ConfigList(ConfigView* p, const char *name)
+	: Parent(p, name),
+	  updateAll(false),
+	  symbolYesPix(xpm_symbol_yes), symbolModPix(xpm_symbol_mod), symbolNoPix(xpm_symbol_no),
+	  choiceYesPix(xpm_choice_yes), choiceNoPix(xpm_choice_no),
+	  menuPix(xpm_menu), menuInvPix(xpm_menu_inv), menuBackPix(xpm_menuback), voidPix(xpm_void),
+	  showName(false), showRange(false), showData(false), optMode(normalOpt),
+	  rootEntry(0), headerPopup(0)
+{
+	int i;
+
+	setSorting(-1);
+	setRootIsDecorated(TRUE);
+	disabledColorGroup = palette().active();
+	disabledColorGroup.setColor(QColorGroup::Text, palette().disabled().text());
+	inactivedColorGroup = palette().active();
+	inactivedColorGroup.setColor(QColorGroup::Highlight, palette().disabled().highlight());
+
+	connect(this, SIGNAL(selectionChanged(void)),
+		SLOT(updateSelection(void)));
+
+	if (name) {
+		configSettings->beginGroup(name);
+		showName = configSettings->readBoolEntry("/showName", false);
+		showRange = configSettings->readBoolEntry("/showRange", false);
+		showData = configSettings->readBoolEntry("/showData", false);
+		optMode = (enum optionMode)configSettings->readNumEntry("/optionMode", false);
+		configSettings->endGroup();
+		connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
+	}
+
+	for (i = 0; i < colNr; i++)
+		colMap[i] = colRevMap[i] = -1;
+	addColumn(promptColIdx, _("Option"));
+
+	reinit();
+}
+
+bool ConfigList::menuSkip(struct menu *menu)
+{
+	if (optMode == normalOpt && menu_is_visible(menu))
+		return false;
+	if (optMode == promptOpt && menu_has_prompt(menu))
+		return false;
+	if (optMode == allOpt)
+		return false;
+	return true;
+}
+
+void ConfigList::reinit(void)
+{
+	removeColumn(dataColIdx);
+	removeColumn(yesColIdx);
+	removeColumn(modColIdx);
+	removeColumn(noColIdx);
+	removeColumn(nameColIdx);
+
+	if (showName)
+		addColumn(nameColIdx, _("Name"));
+	if (showRange) {
+		addColumn(noColIdx, "N");
+		addColumn(modColIdx, "M");
+		addColumn(yesColIdx, "Y");
+	}
+	if (showData)
+		addColumn(dataColIdx, _("Value"));
+
+	updateListAll();
+}
+
+void ConfigList::saveSettings(void)
+{
+	if (name()) {
+		configSettings->beginGroup(name());
+		configSettings->writeEntry("/showName", showName);
+		configSettings->writeEntry("/showRange", showRange);
+		configSettings->writeEntry("/showData", showData);
+		configSettings->writeEntry("/optionMode", (int)optMode);
+		configSettings->endGroup();
+	}
+}
+
+ConfigItem* ConfigList::findConfigItem(struct menu *menu)
+{
+	ConfigItem* item = (ConfigItem*)menu->data;
+
+	for (; item; item = item->nextItem) {
+		if (this == item->listView())
+			break;
+	}
+
+	return item;
+}
+
+void ConfigList::updateSelection(void)
+{
+	struct menu *menu;
+	enum prop_type type;
+
+	ConfigItem* item = (ConfigItem*)selectedItem();
+	if (!item)
+		return;
+
+	menu = item->menu;
+	emit menuChanged(menu);
+	if (!menu)
+		return;
+	type = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+	if (mode == menuMode && type == P_MENU)
+		emit menuSelected(menu);
+}
+
+void ConfigList::updateList(ConfigItem* item)
+{
+	ConfigItem* last = 0;
+
+	if (!rootEntry) {
+		if (mode != listMode)
+			goto update;
+		Q3ListViewItemIterator it(this);
+		ConfigItem* item;
+
+		for (; it.current(); ++it) {
+			item = (ConfigItem*)it.current();
+			if (!item->menu)
+				continue;
+			item->testUpdateMenu(menu_is_visible(item->menu));
+		}
+		return;
+	}
+
+	if (rootEntry != &rootmenu && (mode == singleMode ||
+	    (mode == symbolMode && rootEntry->parent != &rootmenu))) {
+		item = firstChild();
+		if (!item)
+			item = new ConfigItem(this, 0, true);
+		last = item;
+	}
+	if ((mode == singleMode || (mode == symbolMode && !(rootEntry->flags & MENU_ROOT))) &&
+	    rootEntry->sym && rootEntry->prompt) {
+		item = last ? last->nextSibling() : firstChild();
+		if (!item)
+			item = new ConfigItem(this, last, rootEntry, true);
+		else
+			item->testUpdateMenu(true);
+
+		updateMenuList(item, rootEntry);
+		triggerUpdate();
+		return;
+	}
+update:
+	updateMenuList(this, rootEntry);
+	triggerUpdate();
+}
+
+void ConfigList::setValue(ConfigItem* item, tristate val)
+{
+	struct symbol* sym;
+	int type;
+	tristate oldval;
+
+	sym = item->menu ? item->menu->sym : 0;
+	if (!sym)
+		return;
+
+	type = sym_get_type(sym);
+	switch (type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		oldval = sym_get_tristate_value(sym);
+
+		if (!sym_set_tristate_value(sym, val))
+			return;
+		if (oldval == no && item->menu->list)
+			item->setOpen(TRUE);
+		parent()->updateList(item);
+		break;
+	}
+}
+
+void ConfigList::changeValue(ConfigItem* item)
+{
+	struct symbol* sym;
+	struct menu* menu;
+	int type, oldexpr, newexpr;
+
+	menu = item->menu;
+	if (!menu)
+		return;
+	sym = menu->sym;
+	if (!sym) {
+		if (item->menu->list)
+			item->setOpen(!item->isOpen());
+		return;
+	}
+
+	type = sym_get_type(sym);
+	switch (type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		oldexpr = sym_get_tristate_value(sym);
+		newexpr = sym_toggle_tristate_value(sym);
+		if (item->menu->list) {
+			if (oldexpr == newexpr)
+				item->setOpen(!item->isOpen());
+			else if (oldexpr == no)
+				item->setOpen(TRUE);
+		}
+		if (oldexpr != newexpr)
+			parent()->updateList(item);
+		break;
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		if (colMap[dataColIdx] >= 0)
+			item->startRename(colMap[dataColIdx]);
+		else
+			parent()->lineEdit->show(item);
+		break;
+	}
+}
+
+void ConfigList::setRootMenu(struct menu *menu)
+{
+	enum prop_type type;
+
+	if (rootEntry == menu)
+		return;
+	type = menu && menu->prompt ? menu->prompt->type : P_UNKNOWN;
+	if (type != P_MENU)
+		return;
+	updateMenuList(this, 0);
+	rootEntry = menu;
+	updateListAll();
+	setSelected(currentItem(), hasFocus());
+	ensureItemVisible(currentItem());
+}
+
+void ConfigList::setParentMenu(void)
+{
+	ConfigItem* item;
+	struct menu *oldroot;
+
+	oldroot = rootEntry;
+	if (rootEntry == &rootmenu)
+		return;
+	setRootMenu(menu_get_parent_menu(rootEntry->parent));
+
+	Q3ListViewItemIterator it(this);
+	for (; (item = (ConfigItem*)it.current()); it++) {
+		if (item->menu == oldroot) {
+			setCurrentItem(item);
+			ensureItemVisible(item);
+			break;
+		}
+	}
+}
+
+/*
+ * update all the children of a menu entry
+ *   removes/adds the entries from the parent widget as necessary
+ *
+ * parent: either the menu list widget or a menu entry widget
+ * menu: entry to be updated
+ */
+template <class P>
+void ConfigList::updateMenuList(P* parent, struct menu* menu)
+{
+	struct menu* child;
+	ConfigItem* item;
+	ConfigItem* last;
+	bool visible;
+	enum prop_type type;
+
+	if (!menu) {
+		while ((item = parent->firstChild()))
+			delete item;
+		return;
+	}
+
+	last = parent->firstChild();
+	if (last && !last->goParent)
+		last = 0;
+	for (child = menu->list; child; child = child->next) {
+		item = last ? last->nextSibling() : parent->firstChild();
+		type = child->prompt ? child->prompt->type : P_UNKNOWN;
+
+		switch (mode) {
+		case menuMode:
+			if (!(child->flags & MENU_ROOT))
+				goto hide;
+			break;
+		case symbolMode:
+			if (child->flags & MENU_ROOT)
+				goto hide;
+			break;
+		default:
+			break;
+		}
+
+		visible = menu_is_visible(child);
+		if (!menuSkip(child)) {
+			if (!child->sym && !child->list && !child->prompt)
+				continue;
+			if (!item || item->menu != child)
+				item = new ConfigItem(parent, last, child, visible);
+			else
+				item->testUpdateMenu(visible);
+
+			if (mode == fullMode || mode == menuMode || type != P_MENU)
+				updateMenuList(item, child);
+			else
+				updateMenuList(item, 0);
+			last = item;
+			continue;
+		}
+	hide:
+		if (item && item->menu == child) {
+			last = parent->firstChild();
+			if (last == item)
+				last = 0;
+			else while (last->nextSibling() != item)
+				last = last->nextSibling();
+			delete item;
+		}
+	}
+}
+
+void ConfigList::keyPressEvent(QKeyEvent* ev)
+{
+	Q3ListViewItem* i = currentItem();
+	ConfigItem* item;
+	struct menu *menu;
+	enum prop_type type;
+
+	if (ev->key() == Qt::Key_Escape && mode != fullMode && mode != listMode) {
+		emit parentSelected();
+		ev->accept();
+		return;
+	}
+
+	if (!i) {
+		Parent::keyPressEvent(ev);
+		return;
+	}
+	item = (ConfigItem*)i;
+
+	switch (ev->key()) {
+	case Qt::Key_Return:
+	case Qt::Key_Enter:
+		if (item->goParent) {
+			emit parentSelected();
+			break;
+		}
+		menu = item->menu;
+		if (!menu)
+			break;
+		type = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+		if (type == P_MENU && rootEntry != menu &&
+		    mode != fullMode && mode != menuMode) {
+			emit menuSelected(menu);
+			break;
+		}
+	case Qt::Key_Space:
+		changeValue(item);
+		break;
+	case Qt::Key_N:
+		setValue(item, no);
+		break;
+	case Qt::Key_M:
+		setValue(item, mod);
+		break;
+	case Qt::Key_Y:
+		setValue(item, yes);
+		break;
+	default:
+		Parent::keyPressEvent(ev);
+		return;
+	}
+	ev->accept();
+}
+
+void ConfigList::contentsMousePressEvent(QMouseEvent* e)
+{
+	//QPoint p(contentsToViewport(e->pos()));
+	//printf("contentsMousePressEvent: %d,%d\n", p.x(), p.y());
+	Parent::contentsMousePressEvent(e);
+}
+
+void ConfigList::contentsMouseReleaseEvent(QMouseEvent* e)
+{
+	QPoint p(contentsToViewport(e->pos()));
+	ConfigItem* item = (ConfigItem*)itemAt(p);
+	struct menu *menu;
+	enum prop_type ptype;
+	const QPixmap* pm;
+	int idx, x;
+
+	if (!item)
+		goto skip;
+
+	menu = item->menu;
+	x = header()->offset() + p.x();
+	idx = colRevMap[header()->sectionAt(x)];
+	switch (idx) {
+	case promptColIdx:
+		pm = item->pixmap(promptColIdx);
+		if (pm) {
+			int off = header()->sectionPos(0) + itemMargin() +
+				treeStepSize() * (item->depth() + (rootIsDecorated() ? 1 : 0));
+			if (x >= off && x < off + pm->width()) {
+				if (item->goParent) {
+					emit parentSelected();
+					break;
+				} else if (!menu)
+					break;
+				ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+				if (ptype == P_MENU && rootEntry != menu &&
+				    mode != fullMode && mode != menuMode)
+					emit menuSelected(menu);
+				else
+					changeValue(item);
+			}
+		}
+		break;
+	case noColIdx:
+		setValue(item, no);
+		break;
+	case modColIdx:
+		setValue(item, mod);
+		break;
+	case yesColIdx:
+		setValue(item, yes);
+		break;
+	case dataColIdx:
+		changeValue(item);
+		break;
+	}
+
+skip:
+	//printf("contentsMouseReleaseEvent: %d,%d\n", p.x(), p.y());
+	Parent::contentsMouseReleaseEvent(e);
+}
+
+void ConfigList::contentsMouseMoveEvent(QMouseEvent* e)
+{
+	//QPoint p(contentsToViewport(e->pos()));
+	//printf("contentsMouseMoveEvent: %d,%d\n", p.x(), p.y());
+	Parent::contentsMouseMoveEvent(e);
+}
+
+void ConfigList::contentsMouseDoubleClickEvent(QMouseEvent* e)
+{
+	QPoint p(contentsToViewport(e->pos()));
+	ConfigItem* item = (ConfigItem*)itemAt(p);
+	struct menu *menu;
+	enum prop_type ptype;
+
+	if (!item)
+		goto skip;
+	if (item->goParent) {
+		emit parentSelected();
+		goto skip;
+	}
+	menu = item->menu;
+	if (!menu)
+		goto skip;
+	ptype = menu->prompt ? menu->prompt->type : P_UNKNOWN;
+	if (ptype == P_MENU && (mode == singleMode || mode == symbolMode))
+		emit menuSelected(menu);
+	else if (menu->sym)
+		changeValue(item);
+
+skip:
+	//printf("contentsMouseDoubleClickEvent: %d,%d\n", p.x(), p.y());
+	Parent::contentsMouseDoubleClickEvent(e);
+}
+
+void ConfigList::focusInEvent(QFocusEvent *e)
+{
+	struct menu *menu = NULL;
+
+	Parent::focusInEvent(e);
+
+	ConfigItem* item = (ConfigItem *)currentItem();
+	if (item) {
+		setSelected(item, TRUE);
+		menu = item->menu;
+	}
+	emit gotFocus(menu);
+}
+
+void ConfigList::contextMenuEvent(QContextMenuEvent *e)
+{
+	if (e->y() <= header()->geometry().bottom()) {
+		if (!headerPopup) {
+			Q3Action *action;
+
+			headerPopup = new Q3PopupMenu(this);
+			action = new Q3Action(NULL, _("Show Name"), 0, this);
+			  action->setToggleAction(TRUE);
+			  connect(action, SIGNAL(toggled(bool)),
+				  parent(), SLOT(setShowName(bool)));
+			  connect(parent(), SIGNAL(showNameChanged(bool)),
+				  action, SLOT(setOn(bool)));
+			  action->setOn(showName);
+			  action->addTo(headerPopup);
+			action = new Q3Action(NULL, _("Show Range"), 0, this);
+			  action->setToggleAction(TRUE);
+			  connect(action, SIGNAL(toggled(bool)),
+				  parent(), SLOT(setShowRange(bool)));
+			  connect(parent(), SIGNAL(showRangeChanged(bool)),
+				  action, SLOT(setOn(bool)));
+			  action->setOn(showRange);
+			  action->addTo(headerPopup);
+			action = new Q3Action(NULL, _("Show Data"), 0, this);
+			  action->setToggleAction(TRUE);
+			  connect(action, SIGNAL(toggled(bool)),
+				  parent(), SLOT(setShowData(bool)));
+			  connect(parent(), SIGNAL(showDataChanged(bool)),
+				  action, SLOT(setOn(bool)));
+			  action->setOn(showData);
+			  action->addTo(headerPopup);
+		}
+		headerPopup->exec(e->globalPos());
+		e->accept();
+	} else
+		e->ignore();
+}
+
+ConfigView*ConfigView::viewList;
+QAction *ConfigView::showNormalAction;
+QAction *ConfigView::showAllAction;
+QAction *ConfigView::showPromptAction;
+
+ConfigView::ConfigView(QWidget* parent, const char *name)
+	: Parent(parent, name)
+{
+	list = new ConfigList(this, name);
+	lineEdit = new ConfigLineEdit(this);
+	lineEdit->hide();
+
+	this->nextView = viewList;
+	viewList = this;
+}
+
+ConfigView::~ConfigView(void)
+{
+	ConfigView** vp;
+
+	for (vp = &viewList; *vp; vp = &(*vp)->nextView) {
+		if (*vp == this) {
+			*vp = nextView;
+			break;
+		}
+	}
+}
+
+void ConfigView::setOptionMode(QAction *act)
+{
+	if (act == showNormalAction)
+		list->optMode = normalOpt;
+	else if (act == showAllAction)
+		list->optMode = allOpt;
+	else
+		list->optMode = promptOpt;
+
+	list->updateListAll();
+}
+
+void ConfigView::setShowName(bool b)
+{
+	if (list->showName != b) {
+		list->showName = b;
+		list->reinit();
+		emit showNameChanged(b);
+	}
+}
+
+void ConfigView::setShowRange(bool b)
+{
+	if (list->showRange != b) {
+		list->showRange = b;
+		list->reinit();
+		emit showRangeChanged(b);
+	}
+}
+
+void ConfigView::setShowData(bool b)
+{
+	if (list->showData != b) {
+		list->showData = b;
+		list->reinit();
+		emit showDataChanged(b);
+	}
+}
+
+void ConfigList::setAllOpen(bool open)
+{
+	Q3ListViewItemIterator it(this);
+
+	for (; it.current(); it++)
+		it.current()->setOpen(open);
+}
+
+void ConfigView::updateList(ConfigItem* item)
+{
+	ConfigView* v;
+
+	for (v = viewList; v; v = v->nextView)
+		v->list->updateList(item);
+}
+
+void ConfigView::updateListAll(void)
+{
+	ConfigView* v;
+
+	for (v = viewList; v; v = v->nextView)
+		v->list->updateListAll();
+}
+
+ConfigInfoView::ConfigInfoView(QWidget* parent, const char *name)
+	: Parent(parent, name), sym(0), _menu(0)
+{
+	if (name) {
+		configSettings->beginGroup(name);
+		_showDebug = configSettings->readBoolEntry("/showDebug", false);
+		configSettings->endGroup();
+		connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
+	}
+}
+
+void ConfigInfoView::saveSettings(void)
+{
+	if (name()) {
+		configSettings->beginGroup(name());
+		configSettings->writeEntry("/showDebug", showDebug());
+		configSettings->endGroup();
+	}
+}
+
+void ConfigInfoView::setShowDebug(bool b)
+{
+	if (_showDebug != b) {
+		_showDebug = b;
+		if (_menu)
+			menuInfo();
+		else if (sym)
+			symbolInfo();
+		emit showDebugChanged(b);
+	}
+}
+
+void ConfigInfoView::setInfo(struct menu *m)
+{
+	if (_menu == m)
+		return;
+	_menu = m;
+	sym = NULL;
+	if (!_menu)
+		clear();
+	else
+		menuInfo();
+}
+
+void ConfigInfoView::symbolInfo(void)
+{
+	QString str;
+
+	str += "<big>Symbol: <b>";
+	str += print_filter(sym->name);
+	str += "</b></big><br><br>value: ";
+	str += print_filter(sym_get_string_value(sym));
+	str += "<br>visibility: ";
+	str += sym->visible == yes ? "y" : sym->visible == mod ? "m" : "n";
+	str += "<br>";
+	str += debug_info(sym);
+
+	setText(str);
+}
+
+void ConfigInfoView::menuInfo(void)
+{
+	struct symbol* sym;
+	QString head, debug, help;
+
+	sym = _menu->sym;
+	if (sym) {
+		if (_menu->prompt) {
+			head += "<big><b>";
+			head += print_filter(_(_menu->prompt->text));
+			head += "</b></big>";
+			if (sym->name) {
+				head += " (";
+				if (showDebug())
+					head += QString().sprintf("<a href=\"s%p\">", sym);
+				head += print_filter(sym->name);
+				if (showDebug())
+					head += "</a>";
+				head += ")";
+			}
+		} else if (sym->name) {
+			head += "<big><b>";
+			if (showDebug())
+				head += QString().sprintf("<a href=\"s%p\">", sym);
+			head += print_filter(sym->name);
+			if (showDebug())
+				head += "</a>";
+			head += "</b></big>";
+		}
+		head += "<br><br>";
+
+		if (showDebug())
+			debug = debug_info(sym);
+
+		struct gstr help_gstr = str_new();
+		menu_get_ext_help(_menu, &help_gstr);
+		help = print_filter(str_get(&help_gstr));
+		str_free(&help_gstr);
+	} else if (_menu->prompt) {
+		head += "<big><b>";
+		head += print_filter(_(_menu->prompt->text));
+		head += "</b></big><br><br>";
+		if (showDebug()) {
+			if (_menu->prompt->visible.expr) {
+				debug += "&nbsp;&nbsp;dep: ";
+				expr_print(_menu->prompt->visible.expr, expr_print_help, &debug, E_NONE);
+				debug += "<br><br>";
+			}
+		}
+	}
+	if (showDebug())
+		debug += QString().sprintf("defined at %s:%d<br><br>", _menu->file->name, _menu->lineno);
+
+	setText(head + debug + help);
+}
+
+QString ConfigInfoView::debug_info(struct symbol *sym)
+{
+	QString debug;
+
+	debug += "type: ";
+	debug += print_filter(sym_type_name(sym->type));
+	if (sym_is_choice(sym))
+		debug += " (choice)";
+	debug += "<br>";
+	if (sym->rev_dep.expr) {
+		debug += "reverse dep: ";
+		expr_print(sym->rev_dep.expr, expr_print_help, &debug, E_NONE);
+		debug += "<br>";
+	}
+	for (struct property *prop = sym->prop; prop; prop = prop->next) {
+		switch (prop->type) {
+		case P_PROMPT:
+		case P_MENU:
+			debug += QString().sprintf("prompt: <a href=\"m%p\">", prop->menu);
+			debug += print_filter(_(prop->text));
+			debug += "</a><br>";
+			break;
+		case P_DEFAULT:
+		case P_SELECT:
+		case P_RANGE:
+		case P_ENV:
+			debug += prop_get_type_name(prop->type);
+			debug += ": ";
+			expr_print(prop->expr, expr_print_help, &debug, E_NONE);
+			debug += "<br>";
+			break;
+		case P_CHOICE:
+			if (sym_is_choice(sym)) {
+				debug += "choice: ";
+				expr_print(prop->expr, expr_print_help, &debug, E_NONE);
+				debug += "<br>";
+			}
+			break;
+		default:
+			debug += "unknown property: ";
+			debug += prop_get_type_name(prop->type);
+			debug += "<br>";
+		}
+		if (prop->visible.expr) {
+			debug += "&nbsp;&nbsp;&nbsp;&nbsp;dep: ";
+			expr_print(prop->visible.expr, expr_print_help, &debug, E_NONE);
+			debug += "<br>";
+		}
+	}
+	debug += "<br>";
+
+	return debug;
+}
+
+QString ConfigInfoView::print_filter(const QString &str)
+{
+	QRegExp re("[<>&\"\\n]");
+	QString res = str;
+	for (int i = 0; (i = res.find(re, i)) >= 0;) {
+		switch (res[i].latin1()) {
+		case '<':
+			res.replace(i, 1, "&lt;");
+			i += 4;
+			break;
+		case '>':
+			res.replace(i, 1, "&gt;");
+			i += 4;
+			break;
+		case '&':
+			res.replace(i, 1, "&amp;");
+			i += 5;
+			break;
+		case '"':
+			res.replace(i, 1, "&quot;");
+			i += 6;
+			break;
+		case '\n':
+			res.replace(i, 1, "<br>");
+			i += 4;
+			break;
+		}
+	}
+	return res;
+}
+
+void ConfigInfoView::expr_print_help(void *data, struct symbol *sym, const char *str)
+{
+	QString* text = reinterpret_cast<QString*>(data);
+	QString str2 = print_filter(str);
+
+	if (sym && sym->name && !(sym->flags & SYMBOL_CONST)) {
+		*text += QString().sprintf("<a href=\"s%p\">", sym);
+		*text += str2;
+		*text += "</a>";
+	} else
+		*text += str2;
+}
+
+Q3PopupMenu* ConfigInfoView::createPopupMenu(const QPoint& pos)
+{
+	Q3PopupMenu* popup = Parent::createPopupMenu(pos);
+	Q3Action* action = new Q3Action(NULL, _("Show Debug Info"), 0, popup);
+	  action->setToggleAction(TRUE);
+	  connect(action, SIGNAL(toggled(bool)), SLOT(setShowDebug(bool)));
+	  connect(this, SIGNAL(showDebugChanged(bool)), action, SLOT(setOn(bool)));
+	  action->setOn(showDebug());
+	popup->insertSeparator();
+	action->addTo(popup);
+	return popup;
+}
+
+void ConfigInfoView::contentsContextMenuEvent(QContextMenuEvent *e)
+{
+	Parent::contentsContextMenuEvent(e);
+}
+
+ConfigSearchWindow::ConfigSearchWindow(ConfigMainWindow* parent, const char *name)
+	: Parent(parent, name), result(NULL)
+{
+	setCaption("Search Config");
+
+	QVBoxLayout* layout1 = new QVBoxLayout(this, 11, 6);
+	QHBoxLayout* layout2 = new QHBoxLayout(0, 0, 6);
+	layout2->addWidget(new QLabel(_("Find:"), this));
+	editField = new QLineEdit(this);
+	connect(editField, SIGNAL(returnPressed()), SLOT(search()));
+	layout2->addWidget(editField);
+	searchButton = new QPushButton(_("Search"), this);
+	searchButton->setAutoDefault(FALSE);
+	connect(searchButton, SIGNAL(clicked()), SLOT(search()));
+	layout2->addWidget(searchButton);
+	layout1->addLayout(layout2);
+
+	split = new QSplitter(this);
+	split->setOrientation(Qt::Vertical);
+	list = new ConfigView(split, name);
+	list->list->mode = listMode;
+	info = new ConfigInfoView(split, name);
+	connect(list->list, SIGNAL(menuChanged(struct menu *)),
+		info, SLOT(setInfo(struct menu *)));
+	connect(list->list, SIGNAL(menuChanged(struct menu *)),
+		parent, SLOT(setMenuLink(struct menu *)));
+
+	layout1->addWidget(split);
+
+	if (name) {
+		int x, y, width, height;
+		bool ok;
+
+		configSettings->beginGroup(name);
+		width = configSettings->readNumEntry("/window width", parent->width() / 2);
+		height = configSettings->readNumEntry("/window height", parent->height() / 2);
+		resize(width, height);
+		x = configSettings->readNumEntry("/window x", 0, &ok);
+		if (ok)
+			y = configSettings->readNumEntry("/window y", 0, &ok);
+		if (ok)
+			move(x, y);
+		Q3ValueList<int> sizes = configSettings->readSizes("/split", &ok);
+		if (ok)
+			split->setSizes(sizes);
+		configSettings->endGroup();
+		connect(configApp, SIGNAL(aboutToQuit()), SLOT(saveSettings()));
+	}
+}
+
+void ConfigSearchWindow::saveSettings(void)
+{
+	if (name()) {
+		configSettings->beginGroup(name());
+		configSettings->writeEntry("/window x", pos().x());
+		configSettings->writeEntry("/window y", pos().y());
+		configSettings->writeEntry("/window width", size().width());
+		configSettings->writeEntry("/window height", size().height());
+		configSettings->writeSizes("/split", split->sizes());
+		configSettings->endGroup();
+	}
+}
+
+void ConfigSearchWindow::search(void)
+{
+	struct symbol **p;
+	struct property *prop;
+	ConfigItem *lastItem = NULL;
+
+	free(result);
+	list->list->clear();
+	info->clear();
+
+	result = sym_re_search(editField->text().latin1());
+	if (!result)
+		return;
+	for (p = result; *p; p++) {
+		for_all_prompts((*p), prop)
+			lastItem = new ConfigItem(list->list, lastItem, prop->menu,
+						  menu_is_visible(prop->menu));
+	}
+}
+
+/*
+ * Construct the complete config widget
+ */
+ConfigMainWindow::ConfigMainWindow(void)
+	: searchWindow(0)
+{
+	QMenuBar* menu;
+	bool ok;
+	int x, y, width, height;
+	char title[256];
+
+	QDesktopWidget *d = configApp->desktop();
+	snprintf(title, sizeof(title), "%s%s",
+		rootmenu.prompt->text,
+#if QT_VERSION < 0x040000
+		" (Qt3)"
+#else
+		""
+#endif
+		);
+	setCaption(title);
+
+	width = configSettings->readNumEntry("/window width", d->width() - 64);
+	height = configSettings->readNumEntry("/window height", d->height() - 64);
+	resize(width, height);
+	x = configSettings->readNumEntry("/window x", 0, &ok);
+	if (ok)
+		y = configSettings->readNumEntry("/window y", 0, &ok);
+	if (ok)
+		move(x, y);
+
+	split1 = new QSplitter(this);
+	split1->setOrientation(Qt::Horizontal);
+	setCentralWidget(split1);
+
+	menuView = new ConfigView(split1, "menu");
+	menuList = menuView->list;
+
+	split2 = new QSplitter(split1);
+	split2->setOrientation(Qt::Vertical);
+
+	// create config tree
+	configView = new ConfigView(split2, "config");
+	configList = configView->list;
+
+	helpText = new ConfigInfoView(split2, "help");
+	helpText->setTextFormat(Qt::RichText);
+
+	setTabOrder(configList, helpText);
+	configList->setFocus();
+
+	menu = menuBar();
+	toolBar = new Q3ToolBar("Tools", this);
+
+	backAction = new Q3Action("Back", QPixmap(xpm_back), _("Back"), 0, this);
+	  connect(backAction, SIGNAL(activated()), SLOT(goBack()));
+	  backAction->setEnabled(FALSE);
+	Q3Action *quitAction = new Q3Action("Quit", _("&Quit"), Qt::CTRL + Qt::Key_Q, this);
+	  connect(quitAction, SIGNAL(activated()), SLOT(close()));
+	Q3Action *loadAction = new Q3Action("Load", QPixmap(xpm_load), _("&Load"), Qt::CTRL + Qt::Key_L, this);
+	  connect(loadAction, SIGNAL(activated()), SLOT(loadConfig()));
+	saveAction = new Q3Action("Save", QPixmap(xpm_save), _("&Save"), Qt::CTRL + Qt::Key_S, this);
+	  connect(saveAction, SIGNAL(activated()), SLOT(saveConfig()));
+	conf_set_changed_callback(conf_changed);
+	// Set saveAction's initial state
+	conf_changed();
+	Q3Action *saveAsAction = new Q3Action("Save As...", _("Save &As..."), 0, this);
+	  connect(saveAsAction, SIGNAL(activated()), SLOT(saveConfigAs()));
+	Q3Action *searchAction = new Q3Action("Find", _("&Find"), Qt::CTRL + Qt::Key_F, this);
+	  connect(searchAction, SIGNAL(activated()), SLOT(searchConfig()));
+	Q3Action *singleViewAction = new Q3Action("Single View", QPixmap(xpm_single_view), _("Single View"), 0, this);
+	  connect(singleViewAction, SIGNAL(activated()), SLOT(showSingleView()));
+	Q3Action *splitViewAction = new Q3Action("Split View", QPixmap(xpm_split_view), _("Split View"), 0, this);
+	  connect(splitViewAction, SIGNAL(activated()), SLOT(showSplitView()));
+	Q3Action *fullViewAction = new Q3Action("Full View", QPixmap(xpm_tree_view), _("Full View"), 0, this);
+	  connect(fullViewAction, SIGNAL(activated()), SLOT(showFullView()));
+
+	Q3Action *showNameAction = new Q3Action(NULL, _("Show Name"), 0, this);
+	  showNameAction->setToggleAction(TRUE);
+	  connect(showNameAction, SIGNAL(toggled(bool)), configView, SLOT(setShowName(bool)));
+	  connect(configView, SIGNAL(showNameChanged(bool)), showNameAction, SLOT(setOn(bool)));
+	  showNameAction->setOn(configView->showName());
+	Q3Action *showRangeAction = new Q3Action(NULL, _("Show Range"), 0, this);
+	  showRangeAction->setToggleAction(TRUE);
+	  connect(showRangeAction, SIGNAL(toggled(bool)), configView, SLOT(setShowRange(bool)));
+	  connect(configView, SIGNAL(showRangeChanged(bool)), showRangeAction, SLOT(setOn(bool)));
+	  showRangeAction->setOn(configList->showRange);
+	Q3Action *showDataAction = new Q3Action(NULL, _("Show Data"), 0, this);
+	  showDataAction->setToggleAction(TRUE);
+	  connect(showDataAction, SIGNAL(toggled(bool)), configView, SLOT(setShowData(bool)));
+	  connect(configView, SIGNAL(showDataChanged(bool)), showDataAction, SLOT(setOn(bool)));
+	  showDataAction->setOn(configList->showData);
+
+	QActionGroup *optGroup = new QActionGroup(this);
+	optGroup->setExclusive(TRUE);
+	connect(optGroup, SIGNAL(selected(QAction *)), configView,
+		SLOT(setOptionMode(QAction *)));
+	connect(optGroup, SIGNAL(selected(QAction *)), menuView,
+		SLOT(setOptionMode(QAction *)));
+
+#if QT_VERSION >= 0x040000
+	configView->showNormalAction = new QAction(_("Show Normal Options"), optGroup);
+	configView->showAllAction = new QAction(_("Show All Options"), optGroup);
+	configView->showPromptAction = new QAction(_("Show Prompt Options"), optGroup);
+#else
+	configView->showNormalAction = new QAction(_("Show Normal Options"), 0, optGroup);
+	configView->showAllAction = new QAction(_("Show All Options"), 0, optGroup);
+	configView->showPromptAction = new QAction(_("Show Prompt Options"), 0, optGroup);
+#endif
+	configView->showNormalAction->setToggleAction(TRUE);
+	configView->showNormalAction->setOn(configList->optMode == normalOpt);
+	configView->showAllAction->setToggleAction(TRUE);
+	configView->showAllAction->setOn(configList->optMode == allOpt);
+	configView->showPromptAction->setToggleAction(TRUE);
+	configView->showPromptAction->setOn(configList->optMode == promptOpt);
+
+	Q3Action *showDebugAction = new Q3Action(NULL, _("Show Debug Info"), 0, this);
+	  showDebugAction->setToggleAction(TRUE);
+	  connect(showDebugAction, SIGNAL(toggled(bool)), helpText, SLOT(setShowDebug(bool)));
+	  connect(helpText, SIGNAL(showDebugChanged(bool)), showDebugAction, SLOT(setOn(bool)));
+	  showDebugAction->setOn(helpText->showDebug());
+
+	Q3Action *showIntroAction = new Q3Action(NULL, _("Introduction"), 0, this);
+	  connect(showIntroAction, SIGNAL(activated()), SLOT(showIntro()));
+	Q3Action *showAboutAction = new Q3Action(NULL, _("About"), 0, this);
+	  connect(showAboutAction, SIGNAL(activated()), SLOT(showAbout()));
+
+	// init tool bar
+	backAction->addTo(toolBar);
+	toolBar->addSeparator();
+	loadAction->addTo(toolBar);
+	saveAction->addTo(toolBar);
+	toolBar->addSeparator();
+	singleViewAction->addTo(toolBar);
+	splitViewAction->addTo(toolBar);
+	fullViewAction->addTo(toolBar);
+
+	// create config menu
+	Q3PopupMenu* config = new Q3PopupMenu(this);
+	menu->insertItem(_("&File"), config);
+	loadAction->addTo(config);
+	saveAction->addTo(config);
+	saveAsAction->addTo(config);
+	config->insertSeparator();
+	quitAction->addTo(config);
+
+	// create edit menu
+	Q3PopupMenu* editMenu = new Q3PopupMenu(this);
+	menu->insertItem(_("&Edit"), editMenu);
+	searchAction->addTo(editMenu);
+
+	// create options menu
+	Q3PopupMenu* optionMenu = new Q3PopupMenu(this);
+	menu->insertItem(_("&Option"), optionMenu);
+	showNameAction->addTo(optionMenu);
+	showRangeAction->addTo(optionMenu);
+	showDataAction->addTo(optionMenu);
+	optionMenu->insertSeparator();
+	optGroup->addTo(optionMenu);
+	optionMenu->insertSeparator();
+
+	// create help menu
+	Q3PopupMenu* helpMenu = new Q3PopupMenu(this);
+	menu->insertSeparator();
+	menu->insertItem(_("&Help"), helpMenu);
+	showIntroAction->addTo(helpMenu);
+	showAboutAction->addTo(helpMenu);
+
+	connect(configList, SIGNAL(menuChanged(struct menu *)),
+		helpText, SLOT(setInfo(struct menu *)));
+	connect(configList, SIGNAL(menuSelected(struct menu *)),
+		SLOT(changeMenu(struct menu *)));
+	connect(configList, SIGNAL(parentSelected()),
+		SLOT(goBack()));
+	connect(menuList, SIGNAL(menuChanged(struct menu *)),
+		helpText, SLOT(setInfo(struct menu *)));
+	connect(menuList, SIGNAL(menuSelected(struct menu *)),
+		SLOT(changeMenu(struct menu *)));
+
+	connect(configList, SIGNAL(gotFocus(struct menu *)),
+		helpText, SLOT(setInfo(struct menu *)));
+	connect(menuList, SIGNAL(gotFocus(struct menu *)),
+		helpText, SLOT(setInfo(struct menu *)));
+	connect(menuList, SIGNAL(gotFocus(struct menu *)),
+		SLOT(listFocusChanged(void)));
+	connect(helpText, SIGNAL(menuSelected(struct menu *)),
+		SLOT(setMenuLink(struct menu *)));
+
+	QString listMode = configSettings->readEntry("/listMode", "symbol");
+	if (listMode == "single")
+		showSingleView();
+	else if (listMode == "full")
+		showFullView();
+	else /*if (listMode == "split")*/
+		showSplitView();
+
+	// UI setup done, restore splitter positions
+	Q3ValueList<int> sizes = configSettings->readSizes("/split1", &ok);
+	if (ok)
+		split1->setSizes(sizes);
+
+	sizes = configSettings->readSizes("/split2", &ok);
+	if (ok)
+		split2->setSizes(sizes);
+}
+
+void ConfigMainWindow::loadConfig(void)
+{
+	QString s = Q3FileDialog::getOpenFileName(conf_get_configname(), NULL, this);
+	if (s.isNull())
+		return;
+	if (conf_read(QFile::encodeName(s)))
+		QMessageBox::information(this, "qconf", _("Unable to load configuration!"));
+	ConfigView::updateListAll();
+}
+
+bool ConfigMainWindow::saveConfig(void)
+{
+	if (conf_write(NULL)) {
+		QMessageBox::information(this, "qconf", _("Unable to save configuration!"));
+		return false;
+	}
+	return true;
+}
+
+void ConfigMainWindow::saveConfigAs(void)
+{
+	QString s = Q3FileDialog::getSaveFileName(conf_get_configname(), NULL, this);
+	if (s.isNull())
+		return;
+	saveConfig();
+}
+
+void ConfigMainWindow::searchConfig(void)
+{
+	if (!searchWindow)
+		searchWindow = new ConfigSearchWindow(this, "search");
+	searchWindow->show();
+}
+
+void ConfigMainWindow::changeMenu(struct menu *menu)
+{
+	configList->setRootMenu(menu);
+	if (configList->rootEntry->parent == &rootmenu)
+		backAction->setEnabled(FALSE);
+	else
+		backAction->setEnabled(TRUE);
+}
+
+void ConfigMainWindow::setMenuLink(struct menu *menu)
+{
+	struct menu *parent;
+	ConfigList* list = NULL;
+	ConfigItem* item;
+
+	if (configList->menuSkip(menu))
+		return;
+
+	switch (configList->mode) {
+	case singleMode:
+		list = configList;
+		parent = menu_get_parent_menu(menu);
+		if (!parent)
+			return;
+		list->setRootMenu(parent);
+		break;
+	case symbolMode:
+		if (menu->flags & MENU_ROOT) {
+			configList->setRootMenu(menu);
+			configList->clearSelection();
+			list = menuList;
+		} else {
+			list = configList;
+			parent = menu_get_parent_menu(menu->parent);
+			if (!parent)
+				return;
+			item = menuList->findConfigItem(parent);
+			if (item) {
+				menuList->setSelected(item, TRUE);
+				menuList->ensureItemVisible(item);
+			}
+			list->setRootMenu(parent);
+		}
+		break;
+	case fullMode:
+		list = configList;
+		break;
+	default:
+		break;
+	}
+
+	if (list) {
+		item = list->findConfigItem(menu);
+		if (item) {
+			list->setSelected(item, TRUE);
+			list->ensureItemVisible(item);
+			list->setFocus();
+		}
+	}
+}
+
+void ConfigMainWindow::listFocusChanged(void)
+{
+	if (menuList->mode == menuMode)
+		configList->clearSelection();
+}
+
+void ConfigMainWindow::goBack(void)
+{
+	ConfigItem* item;
+
+	configList->setParentMenu();
+	if (configList->rootEntry == &rootmenu)
+		backAction->setEnabled(FALSE);
+	item = (ConfigItem*)menuList->selectedItem();
+	while (item) {
+		if (item->menu == configList->rootEntry) {
+			menuList->setSelected(item, TRUE);
+			break;
+		}
+		item = (ConfigItem*)item->parent();
+	}
+}
+
+void ConfigMainWindow::showSingleView(void)
+{
+	menuView->hide();
+	menuList->setRootMenu(0);
+	configList->mode = singleMode;
+	if (configList->rootEntry == &rootmenu)
+		configList->updateListAll();
+	else
+		configList->setRootMenu(&rootmenu);
+	configList->setAllOpen(TRUE);
+	configList->setFocus();
+}
+
+void ConfigMainWindow::showSplitView(void)
+{
+	configList->mode = symbolMode;
+	if (configList->rootEntry == &rootmenu)
+		configList->updateListAll();
+	else
+		configList->setRootMenu(&rootmenu);
+	configList->setAllOpen(TRUE);
+	configApp->processEvents();
+	menuList->mode = menuMode;
+	menuList->setRootMenu(&rootmenu);
+	menuList->setAllOpen(TRUE);
+	menuView->show();
+	menuList->setFocus();
+}
+
+void ConfigMainWindow::showFullView(void)
+{
+	menuView->hide();
+	menuList->setRootMenu(0);
+	configList->mode = fullMode;
+	if (configList->rootEntry == &rootmenu)
+		configList->updateListAll();
+	else
+		configList->setRootMenu(&rootmenu);
+	configList->setAllOpen(FALSE);
+	configList->setFocus();
+}
+
+/*
+ * ask for saving configuration before quitting
+ * TODO ask only when something changed
+ */
+void ConfigMainWindow::closeEvent(QCloseEvent* e)
+{
+	if (!conf_get_changed()) {
+		e->accept();
+		return;
+	}
+	QMessageBox mb("qconf", _("Save configuration?"), QMessageBox::Warning,
+			QMessageBox::Yes | QMessageBox::Default, QMessageBox::No, QMessageBox::Cancel | QMessageBox::Escape);
+	mb.setButtonText(QMessageBox::Yes, _("&Save Changes"));
+	mb.setButtonText(QMessageBox::No, _("&Discard Changes"));
+	mb.setButtonText(QMessageBox::Cancel, _("Cancel Exit"));
+	switch (mb.exec()) {
+	case QMessageBox::Yes:
+		if (saveConfig())
+			e->accept();
+		else
+			e->ignore();
+		break;
+	case QMessageBox::No:
+		e->accept();
+		break;
+	case QMessageBox::Cancel:
+		e->ignore();
+		break;
+	}
+}
+
+void ConfigMainWindow::showIntro(void)
+{
+	static const QString str = _("Welcome to the qconf graphical configuration tool.\n\n"
+		"For each option, a blank box indicates the feature is disabled, a check\n"
+		"indicates it is enabled, and a dot indicates that it is to be compiled\n"
+		"as a module.  Clicking on the box will cycle through the three states.\n\n"
+		"If you do not see an option (e.g., a device driver) that you believe\n"
+		"should be present, try turning on Show All Options under the Options menu.\n"
+		"Although there is no cross reference yet to help you figure out what other\n"
+		"options must be enabled to support the option you are interested in, you can\n"
+		"still view the help of a grayed-out option.\n\n"
+		"Toggling Show Debug Info under the Options menu will show the dependencies,\n"
+		"which you can then match by examining other options.\n\n");
+
+	QMessageBox::information(this, "qconf", str);
+}
+
+void ConfigMainWindow::showAbout(void)
+{
+	static const QString str = _("qconf is Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>.\n\n"
+		"Bug reports and feature request can also be entered at http://bugzilla.kernel.org/\n");
+
+	QMessageBox::information(this, "qconf", str);
+}
+
+void ConfigMainWindow::saveSettings(void)
+{
+	configSettings->writeEntry("/window x", pos().x());
+	configSettings->writeEntry("/window y", pos().y());
+	configSettings->writeEntry("/window width", size().width());
+	configSettings->writeEntry("/window height", size().height());
+
+	QString entry;
+	switch(configList->mode) {
+	case singleMode :
+		entry = "single";
+		break;
+
+	case symbolMode :
+		entry = "split";
+		break;
+
+	case fullMode :
+		entry = "full";
+		break;
+
+	default:
+		break;
+	}
+	configSettings->writeEntry("/listMode", entry);
+
+	configSettings->writeSizes("/split1", split1->sizes());
+	configSettings->writeSizes("/split2", split2->sizes());
+}
+
+void ConfigMainWindow::conf_changed(void)
+{
+	if (saveAction)
+		saveAction->setEnabled(conf_get_changed());
+}
+
+void fixup_rootmenu(struct menu *menu)
+{
+	struct menu *child;
+	static int menu_cnt = 0;
+
+	menu->flags |= MENU_ROOT;
+	for (child = menu->list; child; child = child->next) {
+		if (child->prompt && child->prompt->type == P_MENU) {
+			menu_cnt++;
+			fixup_rootmenu(child);
+			menu_cnt--;
+		} else if (!menu_cnt)
+			fixup_rootmenu(child);
+	}
+}
+
+static const char *progname;
+
+static void usage(void)
+{
+	printf(_("%s <config>\n"), progname);
+	exit(0);
+}
+
+int main(int ac, char** av)
+{
+	ConfigMainWindow* v;
+	const char *name;
+
+	bindtextdomain(PACKAGE, LOCALEDIR);
+	textdomain(PACKAGE);
+
+	progname = av[0];
+	configApp = new QApplication(ac, av);
+	if (ac > 1 && av[1][0] == '-') {
+		switch (av[1][1]) {
+		case 'h':
+		case '?':
+			usage();
+		}
+		name = av[2];
+	} else
+		name = av[1];
+	if (!name)
+		usage();
+
+	conf_parse(name);
+	fixup_rootmenu(&rootmenu);
+	conf_read(NULL);
+	//zconfdump(stdout);
+
+	configSettings = new ConfigSettings();
+	configSettings->beginGroup("/kconfig/qconf");
+	v = new ConfigMainWindow();
+
+	//zconfdump(stdout);
+	configApp->setMainWidget(v);
+	configApp->connect(configApp, SIGNAL(lastWindowClosed()), SLOT(quit()));
+	configApp->connect(configApp, SIGNAL(aboutToQuit()), v, SLOT(saveSettings()));
+	v->show();
+	configApp->exec();
+
+	configSettings->endGroup();
+	delete configSettings;
+
+	return 0;
+}
diff --git a/scripts/kconfig/qconf.h b/scripts/kconfig/qconf.h
new file mode 100644
index 0000000..bde0c6b
--- /dev/null
+++ b/scripts/kconfig/qconf.h
@@ -0,0 +1,338 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#if QT_VERSION < 0x040000
+#include <qlistview.h>
+#else
+#include <q3listview.h>
+#endif
+#include <qsettings.h>
+
+#if QT_VERSION < 0x040000
+#define Q3ValueList             QValueList
+#define Q3PopupMenu             QPopupMenu
+#define Q3ListView              QListView
+#define Q3ListViewItem          QListViewItem
+#define Q3VBox                  QVBox
+#define Q3TextBrowser           QTextBrowser
+#define Q3MainWindow            QMainWindow
+#define Q3Action                QAction
+#define Q3ToolBar               QToolBar
+#define Q3ListViewItemIterator  QListViewItemIterator
+#define Q3FileDialog            QFileDialog
+#endif
+
+class ConfigView;
+class ConfigList;
+class ConfigItem;
+class ConfigLineEdit;
+class ConfigMainWindow;
+
+class ConfigSettings : public QSettings {
+public:
+	ConfigSettings();
+	Q3ValueList<int> readSizes(const QString& key, bool *ok);
+	bool writeSizes(const QString& key, const Q3ValueList<int>& value);
+};
+
+enum colIdx {
+	promptColIdx, nameColIdx, noColIdx, modColIdx, yesColIdx, dataColIdx, colNr
+};
+enum listMode {
+	singleMode, menuMode, symbolMode, fullMode, listMode
+};
+enum optionMode {
+	normalOpt = 0, allOpt, promptOpt
+};
+
+class ConfigList : public Q3ListView {
+	Q_OBJECT
+	typedef class Q3ListView Parent;
+public:
+	ConfigList(ConfigView* p, const char *name = 0);
+	void reinit(void);
+	ConfigView* parent(void) const
+	{
+		return (ConfigView*)Parent::parent();
+	}
+	ConfigItem* findConfigItem(struct menu *);
+
+protected:
+	void keyPressEvent(QKeyEvent *e);
+	void contentsMousePressEvent(QMouseEvent *e);
+	void contentsMouseReleaseEvent(QMouseEvent *e);
+	void contentsMouseMoveEvent(QMouseEvent *e);
+	void contentsMouseDoubleClickEvent(QMouseEvent *e);
+	void focusInEvent(QFocusEvent *e);
+	void contextMenuEvent(QContextMenuEvent *e);
+
+public slots:
+	void setRootMenu(struct menu *menu);
+
+	void updateList(ConfigItem *item);
+	void setValue(ConfigItem* item, tristate val);
+	void changeValue(ConfigItem* item);
+	void updateSelection(void);
+	void saveSettings(void);
+signals:
+	void menuChanged(struct menu *menu);
+	void menuSelected(struct menu *menu);
+	void parentSelected(void);
+	void gotFocus(struct menu *);
+
+public:
+	void updateListAll(void)
+	{
+		updateAll = true;
+		updateList(NULL);
+		updateAll = false;
+	}
+	ConfigList* listView()
+	{
+		return this;
+	}
+	ConfigItem* firstChild() const
+	{
+		return (ConfigItem *)Parent::firstChild();
+	}
+	int mapIdx(colIdx idx)
+	{
+		return colMap[idx];
+	}
+	void addColumn(colIdx idx, const QString& label)
+	{
+		colMap[idx] = Parent::addColumn(label);
+		colRevMap[colMap[idx]] = idx;
+	}
+	void removeColumn(colIdx idx)
+	{
+		int col = colMap[idx];
+		if (col >= 0) {
+			Parent::removeColumn(col);
+			colRevMap[col] = colMap[idx] = -1;
+		}
+	}
+	void setAllOpen(bool open);
+	void setParentMenu(void);
+
+	bool menuSkip(struct menu *);
+
+	template <class P>
+	void updateMenuList(P*, struct menu*);
+
+	bool updateAll;
+
+	QPixmap symbolYesPix, symbolModPix, symbolNoPix;
+	QPixmap choiceYesPix, choiceNoPix;
+	QPixmap menuPix, menuInvPix, menuBackPix, voidPix;
+
+	bool showName, showRange, showData;
+	enum listMode mode;
+	enum optionMode optMode;
+	struct menu *rootEntry;
+	QColorGroup disabledColorGroup;
+	QColorGroup inactivedColorGroup;
+	Q3PopupMenu* headerPopup;
+
+private:
+	int colMap[colNr];
+	int colRevMap[colNr];
+};
+
+class ConfigItem : public Q3ListViewItem {
+	typedef class Q3ListViewItem Parent;
+public:
+	ConfigItem(Q3ListView *parent, ConfigItem *after, struct menu *m, bool v)
+	: Parent(parent, after), menu(m), visible(v), goParent(false)
+	{
+		init();
+	}
+	ConfigItem(ConfigItem *parent, ConfigItem *after, struct menu *m, bool v)
+	: Parent(parent, after), menu(m), visible(v), goParent(false)
+	{
+		init();
+	}
+	ConfigItem(Q3ListView *parent, ConfigItem *after, bool v)
+	: Parent(parent, after), menu(0), visible(v), goParent(true)
+	{
+		init();
+	}
+	~ConfigItem(void);
+	void init(void);
+	void okRename(int col);
+	void updateMenu(void);
+	void testUpdateMenu(bool v);
+	ConfigList* listView() const
+	{
+		return (ConfigList*)Parent::listView();
+	}
+	ConfigItem* firstChild() const
+	{
+		return (ConfigItem *)Parent::firstChild();
+	}
+	ConfigItem* nextSibling() const
+	{
+		return (ConfigItem *)Parent::nextSibling();
+	}
+	void setText(colIdx idx, const QString& text)
+	{
+		Parent::setText(listView()->mapIdx(idx), text);
+	}
+	QString text(colIdx idx) const
+	{
+		return Parent::text(listView()->mapIdx(idx));
+	}
+	void setPixmap(colIdx idx, const QPixmap& pm)
+	{
+		Parent::setPixmap(listView()->mapIdx(idx), pm);
+	}
+	const QPixmap* pixmap(colIdx idx) const
+	{
+		return Parent::pixmap(listView()->mapIdx(idx));
+	}
+	void paintCell(QPainter* p, const QColorGroup& cg, int column, int width, int align);
+
+	ConfigItem* nextItem;
+	struct menu *menu;
+	bool visible;
+	bool goParent;
+};
+
+class ConfigLineEdit : public QLineEdit {
+	Q_OBJECT
+	typedef class QLineEdit Parent;
+public:
+	ConfigLineEdit(ConfigView* parent);
+	ConfigView* parent(void) const
+	{
+		return (ConfigView*)Parent::parent();
+	}
+	void show(ConfigItem *i);
+	void keyPressEvent(QKeyEvent *e);
+
+public:
+	ConfigItem *item;
+};
+
+class ConfigView : public Q3VBox {
+	Q_OBJECT
+	typedef class Q3VBox Parent;
+public:
+	ConfigView(QWidget* parent, const char *name = 0);
+	~ConfigView(void);
+	static void updateList(ConfigItem* item);
+	static void updateListAll(void);
+
+	bool showName(void) const { return list->showName; }
+	bool showRange(void) const { return list->showRange; }
+	bool showData(void) const { return list->showData; }
+public slots:
+	void setShowName(bool);
+	void setShowRange(bool);
+	void setShowData(bool);
+	void setOptionMode(QAction *);
+signals:
+	void showNameChanged(bool);
+	void showRangeChanged(bool);
+	void showDataChanged(bool);
+public:
+	ConfigList* list;
+	ConfigLineEdit* lineEdit;
+
+	static ConfigView* viewList;
+	ConfigView* nextView;
+
+	static QAction *showNormalAction;
+	static QAction *showAllAction;
+	static QAction *showPromptAction;
+};
+
+class ConfigInfoView : public Q3TextBrowser {
+	Q_OBJECT
+	typedef class Q3TextBrowser Parent;
+public:
+	ConfigInfoView(QWidget* parent, const char *name = 0);
+	bool showDebug(void) const { return _showDebug; }
+
+public slots:
+	void setInfo(struct menu *menu);
+	void saveSettings(void);
+	void setShowDebug(bool);
+
+signals:
+	void showDebugChanged(bool);
+	void menuSelected(struct menu *);
+
+protected:
+	void symbolInfo(void);
+	void menuInfo(void);
+	QString debug_info(struct symbol *sym);
+	static QString print_filter(const QString &str);
+	static void expr_print_help(void *data, struct symbol *sym, const char *str);
+	Q3PopupMenu* createPopupMenu(const QPoint& pos);
+	void contentsContextMenuEvent(QContextMenuEvent *e);
+
+	struct symbol *sym;
+	struct menu *_menu;
+	bool _showDebug;
+};
+
+class ConfigSearchWindow : public QDialog {
+	Q_OBJECT
+	typedef class QDialog Parent;
+public:
+	ConfigSearchWindow(ConfigMainWindow* parent, const char *name = 0);
+
+public slots:
+	void saveSettings(void);
+	void search(void);
+
+protected:
+	QLineEdit* editField;
+	QPushButton* searchButton;
+	QSplitter* split;
+	ConfigView* list;
+	ConfigInfoView* info;
+
+	struct symbol **result;
+};
+
+class ConfigMainWindow : public Q3MainWindow {
+	Q_OBJECT
+
+	static Q3Action *saveAction;
+	static void conf_changed(void);
+public:
+	ConfigMainWindow(void);
+public slots:
+	void changeMenu(struct menu *);
+	void setMenuLink(struct menu *);
+	void listFocusChanged(void);
+	void goBack(void);
+	void loadConfig(void);
+	bool saveConfig(void);
+	void saveConfigAs(void);
+	void searchConfig(void);
+	void showSingleView(void);
+	void showSplitView(void);
+	void showFullView(void);
+	void showIntro(void);
+	void showAbout(void);
+	void saveSettings(void);
+
+protected:
+	void closeEvent(QCloseEvent *e);
+
+	ConfigSearchWindow *searchWindow;
+	ConfigView *menuView;
+	ConfigList *menuList;
+	ConfigView *configView;
+	ConfigList *configList;
+	ConfigInfoView *helpText;
+	Q3ToolBar *toolBar;
+	Q3Action *backAction;
+	QSplitter* split1;
+	QSplitter* split2;
+};
diff --git a/scripts/kconfig/streamline_config.pl b/scripts/kconfig/streamline_config.pl
new file mode 100644
index 0000000..3133172
--- /dev/null
+++ b/scripts/kconfig/streamline_config.pl
@@ -0,0 +1,647 @@
+#!/usr/bin/perl -w
+#
+# Copyright 2005-2009 - Steven Rostedt
+# Licensed under the terms of the GNU GPL License version 2
+#
+#  It's simple enough to figure out how this works.
+#  If not, then you can ask me at stripconfig at goodmis.org
+#
+# What it does?
+#
+#   If you have installed a Linux kernel from a distribution
+#   that turns on way too many modules than you need, and
+#   you only want the modules you use, then this program
+#   is perfect for you.
+#
+#   It gives you the ability to turn off all the modules that are
+#   not loaded on your system.
+#
+# Howto:
+#
+#  1. Boot up the kernel that you want to stream line the config on.
+#  2. Change directory to the directory holding the source of the
+#       kernel that you just booted.
+#  3. Copy the configuraton file to this directory as .config
+#  4. Have all your devices that you need modules for connected and
+#      operational (make sure that their corresponding modules are loaded)
+#  5. Run this script redirecting the output to some other file
+#       like config_strip.
+#  6. Back up your old config (if you want too).
+#  7. copy the config_strip file to .config
+#  8. Run "make oldconfig"
+#
+#  Now your kernel is ready to be built with only the modules that
+#  are loaded.
+#
+# Here's what I did with my Debian distribution.
+#
+#    cd /usr/src/linux-2.6.10
+#    cp /boot/config-2.6.10-1-686-smp .config
+#    ~/bin/streamline_config > config_strip
+#    mv .config config_sav
+#    mv config_strip .config
+#    make oldconfig
+#
+use strict;
+use Getopt::Long;
+
+# set the environment variable LOCALMODCONFIG_DEBUG to get
+# debug output.
+my $debugprint = 0;
+$debugprint = 1 if (defined($ENV{LOCALMODCONFIG_DEBUG}));
+
+sub dprint {
+    return if (!$debugprint);
+    print STDERR @_;
+}
+
+my $config = ".config";
+
+my $uname = `uname -r`;
+chomp $uname;
+
+my @searchconfigs = (
+	{
+	    "file" => ".config",
+	    "exec" => "cat",
+	},
+	{
+	    "file" => "/proc/config.gz",
+	    "exec" => "zcat",
+	},
+	{
+	    "file" => "/boot/config-$uname",
+	    "exec" => "cat",
+	},
+	{
+	    "file" => "/boot/vmlinuz-$uname",
+	    "exec" => "scripts/extract-ikconfig",
+	    "test" => "scripts/extract-ikconfig",
+	},
+	{
+	    "file" => "vmlinux",
+	    "exec" => "scripts/extract-ikconfig",
+	    "test" => "scripts/extract-ikconfig",
+	},
+	{
+	    "file" => "/lib/modules/$uname/kernel/kernel/configs.ko",
+	    "exec" => "scripts/extract-ikconfig",
+	    "test" => "scripts/extract-ikconfig",
+	},
+	{
+	    "file" => "kernel/configs.ko",
+	    "exec" => "scripts/extract-ikconfig",
+	    "test" => "scripts/extract-ikconfig",
+	},
+	{
+	    "file" => "kernel/configs.o",
+	    "exec" => "scripts/extract-ikconfig",
+	    "test" => "scripts/extract-ikconfig",
+	},
+);
+
+sub read_config {
+    foreach my $conf (@searchconfigs) {
+	my $file = $conf->{"file"};
+
+	next if ( ! -f "$file");
+
+	if (defined($conf->{"test"})) {
+	    `$conf->{"test"} $conf->{"file"} 2>/dev/null`;
+	    next if ($?);
+	}
+
+	my $exec = $conf->{"exec"};
+
+	print STDERR "using config: '$file'\n";
+
+	open(my $infile, '-|', "$exec $file") || die "Failed to run $exec $file";
+	my @x = <$infile>;
+	close $infile;
+	return @x;
+    }
+    die "No config file found";
+}
+
+my @config_file = read_config;
+
+# Parse options
+my $localmodconfig = 0;
+my $localyesconfig = 0;
+
+GetOptions("localmodconfig" => \$localmodconfig,
+	   "localyesconfig" => \$localyesconfig);
+
+# Get the build source and top level Kconfig file (passed in)
+my $ksource = ($ARGV[0] ? $ARGV[0] : '.');
+my $kconfig = $ARGV[1];
+my $lsmod_file = $ENV{'LSMOD'};
+
+my @makefiles = `find $ksource -name Makefile 2>/dev/null`;
+chomp @makefiles;
+
+my %depends;
+my %selects;
+my %prompts;
+my %objects;
+my $var;
+my $iflevel = 0;
+my @ifdeps;
+
+# prevent recursion
+my %read_kconfigs;
+
+sub read_kconfig {
+    my ($kconfig) = @_;
+
+    my $state = "NONE";
+    my $config;
+
+    my $cont = 0;
+    my $line;
+
+    my $source = "$ksource/$kconfig";
+    my $last_source = "";
+
+    # Check for any environment variables used
+    while ($source =~ /\$(\w+)/ && $last_source ne $source) {
+	my $env = $1;
+	$last_source = $source;
+	$source =~ s/\$$env/$ENV{$env}/;
+    }
+
+    open(my $kinfile, '<', $source) || die "Can't open $kconfig";
+    while (<$kinfile>) {
+	chomp;
+
+	# Make sure that lines ending with \ continue
+	if ($cont) {
+	    $_ = $line . " " . $_;
+	}
+
+	if (s/\\$//) {
+	    $cont = 1;
+	    $line = $_;
+	    next;
+	}
+
+	$cont = 0;
+
+	# collect any Kconfig sources
+	if (/^source\s*"(.*)"/) {
+	    my $kconfig = $1;
+	    # prevent reading twice.
+	    if (!defined($read_kconfigs{$kconfig})) {
+		$read_kconfigs{$kconfig} = 1;
+		read_kconfig($kconfig);
+	    }
+	    next;
+	}
+
+	# configs found
+	if (/^\s*(menu)?config\s+(\S+)\s*$/) {
+	    $state = "NEW";
+	    $config = $2;
+
+	    # Add depends for 'if' nesting
+	    for (my $i = 0; $i < $iflevel; $i++) {
+		if ($i) {
+		    $depends{$config} .= " " . $ifdeps[$i];
+		} else {
+		    $depends{$config} = $ifdeps[$i];
+		}
+		$state = "DEP";
+	    }
+
+	# collect the depends for the config
+	} elsif ($state eq "NEW" && /^\s*depends\s+on\s+(.*)$/) {
+	    $state = "DEP";
+	    $depends{$config} = $1;
+	} elsif ($state eq "DEP" && /^\s*depends\s+on\s+(.*)$/) {
+	    $depends{$config} .= " " . $1;
+	} elsif ($state eq "DEP" && /^\s*def(_(bool|tristate)|ault)\s+(\S.*)$/) {
+	    my $dep = $3;
+	    if ($dep !~ /^\s*(y|m|n)\s*$/) {
+		$dep =~ s/.*\sif\s+//;
+		$depends{$config} .= " " . $dep;
+		dprint "Added default depends $dep to $config\n";
+	    }
+
+	# Get the configs that select this config
+	} elsif ($state ne "NONE" && /^\s*select\s+(\S+)/) {
+	    my $conf = $1;
+	    if (defined($selects{$conf})) {
+		$selects{$conf} .= " " . $config;
+	    } else {
+		$selects{$conf} = $config;
+	    }
+
+	# configs without prompts must be selected
+	} elsif ($state ne "NONE" && /^\s*tristate\s\S/) {
+	    # note if the config has a prompt
+	    $prompts{$config} = 1;
+
+	# Check for if statements
+	} elsif (/^if\s+(.*\S)\s*$/) {
+	    my $deps = $1;
+	    # remove beginning and ending non text
+	    $deps =~ s/^[^a-zA-Z0-9_]*//;
+	    $deps =~ s/[^a-zA-Z0-9_]*$//;
+
+	    my @deps = split /[^a-zA-Z0-9_]+/, $deps;
+
+	    $ifdeps[$iflevel++] = join ':', @deps;
+
+	} elsif (/^endif/) {
+
+	    $iflevel-- if ($iflevel);
+
+	# stop on "help"
+	} elsif (/^\s*help\s*$/) {
+	    $state = "NONE";
+	}
+    }
+    close($kinfile);
+}
+
+if ($kconfig) {
+    read_kconfig($kconfig);
+}
+
+# Makefiles can use variables to define their dependencies
+sub convert_vars {
+    my ($line, %vars) = @_;
+
+    my $process = "";
+
+    while ($line =~ s/^(.*?)(\$\((.*?)\))//) {
+	my $start = $1;
+	my $variable = $2;
+	my $var = $3;
+
+	if (defined($vars{$var})) {
+	    $process .= $start . $vars{$var};
+	} else {
+	    $process .= $start . $variable;
+	}
+    }
+
+    $process .= $line;
+
+    return $process;
+}
+
+# Read all Makefiles to map the configs to the objects
+foreach my $makefile (@makefiles) {
+
+    my $line = "";
+    my %make_vars;
+
+    open(my $infile, '<', $makefile) || die "Can't open $makefile";
+    while (<$infile>) {
+	# if this line ends with a backslash, continue
+	chomp;
+	if (/^(.*)\\$/) {
+	    $line .= $1;
+	    next;
+	}
+
+	$line .= $_;
+	$_ = $line;
+	$line = "";
+
+	my $objs;
+
+	# Convert variables in a line (could define configs)
+	$_ = convert_vars($_, %make_vars);
+
+	# collect objects after obj-$(CONFIG_FOO_BAR)
+	if (/obj-\$\((CONFIG_[^\)]*)\)\s*[+:]?=\s*(.*)/) {
+	    $var = $1;
+	    $objs = $2;
+
+	# check if variables are set
+	} elsif (/^\s*(\S+)\s*[:]?=\s*(.*\S)/) {
+	    $make_vars{$1} = $2;
+	}
+	if (defined($objs)) {
+	    foreach my $obj (split /\s+/,$objs) {
+		$obj =~ s/-/_/g;
+		if ($obj =~ /(.*)\.o$/) {
+		    # Objects may be enabled by more than one config.
+		    # Store configs in an array.
+		    my @arr;
+
+		    if (defined($objects{$1})) {
+			@arr = @{$objects{$1}};
+		    }
+
+		    $arr[$#arr+1] = $var;
+
+		    # The objects have a hash mapping to a reference
+		    # of an array of configs.
+		    $objects{$1} = \@arr;
+		}
+	    }
+	}
+    }
+    close($infile);
+}
+
+my %modules;
+my $linfile;
+
+if (defined($lsmod_file)) {
+    if ( ! -f $lsmod_file) {
+	if ( -f $ENV{'objtree'}."/".$lsmod_file) {
+	    $lsmod_file = $ENV{'objtree'}."/".$lsmod_file;
+	} else {
+		die "$lsmod_file not found";
+	}
+    }
+
+    my $otype = ( -x $lsmod_file) ? '-|' : '<';
+    open($linfile, $otype, $lsmod_file);
+
+} else {
+
+    # see what modules are loaded on this system
+    my $lsmod;
+
+    foreach my $dir ( ("/sbin", "/bin", "/usr/sbin", "/usr/bin") ) {
+	if ( -x "$dir/lsmod" ) {
+	    $lsmod = "$dir/lsmod";
+	    last;
+	}
+}
+    if (!defined($lsmod)) {
+	# try just the path
+	$lsmod = "lsmod";
+    }
+
+    open($linfile, '-|', $lsmod) || die "Can not call lsmod with $lsmod";
+}
+
+while (<$linfile>) {
+	next if (/^Module/);  # Skip the first line.
+	if (/^(\S+)/) {
+		$modules{$1} = 1;
+	}
+}
+close ($linfile);
+
+# add to the configs hash all configs that are needed to enable
+# a loaded module. This is a direct obj-${CONFIG_FOO} += bar.o
+# where we know we need bar.o so we add FOO to the list.
+my %configs;
+foreach my $module (keys(%modules)) {
+    if (defined($objects{$module})) {
+	my @arr = @{$objects{$module}};
+	foreach my $conf (@arr) {
+	    $configs{$conf} = $module;
+	    dprint "$conf added by direct ($module)\n";
+	    if ($debugprint) {
+		my $c=$conf;
+		$c =~ s/^CONFIG_//;
+		if (defined($depends{$c})) {
+		    dprint " deps = $depends{$c}\n";
+		} else {
+		    dprint " no deps\n";
+		}
+	    }
+	}
+    } else {
+	# Most likely, someone has a custom (binary?) module loaded.
+	print STDERR "$module config not found!!\n";
+    }
+}
+
+# Read the current config, and see what is enabled. We want to
+# ignore configs that we would not enable anyway.
+
+my %orig_configs;
+my $valid = "A-Za-z_0-9";
+
+foreach my $line (@config_file) {
+    $_ = $line;
+
+    if (/(CONFIG_[$valid]*)=(m|y)/) {
+	$orig_configs{$1} = $2;
+    }
+}
+
+my $repeat = 1;
+
+my $depconfig;
+
+#
+# Note, we do not care about operands (like: &&, ||, !) we want to add any
+# config that is in the depend list of another config. This script does
+# not enable configs that are not already enabled. If we come across a
+# config A that depends on !B, we can still add B to the list of depends
+# to keep on. If A was on in the original config, B would not have been
+# and B would not be turned on by this script.
+#
+sub parse_config_depends
+{
+    my ($p) = @_;
+
+    while ($p =~ /[$valid]/) {
+
+	if ($p =~ /^[^$valid]*([$valid]+)/) {
+	    my $conf = "CONFIG_" . $1;
+
+	    $p =~ s/^[^$valid]*[$valid]+//;
+
+	    # We only need to process if the depend config is a module
+	    if (!defined($orig_configs{$conf}) || !$orig_configs{conf} eq "m") {
+		next;
+	    }
+
+	    if (!defined($configs{$conf})) {
+		# We must make sure that this config has its
+		# dependencies met.
+		$repeat = 1; # do again
+		dprint "$conf selected by depend $depconfig\n";
+		$configs{$conf} = 1;
+	    }
+	} else {
+	    die "this should never happen";
+	}
+    }
+}
+
+# Select is treated a bit differently than depends. We call this
+# when a config has no prompt and requires another config to be
+# selected. We use to just select all configs that selected this
+# config, but found that that can balloon into enabling hundreds
+# of configs that we do not care about.
+#
+# The idea is we look at all the configs that select it. If one
+# is already in our list of configs to enable, then there's nothing
+# else to do. If there isn't, we pick the first config that was
+# enabled in the orignal config and use that.
+sub parse_config_selects
+{
+    my ($config, $p) = @_;
+
+    my $next_config;
+
+    while ($p =~ /[$valid]/) {
+
+	if ($p =~ /^[^$valid]*([$valid]+)/) {
+	    my $conf = "CONFIG_" . $1;
+
+	    $p =~ s/^[^$valid]*[$valid]+//;
+
+	    # Make sure that this config exists in the current .config file
+	    if (!defined($orig_configs{$conf})) {
+		dprint "$conf not set for $config select\n";
+		next;
+	    }
+
+	    # Check if something other than a module selects this config
+	    if (defined($orig_configs{$conf}) && $orig_configs{$conf} ne "m") {
+		dprint "$conf (non module) selects config, we are good\n";
+		# we are good with this
+		return;
+	    }
+	    if (defined($configs{$conf})) {
+		dprint "$conf selects $config so we are good\n";
+		# A set config selects this config, we are good
+		return;
+	    }
+	    # Set this config to be selected
+	    if (!defined($next_config)) {
+		$next_config = $conf;
+	    }
+	} else {
+	    die "this should never happen";
+	}
+    }
+
+    # If no possible config selected this, then something happened.
+    if (!defined($next_config)) {
+	print STDERR "WARNING: $config is required, but nothing in the\n";
+	print STDERR "  current config selects it.\n";
+	return;
+    }
+
+    # If we are here, then we found no config that is set and
+    # selects this config. Repeat.
+    $repeat = 1;
+    # Make this config need to be selected
+    $configs{$next_config} = 1;
+    dprint "$next_config selected by select $config\n";
+}
+
+my %process_selects;
+
+# loop through all configs, select their dependencies.
+sub loop_depend {
+    $repeat = 1;
+
+    while ($repeat) {
+	$repeat = 0;
+
+      forloop:
+	foreach my $config (keys %configs) {
+
+	    # If this config is not a module, we do not need to process it
+	    if (defined($orig_configs{$config}) && $orig_configs{$config} ne "m") {
+		next forloop;
+	    }
+
+	    $config =~ s/^CONFIG_//;
+	    $depconfig = $config;
+
+	    if (defined($depends{$config})) {
+		# This config has dependencies. Make sure they are also included
+		parse_config_depends $depends{$config};
+	    }
+
+	    # If the config has no prompt, then we need to check if a config
+	    # that is enabled selected it. Or if we need to enable one.
+	    if (!defined($prompts{$config}) && defined($selects{$config})) {
+		$process_selects{$config} = 1;
+	    }
+	}
+    }
+}
+
+sub loop_select {
+
+    foreach my $config (keys %process_selects) {
+	$config =~ s/^CONFIG_//;
+
+	dprint "Process select $config\n";
+
+	# config has no prompt and must be selected.
+	parse_config_selects $config, $selects{$config};
+    }
+}
+
+while ($repeat) {
+    # Get the first set of configs and their dependencies.
+    loop_depend;
+
+    $repeat = 0;
+
+    # Now we need to see if we have to check selects;
+    loop_select;
+}	    
+
+my %setconfigs;
+
+# Finally, read the .config file and turn off any module enabled that
+# we could not find a reason to keep enabled.
+foreach my $line (@config_file) {
+    $_ = $line;
+
+    if (/CONFIG_IKCONFIG/) {
+	if (/# CONFIG_IKCONFIG is not set/) {
+	    # enable IKCONFIG at least as a module
+	    print "CONFIG_IKCONFIG=m\n";
+	    # don't ask about PROC
+	    print "# CONFIG_IKCONFIG_PROC is not set\n";
+	} else {
+	    print;
+	}
+	next;
+    }
+
+    if (/^(CONFIG.*)=(m|y)/) {
+	if (defined($configs{$1})) {
+	    if ($localyesconfig) {
+	        $setconfigs{$1} = 'y';
+		print "$1=y\n";
+		next;
+	    } else {
+	        $setconfigs{$1} = $2;
+	    }
+	} elsif ($2 eq "m") {
+	    print "# $1 is not set\n";
+	    next;
+	}
+    }
+    print;
+}
+
+# Integrity check, make sure all modules that we want enabled do
+# indeed have their configs set.
+loop:
+foreach my $module (keys(%modules)) {
+    if (defined($objects{$module})) {
+	my @arr = @{$objects{$module}};
+	foreach my $conf (@arr) {
+	    if (defined($setconfigs{$conf})) {
+		next loop;
+	    }
+	}
+	print STDERR "module $module did not have configs";
+	foreach my $conf (@arr) {
+	    print STDERR " " , $conf;
+	}
+	print STDERR "\n";
+    }
+}
diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c
new file mode 100644
index 0000000..7caabdb
--- /dev/null
+++ b/scripts/kconfig/symbol.c
@@ -0,0 +1,1373 @@
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <regex.h>
+#include <sys/utsname.h>
+
+#include "lkc.h"
+
+struct symbol symbol_yes = {
+	.name = "y",
+	.curr = { "y", yes },
+	.flags = SYMBOL_CONST|SYMBOL_VALID,
+}, symbol_mod = {
+	.name = "m",
+	.curr = { "m", mod },
+	.flags = SYMBOL_CONST|SYMBOL_VALID,
+}, symbol_no = {
+	.name = "n",
+	.curr = { "n", no },
+	.flags = SYMBOL_CONST|SYMBOL_VALID,
+}, symbol_empty = {
+	.name = "",
+	.curr = { "", no },
+	.flags = SYMBOL_VALID,
+};
+
+struct symbol *sym_defconfig_list;
+struct symbol *modules_sym;
+tristate modules_val;
+
+struct expr *sym_env_list;
+
+static void sym_add_default(struct symbol *sym, const char *def)
+{
+	struct property *prop = prop_alloc(P_DEFAULT, sym);
+
+	prop->expr = expr_alloc_symbol(sym_lookup(def, SYMBOL_CONST));
+}
+
+void sym_init(void)
+{
+	struct symbol *sym;
+	struct utsname uts;
+	static bool inited = false;
+
+	if (inited)
+		return;
+	inited = true;
+
+	uname(&uts);
+
+	sym = sym_lookup("UNAME_RELEASE", 0);
+	sym->type = S_STRING;
+	sym->flags |= SYMBOL_AUTO;
+	sym_add_default(sym, uts.release);
+}
+
+enum symbol_type sym_get_type(struct symbol *sym)
+{
+	enum symbol_type type = sym->type;
+
+	if (type == S_TRISTATE) {
+		if (sym_is_choice_value(sym) && sym->visible == yes)
+			type = S_BOOLEAN;
+		else if (modules_val == no)
+			type = S_BOOLEAN;
+	}
+	return type;
+}
+
+const char *sym_type_name(enum symbol_type type)
+{
+	switch (type) {
+	case S_BOOLEAN:
+		return "boolean";
+	case S_TRISTATE:
+		return "tristate";
+	case S_INT:
+		return "integer";
+	case S_HEX:
+		return "hex";
+	case S_STRING:
+		return "string";
+	case S_UNKNOWN:
+		return "unknown";
+	case S_OTHER:
+		break;
+	}
+	return "???";
+}
+
+struct property *sym_get_choice_prop(struct symbol *sym)
+{
+	struct property *prop;
+
+	for_all_choices(sym, prop)
+		return prop;
+	return NULL;
+}
+
+struct property *sym_get_env_prop(struct symbol *sym)
+{
+	struct property *prop;
+
+	for_all_properties(sym, prop, P_ENV)
+		return prop;
+	return NULL;
+}
+
+struct property *sym_get_default_prop(struct symbol *sym)
+{
+	struct property *prop;
+
+	for_all_defaults(sym, prop) {
+		prop->visible.tri = expr_calc_value(prop->visible.expr);
+		if (prop->visible.tri != no)
+			return prop;
+	}
+	return NULL;
+}
+
+static struct property *sym_get_range_prop(struct symbol *sym)
+{
+	struct property *prop;
+
+	for_all_properties(sym, prop, P_RANGE) {
+		prop->visible.tri = expr_calc_value(prop->visible.expr);
+		if (prop->visible.tri != no)
+			return prop;
+	}
+	return NULL;
+}
+
+static long long sym_get_range_val(struct symbol *sym, int base)
+{
+	sym_calc_value(sym);
+	switch (sym->type) {
+	case S_INT:
+		base = 10;
+		break;
+	case S_HEX:
+		base = 16;
+		break;
+	default:
+		break;
+	}
+	return strtoll(sym->curr.val, NULL, base);
+}
+
+static void sym_validate_range(struct symbol *sym)
+{
+	struct property *prop;
+	int base;
+	long long val, val2;
+	char str[64];
+
+	switch (sym->type) {
+	case S_INT:
+		base = 10;
+		break;
+	case S_HEX:
+		base = 16;
+		break;
+	default:
+		return;
+	}
+	prop = sym_get_range_prop(sym);
+	if (!prop)
+		return;
+	val = strtoll(sym->curr.val, NULL, base);
+	val2 = sym_get_range_val(prop->expr->left.sym, base);
+	if (val >= val2) {
+		val2 = sym_get_range_val(prop->expr->right.sym, base);
+		if (val <= val2)
+			return;
+	}
+	if (sym->type == S_INT)
+		sprintf(str, "%lld", val2);
+	else
+		sprintf(str, "0x%llx", val2);
+	sym->curr.val = strdup(str);
+}
+
+static void sym_calc_visibility(struct symbol *sym)
+{
+	struct property *prop;
+	tristate tri;
+
+	/* any prompt visible? */
+	tri = no;
+	for_all_prompts(sym, prop) {
+		prop->visible.tri = expr_calc_value(prop->visible.expr);
+		tri = EXPR_OR(tri, prop->visible.tri);
+	}
+	if (tri == mod && (sym->type != S_TRISTATE || modules_val == no))
+		tri = yes;
+	if (sym->visible != tri) {
+		sym->visible = tri;
+		sym_set_changed(sym);
+	}
+	if (sym_is_choice_value(sym))
+		return;
+	/* defaulting to "yes" if no explicit "depends on" are given */
+	tri = yes;
+	if (sym->dir_dep.expr)
+		tri = expr_calc_value(sym->dir_dep.expr);
+	if (tri == mod)
+		tri = yes;
+	if (sym->dir_dep.tri != tri) {
+		sym->dir_dep.tri = tri;
+		sym_set_changed(sym);
+	}
+	tri = no;
+	if (sym->rev_dep.expr)
+		tri = expr_calc_value(sym->rev_dep.expr);
+	if (tri == mod && sym_get_type(sym) == S_BOOLEAN)
+		tri = yes;
+	if (sym->rev_dep.tri != tri) {
+		sym->rev_dep.tri = tri;
+		sym_set_changed(sym);
+	}
+}
+
+/*
+ * Find the default symbol for a choice.
+ * First try the default values for the choice symbol
+ * Next locate the first visible choice value
+ * Return NULL if none was found
+ */
+struct symbol *sym_choice_default(struct symbol *sym)
+{
+	struct symbol *def_sym;
+	struct property *prop;
+	struct expr *e;
+
+	/* any of the defaults visible? */
+	for_all_defaults(sym, prop) {
+		prop->visible.tri = expr_calc_value(prop->visible.expr);
+		if (prop->visible.tri == no)
+			continue;
+		def_sym = prop_get_symbol(prop);
+		if (def_sym->visible != no)
+			return def_sym;
+	}
+
+	/* just get the first visible value */
+	prop = sym_get_choice_prop(sym);
+	expr_list_for_each_sym(prop->expr, e, def_sym)
+		if (def_sym->visible != no)
+			return def_sym;
+
+	/* failed to locate any defaults */
+	return NULL;
+}
+
+static struct symbol *sym_calc_choice(struct symbol *sym)
+{
+	struct symbol *def_sym;
+	struct property *prop;
+	struct expr *e;
+	int flags;
+
+	/* first calculate all choice values' visibilities */
+	flags = sym->flags;
+	prop = sym_get_choice_prop(sym);
+	expr_list_for_each_sym(prop->expr, e, def_sym) {
+		sym_calc_visibility(def_sym);
+		if (def_sym->visible != no)
+			flags &= def_sym->flags;
+	}
+
+	sym->flags &= flags | ~SYMBOL_DEF_USER;
+
+	/* is the user choice visible? */
+	def_sym = sym->def[S_DEF_USER].val;
+	if (def_sym && def_sym->visible != no)
+		return def_sym;
+
+	def_sym = sym_choice_default(sym);
+
+	if (def_sym == NULL)
+		/* no choice? reset tristate value */
+		sym->curr.tri = no;
+
+	return def_sym;
+}
+
+void sym_calc_value(struct symbol *sym)
+{
+	struct symbol_value newval, oldval;
+	struct property *prop;
+	struct expr *e;
+
+	if (!sym)
+		return;
+
+	if (sym->flags & SYMBOL_VALID)
+		return;
+
+	if (sym_is_choice_value(sym) &&
+	    sym->flags & SYMBOL_NEED_SET_CHOICE_VALUES) {
+		sym->flags &= ~SYMBOL_NEED_SET_CHOICE_VALUES;
+		prop = sym_get_choice_prop(sym);
+		sym_calc_value(prop_get_symbol(prop));
+	}
+
+	sym->flags |= SYMBOL_VALID;
+
+	oldval = sym->curr;
+
+	switch (sym->type) {
+	case S_INT:
+	case S_HEX:
+	case S_STRING:
+		newval = symbol_empty.curr;
+		break;
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		newval = symbol_no.curr;
+		break;
+	default:
+		sym->curr.val = sym->name;
+		sym->curr.tri = no;
+		return;
+	}
+	if (!sym_is_choice_value(sym))
+		sym->flags &= ~SYMBOL_WRITE;
+
+	sym_calc_visibility(sym);
+
+	/* set default if recursively called */
+	sym->curr = newval;
+
+	switch (sym_get_type(sym)) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		if (sym_is_choice_value(sym) && sym->visible == yes) {
+			prop = sym_get_choice_prop(sym);
+			newval.tri = (prop_get_symbol(prop)->curr.val == sym) ? yes : no;
+		} else {
+			if (sym->visible != no) {
+				/* if the symbol is visible use the user value
+				 * if available, otherwise try the default value
+				 */
+				sym->flags |= SYMBOL_WRITE;
+				if (sym_has_value(sym)) {
+					newval.tri = EXPR_AND(sym->def[S_DEF_USER].tri,
+							      sym->visible);
+					goto calc_newval;
+				}
+			}
+			if (sym->rev_dep.tri != no)
+				sym->flags |= SYMBOL_WRITE;
+			if (!sym_is_choice(sym)) {
+				prop = sym_get_default_prop(sym);
+				if (prop) {
+					sym->flags |= SYMBOL_WRITE;
+					newval.tri = EXPR_AND(expr_calc_value(prop->expr),
+							      prop->visible.tri);
+				}
+			}
+		calc_newval:
+			if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) {
+				struct expr *e;
+				e = expr_simplify_unmet_dep(sym->rev_dep.expr,
+				    sym->dir_dep.expr);
+				fprintf(stderr, "warning: (");
+				expr_fprint(e, stderr);
+				fprintf(stderr, ") selects %s which has unmet direct dependencies (",
+					sym->name);
+				expr_fprint(sym->dir_dep.expr, stderr);
+				fprintf(stderr, ")\n");
+				expr_free(e);
+			}
+			newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
+		}
+		if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)
+			newval.tri = yes;
+		break;
+	case S_STRING:
+	case S_HEX:
+	case S_INT:
+		if (sym->visible != no) {
+			sym->flags |= SYMBOL_WRITE;
+			if (sym_has_value(sym)) {
+				newval.val = sym->def[S_DEF_USER].val;
+				break;
+			}
+		}
+		prop = sym_get_default_prop(sym);
+		if (prop) {
+			struct symbol *ds = prop_get_symbol(prop);
+			if (ds) {
+				sym->flags |= SYMBOL_WRITE;
+				sym_calc_value(ds);
+				newval.val = ds->curr.val;
+			}
+		}
+		break;
+	default:
+		;
+	}
+
+	sym->curr = newval;
+	if (sym_is_choice(sym) && newval.tri == yes)
+		sym->curr.val = sym_calc_choice(sym);
+	sym_validate_range(sym);
+
+	if (memcmp(&oldval, &sym->curr, sizeof(oldval))) {
+		sym_set_changed(sym);
+		if (modules_sym == sym) {
+			sym_set_all_changed();
+			modules_val = modules_sym->curr.tri;
+		}
+	}
+
+	if (sym_is_choice(sym)) {
+		struct symbol *choice_sym;
+
+		prop = sym_get_choice_prop(sym);
+		expr_list_for_each_sym(prop->expr, e, choice_sym) {
+			if ((sym->flags & SYMBOL_WRITE) &&
+			    choice_sym->visible != no)
+				choice_sym->flags |= SYMBOL_WRITE;
+			if (sym->flags & SYMBOL_CHANGED)
+				sym_set_changed(choice_sym);
+		}
+	}
+
+	if (sym->flags & SYMBOL_AUTO)
+		sym->flags &= ~SYMBOL_WRITE;
+
+	if (sym->flags & SYMBOL_NEED_SET_CHOICE_VALUES)
+		set_all_choice_values(sym);
+}
+
+void sym_clear_all_valid(void)
+{
+	struct symbol *sym;
+	int i;
+
+	for_all_symbols(i, sym)
+		sym->flags &= ~SYMBOL_VALID;
+	sym_add_change_count(1);
+	if (modules_sym)
+		sym_calc_value(modules_sym);
+}
+
+void sym_set_changed(struct symbol *sym)
+{
+	struct property *prop;
+
+	sym->flags |= SYMBOL_CHANGED;
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->menu)
+			prop->menu->flags |= MENU_CHANGED;
+	}
+}
+
+void sym_set_all_changed(void)
+{
+	struct symbol *sym;
+	int i;
+
+	for_all_symbols(i, sym)
+		sym_set_changed(sym);
+}
+
+bool sym_tristate_within_range(struct symbol *sym, tristate val)
+{
+	int type = sym_get_type(sym);
+
+	if (sym->visible == no)
+		return false;
+
+	if (type != S_BOOLEAN && type != S_TRISTATE)
+		return false;
+
+	if (type == S_BOOLEAN && val == mod)
+		return false;
+	if (sym->visible <= sym->rev_dep.tri)
+		return false;
+	if (sym_is_choice_value(sym) && sym->visible == yes)
+		return val == yes;
+	return val >= sym->rev_dep.tri && val <= sym->visible;
+}
+
+bool sym_set_tristate_value(struct symbol *sym, tristate val)
+{
+	tristate oldval = sym_get_tristate_value(sym);
+
+	if (oldval != val && !sym_tristate_within_range(sym, val))
+		return false;
+
+	if (!(sym->flags & SYMBOL_DEF_USER)) {
+		sym->flags |= SYMBOL_DEF_USER;
+		sym_set_changed(sym);
+	}
+	/*
+	 * setting a choice value also resets the new flag of the choice
+	 * symbol and all other choice values.
+	 */
+	if (sym_is_choice_value(sym) && val == yes) {
+		struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym));
+		struct property *prop;
+		struct expr *e;
+
+		cs->def[S_DEF_USER].val = sym;
+		cs->flags |= SYMBOL_DEF_USER;
+		prop = sym_get_choice_prop(cs);
+		for (e = prop->expr; e; e = e->left.expr) {
+			if (e->right.sym->visible != no)
+				e->right.sym->flags |= SYMBOL_DEF_USER;
+		}
+	}
+
+	sym->def[S_DEF_USER].tri = val;
+	if (oldval != val)
+		sym_clear_all_valid();
+
+	return true;
+}
+
+tristate sym_toggle_tristate_value(struct symbol *sym)
+{
+	tristate oldval, newval;
+
+	oldval = newval = sym_get_tristate_value(sym);
+	do {
+		switch (newval) {
+		case no:
+			newval = mod;
+			break;
+		case mod:
+			newval = yes;
+			break;
+		case yes:
+			newval = no;
+			break;
+		}
+		if (sym_set_tristate_value(sym, newval))
+			break;
+	} while (oldval != newval);
+	return newval;
+}
+
+bool sym_string_valid(struct symbol *sym, const char *str)
+{
+	signed char ch;
+
+	switch (sym->type) {
+	case S_STRING:
+		return true;
+	case S_INT:
+		ch = *str++;
+		if (ch == '-')
+			ch = *str++;
+		if (!isdigit(ch))
+			return false;
+		if (ch == '0' && *str != 0)
+			return false;
+		while ((ch = *str++)) {
+			if (!isdigit(ch))
+				return false;
+		}
+		return true;
+	case S_HEX:
+		if (str[0] == '0' && (str[1] == 'x' || str[1] == 'X'))
+			str += 2;
+		ch = *str++;
+		do {
+			if (!isxdigit(ch))
+				return false;
+		} while ((ch = *str++));
+		return true;
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		switch (str[0]) {
+		case 'y': case 'Y':
+		case 'm': case 'M':
+		case 'n': case 'N':
+			return true;
+		}
+		return false;
+	default:
+		return false;
+	}
+}
+
+bool sym_string_within_range(struct symbol *sym, const char *str)
+{
+	struct property *prop;
+	long long val;
+
+	switch (sym->type) {
+	case S_STRING:
+		return sym_string_valid(sym, str);
+	case S_INT:
+		if (!sym_string_valid(sym, str))
+			return false;
+		prop = sym_get_range_prop(sym);
+		if (!prop)
+			return true;
+		val = strtoll(str, NULL, 10);
+		return val >= sym_get_range_val(prop->expr->left.sym, 10) &&
+		       val <= sym_get_range_val(prop->expr->right.sym, 10);
+	case S_HEX:
+		if (!sym_string_valid(sym, str))
+			return false;
+		prop = sym_get_range_prop(sym);
+		if (!prop)
+			return true;
+		val = strtoll(str, NULL, 16);
+		return val >= sym_get_range_val(prop->expr->left.sym, 16) &&
+		       val <= sym_get_range_val(prop->expr->right.sym, 16);
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		switch (str[0]) {
+		case 'y': case 'Y':
+			return sym_tristate_within_range(sym, yes);
+		case 'm': case 'M':
+			return sym_tristate_within_range(sym, mod);
+		case 'n': case 'N':
+			return sym_tristate_within_range(sym, no);
+		}
+		return false;
+	default:
+		return false;
+	}
+}
+
+bool sym_set_string_value(struct symbol *sym, const char *newval)
+{
+	const char *oldval;
+	char *val;
+	int size;
+
+	switch (sym->type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		switch (newval[0]) {
+		case 'y': case 'Y':
+			return sym_set_tristate_value(sym, yes);
+		case 'm': case 'M':
+			return sym_set_tristate_value(sym, mod);
+		case 'n': case 'N':
+			return sym_set_tristate_value(sym, no);
+		}
+		return false;
+	default:
+		;
+	}
+
+	if (!sym_string_within_range(sym, newval))
+		return false;
+
+	if (!(sym->flags & SYMBOL_DEF_USER)) {
+		sym->flags |= SYMBOL_DEF_USER;
+		sym_set_changed(sym);
+	}
+
+	oldval = sym->def[S_DEF_USER].val;
+	size = strlen(newval) + 1;
+	if (sym->type == S_HEX && (newval[0] != '0' || (newval[1] != 'x' && newval[1] != 'X'))) {
+		size += 2;
+		sym->def[S_DEF_USER].val = val = xmalloc(size);
+		*val++ = '0';
+		*val++ = 'x';
+	} else if (!oldval || strcmp(oldval, newval))
+		sym->def[S_DEF_USER].val = val = xmalloc(size);
+	else
+		return true;
+
+	strcpy(val, newval);
+	free((void *)oldval);
+	sym_clear_all_valid();
+
+	return true;
+}
+
+/*
+ * Find the default value associated to a symbol.
+ * For tristate symbol handle the modules=n case
+ * in which case "m" becomes "y".
+ * If the symbol does not have any default then fallback
+ * to the fixed default values.
+ */
+const char *sym_get_string_default(struct symbol *sym)
+{
+	struct property *prop;
+	struct symbol *ds;
+	const char *str;
+	tristate val;
+
+	sym_calc_visibility(sym);
+	sym_calc_value(modules_sym);
+	val = symbol_no.curr.tri;
+	str = symbol_empty.curr.val;
+
+	/* If symbol has a default value look it up */
+	prop = sym_get_default_prop(sym);
+	if (prop != NULL) {
+		switch (sym->type) {
+		case S_BOOLEAN:
+		case S_TRISTATE:
+			/* The visibility may limit the value from yes => mod */
+			val = EXPR_AND(expr_calc_value(prop->expr), prop->visible.tri);
+			break;
+		default:
+			/*
+			 * The following fails to handle the situation
+			 * where a default value is further limited by
+			 * the valid range.
+			 */
+			ds = prop_get_symbol(prop);
+			if (ds != NULL) {
+				sym_calc_value(ds);
+				str = (const char *)ds->curr.val;
+			}
+		}
+	}
+
+	/* Handle select statements */
+	val = EXPR_OR(val, sym->rev_dep.tri);
+
+	/* transpose mod to yes if modules are not enabled */
+	if (val == mod)
+		if (!sym_is_choice_value(sym) && modules_sym->curr.tri == no)
+			val = yes;
+
+	/* transpose mod to yes if type is bool */
+	if (sym->type == S_BOOLEAN && val == mod)
+		val = yes;
+
+	switch (sym->type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		switch (val) {
+		case no: return "n";
+		case mod: return "m";
+		case yes: return "y";
+		}
+	case S_INT:
+	case S_HEX:
+		return str;
+	case S_STRING:
+		return str;
+	case S_OTHER:
+	case S_UNKNOWN:
+		break;
+	}
+	return "";
+}
+
+const char *sym_get_string_value(struct symbol *sym)
+{
+	tristate val;
+
+	switch (sym->type) {
+	case S_BOOLEAN:
+	case S_TRISTATE:
+		val = sym_get_tristate_value(sym);
+		switch (val) {
+		case no:
+			return "n";
+		case mod:
+			sym_calc_value(modules_sym);
+			return (modules_sym->curr.tri == no) ? "n" : "m";
+		case yes:
+			return "y";
+		}
+		break;
+	default:
+		;
+	}
+	return (const char *)sym->curr.val;
+}
+
+bool sym_is_changable(struct symbol *sym)
+{
+	return sym->visible > sym->rev_dep.tri;
+}
+
+static unsigned strhash(const char *s)
+{
+	/* fnv32 hash */
+	unsigned hash = 2166136261U;
+	for (; *s; s++)
+		hash = (hash ^ *s) * 0x01000193;
+	return hash;
+}
+
+struct symbol *sym_lookup(const char *name, int flags)
+{
+	struct symbol *symbol;
+	char *new_name;
+	int hash;
+
+	if (name) {
+		if (name[0] && !name[1]) {
+			switch (name[0]) {
+			case 'y': return &symbol_yes;
+			case 'm': return &symbol_mod;
+			case 'n': return &symbol_no;
+			}
+		}
+		hash = strhash(name) % SYMBOL_HASHSIZE;
+
+		for (symbol = symbol_hash[hash]; symbol; symbol = symbol->next) {
+			if (symbol->name &&
+			    !strcmp(symbol->name, name) &&
+			    (flags ? symbol->flags & flags
+				   : !(symbol->flags & (SYMBOL_CONST|SYMBOL_CHOICE))))
+				return symbol;
+		}
+		new_name = strdup(name);
+	} else {
+		new_name = NULL;
+		hash = 0;
+	}
+
+	symbol = xmalloc(sizeof(*symbol));
+	memset(symbol, 0, sizeof(*symbol));
+	symbol->name = new_name;
+	symbol->type = S_UNKNOWN;
+	symbol->flags |= flags;
+
+	symbol->next = symbol_hash[hash];
+	symbol_hash[hash] = symbol;
+
+	return symbol;
+}
+
+struct symbol *sym_find(const char *name)
+{
+	struct symbol *symbol = NULL;
+	int hash = 0;
+
+	if (!name)
+		return NULL;
+
+	if (name[0] && !name[1]) {
+		switch (name[0]) {
+		case 'y': return &symbol_yes;
+		case 'm': return &symbol_mod;
+		case 'n': return &symbol_no;
+		}
+	}
+	hash = strhash(name) % SYMBOL_HASHSIZE;
+
+	for (symbol = symbol_hash[hash]; symbol; symbol = symbol->next) {
+		if (symbol->name &&
+		    !strcmp(symbol->name, name) &&
+		    !(symbol->flags & SYMBOL_CONST))
+				break;
+	}
+
+	return symbol;
+}
+
+/*
+ * Expand symbol's names embedded in the string given in argument. Symbols'
+ * name to be expanded shall be prefixed by a '$'. Unknown symbol expands to
+ * the empty string.
+ */
+const char *sym_expand_string_value(const char *in)
+{
+	const char *src;
+	char *res;
+	size_t reslen;
+
+	reslen = strlen(in) + 1;
+	res = xmalloc(reslen);
+	res[0] = '\0';
+
+	while ((src = strchr(in, '$'))) {
+		char *p, name[SYMBOL_MAXLENGTH];
+		const char *symval = "";
+		struct symbol *sym;
+		size_t newlen;
+
+		strncat(res, in, src - in);
+		src++;
+
+		p = name;
+		while (isalnum(*src) || *src == '_')
+			*p++ = *src++;
+		*p = '\0';
+
+		sym = sym_find(name);
+		if (sym != NULL) {
+			sym_calc_value(sym);
+			symval = sym_get_string_value(sym);
+		}
+
+		newlen = strlen(res) + strlen(symval) + strlen(src) + 1;
+		if (newlen > reslen) {
+			reslen = newlen;
+			res = realloc(res, reslen);
+		}
+
+		strcat(res, symval);
+		in = src;
+	}
+	strcat(res, in);
+
+	return res;
+}
+
+const char *sym_escape_string_value(const char *in)
+{
+	const char *p;
+	size_t reslen;
+	char *res;
+	size_t l;
+
+	reslen = strlen(in) + strlen("\"\"") + 1;
+
+	p = in;
+	for (;;) {
+		l = strcspn(p, "\"\\");
+		p += l;
+
+		if (p[0] == '\0')
+			break;
+
+		reslen++;
+		p++;
+	}
+
+	res = xmalloc(reslen);
+	res[0] = '\0';
+
+	strcat(res, "\"");
+
+	p = in;
+	for (;;) {
+		l = strcspn(p, "\"\\");
+		strncat(res, p, l);
+		p += l;
+
+		if (p[0] == '\0')
+			break;
+
+		strcat(res, "\\");
+		strncat(res, p++, 1);
+	}
+
+	strcat(res, "\"");
+	return res;
+}
+
+struct sym_match {
+	struct symbol	*sym;
+	off_t		so, eo;
+};
+
+/* Compare matched symbols as thus:
+ * - first, symbols that match exactly
+ * - then, alphabetical sort
+ */
+static int sym_rel_comp(const void *sym1, const void *sym2)
+{
+	const struct sym_match *s1 = sym1;
+	const struct sym_match *s2 = sym2;
+	int exact1, exact2;
+
+	/* Exact match:
+	 * - if matched length on symbol s1 is the length of that symbol,
+	 *   then this symbol should come first;
+	 * - if matched length on symbol s2 is the length of that symbol,
+	 *   then this symbol should come first.
+	 * Note: since the search can be a regexp, both symbols may match
+	 * exactly; if this is the case, we can't decide which comes first,
+	 * and we fallback to sorting alphabetically.
+	 */
+	exact1 = (s1->eo - s1->so) == strlen(s1->sym->name);
+	exact2 = (s2->eo - s2->so) == strlen(s2->sym->name);
+	if (exact1 && !exact2)
+		return -1;
+	if (!exact1 && exact2)
+		return 1;
+
+	/* As a fallback, sort symbols alphabetically */
+	return strcmp(s1->sym->name, s2->sym->name);
+}
+
+struct symbol **sym_re_search(const char *pattern)
+{
+	struct symbol *sym, **sym_arr = NULL;
+	struct sym_match *sym_match_arr = NULL;
+	int i, cnt, size;
+	regex_t re;
+	regmatch_t match[1];
+
+	cnt = size = 0;
+	/* Skip if empty */
+	if (strlen(pattern) == 0)
+		return NULL;
+	if (regcomp(&re, pattern, REG_EXTENDED|REG_ICASE))
+		return NULL;
+
+	for_all_symbols(i, sym) {
+		if (sym->flags & SYMBOL_CONST || !sym->name)
+			continue;
+		if (regexec(&re, sym->name, 1, match, 0))
+			continue;
+		if (cnt >= size) {
+			void *tmp;
+			size += 16;
+			tmp = realloc(sym_match_arr, size * sizeof(struct sym_match));
+			if (!tmp)
+				goto sym_re_search_free;
+			sym_match_arr = tmp;
+		}
+		sym_calc_value(sym);
+		/* As regexec returned 0, we know we have a match, so
+		 * we can use match[0].rm_[se]o without further checks
+		 */
+		sym_match_arr[cnt].so = match[0].rm_so;
+		sym_match_arr[cnt].eo = match[0].rm_eo;
+		sym_match_arr[cnt++].sym = sym;
+	}
+	if (sym_match_arr) {
+		qsort(sym_match_arr, cnt, sizeof(struct sym_match), sym_rel_comp);
+		sym_arr = malloc((cnt+1) * sizeof(struct symbol));
+		if (!sym_arr)
+			goto sym_re_search_free;
+		for (i = 0; i < cnt; i++)
+			sym_arr[i] = sym_match_arr[i].sym;
+		sym_arr[cnt] = NULL;
+	}
+sym_re_search_free:
+	/* sym_match_arr can be NULL if no match, but free(NULL) is OK */
+	free(sym_match_arr);
+	regfree(&re);
+
+	return sym_arr;
+}
+
+/*
+ * When we check for recursive dependencies we use a stack to save
+ * current state so we can print out relevant info to user.
+ * The entries are located on the call stack so no need to free memory.
+ * Note insert() remove() must always match to properly clear the stack.
+ */
+static struct dep_stack {
+	struct dep_stack *prev, *next;
+	struct symbol *sym;
+	struct property *prop;
+	struct expr *expr;
+} *check_top;
+
+static void dep_stack_insert(struct dep_stack *stack, struct symbol *sym)
+{
+	memset(stack, 0, sizeof(*stack));
+	if (check_top)
+		check_top->next = stack;
+	stack->prev = check_top;
+	stack->sym = sym;
+	check_top = stack;
+}
+
+static void dep_stack_remove(void)
+{
+	check_top = check_top->prev;
+	if (check_top)
+		check_top->next = NULL;
+}
+
+/*
+ * Called when we have detected a recursive dependency.
+ * check_top point to the top of the stact so we use
+ * the ->prev pointer to locate the bottom of the stack.
+ */
+static void sym_check_print_recursive(struct symbol *last_sym)
+{
+	struct dep_stack *stack;
+	struct symbol *sym, *next_sym;
+	struct menu *menu = NULL;
+	struct property *prop;
+	struct dep_stack cv_stack;
+
+	if (sym_is_choice_value(last_sym)) {
+		dep_stack_insert(&cv_stack, last_sym);
+		last_sym = prop_get_symbol(sym_get_choice_prop(last_sym));
+	}
+
+	for (stack = check_top; stack != NULL; stack = stack->prev)
+		if (stack->sym == last_sym)
+			break;
+	if (!stack) {
+		fprintf(stderr, "unexpected recursive dependency error\n");
+		return;
+	}
+
+	for (; stack; stack = stack->next) {
+		sym = stack->sym;
+		next_sym = stack->next ? stack->next->sym : last_sym;
+		prop = stack->prop;
+		if (prop == NULL)
+			prop = stack->sym->prop;
+
+		/* for choice values find the menu entry (used below) */
+		if (sym_is_choice(sym) || sym_is_choice_value(sym)) {
+			for (prop = sym->prop; prop; prop = prop->next) {
+				menu = prop->menu;
+				if (prop->menu)
+					break;
+			}
+		}
+		if (stack->sym == last_sym)
+			fprintf(stderr, "%s:%d:error: recursive dependency detected!\n",
+				prop->file->name, prop->lineno);
+		if (stack->expr) {
+			fprintf(stderr, "%s:%d:\tsymbol %s %s value contains %s\n",
+				prop->file->name, prop->lineno,
+				sym->name ? sym->name : "<choice>",
+				prop_get_type_name(prop->type),
+				next_sym->name ? next_sym->name : "<choice>");
+		} else if (stack->prop) {
+			fprintf(stderr, "%s:%d:\tsymbol %s depends on %s\n",
+				prop->file->name, prop->lineno,
+				sym->name ? sym->name : "<choice>",
+				next_sym->name ? next_sym->name : "<choice>");
+		} else if (sym_is_choice(sym)) {
+			fprintf(stderr, "%s:%d:\tchoice %s contains symbol %s\n",
+				menu->file->name, menu->lineno,
+				sym->name ? sym->name : "<choice>",
+				next_sym->name ? next_sym->name : "<choice>");
+		} else if (sym_is_choice_value(sym)) {
+			fprintf(stderr, "%s:%d:\tsymbol %s is part of choice %s\n",
+				menu->file->name, menu->lineno,
+				sym->name ? sym->name : "<choice>",
+				next_sym->name ? next_sym->name : "<choice>");
+		} else {
+			fprintf(stderr, "%s:%d:\tsymbol %s is selected by %s\n",
+				prop->file->name, prop->lineno,
+				sym->name ? sym->name : "<choice>",
+				next_sym->name ? next_sym->name : "<choice>");
+		}
+	}
+
+	if (check_top == &cv_stack)
+		dep_stack_remove();
+}
+
+static struct symbol *sym_check_expr_deps(struct expr *e)
+{
+	struct symbol *sym;
+
+	if (!e)
+		return NULL;
+	switch (e->type) {
+	case E_OR:
+	case E_AND:
+		sym = sym_check_expr_deps(e->left.expr);
+		if (sym)
+			return sym;
+		return sym_check_expr_deps(e->right.expr);
+	case E_NOT:
+		return sym_check_expr_deps(e->left.expr);
+	case E_EQUAL:
+	case E_UNEQUAL:
+		sym = sym_check_deps(e->left.sym);
+		if (sym)
+			return sym;
+		return sym_check_deps(e->right.sym);
+	case E_SYMBOL:
+		return sym_check_deps(e->left.sym);
+	default:
+		break;
+	}
+	printf("Oops! How to check %d?\n", e->type);
+	return NULL;
+}
+
+/* return NULL when dependencies are OK */
+static struct symbol *sym_check_sym_deps(struct symbol *sym)
+{
+	struct symbol *sym2;
+	struct property *prop;
+	struct dep_stack stack;
+
+	dep_stack_insert(&stack, sym);
+
+	sym2 = sym_check_expr_deps(sym->rev_dep.expr);
+	if (sym2)
+		goto out;
+
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->type == P_CHOICE || prop->type == P_SELECT)
+			continue;
+		stack.prop = prop;
+		sym2 = sym_check_expr_deps(prop->visible.expr);
+		if (sym2)
+			break;
+		if (prop->type != P_DEFAULT || sym_is_choice(sym))
+			continue;
+		stack.expr = prop->expr;
+		sym2 = sym_check_expr_deps(prop->expr);
+		if (sym2)
+			break;
+		stack.expr = NULL;
+	}
+
+out:
+	dep_stack_remove();
+
+	return sym2;
+}
+
+static struct symbol *sym_check_choice_deps(struct symbol *choice)
+{
+	struct symbol *sym, *sym2;
+	struct property *prop;
+	struct expr *e;
+	struct dep_stack stack;
+
+	dep_stack_insert(&stack, choice);
+
+	prop = sym_get_choice_prop(choice);
+	expr_list_for_each_sym(prop->expr, e, sym)
+		sym->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED);
+
+	choice->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED);
+	sym2 = sym_check_sym_deps(choice);
+	choice->flags &= ~SYMBOL_CHECK;
+	if (sym2)
+		goto out;
+
+	expr_list_for_each_sym(prop->expr, e, sym) {
+		sym2 = sym_check_sym_deps(sym);
+		if (sym2)
+			break;
+	}
+out:
+	expr_list_for_each_sym(prop->expr, e, sym)
+		sym->flags &= ~SYMBOL_CHECK;
+
+	if (sym2 && sym_is_choice_value(sym2) &&
+	    prop_get_symbol(sym_get_choice_prop(sym2)) == choice)
+		sym2 = choice;
+
+	dep_stack_remove();
+
+	return sym2;
+}
+
+struct symbol *sym_check_deps(struct symbol *sym)
+{
+	struct symbol *sym2;
+	struct property *prop;
+
+	if (sym->flags & SYMBOL_CHECK) {
+		sym_check_print_recursive(sym);
+		return sym;
+	}
+	if (sym->flags & SYMBOL_CHECKED)
+		return NULL;
+
+	if (sym_is_choice_value(sym)) {
+		struct dep_stack stack;
+
+		/* for choice groups start the check with main choice symbol */
+		dep_stack_insert(&stack, sym);
+		prop = sym_get_choice_prop(sym);
+		sym2 = sym_check_deps(prop_get_symbol(prop));
+		dep_stack_remove();
+	} else if (sym_is_choice(sym)) {
+		sym2 = sym_check_choice_deps(sym);
+	} else {
+		sym->flags |= (SYMBOL_CHECK | SYMBOL_CHECKED);
+		sym2 = sym_check_sym_deps(sym);
+		sym->flags &= ~SYMBOL_CHECK;
+	}
+
+	if (sym2 && sym2 == sym)
+		sym2 = NULL;
+
+	return sym2;
+}
+
+struct property *prop_alloc(enum prop_type type, struct symbol *sym)
+{
+	struct property *prop;
+	struct property **propp;
+
+	prop = xmalloc(sizeof(*prop));
+	memset(prop, 0, sizeof(*prop));
+	prop->type = type;
+	prop->sym = sym;
+	prop->file = current_file;
+	prop->lineno = zconf_lineno();
+
+	/* append property to the prop list of symbol */
+	if (sym) {
+		for (propp = &sym->prop; *propp; propp = &(*propp)->next)
+			;
+		*propp = prop;
+	}
+
+	return prop;
+}
+
+struct symbol *prop_get_symbol(struct property *prop)
+{
+	if (prop->expr && (prop->expr->type == E_SYMBOL ||
+			   prop->expr->type == E_LIST))
+		return prop->expr->left.sym;
+	return NULL;
+}
+
+const char *prop_get_type_name(enum prop_type type)
+{
+	switch (type) {
+	case P_PROMPT:
+		return "prompt";
+	case P_ENV:
+		return "env";
+	case P_COMMENT:
+		return "comment";
+	case P_MENU:
+		return "menu";
+	case P_DEFAULT:
+		return "default";
+	case P_CHOICE:
+		return "choice";
+	case P_SELECT:
+		return "select";
+	case P_RANGE:
+		return "range";
+	case P_SYMBOL:
+		return "symbol";
+	case P_UNKNOWN:
+		break;
+	}
+	return "unknown";
+}
+
+static void prop_add_env(const char *env)
+{
+	struct symbol *sym, *sym2;
+	struct property *prop;
+	char *p;
+
+	sym = current_entry->sym;
+	sym->flags |= SYMBOL_AUTO;
+	for_all_properties(sym, prop, P_ENV) {
+		sym2 = prop_get_symbol(prop);
+		if (strcmp(sym2->name, env))
+			menu_warn(current_entry, "redefining environment symbol from %s",
+				  sym2->name);
+		return;
+	}
+
+	prop = prop_alloc(P_ENV, sym);
+	prop->expr = expr_alloc_symbol(sym_lookup(env, SYMBOL_CONST));
+
+	sym_env_list = expr_alloc_one(E_LIST, sym_env_list);
+	sym_env_list->right.sym = sym;
+
+	p = getenv(env);
+	if (p)
+		sym_add_default(sym, p);
+	else
+		menu_warn(current_entry, "environment variable %s undefined", env);
+}
diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c
new file mode 100644
index 0000000..6e7fbf1
--- /dev/null
+++ b/scripts/kconfig/util.c
@@ -0,0 +1,159 @@
+/*
+ * Copyright (C) 2002-2005 Roman Zippel <zippel@linux-m68k.org>
+ * Copyright (C) 2002-2005 Sam Ravnborg <sam@ravnborg.org>
+ *
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <stdarg.h>
+#include <stdlib.h>
+#include <string.h>
+#include "lkc.h"
+
+/* file already present in list? If not add it */
+struct file *file_lookup(const char *name)
+{
+	struct file *file;
+	const char *file_name = sym_expand_string_value(name);
+
+	for (file = file_list; file; file = file->next) {
+		if (!strcmp(name, file->name)) {
+			free((void *)file_name);
+			return file;
+		}
+	}
+
+	file = xmalloc(sizeof(*file));
+	memset(file, 0, sizeof(*file));
+	file->name = file_name;
+	file->next = file_list;
+	file_list = file;
+	return file;
+}
+
+/* write a dependency file as used by kbuild to track dependencies */
+int file_write_dep(const char *name)
+{
+	struct symbol *sym, *env_sym;
+	struct expr *e;
+	struct file *file;
+	FILE *out;
+
+	if (!name)
+		name = ".kconfig.d";
+	out = fopen("..config.tmp", "w");
+	if (!out)
+		return 1;
+	fprintf(out, "deps_config := \\\n");
+	for (file = file_list; file; file = file->next) {
+		if (file->next)
+			fprintf(out, "\t%s \\\n", file->name);
+		else
+			fprintf(out, "\t%s\n", file->name);
+	}
+	fprintf(out, "\n%s: \\\n"
+		     "\t$(deps_config)\n\n", conf_get_autoconfig_name());
+
+	expr_list_for_each_sym(sym_env_list, e, sym) {
+		struct property *prop;
+		const char *value;
+
+		prop = sym_get_env_prop(sym);
+		env_sym = prop_get_symbol(prop);
+		if (!env_sym)
+			continue;
+		value = getenv(env_sym->name);
+		if (!value)
+			value = "";
+		fprintf(out, "ifneq \"$(%s)\" \"%s\"\n", env_sym->name, value);
+		fprintf(out, "%s: FORCE\n", conf_get_autoconfig_name());
+		fprintf(out, "endif\n");
+	}
+
+	fprintf(out, "\n$(deps_config): ;\n");
+	fclose(out);
+	rename("..config.tmp", name);
+	return 0;
+}
+
+
+/* Allocate initial growable string */
+struct gstr str_new(void)
+{
+	struct gstr gs;
+	gs.s = xmalloc(sizeof(char) * 64);
+	gs.len = 64;
+	gs.max_width = 0;
+	strcpy(gs.s, "\0");
+	return gs;
+}
+
+/* Allocate and assign growable string */
+struct gstr str_assign(const char *s)
+{
+	struct gstr gs;
+	gs.s = strdup(s);
+	gs.len = strlen(s) + 1;
+	gs.max_width = 0;
+	return gs;
+}
+
+/* Free storage for growable string */
+void str_free(struct gstr *gs)
+{
+	if (gs->s)
+		free(gs->s);
+	gs->s = NULL;
+	gs->len = 0;
+}
+
+/* Append to growable string */
+void str_append(struct gstr *gs, const char *s)
+{
+	size_t l;
+	if (s) {
+		l = strlen(gs->s) + strlen(s) + 1;
+		if (l > gs->len) {
+			gs->s   = realloc(gs->s, l);
+			gs->len = l;
+		}
+		strcat(gs->s, s);
+	}
+}
+
+/* Append printf formatted string to growable string */
+void str_printf(struct gstr *gs, const char *fmt, ...)
+{
+	va_list ap;
+	char s[10000]; /* big enough... */
+	va_start(ap, fmt);
+	vsnprintf(s, sizeof(s), fmt, ap);
+	str_append(gs, s);
+	va_end(ap);
+}
+
+/* Retrieve value of growable string */
+const char *str_get(struct gstr *gs)
+{
+	return gs->s;
+}
+
+void *xmalloc(size_t size)
+{
+	void *p = malloc(size);
+	if (p)
+		return p;
+	fprintf(stderr, "Out of memory.\n");
+	exit(1);
+}
+
+void *xcalloc(size_t nmemb, size_t size)
+{
+	void *p = calloc(nmemb, size);
+	if (p)
+		return p;
+	fprintf(stderr, "Out of memory.\n");
+	exit(1);
+}
+
+
diff --git a/scripts/kconfig/zconf.gperf b/scripts/kconfig/zconf.gperf
new file mode 100644
index 0000000..b6ac02d
--- /dev/null
+++ b/scripts/kconfig/zconf.gperf
@@ -0,0 +1,48 @@
+%language=ANSI-C
+%define hash-function-name kconf_id_hash
+%define lookup-function-name kconf_id_lookup
+%define string-pool-name kconf_id_strings
+%compare-strncmp
+%enum
+%pic
+%struct-type
+
+struct kconf_id;
+
+static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
+
+%%
+mainmenu,	T_MAINMENU,	TF_COMMAND
+menu,		T_MENU,		TF_COMMAND
+endmenu,	T_ENDMENU,	TF_COMMAND
+source,		T_SOURCE,	TF_COMMAND
+choice,		T_CHOICE,	TF_COMMAND
+endchoice,	T_ENDCHOICE,	TF_COMMAND
+comment,	T_COMMENT,	TF_COMMAND
+config,		T_CONFIG,	TF_COMMAND
+menuconfig,	T_MENUCONFIG,	TF_COMMAND
+help,		T_HELP,		TF_COMMAND
+if,		T_IF,		TF_COMMAND|TF_PARAM
+endif,		T_ENDIF,	TF_COMMAND
+depends,	T_DEPENDS,	TF_COMMAND
+optional,	T_OPTIONAL,	TF_COMMAND
+default,	T_DEFAULT,	TF_COMMAND, S_UNKNOWN
+prompt,		T_PROMPT,	TF_COMMAND
+tristate,	T_TYPE,		TF_COMMAND, S_TRISTATE
+def_tristate,	T_DEFAULT,	TF_COMMAND, S_TRISTATE
+bool,		T_TYPE,		TF_COMMAND, S_BOOLEAN
+boolean,	T_TYPE,		TF_COMMAND, S_BOOLEAN
+def_bool,	T_DEFAULT,	TF_COMMAND, S_BOOLEAN
+int,		T_TYPE,		TF_COMMAND, S_INT
+hex,		T_TYPE,		TF_COMMAND, S_HEX
+string,		T_TYPE,		TF_COMMAND, S_STRING
+select,		T_SELECT,	TF_COMMAND
+range,		T_RANGE,	TF_COMMAND
+visible,	T_VISIBLE,	TF_COMMAND
+option,		T_OPTION,	TF_COMMAND
+on,		T_ON,		TF_PARAM
+modules,	T_OPT_MODULES,	TF_OPTION
+defconfig_list,	T_OPT_DEFCONFIG_LIST,TF_OPTION
+env,		T_OPT_ENV,	TF_OPTION
+allnoconfig_y,	T_OPT_ALLNOCONFIG_Y,TF_OPTION
+%%
diff --git a/scripts/kconfig/zconf.hash.c_shipped b/scripts/kconfig/zconf.hash.c_shipped
new file mode 100644
index 0000000..c77a8ef
--- /dev/null
+++ b/scripts/kconfig/zconf.hash.c_shipped
@@ -0,0 +1,289 @@
+/* ANSI-C code produced by gperf version 3.0.4 */
+/* Command-line: gperf -t --output-file scripts/kconfig/zconf.hash.c_shipped -a -C -E -g -k '1,3,$' -p -t scripts/kconfig/zconf.gperf  */
+
+#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+      && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+      && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
+      && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
+      && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
+      && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
+      && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
+      && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
+      && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
+      && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
+      && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
+      && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
+      && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
+      && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
+      && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
+      && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
+      && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
+      && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
+      && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
+      && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
+      && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
+      && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
+      && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
+/* The character set is not based on ISO-646.  */
+#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
+#endif
+
+#line 10 "scripts/kconfig/zconf.gperf"
+struct kconf_id;
+
+static const struct kconf_id *kconf_id_lookup(register const char *str, register unsigned int len);
+/* maximum key range = 71, duplicates = 0 */
+
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+kconf_id_hash (register const char *str, register unsigned int len)
+{
+  static const unsigned char asso_values[] =
+    {
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73,  5, 25, 25,
+       0,  0,  0,  5,  0,  0, 73, 73,  5,  0,
+      10,  5, 45, 73, 20, 20,  0, 15, 15, 73,
+      20,  5, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
+      73, 73, 73, 73, 73, 73
+    };
+  register int hval = len;
+
+  switch (hval)
+    {
+      default:
+        hval += asso_values[(unsigned char)str[2]];
+      /*FALLTHROUGH*/
+      case 2:
+      case 1:
+        hval += asso_values[(unsigned char)str[0]];
+        break;
+    }
+  return hval + asso_values[(unsigned char)str[len - 1]];
+}
+
+struct kconf_id_strings_t
+  {
+    char kconf_id_strings_str2[sizeof("if")];
+    char kconf_id_strings_str3[sizeof("int")];
+    char kconf_id_strings_str5[sizeof("endif")];
+    char kconf_id_strings_str7[sizeof("default")];
+    char kconf_id_strings_str8[sizeof("tristate")];
+    char kconf_id_strings_str9[sizeof("endchoice")];
+    char kconf_id_strings_str12[sizeof("def_tristate")];
+    char kconf_id_strings_str13[sizeof("def_bool")];
+    char kconf_id_strings_str14[sizeof("defconfig_list")];
+    char kconf_id_strings_str17[sizeof("on")];
+    char kconf_id_strings_str18[sizeof("optional")];
+    char kconf_id_strings_str21[sizeof("option")];
+    char kconf_id_strings_str22[sizeof("endmenu")];
+    char kconf_id_strings_str23[sizeof("mainmenu")];
+    char kconf_id_strings_str25[sizeof("menuconfig")];
+    char kconf_id_strings_str27[sizeof("modules")];
+    char kconf_id_strings_str28[sizeof("allnoconfig_y")];
+    char kconf_id_strings_str29[sizeof("menu")];
+    char kconf_id_strings_str31[sizeof("select")];
+    char kconf_id_strings_str32[sizeof("comment")];
+    char kconf_id_strings_str33[sizeof("env")];
+    char kconf_id_strings_str35[sizeof("range")];
+    char kconf_id_strings_str36[sizeof("choice")];
+    char kconf_id_strings_str39[sizeof("bool")];
+    char kconf_id_strings_str41[sizeof("source")];
+    char kconf_id_strings_str42[sizeof("visible")];
+    char kconf_id_strings_str43[sizeof("hex")];
+    char kconf_id_strings_str46[sizeof("config")];
+    char kconf_id_strings_str47[sizeof("boolean")];
+    char kconf_id_strings_str51[sizeof("string")];
+    char kconf_id_strings_str54[sizeof("help")];
+    char kconf_id_strings_str56[sizeof("prompt")];
+    char kconf_id_strings_str72[sizeof("depends")];
+  };
+static const struct kconf_id_strings_t kconf_id_strings_contents =
+  {
+    "if",
+    "int",
+    "endif",
+    "default",
+    "tristate",
+    "endchoice",
+    "def_tristate",
+    "def_bool",
+    "defconfig_list",
+    "on",
+    "optional",
+    "option",
+    "endmenu",
+    "mainmenu",
+    "menuconfig",
+    "modules",
+    "allnoconfig_y",
+    "menu",
+    "select",
+    "comment",
+    "env",
+    "range",
+    "choice",
+    "bool",
+    "source",
+    "visible",
+    "hex",
+    "config",
+    "boolean",
+    "string",
+    "help",
+    "prompt",
+    "depends"
+  };
+#define kconf_id_strings ((const char *) &kconf_id_strings_contents)
+#ifdef __GNUC__
+__inline
+#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
+__attribute__ ((__gnu_inline__))
+#endif
+#endif
+const struct kconf_id *
+kconf_id_lookup (register const char *str, register unsigned int len)
+{
+  enum
+    {
+      TOTAL_KEYWORDS = 33,
+      MIN_WORD_LENGTH = 2,
+      MAX_WORD_LENGTH = 14,
+      MIN_HASH_VALUE = 2,
+      MAX_HASH_VALUE = 72
+    };
+
+  static const struct kconf_id wordlist[] =
+    {
+      {-1}, {-1},
+#line 25 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str2,		T_IF,		TF_COMMAND|TF_PARAM},
+#line 36 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str3,		T_TYPE,		TF_COMMAND, S_INT},
+      {-1},
+#line 26 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str5,		T_ENDIF,	TF_COMMAND},
+      {-1},
+#line 29 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str7,	T_DEFAULT,	TF_COMMAND, S_UNKNOWN},
+#line 31 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str8,	T_TYPE,		TF_COMMAND, S_TRISTATE},
+#line 20 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str9,	T_ENDCHOICE,	TF_COMMAND},
+      {-1}, {-1},
+#line 32 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str12,	T_DEFAULT,	TF_COMMAND, S_TRISTATE},
+#line 35 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str13,	T_DEFAULT,	TF_COMMAND, S_BOOLEAN},
+#line 45 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str14,	T_OPT_DEFCONFIG_LIST,TF_OPTION},
+      {-1}, {-1},
+#line 43 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str17,		T_ON,		TF_PARAM},
+#line 28 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str18,	T_OPTIONAL,	TF_COMMAND},
+      {-1}, {-1},
+#line 42 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str21,		T_OPTION,	TF_COMMAND},
+#line 17 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str22,	T_ENDMENU,	TF_COMMAND},
+#line 15 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str23,	T_MAINMENU,	TF_COMMAND},
+      {-1},
+#line 23 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str25,	T_MENUCONFIG,	TF_COMMAND},
+      {-1},
+#line 44 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str27,	T_OPT_MODULES,	TF_OPTION},
+#line 47 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str28,	T_OPT_ALLNOCONFIG_Y,TF_OPTION},
+#line 16 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str29,		T_MENU,		TF_COMMAND},
+      {-1},
+#line 39 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str31,		T_SELECT,	TF_COMMAND},
+#line 21 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str32,	T_COMMENT,	TF_COMMAND},
+#line 46 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str33,		T_OPT_ENV,	TF_OPTION},
+      {-1},
+#line 40 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str35,		T_RANGE,	TF_COMMAND},
+#line 19 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str36,		T_CHOICE,	TF_COMMAND},
+      {-1}, {-1},
+#line 33 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str39,		T_TYPE,		TF_COMMAND, S_BOOLEAN},
+      {-1},
+#line 18 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str41,		T_SOURCE,	TF_COMMAND},
+#line 41 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str42,	T_VISIBLE,	TF_COMMAND},
+#line 37 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str43,		T_TYPE,		TF_COMMAND, S_HEX},
+      {-1}, {-1},
+#line 22 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str46,		T_CONFIG,	TF_COMMAND},
+#line 34 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str47,	T_TYPE,		TF_COMMAND, S_BOOLEAN},
+      {-1}, {-1}, {-1},
+#line 38 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str51,		T_TYPE,		TF_COMMAND, S_STRING},
+      {-1}, {-1},
+#line 24 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str54,		T_HELP,		TF_COMMAND},
+      {-1},
+#line 30 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str56,		T_PROMPT,	TF_COMMAND},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+      {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
+#line 27 "scripts/kconfig/zconf.gperf"
+      {(int)(long)&((struct kconf_id_strings_t *)0)->kconf_id_strings_str72,	T_DEPENDS,	TF_COMMAND}
+    };
+
+  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
+    {
+      register int key = kconf_id_hash (str, len);
+
+      if (key <= MAX_HASH_VALUE && key >= 0)
+        {
+          register int o = wordlist[key].name;
+          if (o >= 0)
+            {
+              register const char *s = o + kconf_id_strings;
+
+              if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
+                return &wordlist[key];
+            }
+        }
+    }
+  return 0;
+}
+#line 48 "scripts/kconfig/zconf.gperf"
+
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l
new file mode 100644
index 0000000..1a9f53e
--- /dev/null
+++ b/scripts/kconfig/zconf.l
@@ -0,0 +1,363 @@
+%option nostdinit noyywrap never-interactive full ecs
+%option 8bit nodefault perf-report perf-report
+%option noinput
+%x COMMAND HELP STRING PARAM
+%{
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "lkc.h"
+
+#define START_STRSIZE	16
+
+static struct {
+	struct file *file;
+	int lineno;
+} current_pos;
+
+static char *text;
+static int text_size, text_asize;
+
+struct buffer {
+        struct buffer *parent;
+        YY_BUFFER_STATE state;
+};
+
+struct buffer *current_buf;
+
+static int last_ts, first_ts;
+
+static void zconf_endhelp(void);
+static void zconf_endfile(void);
+
+static void new_string(void)
+{
+	text = xmalloc(START_STRSIZE);
+	text_asize = START_STRSIZE;
+	text_size = 0;
+	*text = 0;
+}
+
+static void append_string(const char *str, int size)
+{
+	int new_size = text_size + size + 1;
+	if (new_size > text_asize) {
+		new_size += START_STRSIZE - 1;
+		new_size &= -START_STRSIZE;
+		text = realloc(text, new_size);
+		text_asize = new_size;
+	}
+	memcpy(text + text_size, str, size);
+	text_size += size;
+	text[text_size] = 0;
+}
+
+static void alloc_string(const char *str, int size)
+{
+	text = xmalloc(size + 1);
+	memcpy(text, str, size);
+	text[size] = 0;
+}
+%}
+
+n	[A-Za-z0-9_]
+
+%%
+	int str = 0;
+	int ts, i;
+
+[ \t]*#.*\n	|
+[ \t]*\n	{
+	current_file->lineno++;
+	return T_EOL;
+}
+[ \t]*#.*
+
+
+[ \t]+	{
+	BEGIN(COMMAND);
+}
+
+.	{
+	unput(yytext[0]);
+	BEGIN(COMMAND);
+}
+
+
+<COMMAND>{
+	{n}+	{
+		const struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
+		BEGIN(PARAM);
+		current_pos.file = current_file;
+		current_pos.lineno = current_file->lineno;
+		if (id && id->flags & TF_COMMAND) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(yytext, yyleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	.
+	\n	{
+		BEGIN(INITIAL);
+		current_file->lineno++;
+		return T_EOL;
+	}
+}
+
+<PARAM>{
+	"&&"	return T_AND;
+	"||"	return T_OR;
+	"("	return T_OPEN_PAREN;
+	")"	return T_CLOSE_PAREN;
+	"!"	return T_NOT;
+	"="	return T_EQUAL;
+	"!="	return T_UNEQUAL;
+	\"|\'	{
+		str = yytext[0];
+		new_string();
+		BEGIN(STRING);
+	}
+	\n	BEGIN(INITIAL); current_file->lineno++; return T_EOL;
+	---	/* ignore */
+	({n}|[-/.])+	{
+		const struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
+		if (id && id->flags & TF_PARAM) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(yytext, yyleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	#.*	/* comment */
+	\\\n	current_file->lineno++;
+	.
+	<<EOF>> {
+		BEGIN(INITIAL);
+	}
+}
+
+<STRING>{
+	[^'"\\\n]+/\n	{
+		append_string(yytext, yyleng);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	[^'"\\\n]+	{
+		append_string(yytext, yyleng);
+	}
+	\\.?/\n	{
+		append_string(yytext + 1, yyleng - 1);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	\\.?	{
+		append_string(yytext + 1, yyleng - 1);
+	}
+	\'|\"	{
+		if (str == yytext[0]) {
+			BEGIN(PARAM);
+			zconflval.string = text;
+			return T_WORD_QUOTE;
+		} else
+			append_string(yytext, 1);
+	}
+	\n	{
+		printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno());
+		current_file->lineno++;
+		BEGIN(INITIAL);
+		return T_EOL;
+	}
+	<<EOF>>	{
+		BEGIN(INITIAL);
+	}
+}
+
+<HELP>{
+	[ \t]+	{
+		ts = 0;
+		for (i = 0; i < yyleng; i++) {
+			if (yytext[i] == '\t')
+				ts = (ts & ~7) + 8;
+			else
+				ts++;
+		}
+		last_ts = ts;
+		if (first_ts) {
+			if (ts < first_ts) {
+				zconf_endhelp();
+				return T_HELPTEXT;
+			}
+			ts -= first_ts;
+			while (ts > 8) {
+				append_string("        ", 8);
+				ts -= 8;
+			}
+			append_string("        ", ts);
+		}
+	}
+	[ \t]*\n/[^ \t\n] {
+		current_file->lineno++;
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	[ \t]*\n	{
+		current_file->lineno++;
+		append_string("\n", 1);
+	}
+	[^ \t\n].* {
+		while (yyleng) {
+			if ((yytext[yyleng-1] != ' ') && (yytext[yyleng-1] != '\t'))
+				break;
+			yyleng--;
+		}
+		append_string(yytext, yyleng);
+		if (!first_ts)
+			first_ts = last_ts;
+	}
+	<<EOF>>	{
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+}
+
+<<EOF>>	{
+	if (current_file) {
+		zconf_endfile();
+		return T_EOL;
+	}
+	fclose(yyin);
+	yyterminate();
+}
+
+%%
+void zconf_starthelp(void)
+{
+	new_string();
+	last_ts = first_ts = 0;
+	BEGIN(HELP);
+}
+
+static void zconf_endhelp(void)
+{
+	zconflval.string = text;
+	BEGIN(INITIAL);
+}
+
+
+/*
+ * Try to open specified file with following names:
+ * ./name
+ * $(srctree)/name
+ * The latter is used when srctree is separate from objtree
+ * when compiling the kernel.
+ * Return NULL if file is not found.
+ */
+FILE *zconf_fopen(const char *name)
+{
+	char *env, fullname[PATH_MAX+1];
+	FILE *f;
+
+	f = fopen(name, "r");
+	if (!f && name != NULL && name[0] != '/') {
+		env = getenv(SRCTREE);
+		if (env) {
+			sprintf(fullname, "%s/%s", env, name);
+			f = fopen(fullname, "r");
+		}
+	}
+	return f;
+}
+
+void zconf_initscan(const char *name)
+{
+	yyin = zconf_fopen(name);
+	if (!yyin) {
+		printf("can't find file %s\n", name);
+		exit(1);
+	}
+
+	current_buf = xmalloc(sizeof(*current_buf));
+	memset(current_buf, 0, sizeof(*current_buf));
+
+	current_file = file_lookup(name);
+	current_file->lineno = 1;
+}
+
+void zconf_nextfile(const char *name)
+{
+	struct file *iter;
+	struct file *file = file_lookup(name);
+	struct buffer *buf = xmalloc(sizeof(*buf));
+	memset(buf, 0, sizeof(*buf));
+
+	current_buf->state = YY_CURRENT_BUFFER;
+	yyin = zconf_fopen(file->name);
+	if (!yyin) {
+		printf("%s:%d: can't open file \"%s\"\n",
+		    zconf_curname(), zconf_lineno(), file->name);
+		exit(1);
+	}
+	yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
+	buf->parent = current_buf;
+	current_buf = buf;
+
+	for (iter = current_file->parent; iter; iter = iter->parent ) {
+		if (!strcmp(current_file->name,iter->name) ) {
+			printf("%s:%d: recursive inclusion detected. "
+			       "Inclusion path:\n  current file : '%s'\n",
+			       zconf_curname(), zconf_lineno(),
+			       zconf_curname());
+			iter = current_file->parent;
+			while (iter && \
+			       strcmp(iter->name,current_file->name)) {
+				printf("  included from: '%s:%d'\n",
+				       iter->name, iter->lineno-1);
+				iter = iter->parent;
+			}
+			if (iter)
+				printf("  included from: '%s:%d'\n",
+				       iter->name, iter->lineno+1);
+			exit(1);
+		}
+	}
+	file->lineno = 1;
+	file->parent = current_file;
+	current_file = file;
+}
+
+static void zconf_endfile(void)
+{
+	struct buffer *parent;
+
+	current_file = current_file->parent;
+
+	parent = current_buf->parent;
+	if (parent) {
+		fclose(yyin);
+		yy_delete_buffer(YY_CURRENT_BUFFER);
+		yy_switch_to_buffer(parent->state);
+	}
+	free(current_buf);
+	current_buf = parent;
+}
+
+int zconf_lineno(void)
+{
+	return current_pos.lineno;
+}
+
+const char *zconf_curname(void)
+{
+	return current_pos.file ? current_pos.file->name : "<none>";
+}
diff --git a/scripts/kconfig/zconf.lex.c_shipped b/scripts/kconfig/zconf.lex.c_shipped
new file mode 100644
index 0000000..a0521aa
--- /dev/null
+++ b/scripts/kconfig/zconf.lex.c_shipped
@@ -0,0 +1,2420 @@
+
+#line 3 "scripts/kconfig/zconf.lex.c_shipped"
+
+#define  YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define yy_create_buffer zconf_create_buffer
+#define yy_delete_buffer zconf_delete_buffer
+#define yy_flex_debug zconf_flex_debug
+#define yy_init_buffer zconf_init_buffer
+#define yy_flush_buffer zconf_flush_buffer
+#define yy_load_buffer_state zconf_load_buffer_state
+#define yy_switch_to_buffer zconf_switch_to_buffer
+#define yyin zconfin
+#define yyleng zconfleng
+#define yylex zconflex
+#define yylineno zconflineno
+#define yyout zconfout
+#define yyrestart zconfrestart
+#define yytext zconftext
+#define yywrap zconfwrap
+#define yyalloc zconfalloc
+#define yyrealloc zconfrealloc
+#define yyfree zconffree
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 5
+#define YY_FLEX_SUBMINOR_VERSION 35
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with  platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types. 
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t; 
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+#endif /* ! C99 */
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN               (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN              (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN              (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX               (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX              (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX              (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX              (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX             (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX             (4294967295U)
+#endif
+
+#endif /* ! FLEXINT_H */
+
+#ifdef __cplusplus
+
+/* The "const" storage-class-modifier is valid. */
+#define YY_USE_CONST
+
+#else	/* ! __cplusplus */
+
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
+
+#define YY_USE_CONST
+
+#endif	/* defined (__STDC__) */
+#endif	/* ! __cplusplus */
+
+#ifdef YY_USE_CONST
+#define yyconst const
+#else
+#define yyconst
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index.  If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition.  This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state.  The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE zconfrestart(zconfin  )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#define YY_BUF_SIZE 16384
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+extern int zconfleng;
+
+extern FILE *zconfin, *zconfout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+    #define YY_LESS_LINENO(n)
+    
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up zconftext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		*yy_cp = (yy_hold_char); \
+		YY_RESTORE_YY_MORE_OFFSET \
+		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+		YY_DO_BEFORE_ACTION; /* set up zconftext again */ \
+		} \
+	while ( 0 )
+
+#define unput(c) yyunput( c, (yytext_ptr)  )
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+	{
+	FILE *yy_input_file;
+
+	char *yy_ch_buf;		/* input buffer */
+	char *yy_buf_pos;		/* current position in input buffer */
+
+	/* Size of input buffer in bytes, not including room for EOB
+	 * characters.
+	 */
+	yy_size_t yy_buf_size;
+
+	/* Number of characters read into yy_ch_buf, not including EOB
+	 * characters.
+	 */
+	int yy_n_chars;
+
+	/* Whether we "own" the buffer - i.e., we know we created it,
+	 * and can realloc() it to grow it, and should free() it to
+	 * delete it.
+	 */
+	int yy_is_our_buffer;
+
+	/* Whether this is an "interactive" input source; if so, and
+	 * if we're using stdio for input, then we want to use getc()
+	 * instead of fread(), to make sure we stop fetching input after
+	 * each newline.
+	 */
+	int yy_is_interactive;
+
+	/* Whether we're considered to be at the beginning of a line.
+	 * If so, '^' rules will be active on the next match, otherwise
+	 * not.
+	 */
+	int yy_at_bol;
+
+    int yy_bs_lineno; /**< The line count. */
+    int yy_bs_column; /**< The column count. */
+    
+	/* Whether to try to fill the input buffer when we reach the
+	 * end of it.
+	 */
+	int yy_fill_buffer;
+
+	int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+	/* When an EOF's been seen but there's still some text to process
+	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+	 * shouldn't try reading from the input source any more.  We might
+	 * still have a bunch of tokens to match, though, because of
+	 * possible backing-up.
+	 *
+	 * When we actually see the EOF, we change the status to "new"
+	 * (via zconfrestart()), so that the user can continue scanning by
+	 * just pointing zconfin@a new input file.
+	 */
+#define YY_BUFFER_EOF_PENDING 2
+
+	};
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+                          : NULL)
+
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when zconftext is formed. */
+static char yy_hold_char;
+static int yy_n_chars;		/* number of characters read into yy_ch_buf */
+int zconfleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = (char *) 0;
+static int yy_init = 0;		/* whether we need to initialize */
+static int yy_start = 0;	/* start state number */
+
+/* Flag which is used to allow zconfwrap()'s to do buffer switches
+ * instead of setting up a fresh zconfin.  A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void zconfrestart (FILE *input_file  );
+void zconf_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
+YY_BUFFER_STATE zconf_create_buffer (FILE *file,int size  );
+void zconf_delete_buffer (YY_BUFFER_STATE b  );
+void zconf_flush_buffer (YY_BUFFER_STATE b  );
+void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer  );
+void zconfpop_buffer_state (void );
+
+static void zconfensure_buffer_stack (void );
+static void zconf_load_buffer_state (void );
+static void zconf_init_buffer (YY_BUFFER_STATE b,FILE *file  );
+
+#define YY_FLUSH_BUFFER zconf_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE zconf_scan_buffer (char *base,yy_size_t size  );
+YY_BUFFER_STATE zconf_scan_string (yyconst char *yy_str  );
+YY_BUFFER_STATE zconf_scan_bytes (yyconst char *bytes,int len  );
+
+void *zconfalloc (yy_size_t  );
+void *zconfrealloc (void *,yy_size_t  );
+void zconffree (void *  );
+
+#define yy_new_buffer zconf_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){ \
+        zconfensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+	}
+
+#define yy_set_bol(at_bol) \
+	{ \
+	if ( ! YY_CURRENT_BUFFER ){\
+        zconfensure_buffer_stack (); \
+		YY_CURRENT_BUFFER_LVALUE =    \
+            zconf_create_buffer(zconfin,YY_BUF_SIZE ); \
+	} \
+	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+	}
+
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+
+#define zconfwrap(n) 1
+#define YY_SKIP_YYWRAP
+
+typedef unsigned char YY_CHAR;
+
+FILE *zconfin = (FILE *) 0, *zconfout = (FILE *) 0;
+
+typedef int yy_state_type;
+
+extern int zconflineno;
+
+int zconflineno = 1;
+
+extern char *zconftext;
+#define yytext_ptr zconftext
+static yyconst flex_int16_t yy_nxt[][17] =
+    {
+    {
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+        0,    0,    0,    0,    0,    0,    0
+    },
+
+    {
+       11,   12,   13,   14,   12,   12,   15,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12
+    },
+
+    {
+       11,   12,   13,   14,   12,   12,   15,   12,   12,   12,
+       12,   12,   12,   12,   12,   12,   12
+    },
+
+    {
+       11,   16,   16,   17,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   18,   16,   16,   16
+    },
+
+    {
+       11,   16,   16,   17,   16,   16,   16,   16,   16,   16,
+       16,   16,   16,   18,   16,   16,   16
+
+    },
+
+    {
+       11,   19,   20,   21,   19,   19,   19,   19,   19,   19,
+       19,   19,   19,   19,   19,   19,   19
+    },
+
+    {
+       11,   19,   20,   21,   19,   19,   19,   19,   19,   19,
+       19,   19,   19,   19,   19,   19,   19
+    },
+
+    {
+       11,   22,   22,   23,   22,   24,   22,   22,   24,   22,
+       22,   22,   22,   22,   22,   25,   22
+    },
+
+    {
+       11,   22,   22,   23,   22,   24,   22,   22,   24,   22,
+       22,   22,   22,   22,   22,   25,   22
+    },
+
+    {
+       11,   26,   26,   27,   28,   29,   30,   31,   29,   32,
+       33,   34,   35,   35,   36,   37,   38
+
+    },
+
+    {
+       11,   26,   26,   27,   28,   29,   30,   31,   29,   32,
+       33,   34,   35,   35,   36,   37,   38
+    },
+
+    {
+      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
+      -11,  -11,  -11,  -11,  -11,  -11,  -11
+    },
+
+    {
+       11,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
+      -12,  -12,  -12,  -12,  -12,  -12,  -12
+    },
+
+    {
+       11,  -13,   39,   40,  -13,  -13,   41,  -13,  -13,  -13,
+      -13,  -13,  -13,  -13,  -13,  -13,  -13
+    },
+
+    {
+       11,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
+      -14,  -14,  -14,  -14,  -14,  -14,  -14
+
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
+      -16,  -16,  -16,  -16,  -16,  -16,  -16
+    },
+
+    {
+       11,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
+      -17,  -17,  -17,  -17,  -17,  -17,  -17
+    },
+
+    {
+       11,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
+      -18,  -18,  -18,   44,  -18,  -18,  -18
+    },
+
+    {
+       11,   45,   45,  -19,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45
+
+    },
+
+    {
+       11,  -20,   46,   47,  -20,  -20,  -20,  -20,  -20,  -20,
+      -20,  -20,  -20,  -20,  -20,  -20,  -20
+    },
+
+    {
+       11,   48,  -21,  -21,   48,   48,   48,   48,   48,   48,
+       48,   48,   48,   48,   48,   48,   48
+    },
+
+    {
+       11,   49,   49,   50,   49,  -22,   49,   49,  -22,   49,
+       49,   49,   49,   49,   49,  -22,   49
+    },
+
+    {
+       11,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
+      -23,  -23,  -23,  -23,  -23,  -23,  -23
+    },
+
+    {
+       11,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
+      -24,  -24,  -24,  -24,  -24,  -24,  -24
+
+    },
+
+    {
+       11,   51,   51,   52,   51,   51,   51,   51,   51,   51,
+       51,   51,   51,   51,   51,   51,   51
+    },
+
+    {
+       11,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
+      -26,  -26,  -26,  -26,  -26,  -26,  -26
+    },
+
+    {
+       11,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
+      -27,  -27,  -27,  -27,  -27,  -27,  -27
+    },
+
+    {
+       11,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
+      -28,  -28,  -28,  -28,   53,  -28,  -28
+    },
+
+    {
+       11,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
+      -29,  -29,  -29,  -29,  -29,  -29,  -29
+
+    },
+
+    {
+       11,   54,   54,  -30,   54,   54,   54,   54,   54,   54,
+       54,   54,   54,   54,   54,   54,   54
+    },
+
+    {
+       11,  -31,  -31,  -31,  -31,  -31,  -31,   55,  -31,  -31,
+      -31,  -31,  -31,  -31,  -31,  -31,  -31
+    },
+
+    {
+       11,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
+      -32,  -32,  -32,  -32,  -32,  -32,  -32
+    },
+
+    {
+       11,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
+      -33,  -33,  -33,  -33,  -33,  -33,  -33
+    },
+
+    {
+       11,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
+      -34,   56,   57,   57,  -34,  -34,  -34
+
+    },
+
+    {
+       11,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
+      -35,   57,   57,   57,  -35,  -35,  -35
+    },
+
+    {
+       11,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
+      -36,  -36,  -36,  -36,  -36,  -36,  -36
+    },
+
+    {
+       11,  -37,  -37,   58,  -37,  -37,  -37,  -37,  -37,  -37,
+      -37,  -37,  -37,  -37,  -37,  -37,  -37
+    },
+
+    {
+       11,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
+      -38,  -38,  -38,  -38,  -38,  -38,   59
+    },
+
+    {
+       11,  -39,   39,   40,  -39,  -39,   41,  -39,  -39,  -39,
+      -39,  -39,  -39,  -39,  -39,  -39,  -39
+
+    },
+
+    {
+       11,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
+      -40,  -40,  -40,  -40,  -40,  -40,  -40
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,   42,   42,   43,   42,   42,   42,   42,   42,   42,
+       42,   42,   42,   42,   42,   42,   42
+    },
+
+    {
+       11,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
+      -43,  -43,  -43,  -43,  -43,  -43,  -43
+    },
+
+    {
+       11,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
+      -44,  -44,  -44,   44,  -44,  -44,  -44
+
+    },
+
+    {
+       11,   45,   45,  -45,   45,   45,   45,   45,   45,   45,
+       45,   45,   45,   45,   45,   45,   45
+    },
+
+    {
+       11,  -46,   46,   47,  -46,  -46,  -46,  -46,  -46,  -46,
+      -46,  -46,  -46,  -46,  -46,  -46,  -46
+    },
+
+    {
+       11,   48,  -47,  -47,   48,   48,   48,   48,   48,   48,
+       48,   48,   48,   48,   48,   48,   48
+    },
+
+    {
+       11,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
+      -48,  -48,  -48,  -48,  -48,  -48,  -48
+    },
+
+    {
+       11,   49,   49,   50,   49,  -49,   49,   49,  -49,   49,
+       49,   49,   49,   49,   49,  -49,   49
+
+    },
+
+    {
+       11,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
+      -50,  -50,  -50,  -50,  -50,  -50,  -50
+    },
+
+    {
+       11,  -51,  -51,   52,  -51,  -51,  -51,  -51,  -51,  -51,
+      -51,  -51,  -51,  -51,  -51,  -51,  -51
+    },
+
+    {
+       11,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
+      -52,  -52,  -52,  -52,  -52,  -52,  -52
+    },
+
+    {
+       11,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
+      -53,  -53,  -53,  -53,  -53,  -53,  -53
+    },
+
+    {
+       11,   54,   54,  -54,   54,   54,   54,   54,   54,   54,
+       54,   54,   54,   54,   54,   54,   54
+
+    },
+
+    {
+       11,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
+      -55,  -55,  -55,  -55,  -55,  -55,  -55
+    },
+
+    {
+       11,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
+      -56,   60,   57,   57,  -56,  -56,  -56
+    },
+
+    {
+       11,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
+      -57,   57,   57,   57,  -57,  -57,  -57
+    },
+
+    {
+       11,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
+      -58,  -58,  -58,  -58,  -58,  -58,  -58
+    },
+
+    {
+       11,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
+      -59,  -59,  -59,  -59,  -59,  -59,  -59
+
+    },
+
+    {
+       11,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
+      -60,   57,   57,   57,  -60,  -60,  -60
+    },
+
+    } ;
+
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
+static int yy_get_next_buffer (void );
+static void yy_fatal_error (yyconst char msg[]  );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up zconftext.
+ */
+#define YY_DO_BEFORE_ACTION \
+	(yytext_ptr) = yy_bp; \
+	zconfleng = (size_t) (yy_cp - yy_bp); \
+	(yy_hold_char) = *yy_cp; \
+	*yy_cp = '\0'; \
+	(yy_c_buf_p) = yy_cp;
+
+#define YY_NUM_RULES 33
+#define YY_END_OF_BUFFER 34
+/* This struct is not used in this scanner,
+   but its presence is necessary. */
+struct yy_trans_info
+	{
+	flex_int32_t yy_verify;
+	flex_int32_t yy_nxt;
+	};
+static yyconst flex_int16_t yy_accept[61] =
+    {   0,
+        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
+       34,    5,    4,    2,    3,    7,    8,    6,   32,   29,
+       31,   24,   28,   27,   26,   22,   17,   13,   16,   20,
+       22,   11,   12,   19,   19,   14,   22,   22,    4,    2,
+        3,    3,    1,    6,   32,   29,   31,   30,   24,   23,
+       26,   25,   15,   20,    9,   19,   19,   21,   10,   18
+    } ;
+
+static yyconst flex_int32_t yy_ec[256] =
+    {   0,
+        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    2,    4,    5,    6,    1,    1,    7,    8,    9,
+       10,    1,    1,    1,   11,   12,   12,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,    1,    1,    1,
+       14,    1,    1,    1,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+        1,   15,    1,    1,   13,    1,   13,   13,   13,   13,
+
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
+       13,   13,    1,   16,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
+        1,    1,    1,    1,    1
+    } ;
+
+extern int zconf_flex_debug;
+int zconf_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+#define yymore() yymore_used_but_not_detected
+#define YY_MORE_ADJ 0
+#define YY_RESTORE_YY_MORE_OFFSET
+char *zconftext;
+#define YY_NO_INPUT 1
+
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "lkc.h"
+
+#define START_STRSIZE	16
+
+static struct {
+	struct file *file;
+	int lineno;
+} current_pos;
+
+static char *text;
+static int text_size, text_asize;
+
+struct buffer {
+        struct buffer *parent;
+        YY_BUFFER_STATE state;
+};
+
+struct buffer *current_buf;
+
+static int last_ts, first_ts;
+
+static void zconf_endhelp(void);
+static void zconf_endfile(void);
+
+static void new_string(void)
+{
+	text = xmalloc(START_STRSIZE);
+	text_asize = START_STRSIZE;
+	text_size = 0;
+	*text = 0;
+}
+
+static void append_string(const char *str, int size)
+{
+	int new_size = text_size + size + 1;
+	if (new_size > text_asize) {
+		new_size += START_STRSIZE - 1;
+		new_size &= -START_STRSIZE;
+		text = realloc(text, new_size);
+		text_asize = new_size;
+	}
+	memcpy(text + text_size, str, size);
+	text_size += size;
+	text[text_size] = 0;
+}
+
+static void alloc_string(const char *str, int size)
+{
+	text = xmalloc(size + 1);
+	memcpy(text, str, size);
+	text[size] = 0;
+}
+
+#define INITIAL 0
+#define COMMAND 1
+#define HELP 2
+#define STRING 3
+#define PARAM 4
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Accessor methods to globals.
+   These are made visible to non-reentrant scanners for convenience. */
+
+int zconflex_destroy (void );
+
+int zconfget_debug (void );
+
+void zconfset_debug (int debug_flag  );
+
+YY_EXTRA_TYPE zconfget_extra (void );
+
+void zconfset_extra (YY_EXTRA_TYPE user_defined  );
+
+FILE *zconfget_in (void );
+
+void zconfset_in  (FILE * in_str  );
+
+FILE *zconfget_out (void );
+
+void zconfset_out  (FILE * out_str  );
+
+int zconfget_leng (void );
+
+char *zconfget_text (void );
+
+int zconfget_lineno (void );
+
+void zconfset_lineno (int line_number  );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int zconfwrap (void );
+#else
+extern int zconfwrap (void );
+#endif
+#endif
+
+    static void yyunput (int c,char *buf_ptr  );
+    
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#ifdef __cplusplus
+static int yyinput (void );
+#else
+static int input (void );
+#endif
+
+#endif
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#define YY_READ_BUF_SIZE 8192
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO do { if (fwrite( zconftext, zconfleng, 1, zconfout )) {} } while (0)
+#endif
+
+/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+	errno=0; \
+	while ( (result = read( fileno(zconfin), (char *) buf, max_size )) < 0 ) \
+	{ \
+		if( errno != EINTR) \
+		{ \
+			YY_FATAL_ERROR( "input in flex scanner failed" ); \
+			break; \
+		} \
+		errno=0; \
+		clearerr(zconfin); \
+	}\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int zconflex (void);
+
+#define YY_DECL int zconflex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after zconftext and zconfleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed@the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK break;
+#endif
+
+#define YY_RULE_SETUP \
+	YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp, *yy_bp;
+	register int yy_act;
+    
+	int str = 0;
+	int ts, i;
+
+	if ( !(yy_init) )
+		{
+		(yy_init) = 1;
+
+#ifdef YY_USER_INIT
+		YY_USER_INIT;
+#endif
+
+		if ( ! (yy_start) )
+			(yy_start) = 1;	/* first start state */
+
+		if ( ! zconfin )
+			zconfin = stdin;
+
+		if ( ! zconfout )
+			zconfout = stdout;
+
+		if ( ! YY_CURRENT_BUFFER ) {
+			zconfensure_buffer_stack ();
+			YY_CURRENT_BUFFER_LVALUE =
+				zconf_create_buffer(zconfin,YY_BUF_SIZE );
+		}
+
+		zconf_load_buffer_state( );
+		}
+
+	while ( 1 )		/* loops until end-of-file is reached */
+		{
+		yy_cp = (yy_c_buf_p);
+
+		/* Support of zconftext. */
+		*yy_cp = (yy_hold_char);
+
+		/* yy_bp points to the position in yy_ch_buf of the start of
+		 * the current run.
+		 */
+		yy_bp = yy_cp;
+
+		yy_current_state = (yy_start);
+yy_match:
+		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
+			++yy_cp;
+
+		yy_current_state = -yy_current_state;
+
+yy_find_action:
+		yy_act = yy_accept[yy_current_state];
+
+		YY_DO_BEFORE_ACTION;
+
+do_action:	/* This label is used only to access EOF actions. */
+
+		switch ( yy_act )
+	{ /* beginning of action switch */
+case 1:
+/* rule 1 can match eol */
+case 2:
+/* rule 2 can match eol */
+YY_RULE_SETUP
+{
+	current_file->lineno++;
+	return T_EOL;
+}
+	YY_BREAK
+case 3:
+YY_RULE_SETUP
+
+	YY_BREAK
+case 4:
+YY_RULE_SETUP
+{
+	BEGIN(COMMAND);
+}
+	YY_BREAK
+case 5:
+YY_RULE_SETUP
+{
+	unput(zconftext[0]);
+	BEGIN(COMMAND);
+}
+	YY_BREAK
+
+case 6:
+YY_RULE_SETUP
+{
+		const struct kconf_id *id = kconf_id_lookup(zconftext, zconfleng);
+		BEGIN(PARAM);
+		current_pos.file = current_file;
+		current_pos.lineno = current_file->lineno;
+		if (id && id->flags & TF_COMMAND) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	YY_BREAK
+case 7:
+YY_RULE_SETUP
+
+	YY_BREAK
+case 8:
+/* rule 8 can match eol */
+YY_RULE_SETUP
+{
+		BEGIN(INITIAL);
+		current_file->lineno++;
+		return T_EOL;
+	}
+	YY_BREAK
+
+case 9:
+YY_RULE_SETUP
+return T_AND;
+	YY_BREAK
+case 10:
+YY_RULE_SETUP
+return T_OR;
+	YY_BREAK
+case 11:
+YY_RULE_SETUP
+return T_OPEN_PAREN;
+	YY_BREAK
+case 12:
+YY_RULE_SETUP
+return T_CLOSE_PAREN;
+	YY_BREAK
+case 13:
+YY_RULE_SETUP
+return T_NOT;
+	YY_BREAK
+case 14:
+YY_RULE_SETUP
+return T_EQUAL;
+	YY_BREAK
+case 15:
+YY_RULE_SETUP
+return T_UNEQUAL;
+	YY_BREAK
+case 16:
+YY_RULE_SETUP
+{
+		str = zconftext[0];
+		new_string();
+		BEGIN(STRING);
+	}
+	YY_BREAK
+case 17:
+/* rule 17 can match eol */
+YY_RULE_SETUP
+BEGIN(INITIAL); current_file->lineno++; return T_EOL;
+	YY_BREAK
+case 18:
+YY_RULE_SETUP
+/* ignore */
+	YY_BREAK
+case 19:
+YY_RULE_SETUP
+{
+		const struct kconf_id *id = kconf_id_lookup(zconftext, zconfleng);
+		if (id && id->flags & TF_PARAM) {
+			zconflval.id = id;
+			return id->token;
+		}
+		alloc_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD;
+	}
+	YY_BREAK
+case 20:
+YY_RULE_SETUP
+/* comment */
+	YY_BREAK
+case 21:
+/* rule 21 can match eol */
+YY_RULE_SETUP
+current_file->lineno++;
+	YY_BREAK
+case 22:
+YY_RULE_SETUP
+
+	YY_BREAK
+case YY_STATE_EOF(PARAM):
+{
+		BEGIN(INITIAL);
+	}
+	YY_BREAK
+
+case 23:
+/* rule 23 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	YY_BREAK
+case 24:
+YY_RULE_SETUP
+{
+		append_string(zconftext, zconfleng);
+	}
+	YY_BREAK
+case 25:
+/* rule 25 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		append_string(zconftext + 1, zconfleng - 1);
+		zconflval.string = text;
+		return T_WORD_QUOTE;
+	}
+	YY_BREAK
+case 26:
+YY_RULE_SETUP
+{
+		append_string(zconftext + 1, zconfleng - 1);
+	}
+	YY_BREAK
+case 27:
+YY_RULE_SETUP
+{
+		if (str == zconftext[0]) {
+			BEGIN(PARAM);
+			zconflval.string = text;
+			return T_WORD_QUOTE;
+		} else
+			append_string(zconftext, 1);
+	}
+	YY_BREAK
+case 28:
+/* rule 28 can match eol */
+YY_RULE_SETUP
+{
+		printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno());
+		current_file->lineno++;
+		BEGIN(INITIAL);
+		return T_EOL;
+	}
+	YY_BREAK
+case YY_STATE_EOF(STRING):
+{
+		BEGIN(INITIAL);
+	}
+	YY_BREAK
+
+case 29:
+YY_RULE_SETUP
+{
+		ts = 0;
+		for (i = 0; i < zconfleng; i++) {
+			if (zconftext[i] == '\t')
+				ts = (ts & ~7) + 8;
+			else
+				ts++;
+		}
+		last_ts = ts;
+		if (first_ts) {
+			if (ts < first_ts) {
+				zconf_endhelp();
+				return T_HELPTEXT;
+			}
+			ts -= first_ts;
+			while (ts > 8) {
+				append_string("        ", 8);
+				ts -= 8;
+			}
+			append_string("        ", ts);
+		}
+	}
+	YY_BREAK
+case 30:
+/* rule 30 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
+(yy_c_buf_p) = yy_cp -= 1;
+YY_DO_BEFORE_ACTION; /* set up zconftext again */
+YY_RULE_SETUP
+{
+		current_file->lineno++;
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	YY_BREAK
+case 31:
+/* rule 31 can match eol */
+YY_RULE_SETUP
+{
+		current_file->lineno++;
+		append_string("\n", 1);
+	}
+	YY_BREAK
+case 32:
+YY_RULE_SETUP
+{
+		while (zconfleng) {
+			if ((zconftext[zconfleng-1] != ' ') && (zconftext[zconfleng-1] != '\t'))
+				break;
+			zconfleng--;
+		}
+		append_string(zconftext, zconfleng);
+		if (!first_ts)
+			first_ts = last_ts;
+	}
+	YY_BREAK
+case YY_STATE_EOF(HELP):
+{
+		zconf_endhelp();
+		return T_HELPTEXT;
+	}
+	YY_BREAK
+
+case YY_STATE_EOF(INITIAL):
+case YY_STATE_EOF(COMMAND):
+{
+	if (current_file) {
+		zconf_endfile();
+		return T_EOL;
+	}
+	fclose(zconfin);
+	yyterminate();
+}
+	YY_BREAK
+case 33:
+YY_RULE_SETUP
+YY_FATAL_ERROR( "flex scanner jammed" );
+	YY_BREAK
+
+	case YY_END_OF_BUFFER:
+		{
+		/* Amount of text matched not including the EOB char. */
+		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+		/* Undo the effects of YY_DO_BEFORE_ACTION. */
+		*yy_cp = (yy_hold_char);
+		YY_RESTORE_YY_MORE_OFFSET
+
+		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+			{
+			/* We're scanning a new file or input source.  It's
+			 * possible that this happened because the user
+			 * just pointed zconfin at a new source and called
+			 * zconflex().  If so, then we have to assure
+			 * consistency between YY_CURRENT_BUFFER and our
+			 * globals.  Here is the right place to do so, because
+			 * this is the first action (other than possibly a
+			 * back-up) that will match for the new input source.
+			 */
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+			YY_CURRENT_BUFFER_LVALUE->yy_input_file = zconfin;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+			}
+
+		/* Note that here we test for yy_c_buf_p "<=" to the position
+		 * of the first EOB in the buffer, since yy_c_buf_p will
+		 * already have been incremented past the NUL character
+		 * (since all states make transitions on EOB to the
+		 * end-of-buffer state).  Contrast this with the test
+		 * in input().
+		 */
+		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			{ /* This was really a NUL. */
+			yy_state_type yy_next_state;
+
+			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+			yy_current_state = yy_get_previous_state(  );
+
+			/* Okay, we're now positioned to make the NUL
+			 * transition.  We couldn't have
+			 * yy_get_previous_state() go ahead and do it
+			 * for us because it doesn't know how to deal
+			 * with the possibility of jamming (and we don't
+			 * want to build jamming into it because then it
+			 * will run more slowly).
+			 */
+
+			yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+			if ( yy_next_state )
+				{
+				/* Consume the NUL. */
+				yy_cp = ++(yy_c_buf_p);
+				yy_current_state = yy_next_state;
+				goto yy_match;
+				}
+
+			else
+				{
+				yy_cp = (yy_c_buf_p);
+				goto yy_find_action;
+				}
+			}
+
+		else switch ( yy_get_next_buffer(  ) )
+			{
+			case EOB_ACT_END_OF_FILE:
+				{
+				(yy_did_buffer_switch_on_eof) = 0;
+
+				if ( zconfwrap( ) )
+					{
+					/* Note: because we've taken care in
+					 * yy_get_next_buffer() to have set up
+					 * zconftext, we can now set up
+					 * yy_c_buf_p so that if some total
+					 * hoser (like flex itself) wants to
+					 * call the scanner after we return the
+					 * YY_NULL, it'll still work - another
+					 * YY_NULL will get returned.
+					 */
+					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+					yy_act = YY_STATE_EOF(YY_START);
+					goto do_action;
+					}
+
+				else
+					{
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+					}
+				break;
+				}
+
+			case EOB_ACT_CONTINUE_SCAN:
+				(yy_c_buf_p) =
+					(yytext_ptr) + yy_amount_of_matched_text;
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_match;
+
+			case EOB_ACT_LAST_MATCH:
+				(yy_c_buf_p) =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+				yy_current_state = yy_get_previous_state(  );
+
+				yy_cp = (yy_c_buf_p);
+				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+				goto yy_find_action;
+			}
+		break;
+		}
+
+	default:
+		YY_FATAL_ERROR(
+			"fatal flex scanner internal error--no action found" );
+	} /* end of action switch */
+		} /* end of scanning one token */
+} /* end of zconflex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ *	EOB_ACT_LAST_MATCH -
+ *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *	EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+	register char *source = (yytext_ptr);
+	register int number_to_move, i;
+	int ret_val;
+
+	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+		YY_FATAL_ERROR(
+		"fatal flex scanner internal error--end of buffer missed" );
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+		{ /* Don't try to fill the buffer, so this is an EOF. */
+		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+			{
+			/* We matched a single character, the EOB, so
+			 * treat this as a final EOF.
+			 */
+			return EOB_ACT_END_OF_FILE;
+			}
+
+		else
+			{
+			/* We matched some text prior to the EOB, first
+			 * process it.
+			 */
+			return EOB_ACT_LAST_MATCH;
+			}
+		}
+
+	/* Try to read more data. */
+
+	/* First move last chars to start of buffer. */
+	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+	for ( i = 0; i < number_to_move; ++i )
+		*(dest++) = *(source++);
+
+	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+		/* don't do the read, it's not guaranteed to return an EOF,
+		 * just force an EOF
+		 */
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+	else
+		{
+			int num_to_read =
+			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+		while ( num_to_read <= 0 )
+			{ /* Not enough room in the buffer - grow it. */
+
+			/* just a shorter name for the current buffer */
+			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+
+			int yy_c_buf_p_offset =
+				(int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+			if ( b->yy_is_our_buffer )
+				{
+				int new_size = b->yy_buf_size * 2;
+
+				if ( new_size <= 0 )
+					b->yy_buf_size += b->yy_buf_size / 8;
+				else
+					b->yy_buf_size *= 2;
+
+				b->yy_ch_buf = (char *)
+					/* Include room in for 2 EOB chars. */
+					zconfrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+				}
+			else
+				/* Can't grow it, we don't own it. */
+				b->yy_ch_buf = 0;
+
+			if ( ! b->yy_ch_buf )
+				YY_FATAL_ERROR(
+				"fatal error - scanner input buffer overflow" );
+
+			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+						number_to_move - 1;
+
+			}
+
+		if ( num_to_read > YY_READ_BUF_SIZE )
+			num_to_read = YY_READ_BUF_SIZE;
+
+		/* Read in more data. */
+		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+			(yy_n_chars), (size_t) num_to_read );
+
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	if ( (yy_n_chars) == 0 )
+		{
+		if ( number_to_move == YY_MORE_ADJ )
+			{
+			ret_val = EOB_ACT_END_OF_FILE;
+			zconfrestart(zconfin  );
+			}
+
+		else
+			{
+			ret_val = EOB_ACT_LAST_MATCH;
+			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+				YY_BUFFER_EOF_PENDING;
+			}
+		}
+
+	else
+		ret_val = EOB_ACT_CONTINUE_SCAN;
+
+	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+		/* Extend the array by 50%, plus the number we really need. */
+		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) zconfrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+	}
+
+	(yy_n_chars) += number_to_move;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+	return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+    static yy_state_type yy_get_previous_state (void)
+{
+	register yy_state_type yy_current_state;
+	register char *yy_cp;
+    
+	yy_current_state = (yy_start);
+
+	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+		{
+		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
+		}
+
+	return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ *	next_state = yy_try_NUL_trans( current_state );
+ */
+    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
+{
+	register int yy_is_jam;
+    
+	yy_current_state = yy_nxt[yy_current_state][1];
+	yy_is_jam = (yy_current_state <= 0);
+
+	return yy_is_jam ? 0 : yy_current_state;
+}
+
+    static void yyunput (int c, register char * yy_bp )
+{
+	register char *yy_cp;
+    
+    yy_cp = (yy_c_buf_p);
+
+	/* undo effects of setting up zconftext */
+	*yy_cp = (yy_hold_char);
+
+	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+		{ /* need to shift things up to make room */
+		/* +2 for EOB chars. */
+		register int number_to_move = (yy_n_chars) + 2;
+		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+		register char *source =
+				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+			*--dest = *--source;
+
+		yy_cp += (int) (dest - source);
+		yy_bp += (int) (dest - source);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+
+		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+			YY_FATAL_ERROR( "flex scanner push-back overflow" );
+		}
+
+	*--yy_cp = (char) c;
+
+	(yytext_ptr) = yy_bp;
+	(yy_hold_char) = *yy_cp;
+	(yy_c_buf_p) = yy_cp;
+}
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+    static int yyinput (void)
+#else
+    static int input  (void)
+#endif
+
+{
+	int c;
+    
+	*(yy_c_buf_p) = (yy_hold_char);
+
+	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+		{
+		/* yy_c_buf_p now points to the character we want to return.
+		 * If this occurs *before* the EOB characters, then it's a
+		 * valid NUL; if not, then we've hit the end of the buffer.
+		 */
+		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+			/* This was really a NUL. */
+			*(yy_c_buf_p) = '\0';
+
+		else
+			{ /* need more input */
+			int offset = (yy_c_buf_p) - (yytext_ptr);
+			++(yy_c_buf_p);
+
+			switch ( yy_get_next_buffer(  ) )
+				{
+				case EOB_ACT_LAST_MATCH:
+					/* This happens because yy_g_n_b()
+					 * sees that we've accumulated a
+					 * token and flags that we need to
+					 * try matching the token before
+					 * proceeding.  But for input(),
+					 * there's no matching to consider.
+					 * So convert the EOB_ACT_LAST_MATCH
+					 * to EOB_ACT_END_OF_FILE.
+					 */
+
+					/* Reset buffer status. */
+					zconfrestart(zconfin );
+
+					/*FALLTHROUGH*/
+
+				case EOB_ACT_END_OF_FILE:
+					{
+					if ( zconfwrap( ) )
+						return EOF;
+
+					if ( ! (yy_did_buffer_switch_on_eof) )
+						YY_NEW_FILE;
+#ifdef __cplusplus
+					return yyinput();
+#else
+					return input();
+#endif
+					}
+
+				case EOB_ACT_CONTINUE_SCAN:
+					(yy_c_buf_p) = (yytext_ptr) + offset;
+					break;
+				}
+			}
+		}
+
+	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
+	*(yy_c_buf_p) = '\0';	/* preserve zconftext */
+	(yy_hold_char) = *++(yy_c_buf_p);
+
+	return c;
+}
+#endif	/* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ * 
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+    void zconfrestart  (FILE * input_file )
+{
+    
+	if ( ! YY_CURRENT_BUFFER ){
+        zconfensure_buffer_stack ();
+		YY_CURRENT_BUFFER_LVALUE =
+            zconf_create_buffer(zconfin,YY_BUF_SIZE );
+	}
+
+	zconf_init_buffer(YY_CURRENT_BUFFER,input_file );
+	zconf_load_buffer_state( );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ * 
+ */
+    void zconf_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
+{
+    
+	/* TODO. We should be able to replace this entire function body
+	 * with
+	 *		zconfpop_buffer_state();
+	 *		zconfpush_buffer_state(new_buffer);
+     */
+	zconfensure_buffer_stack ();
+	if ( YY_CURRENT_BUFFER == new_buffer )
+		return;
+
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+	zconf_load_buffer_state( );
+
+	/* We don't actually know whether we did this switch during
+	 * EOF (zconfwrap()) processing, but the only time this flag
+	 * is looked at is after zconfwrap() is called, so it's safe
+	 * to go ahead and always set it.
+	 */
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void zconf_load_buffer_state  (void)
+{
+    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+	zconfin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+	(yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ * 
+ * @return the allocated buffer state.
+ */
+    YY_BUFFER_STATE zconf_create_buffer  (FILE * file, int  size )
+{
+	YY_BUFFER_STATE b;
+    
+	b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
+
+	b->yy_buf_size = size;
+
+	/* yy_ch_buf has to be 2 characters longer than the size given because
+	 * we need to put in 2 end-of-buffer characters.
+	 */
+	b->yy_ch_buf = (char *) zconfalloc(b->yy_buf_size + 2  );
+	if ( ! b->yy_ch_buf )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
+
+	b->yy_is_our_buffer = 1;
+
+	zconf_init_buffer(b,file );
+
+	return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with zconf_create_buffer()
+ * 
+ */
+    void zconf_delete_buffer (YY_BUFFER_STATE  b )
+{
+    
+	if ( ! b )
+		return;
+
+	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+	if ( b->yy_is_our_buffer )
+		zconffree((void *) b->yy_ch_buf  );
+
+	zconffree((void *) b  );
+}
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a zconfrestart() or at EOF.
+ */
+    static void zconf_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
+
+{
+	int oerrno = errno;
+    
+	zconf_flush_buffer(b );
+
+	b->yy_input_file = file;
+	b->yy_fill_buffer = 1;
+
+    /* If b is the current buffer, then zconf_init_buffer was _probably_
+     * called from zconfrestart() or through yy_get_next_buffer.
+     * In that case, we don't want to reset the lineno or column.
+     */
+    if (b != YY_CURRENT_BUFFER){
+        b->yy_bs_lineno = 1;
+        b->yy_bs_column = 0;
+    }
+
+        b->yy_is_interactive = 0;
+    
+	errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ * 
+ */
+    void zconf_flush_buffer (YY_BUFFER_STATE  b )
+{
+    	if ( ! b )
+		return;
+
+	b->yy_n_chars = 0;
+
+	/* We always need two end-of-buffer characters.  The first causes
+	 * a transition to the end-of-buffer state.  The second causes
+	 * a jam in that state.
+	 */
+	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+	b->yy_buf_pos = &b->yy_ch_buf[0];
+
+	b->yy_at_bol = 1;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	if ( b == YY_CURRENT_BUFFER )
+		zconf_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ *  the current state. This function will allocate the stack
+ *  if necessary.
+ *  @param new_buffer The new state.
+ *  
+ */
+void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+    	if (new_buffer == NULL)
+		return;
+
+	zconfensure_buffer_stack();
+
+	/* This block is copied from zconf_switch_to_buffer. */
+	if ( YY_CURRENT_BUFFER )
+		{
+		/* Flush out information for old buffer. */
+		*(yy_c_buf_p) = (yy_hold_char);
+		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+		}
+
+	/* Only push if top exists. Otherwise, replace top. */
+	if (YY_CURRENT_BUFFER)
+		(yy_buffer_stack_top)++;
+	YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+	/* copied from zconf_switch_to_buffer. */
+	zconf_load_buffer_state( );
+	(yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ *  The next element becomes the new top.
+ *  
+ */
+void zconfpop_buffer_state (void)
+{
+    	if (!YY_CURRENT_BUFFER)
+		return;
+
+	zconf_delete_buffer(YY_CURRENT_BUFFER );
+	YY_CURRENT_BUFFER_LVALUE = NULL;
+	if ((yy_buffer_stack_top) > 0)
+		--(yy_buffer_stack_top);
+
+	if (YY_CURRENT_BUFFER) {
+		zconf_load_buffer_state( );
+		(yy_did_buffer_switch_on_eof) = 1;
+	}
+}
+
+/* Allocates the stack if it does not exist.
+ *  Guarantees space for at least one push.
+ */
+static void zconfensure_buffer_stack (void)
+{
+	int num_to_alloc;
+    
+	if (!(yy_buffer_stack)) {
+
+		/* First allocation is just for 2 elements, since we don't know if this
+		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+		 * immediate realloc on the next call.
+         */
+		num_to_alloc = 1;
+		(yy_buffer_stack) = (struct yy_buffer_state**)zconfalloc
+								(num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" );
+								  
+		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+				
+		(yy_buffer_stack_max) = num_to_alloc;
+		(yy_buffer_stack_top) = 0;
+		return;
+	}
+
+	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+		/* Increase the buffer to prepare for a possible push. */
+		int grow_size = 8 /* arbitrary grow size */;
+
+		num_to_alloc = (yy_buffer_stack_max) + grow_size;
+		(yy_buffer_stack) = (struct yy_buffer_state**)zconfrealloc
+								((yy_buffer_stack),
+								num_to_alloc * sizeof(struct yy_buffer_state*)
+								);
+		if ( ! (yy_buffer_stack) )
+			YY_FATAL_ERROR( "out of dynamic memory in zconfensure_buffer_stack()" );
+
+		/* zero only the new slots.*/
+		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+		(yy_buffer_stack_max) = num_to_alloc;
+	}
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ * 
+ * @return the newly allocated buffer state object. 
+ */
+YY_BUFFER_STATE zconf_scan_buffer  (char * base, yy_size_t  size )
+{
+	YY_BUFFER_STATE b;
+    
+	if ( size < 2 ||
+	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
+	     base[size-1] != YY_END_OF_BUFFER_CHAR )
+		/* They forgot to leave room for the EOB's. */
+		return 0;
+
+	b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
+	if ( ! b )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_buffer()" );
+
+	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
+	b->yy_buf_pos = b->yy_ch_buf = base;
+	b->yy_is_our_buffer = 0;
+	b->yy_input_file = 0;
+	b->yy_n_chars = b->yy_buf_size;
+	b->yy_is_interactive = 0;
+	b->yy_at_bol = 1;
+	b->yy_fill_buffer = 0;
+	b->yy_buffer_status = YY_BUFFER_NEW;
+
+	zconf_switch_to_buffer(b  );
+
+	return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to zconflex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ * 
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ *       zconf_scan_bytes() instead.
+ */
+YY_BUFFER_STATE zconf_scan_string (yyconst char * yystr )
+{
+    
+	return zconf_scan_bytes(yystr,strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to zconflex() will
+ * scan from a @e copy of @a bytes.
+ * @param bytes the byte buffer to scan
+ * @param len the number of bytes in the buffer pointed to by @a bytes.
+ * 
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE zconf_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
+{
+	YY_BUFFER_STATE b;
+	char *buf;
+	yy_size_t n;
+	int i;
+    
+	/* Get memory for full buffer, including space for trailing EOB's. */
+	n = _yybytes_len + 2;
+	buf = (char *) zconfalloc(n  );
+	if ( ! buf )
+		YY_FATAL_ERROR( "out of dynamic memory in zconf_scan_bytes()" );
+
+	for ( i = 0; i < _yybytes_len; ++i )
+		buf[i] = yybytes[i];
+
+	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+	b = zconf_scan_buffer(buf,n );
+	if ( ! b )
+		YY_FATAL_ERROR( "bad buffer in zconf_scan_bytes()" );
+
+	/* It's okay to grow etc. this buffer, and we should throw it
+	 * away when we're done.
+	 */
+	b->yy_is_our_buffer = 1;
+
+	return b;
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yy_fatal_error (yyconst char* msg )
+{
+    	(void) fprintf( stderr, "%s\n", msg );
+	exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+	do \
+		{ \
+		/* Undo effects of setting up zconftext. */ \
+        int yyless_macro_arg = (n); \
+        YY_LESS_LINENO(yyless_macro_arg);\
+		zconftext[zconfleng] = (yy_hold_char); \
+		(yy_c_buf_p) = zconftext + yyless_macro_arg; \
+		(yy_hold_char) = *(yy_c_buf_p); \
+		*(yy_c_buf_p) = '\0'; \
+		zconfleng = yyless_macro_arg; \
+		} \
+	while ( 0 )
+
+/* Accessor  methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ * 
+ */
+int zconfget_lineno  (void)
+{
+        
+    return zconflineno;
+}
+
+/** Get the input stream.
+ * 
+ */
+FILE *zconfget_in  (void)
+{
+        return zconfin;
+}
+
+/** Get the output stream.
+ * 
+ */
+FILE *zconfget_out  (void)
+{
+        return zconfout;
+}
+
+/** Get the length of the current token.
+ * 
+ */
+int zconfget_leng  (void)
+{
+        return zconfleng;
+}
+
+/** Get the current token.
+ * 
+ */
+
+char *zconfget_text  (void)
+{
+        return zconftext;
+}
+
+/** Set the current line number.
+ * @param line_number
+ * 
+ */
+void zconfset_lineno (int  line_number )
+{
+    
+    zconflineno = line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param in_str A readable stream.
+ * 
+ * @see zconf_switch_to_buffer
+ */
+void zconfset_in (FILE *  in_str )
+{
+        zconfin = in_str ;
+}
+
+void zconfset_out (FILE *  out_str )
+{
+        zconfout = out_str ;
+}
+
+int zconfget_debug  (void)
+{
+        return zconf_flex_debug;
+}
+
+void zconfset_debug (int  bdebug )
+{
+        zconf_flex_debug = bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+        /* Initialization is the same as for the non-reentrant scanner.
+     * This function is called from zconflex_destroy(), so don't allocate here.
+     */
+
+    (yy_buffer_stack) = 0;
+    (yy_buffer_stack_top) = 0;
+    (yy_buffer_stack_max) = 0;
+    (yy_c_buf_p) = (char *) 0;
+    (yy_init) = 0;
+    (yy_start) = 0;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+    zconfin = stdin;
+    zconfout = stdout;
+#else
+    zconfin = (FILE *) 0;
+    zconfout = (FILE *) 0;
+#endif
+
+    /* For future reference: Set errno on error, since we are called by
+     * zconflex_init()
+     */
+    return 0;
+}
+
+/* zconflex_destroy is for both reentrant and non-reentrant scanners. */
+int zconflex_destroy  (void)
+{
+    
+    /* Pop the buffer stack, destroying each element. */
+	while(YY_CURRENT_BUFFER){
+		zconf_delete_buffer(YY_CURRENT_BUFFER  );
+		YY_CURRENT_BUFFER_LVALUE = NULL;
+		zconfpop_buffer_state();
+	}
+
+	/* Destroy the stack itself. */
+	zconffree((yy_buffer_stack) );
+	(yy_buffer_stack) = NULL;
+
+    /* Reset the globals. This is important in a non-reentrant scanner so the next time
+     * zconflex() is called, initialization will occur. */
+    yy_init_globals( );
+
+    return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
+	register int i;
+	for ( i = 0; i < n; ++i )
+		s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * s )
+{
+	register int n;
+	for ( n = 0; s[n]; ++n )
+		;
+
+	return n;
+}
+#endif
+
+void *zconfalloc (yy_size_t  size )
+{
+	return (void *) malloc( size );
+}
+
+void *zconfrealloc  (void * ptr, yy_size_t  size )
+{
+	/* The cast to (char *) in the following accommodates both
+	 * implementations that use char* generic pointers, and those
+	 * that use void* generic pointers.  It works with the latter
+	 * because both ANSI C and C++ allow castless assignment from
+	 * any pointer type to void*, and deal with argument conversions
+	 * as though doing an assignment.
+	 */
+	return (void *) realloc( (char *) ptr, size );
+}
+
+void zconffree (void * ptr )
+{
+	free( (char *) ptr );	/* see zconfrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+void zconf_starthelp(void)
+{
+	new_string();
+	last_ts = first_ts = 0;
+	BEGIN(HELP);
+}
+
+static void zconf_endhelp(void)
+{
+	zconflval.string = text;
+	BEGIN(INITIAL);
+}
+
+/*
+ * Try to open specified file with following names:
+ * ./name
+ * $(srctree)/name
+ * The latter is used when srctree is separate from objtree
+ * when compiling the kernel.
+ * Return NULL if file is not found.
+ */
+FILE *zconf_fopen(const char *name)
+{
+	char *env, fullname[PATH_MAX+1];
+	FILE *f;
+
+	f = fopen(name, "r");
+	if (!f && name != NULL && name[0] != '/') {
+		env = getenv(SRCTREE);
+		if (env) {
+			sprintf(fullname, "%s/%s", env, name);
+			f = fopen(fullname, "r");
+		}
+	}
+	return f;
+}
+
+void zconf_initscan(const char *name)
+{
+	zconfin = zconf_fopen(name);
+	if (!zconfin) {
+		printf("can't find file %s\n", name);
+		exit(1);
+	}
+
+	current_buf = xmalloc(sizeof(*current_buf));
+	memset(current_buf, 0, sizeof(*current_buf));
+
+	current_file = file_lookup(name);
+	current_file->lineno = 1;
+}
+
+void zconf_nextfile(const char *name)
+{
+	struct file *iter;
+	struct file *file = file_lookup(name);
+	struct buffer *buf = xmalloc(sizeof(*buf));
+	memset(buf, 0, sizeof(*buf));
+
+	current_buf->state = YY_CURRENT_BUFFER;
+	zconfin = zconf_fopen(file->name);
+	if (!zconfin) {
+		printf("%s:%d: can't open file \"%s\"\n",
+		    zconf_curname(), zconf_lineno(), file->name);
+		exit(1);
+	}
+	zconf_switch_to_buffer(zconf_create_buffer(zconfin,YY_BUF_SIZE));
+	buf->parent = current_buf;
+	current_buf = buf;
+
+	for (iter = current_file->parent; iter; iter = iter->parent ) {
+		if (!strcmp(current_file->name,iter->name) ) {
+			printf("%s:%d: recursive inclusion detected. "
+			       "Inclusion path:\n  current file : '%s'\n",
+			       zconf_curname(), zconf_lineno(),
+			       zconf_curname());
+			iter = current_file->parent;
+			while (iter && \
+			       strcmp(iter->name,current_file->name)) {
+				printf("  included from: '%s:%d'\n",
+				       iter->name, iter->lineno-1);
+				iter = iter->parent;
+			}
+			if (iter)
+				printf("  included from: '%s:%d'\n",
+				       iter->name, iter->lineno+1);
+			exit(1);
+		}
+	}
+	file->lineno = 1;
+	file->parent = current_file;
+	current_file = file;
+}
+
+static void zconf_endfile(void)
+{
+	struct buffer *parent;
+
+	current_file = current_file->parent;
+
+	parent = current_buf->parent;
+	if (parent) {
+		fclose(zconfin);
+		zconf_delete_buffer(YY_CURRENT_BUFFER);
+		zconf_switch_to_buffer(parent->state);
+	}
+	free(current_buf);
+	current_buf = parent;
+}
+
+int zconf_lineno(void)
+{
+	return current_pos.lineno;
+}
+
+const char *zconf_curname(void)
+{
+	return current_pos.file ? current_pos.file->name : "<none>";
+}
+
diff --git a/scripts/kconfig/zconf.tab.c_shipped b/scripts/kconfig/zconf.tab.c_shipped
new file mode 100644
index 0000000..25ae16a
--- /dev/null
+++ b/scripts/kconfig/zconf.tab.c_shipped
@@ -0,0 +1,2538 @@
+/* A Bison parser, made by GNU Bison 2.5.  */
+
+/* Bison implementation for Yacc-like parsers in C
+   
+      Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
+   
+   This program is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+   
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+   simplifying the original so-called "semantic" parser.  */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+   infringing on user name space.  This should be done even for local
+   variables, as they might otherwise be expanded by user macros.
+   There are some unavoidable exceptions within include files to
+   define necessary library symbols; they are noted "INFRINGES ON
+   USER NAME SPACE" below.  */
+
+/* Identify Bison output.  */
+#define YYBISON 1
+
+/* Bison version.  */
+#define YYBISON_VERSION "2.5"
+
+/* Skeleton name.  */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers.  */
+#define YYPURE 0
+
+/* Push parsers.  */
+#define YYPUSH 0
+
+/* Pull parsers.  */
+#define YYPULL 1
+
+/* Using locations.  */
+#define YYLSP_NEEDED 0
+
+/* Substitute the variable and function names.  */
+#define yyparse         zconfparse
+#define yylex           zconflex
+#define yyerror         zconferror
+#define yylval          zconflval
+#define yychar          zconfchar
+#define yydebug         zconfdebug
+#define yynerrs         zconfnerrs
+
+
+/* Copy the first part of user declarations.  */
+
+
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+#include "lkc.h"
+
+#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
+
+#define PRINTD		0x0001
+#define DEBUG_PARSE	0x0002
+
+int cdebug = PRINTD;
+
+extern int zconflex(void);
+static void zconfprint(const char *err, ...);
+static void zconf_error(const char *err, ...);
+static void zconferror(const char *err);
+static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken);
+
+struct symbol *symbol_hash[SYMBOL_HASHSIZE];
+
+static struct menu *current_menu, *current_entry;
+
+
+
+
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+
+/* Enabling verbose error messages.  */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table.  */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
+
+
+/* Tokens.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+   /* Put the tokens into the symbol table, so that GDB and other debuggers
+      know about them.  */
+   enum yytokentype {
+     T_MAINMENU = 258,
+     T_MENU = 259,
+     T_ENDMENU = 260,
+     T_SOURCE = 261,
+     T_CHOICE = 262,
+     T_ENDCHOICE = 263,
+     T_COMMENT = 264,
+     T_CONFIG = 265,
+     T_MENUCONFIG = 266,
+     T_HELP = 267,
+     T_HELPTEXT = 268,
+     T_IF = 269,
+     T_ENDIF = 270,
+     T_DEPENDS = 271,
+     T_OPTIONAL = 272,
+     T_PROMPT = 273,
+     T_TYPE = 274,
+     T_DEFAULT = 275,
+     T_SELECT = 276,
+     T_RANGE = 277,
+     T_VISIBLE = 278,
+     T_OPTION = 279,
+     T_ON = 280,
+     T_WORD = 281,
+     T_WORD_QUOTE = 282,
+     T_UNEQUAL = 283,
+     T_CLOSE_PAREN = 284,
+     T_OPEN_PAREN = 285,
+     T_EOL = 286,
+     T_OR = 287,
+     T_AND = 288,
+     T_EQUAL = 289,
+     T_NOT = 290
+   };
+#endif
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+{
+
+
+	char *string;
+	struct file *file;
+	struct symbol *symbol;
+	struct expr *expr;
+	struct menu *menu;
+	const struct kconf_id *id;
+
+
+
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define yystype YYSTYPE /* obsolescent; will be withdrawn */
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+/* Copy the second part of user declarations.  */
+
+
+/* Include zconf.hash.c here so it can see the token constants. */
+#include "zconf.hash.c"
+
+
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#elif (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+typedef signed char yytype_int8;
+#else
+typedef short int yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+#  define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+#  define YYSIZE_T size_t
+# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYSIZE_T size_t
+# else
+#  define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+#  if ENABLE_NLS
+#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+#   define YY_(msgid) dgettext ("bison-runtime", msgid)
+#  endif
+# endif
+# ifndef YY_
+#  define YY_(msgid) msgid
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E.  */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(e) ((void) (e))
+#else
+# define YYUSE(e) /* empty */
+#endif
+
+/* Identity function, used to suppress warnings about constant conditions.  */
+#ifndef lint
+# define YYID(n) (n)
+#else
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static int
+YYID (int yyi)
+#else
+static int
+YYID (yyi)
+    int yyi;
+#endif
+{
+  return yyi;
+}
+#endif
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols.  */
+
+# ifdef YYSTACK_USE_ALLOCA
+#  if YYSTACK_USE_ALLOCA
+#   ifdef __GNUC__
+#    define YYSTACK_ALLOC __builtin_alloca
+#   elif defined __BUILTIN_VA_ARG_INCR
+#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+#   elif defined _AIX
+#    define YYSTACK_ALLOC __alloca
+#   elif defined _MSC_VER
+#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+#    define alloca _alloca
+#   else
+#    define YYSTACK_ALLOC alloca
+#    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#     ifndef EXIT_SUCCESS
+#      define EXIT_SUCCESS 0
+#     endif
+#    endif
+#   endif
+#  endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+   /* Pacify GCC's `empty if-body' warning.  */
+#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+    /* The OS might guarantee only one guard page at the bottom of the stack,
+       and a page size can be as small as 4096 bytes.  So we cannot safely
+       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
+       to allow for a few compiler-allocated temporary stack slots.  */
+#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+#  endif
+# else
+#  define YYSTACK_ALLOC YYMALLOC
+#  define YYSTACK_FREE YYFREE
+#  ifndef YYSTACK_ALLOC_MAXIMUM
+#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+#  endif
+#  if (defined __cplusplus && ! defined EXIT_SUCCESS \
+       && ! ((defined YYMALLOC || defined malloc) \
+	     && (defined YYFREE || defined free)))
+#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+#   ifndef EXIT_SUCCESS
+#    define EXIT_SUCCESS 0
+#   endif
+#  endif
+#  ifndef YYMALLOC
+#   define YYMALLOC malloc
+#   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+#  ifndef YYFREE
+#   define YYFREE free
+#   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+#   endif
+#  endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+     && (! defined __cplusplus \
+	 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member.  */
+union yyalloc
+{
+  yytype_int16 yyss_alloc;
+  YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next.  */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+   N elements.  */
+# define YYSTACK_BYTES(N) \
+     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+      + YYSTACK_GAP_MAXIMUM)
+
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one.  The
+   local variables YYSIZE and YYSTACKSIZE give the old and new number of
+   elements in the stack, and YYPTR gives the new location of the
+   stack.  Advance YYPTR to a properly aligned location for the next
+   stack.  */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack)				\
+    do									\
+      {									\
+	YYSIZE_T yynewbytes;						\
+	YYCOPY (&yyptr->Stack_alloc, Stack, yysize);			\
+	Stack = &yyptr->Stack_alloc;					\
+	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+	yyptr += yynewbytes / sizeof (*yyptr);				\
+      }									\
+    while (YYID (0))
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from FROM to TO.  The source and destination do
+   not overlap.  */
+# ifndef YYCOPY
+#  if defined __GNUC__ && 1 < __GNUC__
+#   define YYCOPY(To, From, Count) \
+      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
+#  else
+#   define YYCOPY(To, From, Count)		\
+      do					\
+	{					\
+	  YYSIZE_T yyi;				\
+	  for (yyi = 0; yyi < (Count); yyi++)	\
+	    (To)[yyi] = (From)[yyi];		\
+	}					\
+      while (YYID (0))
+#  endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
+/* YYFINAL -- State number of the termination state.  */
+#define YYFINAL  11
+/* YYLAST -- Last index in YYTABLE.  */
+#define YYLAST   290
+
+/* YYNTOKENS -- Number of terminals.  */
+#define YYNTOKENS  36
+/* YYNNTS -- Number of nonterminals.  */
+#define YYNNTS  50
+/* YYNRULES -- Number of rules.  */
+#define YYNRULES  118
+/* YYNRULES -- Number of states.  */
+#define YYNSTATES  191
+
+/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
+#define YYUNDEFTOK  2
+#define YYMAXUTOK   290
+
+#define YYTRANSLATE(YYX)						\
+  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
+static const yytype_uint8 yytranslate[] =
+{
+       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
+       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
+      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
+      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
+      35
+};
+
+#if YYDEBUG
+/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
+   YYRHS.  */
+static const yytype_uint16 yyprhs[] =
+{
+       0,     0,     3,     6,     8,    11,    13,    14,    17,    20,
+      23,    26,    31,    36,    40,    42,    44,    46,    48,    50,
+      52,    54,    56,    58,    60,    62,    64,    66,    68,    72,
+      75,    79,    82,    86,    89,    90,    93,    96,    99,   102,
+     105,   108,   112,   117,   122,   127,   133,   137,   138,   142,
+     143,   146,   150,   153,   155,   159,   160,   163,   166,   169,
+     172,   175,   180,   184,   187,   192,   193,   196,   200,   202,
+     206,   207,   210,   213,   216,   220,   224,   228,   230,   234,
+     235,   238,   241,   244,   248,   252,   255,   258,   261,   262,
+     265,   268,   271,   276,   277,   280,   283,   286,   287,   290,
+     292,   294,   297,   300,   303,   305,   308,   309,   312,   314,
+     318,   322,   326,   329,   333,   337,   339,   341,   342
+};
+
+/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
+static const yytype_int8 yyrhs[] =
+{
+      37,     0,    -1,    81,    38,    -1,    38,    -1,    63,    39,
+      -1,    39,    -1,    -1,    39,    41,    -1,    39,    55,    -1,
+      39,    67,    -1,    39,    80,    -1,    39,    26,     1,    31,
+      -1,    39,    40,     1,    31,    -1,    39,     1,    31,    -1,
+      16,    -1,    18,    -1,    19,    -1,    21,    -1,    17,    -1,
+      22,    -1,    20,    -1,    23,    -1,    31,    -1,    61,    -1,
+      71,    -1,    44,    -1,    46,    -1,    69,    -1,    26,     1,
+      31,    -1,     1,    31,    -1,    10,    26,    31,    -1,    43,
+      47,    -1,    11,    26,    31,    -1,    45,    47,    -1,    -1,
+      47,    48,    -1,    47,    49,    -1,    47,    75,    -1,    47,
+      73,    -1,    47,    42,    -1,    47,    31,    -1,    19,    78,
+      31,    -1,    18,    79,    82,    31,    -1,    20,    83,    82,
+      31,    -1,    21,    26,    82,    31,    -1,    22,    84,    84,
+      82,    31,    -1,    24,    50,    31,    -1,    -1,    50,    26,
+      51,    -1,    -1,    34,    79,    -1,     7,    85,    31,    -1,
+      52,    56,    -1,    80,    -1,    53,    58,    54,    -1,    -1,
+      56,    57,    -1,    56,    75,    -1,    56,    73,    -1,    56,
+      31,    -1,    56,    42,    -1,    18,    79,    82,    31,    -1,
+      19,    78,    31,    -1,    17,    31,    -1,    20,    26,    82,
+      31,    -1,    -1,    58,    41,    -1,    14,    83,    81,    -1,
+      80,    -1,    59,    62,    60,    -1,    -1,    62,    41,    -1,
+      62,    67,    -1,    62,    55,    -1,     3,    79,    81,    -1,
+       4,    79,    31,    -1,    64,    76,    74,    -1,    80,    -1,
+      65,    68,    66,    -1,    -1,    68,    41,    -1,    68,    67,
+      -1,    68,    55,    -1,     6,    79,    31,    -1,     9,    79,
+      31,    -1,    70,    74,    -1,    12,    31,    -1,    72,    13,
+      -1,    -1,    74,    75,    -1,    74,    31,    -1,    74,    42,
+      -1,    16,    25,    83,    31,    -1,    -1,    76,    77,    -1,
+      76,    31,    -1,    23,    82,    -1,    -1,    79,    82,    -1,
+      26,    -1,    27,    -1,     5,    31,    -1,     8,    31,    -1,
+      15,    31,    -1,    31,    -1,    81,    31,    -1,    -1,    14,
+      83,    -1,    84,    -1,    84,    34,    84,    -1,    84,    28,
+      84,    -1,    30,    83,    29,    -1,    35,    83,    -1,    83,
+      32,    83,    -1,    83,    33,    83,    -1,    26,    -1,    27,
+      -1,    -1,    26,    -1
+};
+
+/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
+static const yytype_uint16 yyrline[] =
+{
+       0,   103,   103,   103,   105,   105,   107,   109,   110,   111,
+     112,   113,   114,   118,   122,   122,   122,   122,   122,   122,
+     122,   122,   126,   127,   128,   129,   130,   131,   135,   136,
+     142,   150,   156,   164,   174,   176,   177,   178,   179,   180,
+     181,   184,   192,   198,   208,   214,   220,   223,   225,   236,
+     237,   242,   251,   256,   264,   267,   269,   270,   271,   272,
+     273,   276,   282,   293,   299,   309,   311,   316,   324,   332,
+     335,   337,   338,   339,   344,   351,   358,   363,   371,   374,
+     376,   377,   378,   381,   389,   396,   403,   409,   416,   418,
+     419,   420,   423,   431,   433,   434,   437,   444,   446,   451,
+     452,   455,   456,   457,   461,   462,   465,   466,   469,   470,
+     471,   472,   473,   474,   475,   478,   479,   482,   483
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+   First, the terminals, then, starting@YYNTOKENS, nonterminals.  */
+static const char *const yytname[] =
+{
+  "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU",
+  "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG",
+  "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS",
+  "T_OPTIONAL", "T_PROMPT", "T_TYPE", "T_DEFAULT", "T_SELECT", "T_RANGE",
+  "T_VISIBLE", "T_OPTION", "T_ON", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL",
+  "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_EOL", "T_OR", "T_AND", "T_EQUAL",
+  "T_NOT", "$accept", "input", "start", "stmt_list", "option_name",
+  "common_stmt", "option_error", "config_entry_start", "config_stmt",
+  "menuconfig_entry_start", "menuconfig_stmt", "config_option_list",
+  "config_option", "symbol_option", "symbol_option_list",
+  "symbol_option_arg", "choice", "choice_entry", "choice_end",
+  "choice_stmt", "choice_option_list", "choice_option", "choice_block",
+  "if_entry", "if_end", "if_stmt", "if_block", "mainmenu_stmt", "menu",
+  "menu_entry", "menu_end", "menu_stmt", "menu_block", "source_stmt",
+  "comment", "comment_stmt", "help_start", "help", "depends_list",
+  "depends", "visibility_list", "visible", "prompt_stmt_opt", "prompt",
+  "end", "nl", "if_expr", "expr", "symbol", "word_opt", 0
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
+   token YYLEX-NUM.  */
+static const yytype_uint16 yytoknum[] =
+{
+       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
+     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
+     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
+     285,   286,   287,   288,   289,   290
+};
+# endif
+
+/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
+static const yytype_uint8 yyr1[] =
+{
+       0,    36,    37,    37,    38,    38,    39,    39,    39,    39,
+      39,    39,    39,    39,    40,    40,    40,    40,    40,    40,
+      40,    40,    41,    41,    41,    41,    41,    41,    42,    42,
+      43,    44,    45,    46,    47,    47,    47,    47,    47,    47,
+      47,    48,    48,    48,    48,    48,    49,    50,    50,    51,
+      51,    52,    53,    54,    55,    56,    56,    56,    56,    56,
+      56,    57,    57,    57,    57,    58,    58,    59,    60,    61,
+      62,    62,    62,    62,    63,    64,    65,    66,    67,    68,
+      68,    68,    68,    69,    70,    71,    72,    73,    74,    74,
+      74,    74,    75,    76,    76,    76,    77,    78,    78,    79,
+      79,    80,    80,    80,    81,    81,    82,    82,    83,    83,
+      83,    83,    83,    83,    83,    84,    84,    85,    85
+};
+
+/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
+static const yytype_uint8 yyr2[] =
+{
+       0,     2,     2,     1,     2,     1,     0,     2,     2,     2,
+       2,     4,     4,     3,     1,     1,     1,     1,     1,     1,
+       1,     1,     1,     1,     1,     1,     1,     1,     3,     2,
+       3,     2,     3,     2,     0,     2,     2,     2,     2,     2,
+       2,     3,     4,     4,     4,     5,     3,     0,     3,     0,
+       2,     3,     2,     1,     3,     0,     2,     2,     2,     2,
+       2,     4,     3,     2,     4,     0,     2,     3,     1,     3,
+       0,     2,     2,     2,     3,     3,     3,     1,     3,     0,
+       2,     2,     2,     3,     3,     2,     2,     2,     0,     2,
+       2,     2,     4,     0,     2,     2,     2,     0,     2,     1,
+       1,     2,     2,     2,     1,     2,     0,     2,     1,     3,
+       3,     3,     2,     3,     3,     1,     1,     0,     1
+};
+
+/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
+   Performed when YYTABLE doesn't specify something else to do.  Zero
+   means the default is an error.  */
+static const yytype_uint8 yydefact[] =
+{
+       6,     0,   104,     0,     3,     0,     6,     6,    99,   100,
+       0,     1,     0,     0,     0,     0,   117,     0,     0,     0,
+       0,     0,     0,    14,    18,    15,    16,    20,    17,    19,
+      21,     0,    22,     0,     7,    34,    25,    34,    26,    55,
+      65,     8,    70,    23,    93,    79,     9,    27,    88,    24,
+      10,     0,   105,     2,    74,    13,     0,   101,     0,   118,
+       0,   102,     0,     0,     0,   115,   116,     0,     0,     0,
+     108,   103,     0,     0,     0,     0,     0,     0,     0,    88,
+       0,     0,    75,    83,    51,    84,    30,    32,     0,   112,
+       0,     0,    67,     0,     0,    11,    12,     0,     0,     0,
+       0,    97,     0,     0,     0,    47,     0,    40,    39,    35,
+      36,     0,    38,    37,     0,     0,    97,     0,    59,    60,
+      56,    58,    57,    66,    54,    53,    71,    73,    69,    72,
+      68,   106,    95,     0,    94,    80,    82,    78,    81,    77,
+      90,    91,    89,   111,   113,   114,   110,   109,    29,    86,
+       0,   106,     0,   106,   106,   106,     0,     0,     0,    87,
+      63,   106,     0,   106,     0,    96,     0,     0,    41,    98,
+       0,     0,   106,    49,    46,    28,     0,    62,     0,   107,
+      92,    42,    43,    44,     0,     0,    48,    61,    64,    45,
+      50
+};
+
+/* YYDEFGOTO[NTERM-NUM].  */
+static const yytype_int16 yydefgoto[] =
+{
+      -1,     3,     4,     5,    33,    34,   108,    35,    36,    37,
+      38,    74,   109,   110,   157,   186,    39,    40,   124,    41,
+      76,   120,    77,    42,   128,    43,    78,     6,    44,    45,
+     137,    46,    80,    47,    48,    49,   111,   112,    81,   113,
+      79,   134,   152,   153,    50,     7,   165,    69,    70,    60
+};
+
+/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+   STATE-NUM.  */
+#define YYPACT_NINF -90
+static const yytype_int16 yypact[] =
+{
+       4,    42,   -90,    96,   -90,   111,   -90,    15,   -90,   -90,
+      75,   -90,    82,    42,   104,    42,   110,   107,    42,   115,
+     125,    -4,   121,   -90,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   162,   -90,   163,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   139,   -90,   -90,   138,   -90,   142,   -90,   143,   -90,
+     152,   -90,   164,   167,   168,   -90,   -90,    -4,    -4,    77,
+     -18,   -90,   177,   185,    33,    71,   195,   247,   236,    -2,
+     236,   171,   -90,   -90,   -90,   -90,   -90,   -90,    41,   -90,
+      -4,    -4,   138,    97,    97,   -90,   -90,   186,   187,   194,
+      42,    42,    -4,   196,    97,   -90,   219,   -90,   -90,   -90,
+     -90,   210,   -90,   -90,   204,    42,    42,   199,   -90,   -90,
+     -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   222,   -90,   223,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   -90,   -90,   -90,   215,   -90,   -90,   -90,   -90,   -90,
+      -4,   222,   228,   222,    -5,   222,    97,    35,   229,   -90,
+     -90,   222,   232,   222,    -4,   -90,   135,   233,   -90,   -90,
+     234,   235,   222,   240,   -90,   -90,   237,   -90,   239,   -13,
+     -90,   -90,   -90,   -90,   244,    42,   -90,   -90,   -90,   -90,
+     -90
+};
+
+/* YYPGOTO[NTERM-NUM].  */
+static const yytype_int16 yypgoto[] =
+{
+     -90,   -90,   269,   271,   -90,    23,   -70,   -90,   -90,   -90,
+     -90,   243,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -48,
+     -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,   -90,
+     -90,   -20,   -90,   -90,   -90,   -90,   -90,   206,   205,   -68,
+     -90,   -90,   169,    -1,    27,    -7,   118,   -66,   -89,   -90
+};
+
+/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
+   positive, shift that token.  If negative, reduce the rule which
+   number is the opposite.  If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -86
+static const yytype_int16 yytable[] =
+{
+      10,    88,    89,    54,   146,   147,   119,     1,   122,   164,
+      93,   141,    56,   142,    58,   156,    94,    62,     1,    90,
+      91,   131,    65,    66,   144,   145,    67,    90,    91,   132,
+     127,    68,   136,   -31,    97,     2,   154,   -31,   -31,   -31,
+     -31,   -31,   -31,   -31,   -31,    98,    52,   -31,   -31,    99,
+     -31,   100,   101,   102,   103,   104,   -31,   105,   129,   106,
+     138,   173,    92,   141,   107,   142,   174,   172,     8,     9,
+     143,   -33,    97,    90,    91,   -33,   -33,   -33,   -33,   -33,
+     -33,   -33,   -33,    98,   166,   -33,   -33,    99,   -33,   100,
+     101,   102,   103,   104,   -33,   105,    11,   106,   179,   151,
+     123,   126,   107,   135,   125,   130,     2,   139,     2,    90,
+      91,    -5,    12,    55,   161,    13,    14,    15,    16,    17,
+      18,    19,    20,    65,    66,    21,    22,    23,    24,    25,
+      26,    27,    28,    29,    30,    57,    59,    31,    61,    -4,
+      12,    63,    32,    13,    14,    15,    16,    17,    18,    19,
+      20,    64,    71,    21,    22,    23,    24,    25,    26,    27,
+      28,    29,    30,    72,    73,    31,   180,    90,    91,    52,
+      32,   -85,    97,    82,    83,   -85,   -85,   -85,   -85,   -85,
+     -85,   -85,   -85,    84,   190,   -85,   -85,    99,   -85,   -85,
+     -85,   -85,   -85,   -85,   -85,    85,    97,   106,    86,    87,
+     -52,   -52,   140,   -52,   -52,   -52,   -52,    98,    95,   -52,
+     -52,    99,   114,   115,   116,   117,    96,   148,   149,   150,
+     158,   106,   155,   159,    97,   163,   118,   -76,   -76,   -76,
+     -76,   -76,   -76,   -76,   -76,   160,   164,   -76,   -76,    99,
+      13,    14,    15,    16,    17,    18,    19,    20,    91,   106,
+      21,    22,    14,    15,   140,    17,    18,    19,    20,   168,
+     175,    21,    22,   177,   181,   182,   183,    32,   187,   167,
+     188,   169,   170,   171,   185,   189,    53,    51,    32,   176,
+      75,   178,   121,     0,   133,   162,     0,     0,     0,     0,
+     184
+};
+
+#define yypact_value_is_default(yystate) \
+  ((yystate) == (-90))
+
+#define yytable_value_is_error(yytable_value) \
+  YYID (0)
+
+static const yytype_int16 yycheck[] =
+{
+       1,    67,    68,    10,    93,    94,    76,     3,    76,    14,
+      28,    81,    13,    81,    15,   104,    34,    18,     3,    32,
+      33,    23,    26,    27,    90,    91,    30,    32,    33,    31,
+      78,    35,    80,     0,     1,    31,   102,     4,     5,     6,
+       7,     8,     9,    10,    11,    12,    31,    14,    15,    16,
+      17,    18,    19,    20,    21,    22,    23,    24,    78,    26,
+      80,    26,    69,   133,    31,   133,    31,   156,    26,    27,
+      29,     0,     1,    32,    33,     4,     5,     6,     7,     8,
+       9,    10,    11,    12,   150,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    24,     0,    26,   164,   100,
+      77,    78,    31,    80,    77,    78,    31,    80,    31,    32,
+      33,     0,     1,    31,   115,     4,     5,     6,     7,     8,
+       9,    10,    11,    26,    27,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    31,    26,    26,    31,     0,
+       1,    26,    31,     4,     5,     6,     7,     8,     9,    10,
+      11,    26,    31,    14,    15,    16,    17,    18,    19,    20,
+      21,    22,    23,     1,     1,    26,    31,    32,    33,    31,
+      31,     0,     1,    31,    31,     4,     5,     6,     7,     8,
+       9,    10,    11,    31,   185,    14,    15,    16,    17,    18,
+      19,    20,    21,    22,    23,    31,     1,    26,    31,    31,
+       5,     6,    31,     8,     9,    10,    11,    12,    31,    14,
+      15,    16,    17,    18,    19,    20,    31,    31,    31,    25,
+       1,    26,    26,    13,     1,    26,    31,     4,     5,     6,
+       7,     8,     9,    10,    11,    31,    14,    14,    15,    16,
+       4,     5,     6,     7,     8,     9,    10,    11,    33,    26,
+      14,    15,     5,     6,    31,     8,     9,    10,    11,    31,
+      31,    14,    15,    31,    31,    31,    31,    31,    31,   151,
+      31,   153,   154,   155,    34,    31,     7,     6,    31,   161,
+      37,   163,    76,    -1,    79,   116,    -1,    -1,    -1,    -1,
+     172
+};
+
+/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+   symbol of state STATE-NUM.  */
+static const yytype_uint8 yystos[] =
+{
+       0,     3,    31,    37,    38,    39,    63,    81,    26,    27,
+      79,     0,     1,     4,     5,     6,     7,     8,     9,    10,
+      11,    14,    15,    16,    17,    18,    19,    20,    21,    22,
+      23,    26,    31,    40,    41,    43,    44,    45,    46,    52,
+      53,    55,    59,    61,    64,    65,    67,    69,    70,    71,
+      80,    39,    31,    38,    81,    31,    79,    31,    79,    26,
+      85,    31,    79,    26,    26,    26,    27,    30,    35,    83,
+      84,    31,     1,     1,    47,    47,    56,    58,    62,    76,
+      68,    74,    31,    31,    31,    31,    31,    31,    83,    83,
+      32,    33,    81,    28,    34,    31,    31,     1,    12,    16,
+      18,    19,    20,    21,    22,    24,    26,    31,    42,    48,
+      49,    72,    73,    75,    17,    18,    19,    20,    31,    42,
+      57,    73,    75,    41,    54,    80,    41,    55,    60,    67,
+      80,    23,    31,    74,    77,    41,    55,    66,    67,    80,
+      31,    42,    75,    29,    83,    83,    84,    84,    31,    31,
+      25,    79,    78,    79,    83,    26,    84,    50,     1,    13,
+      31,    79,    78,    26,    14,    82,    83,    82,    31,    82,
+      82,    82,    84,    26,    31,    31,    82,    31,    82,    83,
+      31,    31,    31,    31,    82,    34,    51,    31,    31,    31,
+      79
+};
+
+#define yyerrok		(yyerrstatus = 0)
+#define yyclearin	(yychar = YYEMPTY)
+#define YYEMPTY		(-2)
+#define YYEOF		0
+
+#define YYACCEPT	goto yyacceptlab
+#define YYABORT		goto yyabortlab
+#define YYERROR		goto yyerrorlab
+
+
+/* Like YYERROR except do call yyerror.  This remains here temporarily
+   to ease the transition to the new meaning of YYERROR, for GCC.
+   Once GCC version 2 has supplanted version 1, this can go.  However,
+   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
+   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
+   discussed.  */
+
+#define YYFAIL		goto yyerrlab
+#if defined YYFAIL
+  /* This is here to suppress warnings from the GCC cpp's
+     -Wunused-macros.  Normally we don't worry about that warning, but
+     some users do, and we want to make it easy for users to remove
+     YYFAIL uses, which will produce warnings from Bison 2.5.  */
+#endif
+
+#define YYRECOVERING()  (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value)					\
+do								\
+  if (yychar == YYEMPTY && yylen == 1)				\
+    {								\
+      yychar = (Token);						\
+      yylval = (Value);						\
+      YYPOPSTACK (1);						\
+      goto yybackup;						\
+    }								\
+  else								\
+    {								\
+      yyerror (YY_("syntax error: cannot back up")); \
+      YYERROR;							\
+    }								\
+while (YYID (0))
+
+
+#define YYTERROR	1
+#define YYERRCODE	256
+
+
+/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
+   If N is 0, then set CURRENT to the empty location which ends
+   the previous symbol: RHS[0] (always defined).  */
+
+#define YYRHSLOC(Rhs, K) ((Rhs)[K])
+#ifndef YYLLOC_DEFAULT
+# define YYLLOC_DEFAULT(Current, Rhs, N)				\
+    do									\
+      if (YYID (N))                                                    \
+	{								\
+	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
+	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
+	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
+	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
+	}								\
+      else								\
+	{								\
+	  (Current).first_line   = (Current).last_line   =		\
+	    YYRHSLOC (Rhs, 0).last_line;				\
+	  (Current).first_column = (Current).last_column =		\
+	    YYRHSLOC (Rhs, 0).last_column;				\
+	}								\
+    while (YYID (0))
+#endif
+
+
+/* This macro is provided for backward compatibility. */
+
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
+
+
+/* YYLEX -- calling `yylex' with the right arguments.  */
+
+#ifdef YYLEX_PARAM
+# define YYLEX yylex (YYLEX_PARAM)
+#else
+# define YYLEX yylex ()
+#endif
+
+/* Enable debugging if requested.  */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+#  define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args)			\
+do {						\
+  if (yydebug)					\
+    YYFPRINTF Args;				\
+} while (YYID (0))
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
+do {									  \
+  if (yydebug)								  \
+    {									  \
+      YYFPRINTF (stderr, "%s ", Title);					  \
+      yy_symbol_print (stderr,						  \
+		  Type, Value); \
+      YYFPRINTF (stderr, "\n");						  \
+    }									  \
+} while (YYID (0))
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_value_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (!yyvaluep)
+    return;
+# ifdef YYPRINT
+  if (yytype < YYNTOKENS)
+    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# else
+  YYUSE (yyoutput);
+# endif
+  switch (yytype)
+    {
+      default:
+	break;
+    }
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT.  |
+`--------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
+#else
+static void
+yy_symbol_print (yyoutput, yytype, yyvaluep)
+    FILE *yyoutput;
+    int yytype;
+    YYSTYPE const * const yyvaluep;
+#endif
+{
+  if (yytype < YYNTOKENS)
+    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
+  else
+    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
+
+  yy_symbol_value_print (yyoutput, yytype, yyvaluep);
+  YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included).                                                   |
+`------------------------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+#else
+static void
+yy_stack_print (yybottom, yytop)
+    yytype_int16 *yybottom;
+    yytype_int16 *yytop;
+#endif
+{
+  YYFPRINTF (stderr, "Stack now");
+  for (; yybottom <= yytop; yybottom++)
+    {
+      int yybot = *yybottom;
+      YYFPRINTF (stderr, " %d", yybot);
+    }
+  YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top)				\
+do {								\
+  if (yydebug)							\
+    yy_stack_print ((Bottom), (Top));				\
+} while (YYID (0))
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced.  |
+`------------------------------------------------*/
+
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
+#else
+static void
+yy_reduce_print (yyvsp, yyrule)
+    YYSTYPE *yyvsp;
+    int yyrule;
+#endif
+{
+  int yynrhs = yyr2[yyrule];
+  int yyi;
+  unsigned long int yylno = yyrline[yyrule];
+  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+	     yyrule - 1, yylno);
+  /* The symbols being reduced.  */
+  for (yyi = 0; yyi < yynrhs; yyi++)
+    {
+      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
+      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
+		       &(yyvsp[(yyi + 1) - (yynrhs)])
+		       		       );
+      YYFPRINTF (stderr, "\n");
+    }
+}
+
+# define YY_REDUCE_PRINT(Rule)		\
+do {					\
+  if (yydebug)				\
+    yy_reduce_print (yyvsp, Rule); \
+} while (YYID (0))
+
+/* Nonzero means print parse trace.  It is left uninitialized so that
+   multiple parsers can coexist.  */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks.  */
+#ifndef	YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+   if the built-in stack extension method is used).
+
+   Do not make this value too large; the results are undefined if
+   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+   evaluated with infinite-precision integer arithmetic.  */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+#  if defined __GLIBC__ && defined _STRING_H
+#   define yystrlen strlen
+#  else
+/* Return the length of YYSTR.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static YYSIZE_T
+yystrlen (const char *yystr)
+#else
+static YYSIZE_T
+yystrlen (yystr)
+    const char *yystr;
+#endif
+{
+  YYSIZE_T yylen;
+  for (yylen = 0; yystr[yylen]; yylen++)
+    continue;
+  return yylen;
+}
+#  endif
+# endif
+
+# ifndef yystpcpy
+#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+#   define yystpcpy stpcpy
+#  else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+   YYDEST.  */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+#else
+static char *
+yystpcpy (yydest, yysrc)
+    char *yydest;
+    const char *yysrc;
+#endif
+{
+  char *yyd = yydest;
+  const char *yys = yysrc;
+
+  while ((*yyd++ = *yys++) != '\0')
+    continue;
+
+  return yyd - 1;
+}
+#  endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+   quotes and backslashes, so that it's suitable for yyerror.  The
+   heuristic is that double-quoting is unnecessary unless the string
+   contains an apostrophe, a comma, or backslash (other than
+   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
+   null, do not copy; instead, return the length of what the result
+   would have been.  */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+  if (*yystr == '"')
+    {
+      YYSIZE_T yyn = 0;
+      char const *yyp = yystr;
+
+      for (;;)
+	switch (*++yyp)
+	  {
+	  case '\'':
+	  case ',':
+	    goto do_not_strip_quotes;
+
+	  case '\\':
+	    if (*++yyp != '\\')
+	      goto do_not_strip_quotes;
+	    /* Fall through.  */
+	  default:
+	    if (yyres)
+	      yyres[yyn] = *yyp;
+	    yyn++;
+	    break;
+
+	  case '"':
+	    if (yyres)
+	      yyres[yyn] = '\0';
+	    return yyn;
+	  }
+    do_not_strip_quotes: ;
+    }
+
+  if (! yyres)
+    return yystrlen (yystr);
+
+  return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
+   about the unexpected token YYTOKEN for the state stack whose top is
+   YYSSP.
+
+   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
+   not large enough to hold the message.  In that case, also set
+   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
+   required number of bytes is too large to store.  */
+static int
+yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+                yytype_int16 *yyssp, int yytoken)
+{
+  YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
+  YYSIZE_T yysize = yysize0;
+  YYSIZE_T yysize1;
+  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+  /* Internationalized format string. */
+  const char *yyformat = 0;
+  /* Arguments of yyformat. */
+  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+  /* Number of reported tokens (one for the "unexpected", one per
+     "expected"). */
+  int yycount = 0;
+
+  /* There are many possibilities here to consider:
+     - Assume YYFAIL is not used.  It's too flawed to consider.  See
+       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
+       for details.  YYERROR is fine as it does not invoke this
+       function.
+     - If this state is a consistent state with a default action, then
+       the only way this function was invoked is if the default action
+       is an error action.  In that case, don't check for expected
+       tokens because there are none.
+     - The only way there can be no lookahead present (in yychar) is if
+       this state is a consistent state with a default action.  Thus,
+       detecting the absence of a lookahead is sufficient to determine
+       that there is no unexpected or expected token to report.  In that
+       case, just report a simple "syntax error".
+     - Don't assume there isn't a lookahead just because this state is a
+       consistent state with a default action.  There might have been a
+       previous inconsistent state, consistent state with a non-default
+       action, or user semantic action that manipulated yychar.
+     - Of course, the expected token list depends on states to have
+       correct lookahead information, and it depends on the parser not
+       to perform extra reductions after fetching a lookahead from the
+       scanner and before detecting a syntax error.  Thus, state merging
+       (from LALR or IELR) and default reductions corrupt the expected
+       token list.  However, the list is correct for canonical LR with
+       one exception: it will still contain any token that will not be
+       accepted due to an error action in a later state.
+  */
+  if (yytoken != YYEMPTY)
+    {
+      int yyn = yypact[*yyssp];
+      yyarg[yycount++] = yytname[yytoken];
+      if (!yypact_value_is_default (yyn))
+        {
+          /* Start YYX at -YYN if negative to avoid negative indexes in
+             YYCHECK.  In other words, skip the first -YYN actions for
+             this state because they are default actions.  */
+          int yyxbegin = yyn < 0 ? -yyn : 0;
+          /* Stay within bounds of both yycheck and yytname.  */
+          int yychecklim = YYLAST - yyn + 1;
+          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+          int yyx;
+
+          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
+                && !yytable_value_is_error (yytable[yyx + yyn]))
+              {
+                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+                  {
+                    yycount = 1;
+                    yysize = yysize0;
+                    break;
+                  }
+                yyarg[yycount++] = yytname[yyx];
+                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+                if (! (yysize <= yysize1
+                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+                  return 2;
+                yysize = yysize1;
+              }
+        }
+    }
+
+  switch (yycount)
+    {
+# define YYCASE_(N, S)                      \
+      case N:                               \
+        yyformat = S;                       \
+      break
+      YYCASE_(0, YY_("syntax error"));
+      YYCASE_(1, YY_("syntax error, unexpected %s"));
+      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+# undef YYCASE_
+    }
+
+  yysize1 = yysize + yystrlen (yyformat);
+  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+    return 2;
+  yysize = yysize1;
+
+  if (*yymsg_alloc < yysize)
+    {
+      *yymsg_alloc = 2 * yysize;
+      if (! (yysize <= *yymsg_alloc
+             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
+        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
+      return 1;
+    }
+
+  /* Avoid sprintf, as that infringes on the user's name space.
+     Don't have undefined behavior even if the translation
+     produced a string with the wrong number of "%s"s.  */
+  {
+    char *yyp = *yymsg;
+    int yyi = 0;
+    while ((*yyp = *yyformat) != '\0')
+      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
+        {
+          yyp += yytnamerr (yyp, yyarg[yyi++]);
+          yyformat += 2;
+        }
+      else
+        {
+          yyp++;
+          yyformat++;
+        }
+  }
+  return 0;
+}
+#endif /* YYERROR_VERBOSE */
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol.  |
+`-----------------------------------------------*/
+
+/*ARGSUSED*/
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
+#else
+static void
+yydestruct (yymsg, yytype, yyvaluep)
+    const char *yymsg;
+    int yytype;
+    YYSTYPE *yyvaluep;
+#endif
+{
+  YYUSE (yyvaluep);
+
+  if (!yymsg)
+    yymsg = "Deleting";
+  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+  switch (yytype)
+    {
+      case 53: /* "choice_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+      case 59: /* "if_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+      case 65: /* "menu_entry" */
+
+	{
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		(yyvaluep->menu)->file->name, (yyvaluep->menu)->lineno);
+	if (current_menu == (yyvaluep->menu))
+		menu_end_menu();
+};
+
+	break;
+
+      default:
+	break;
+    }
+}
+
+
+/* Prevent warnings from -Wmissing-prototypes.  */
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
+
+
+/* The lookahead symbol.  */
+int yychar;
+
+/* The semantic value of the lookahead symbol.  */
+YYSTYPE yylval;
+
+/* Number of syntax errors so far.  */
+int yynerrs;
+
+
+/*----------.
+| yyparse.  |
+`----------*/
+
+#ifdef YYPARSE_PARAM
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void *YYPARSE_PARAM)
+#else
+int
+yyparse (YYPARSE_PARAM)
+    void *YYPARSE_PARAM;
+#endif
+#else /* ! YYPARSE_PARAM */
+#if (defined __STDC__ || defined __C99__FUNC__ \
+     || defined __cplusplus || defined _MSC_VER)
+int
+yyparse (void)
+#else
+int
+yyparse ()
+
+#endif
+#endif
+{
+    int yystate;
+    /* Number of tokens to shift before error messages enabled.  */
+    int yyerrstatus;
+
+    /* The stacks and their tools:
+       `yyss': related to states.
+       `yyvs': related to semantic values.
+
+       Refer to the stacks thru separate pointers, to allow yyoverflow
+       to reallocate them elsewhere.  */
+
+    /* The state stack.  */
+    yytype_int16 yyssa[YYINITDEPTH];
+    yytype_int16 *yyss;
+    yytype_int16 *yyssp;
+
+    /* The semantic value stack.  */
+    YYSTYPE yyvsa[YYINITDEPTH];
+    YYSTYPE *yyvs;
+    YYSTYPE *yyvsp;
+
+    YYSIZE_T yystacksize;
+
+  int yyn;
+  int yyresult;
+  /* Lookahead token as an internal (translated) token number.  */
+  int yytoken;
+  /* The variables used to return semantic value and location from the
+     action routines.  */
+  YYSTYPE yyval;
+
+#if YYERROR_VERBOSE
+  /* Buffer for error messages, and its allocated size.  */
+  char yymsgbuf[128];
+  char *yymsg = yymsgbuf;
+  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
+
+  /* The number of symbols on the RHS of the reduced rule.
+     Keep to zero when no symbol should be popped.  */
+  int yylen = 0;
+
+  yytoken = 0;
+  yyss = yyssa;
+  yyvs = yyvsa;
+  yystacksize = YYINITDEPTH;
+
+  YYDPRINTF ((stderr, "Starting parse\n"));
+
+  yystate = 0;
+  yyerrstatus = 0;
+  yynerrs = 0;
+  yychar = YYEMPTY; /* Cause a token to be read.  */
+
+  /* Initialize stack pointers.
+     Waste one element of value and location stack
+     so that they stay on the same level as the state stack.
+     The wasted elements are never initialized.  */
+  yyssp = yyss;
+  yyvsp = yyvs;
+
+  goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate.  |
+`------------------------------------------------------------*/
+ yynewstate:
+  /* In all cases, when you get here, the value and location stacks
+     have just been pushed.  So pushing a state here evens the stacks.  */
+  yyssp++;
+
+ yysetstate:
+  *yyssp = yystate;
+
+  if (yyss + yystacksize - 1 <= yyssp)
+    {
+      /* Get the current used size of the three stacks, in elements.  */
+      YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+      {
+	/* Give user a chance to reallocate the stack.  Use copies of
+	   these so that the &'s don't force the real ones into
+	   memory.  */
+	YYSTYPE *yyvs1 = yyvs;
+	yytype_int16 *yyss1 = yyss;
+
+	/* Each stack pointer address is followed by the size of the
+	   data in use in that stack, in bytes.  This used to be a
+	   conditional around just the two extra args, but that might
+	   be undefined if yyoverflow is a macro.  */
+	yyoverflow (YY_("memory exhausted"),
+		    &yyss1, yysize * sizeof (*yyssp),
+		    &yyvs1, yysize * sizeof (*yyvsp),
+		    &yystacksize);
+
+	yyss = yyss1;
+	yyvs = yyvs1;
+      }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+      goto yyexhaustedlab;
+# else
+      /* Extend the stack our own way.  */
+      if (YYMAXDEPTH <= yystacksize)
+	goto yyexhaustedlab;
+      yystacksize *= 2;
+      if (YYMAXDEPTH < yystacksize)
+	yystacksize = YYMAXDEPTH;
+
+      {
+	yytype_int16 *yyss1 = yyss;
+	union yyalloc *yyptr =
+	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+	if (! yyptr)
+	  goto yyexhaustedlab;
+	YYSTACK_RELOCATE (yyss_alloc, yyss);
+	YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+#  undef YYSTACK_RELOCATE
+	if (yyss1 != yyssa)
+	  YYSTACK_FREE (yyss1);
+      }
+# endif
+#endif /* no yyoverflow */
+
+      yyssp = yyss + yysize - 1;
+      yyvsp = yyvs + yysize - 1;
+
+      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+		  (unsigned long int) yystacksize));
+
+      if (yyss + yystacksize - 1 <= yyssp)
+	YYABORT;
+    }
+
+  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+  if (yystate == YYFINAL)
+    YYACCEPT;
+
+  goto yybackup;
+
+/*-----------.
+| yybackup.  |
+`-----------*/
+yybackup:
+
+  /* Do appropriate processing given the current state.  Read a
+     lookahead token if we need one and don't already have one.  */
+
+  /* First try to decide what to do without reference to lookahead token.  */
+  yyn = yypact[yystate];
+  if (yypact_value_is_default (yyn))
+    goto yydefault;
+
+  /* Not known => get a lookahead token if don't already have one.  */
+
+  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
+  if (yychar == YYEMPTY)
+    {
+      YYDPRINTF ((stderr, "Reading a token: "));
+      yychar = YYLEX;
+    }
+
+  if (yychar <= YYEOF)
+    {
+      yychar = yytoken = YYEOF;
+      YYDPRINTF ((stderr, "Now@end of input.\n"));
+    }
+  else
+    {
+      yytoken = YYTRANSLATE (yychar);
+      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+    }
+
+  /* If the proper action on seeing token YYTOKEN is to reduce or to
+     detect an error, take that action.  */
+  yyn += yytoken;
+  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+    goto yydefault;
+  yyn = yytable[yyn];
+  if (yyn <= 0)
+    {
+      if (yytable_value_is_error (yyn))
+        goto yyerrlab;
+      yyn = -yyn;
+      goto yyreduce;
+    }
+
+  /* Count tokens shifted since error; after three, turn off error
+     status.  */
+  if (yyerrstatus)
+    yyerrstatus--;
+
+  /* Shift the lookahead token.  */
+  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+  /* Discard the shifted token.  */
+  yychar = YYEMPTY;
+
+  yystate = yyn;
+  *++yyvsp = yylval;
+
+  goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state.  |
+`-----------------------------------------------------------*/
+yydefault:
+  yyn = yydefact[yystate];
+  if (yyn == 0)
+    goto yyerrlab;
+  goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction.  |
+`-----------------------------*/
+yyreduce:
+  /* yyn is the number of a rule to reduce with.  */
+  yylen = yyr2[yyn];
+
+  /* If YYLEN is nonzero, implement the default value of the action:
+     `$$ = $1'.
+
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
+     users should not rely upon it.  Assigning to YYVAL
+     unconditionally makes the parser a bit smaller, and it avoids a
+     GCC warning that YYVAL may be used uninitialized.  */
+  yyval = yyvsp[1-yylen];
+
+
+  YY_REDUCE_PRINT (yyn);
+  switch (yyn)
+    {
+        case 10:
+
+    { zconf_error("unexpected end statement"); }
+    break;
+
+  case 11:
+
+    { zconf_error("unknown statement \"%s\"", (yyvsp[(2) - (4)].string)); }
+    break;
+
+  case 12:
+
+    {
+	zconf_error("unexpected option \"%s\"", kconf_id_strings + (yyvsp[(2) - (4)].id)->name);
+}
+    break;
+
+  case 13:
+
+    { zconf_error("invalid statement"); }
+    break;
+
+  case 28:
+
+    { zconf_error("unknown option \"%s\"", (yyvsp[(1) - (3)].string)); }
+    break;
+
+  case 29:
+
+    { zconf_error("invalid option"); }
+    break;
+
+  case 30:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+}
+    break;
+
+  case 31:
+
+    {
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 32:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+}
+    break;
+
+  case 33:
+
+    {
+	if (current_entry->prompt)
+		current_entry->prompt->type = P_MENU;
+	else
+		zconfprint("warning: menuconfig statement without prompt");
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 41:
+
+    {
+	menu_set_type((yyvsp[(1) - (3)].id)->stype);
+	printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		(yyvsp[(1) - (3)].id)->stype);
+}
+    break;
+
+  case 42:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 43:
+
+    {
+	menu_add_expr(P_DEFAULT, (yyvsp[(2) - (4)].expr), (yyvsp[(3) - (4)].expr));
+	if ((yyvsp[(1) - (4)].id)->stype != S_UNKNOWN)
+		menu_set_type((yyvsp[(1) - (4)].id)->stype);
+	printd(DEBUG_PARSE, "%s:%d:default(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		(yyvsp[(1) - (4)].id)->stype);
+}
+    break;
+
+  case 44:
+
+    {
+	menu_add_symbol(P_SELECT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 45:
+
+    {
+	menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,(yyvsp[(2) - (5)].symbol), (yyvsp[(3) - (5)].symbol)), (yyvsp[(4) - (5)].expr));
+	printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 48:
+
+    {
+	const struct kconf_id *id = kconf_id_lookup((yyvsp[(2) - (3)].string), strlen((yyvsp[(2) - (3)].string)));
+	if (id && id->flags & TF_OPTION)
+		menu_add_option(id->token, (yyvsp[(3) - (3)].string));
+	else
+		zconfprint("warning: ignoring unknown option %s", (yyvsp[(2) - (3)].string));
+	free((yyvsp[(2) - (3)].string));
+}
+    break;
+
+  case 49:
+
+    { (yyval.string) = NULL; }
+    break;
+
+  case 50:
+
+    { (yyval.string) = (yyvsp[(2) - (2)].string); }
+    break;
+
+  case 51:
+
+    {
+	struct symbol *sym = sym_lookup((yyvsp[(2) - (3)].string), SYMBOL_CHOICE);
+	sym->flags |= SYMBOL_AUTO;
+	menu_add_entry(sym);
+	menu_add_expr(P_CHOICE, NULL, NULL);
+	printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 52:
+
+    {
+	(yyval.menu) = menu_add_menu();
+}
+    break;
+
+  case 53:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_CHOICE, T_ENDCHOICE)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno());
+	}
+}
+    break;
+
+  case 61:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(2) - (4)].string), (yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 62:
+
+    {
+	if ((yyvsp[(1) - (3)].id)->stype == S_BOOLEAN || (yyvsp[(1) - (3)].id)->stype == S_TRISTATE) {
+		menu_set_type((yyvsp[(1) - (3)].id)->stype);
+		printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+			zconf_curname(), zconf_lineno(),
+			(yyvsp[(1) - (3)].id)->stype);
+	} else
+		YYERROR;
+}
+    break;
+
+  case 63:
+
+    {
+	current_entry->sym->flags |= SYMBOL_OPTIONAL;
+	printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 64:
+
+    {
+	if ((yyvsp[(1) - (4)].id)->stype == S_UNKNOWN) {
+		menu_add_symbol(P_DEFAULT, sym_lookup((yyvsp[(2) - (4)].string), 0), (yyvsp[(3) - (4)].expr));
+		printd(DEBUG_PARSE, "%s:%d:default\n",
+			zconf_curname(), zconf_lineno());
+	} else
+		YYERROR;
+}
+    break;
+
+  case 67:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
+	menu_add_entry(NULL);
+	menu_add_dep((yyvsp[(2) - (3)].expr));
+	(yyval.menu) = menu_add_menu();
+}
+    break;
+
+  case 68:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_IF, T_ENDIF)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno());
+	}
+}
+    break;
+
+  case 74:
+
+    {
+	menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL);
+}
+    break;
+
+  case 75:
+
+    {
+	menu_add_entry(NULL);
+	menu_add_prompt(P_MENU, (yyvsp[(2) - (3)].string), NULL);
+	printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 76:
+
+    {
+	(yyval.menu) = menu_add_menu();
+}
+    break;
+
+  case 77:
+
+    {
+	if (zconf_endtoken((yyvsp[(1) - (1)].id), T_MENU, T_ENDMENU)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno());
+	}
+}
+    break;
+
+  case 83:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), (yyvsp[(2) - (3)].string));
+	zconf_nextfile((yyvsp[(2) - (3)].string));
+}
+    break;
+
+  case 84:
+
+    {
+	menu_add_entry(NULL);
+	menu_add_prompt(P_COMMENT, (yyvsp[(2) - (3)].string), NULL);
+	printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 85:
+
+    {
+	menu_end_entry();
+}
+    break;
+
+  case 86:
+
+    {
+	printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
+	zconf_starthelp();
+}
+    break;
+
+  case 87:
+
+    {
+	current_entry->help = (yyvsp[(2) - (2)].string);
+}
+    break;
+
+  case 92:
+
+    {
+	menu_add_dep((yyvsp[(3) - (4)].expr));
+	printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
+}
+    break;
+
+  case 96:
+
+    {
+	menu_add_visibility((yyvsp[(2) - (2)].expr));
+}
+    break;
+
+  case 98:
+
+    {
+	menu_add_prompt(P_PROMPT, (yyvsp[(1) - (2)].string), (yyvsp[(2) - (2)].expr));
+}
+    break;
+
+  case 101:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); }
+    break;
+
+  case 102:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); }
+    break;
+
+  case 103:
+
+    { (yyval.id) = (yyvsp[(1) - (2)].id); }
+    break;
+
+  case 106:
+
+    { (yyval.expr) = NULL; }
+    break;
+
+  case 107:
+
+    { (yyval.expr) = (yyvsp[(2) - (2)].expr); }
+    break;
+
+  case 108:
+
+    { (yyval.expr) = expr_alloc_symbol((yyvsp[(1) - (1)].symbol)); }
+    break;
+
+  case 109:
+
+    { (yyval.expr) = expr_alloc_comp(E_EQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); }
+    break;
+
+  case 110:
+
+    { (yyval.expr) = expr_alloc_comp(E_UNEQUAL, (yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].symbol)); }
+    break;
+
+  case 111:
+
+    { (yyval.expr) = (yyvsp[(2) - (3)].expr); }
+    break;
+
+  case 112:
+
+    { (yyval.expr) = expr_alloc_one(E_NOT, (yyvsp[(2) - (2)].expr)); }
+    break;
+
+  case 113:
+
+    { (yyval.expr) = expr_alloc_two(E_OR, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); }
+    break;
+
+  case 114:
+
+    { (yyval.expr) = expr_alloc_two(E_AND, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr)); }
+    break;
+
+  case 115:
+
+    { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), 0); free((yyvsp[(1) - (1)].string)); }
+    break;
+
+  case 116:
+
+    { (yyval.symbol) = sym_lookup((yyvsp[(1) - (1)].string), SYMBOL_CONST); free((yyvsp[(1) - (1)].string)); }
+    break;
+
+  case 117:
+
+    { (yyval.string) = NULL; }
+    break;
+
+
+
+      default: break;
+    }
+  /* User semantic actions sometimes alter yychar, and that requires
+     that yytoken be updated with the new translation.  We take the
+     approach of translating immediately before every use of yytoken.
+     One alternative is translating here after every semantic action,
+     but that translation would be missed if the semantic action invokes
+     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
+     incorrect destructor might then be invoked immediately.  In the
+     case of YYERROR or YYBACKUP, subsequent parser actions might lead
+     to an incorrect destructor call or verbose syntax error message
+     before the lookahead is translated.  */
+  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+
+  *++yyvsp = yyval;
+
+  /* Now `shift' the result of the reduction.  Determine what state
+     that goes to, based on the state we popped back to and the rule
+     number reduced by.  */
+
+  yyn = yyr1[yyn];
+
+  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+    yystate = yytable[yystate];
+  else
+    yystate = yydefgoto[yyn - YYNTOKENS];
+
+  goto yynewstate;
+
+
+/*------------------------------------.
+| yyerrlab -- here on detecting error |
+`------------------------------------*/
+yyerrlab:
+  /* Make sure we have latest lookahead translation.  See comments at
+     user semantic actions for why this is necessary.  */
+  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
+
+  /* If not already recovering from an error, report this error.  */
+  if (!yyerrstatus)
+    {
+      ++yynerrs;
+#if ! YYERROR_VERBOSE
+      yyerror (YY_("syntax error"));
+#else
+# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
+                                        yyssp, yytoken)
+      {
+        char const *yymsgp = YY_("syntax error");
+        int yysyntax_error_status;
+        yysyntax_error_status = YYSYNTAX_ERROR;
+        if (yysyntax_error_status == 0)
+          yymsgp = yymsg;
+        else if (yysyntax_error_status == 1)
+          {
+            if (yymsg != yymsgbuf)
+              YYSTACK_FREE (yymsg);
+            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+            if (!yymsg)
+              {
+                yymsg = yymsgbuf;
+                yymsg_alloc = sizeof yymsgbuf;
+                yysyntax_error_status = 2;
+              }
+            else
+              {
+                yysyntax_error_status = YYSYNTAX_ERROR;
+                yymsgp = yymsg;
+              }
+          }
+        yyerror (yymsgp);
+        if (yysyntax_error_status == 2)
+          goto yyexhaustedlab;
+      }
+# undef YYSYNTAX_ERROR
+#endif
+    }
+
+
+
+  if (yyerrstatus == 3)
+    {
+      /* If just tried and failed to reuse lookahead token after an
+	 error, discard it.  */
+
+      if (yychar <= YYEOF)
+	{
+	  /* Return failure if@end of input.  */
+	  if (yychar == YYEOF)
+	    YYABORT;
+	}
+      else
+	{
+	  yydestruct ("Error: discarding",
+		      yytoken, &yylval);
+	  yychar = YYEMPTY;
+	}
+    }
+
+  /* Else will try to reuse lookahead token after shifting the error
+     token.  */
+  goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR.  |
+`---------------------------------------------------*/
+yyerrorlab:
+
+  /* Pacify compilers like GCC when the user code never invokes
+     YYERROR and the label yyerrorlab therefore never appears in user
+     code.  */
+  if (/*CONSTCOND*/ 0)
+     goto yyerrorlab;
+
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYERROR.  */
+  YYPOPSTACK (yylen);
+  yylen = 0;
+  YY_STACK_PRINT (yyss, yyssp);
+  yystate = *yyssp;
+  goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR.  |
+`-------------------------------------------------------------*/
+yyerrlab1:
+  yyerrstatus = 3;	/* Each real token shifted decrements this.  */
+
+  for (;;)
+    {
+      yyn = yypact[yystate];
+      if (!yypact_value_is_default (yyn))
+	{
+	  yyn += YYTERROR;
+	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+	    {
+	      yyn = yytable[yyn];
+	      if (0 < yyn)
+		break;
+	    }
+	}
+
+      /* Pop the current state because it cannot handle the error token.  */
+      if (yyssp == yyss)
+	YYABORT;
+
+
+      yydestruct ("Error: popping",
+		  yystos[yystate], yyvsp);
+      YYPOPSTACK (1);
+      yystate = *yyssp;
+      YY_STACK_PRINT (yyss, yyssp);
+    }
+
+  *++yyvsp = yylval;
+
+
+  /* Shift the error token.  */
+  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+  yystate = yyn;
+  goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here.  |
+`-------------------------------------*/
+yyacceptlab:
+  yyresult = 0;
+  goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here.  |
+`-----------------------------------*/
+yyabortlab:
+  yyresult = 1;
+  goto yyreturn;
+
+#if !defined(yyoverflow) || YYERROR_VERBOSE
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here.  |
+`-------------------------------------------------*/
+yyexhaustedlab:
+  yyerror (YY_("memory exhausted"));
+  yyresult = 2;
+  /* Fall through.  */
+#endif
+
+yyreturn:
+  if (yychar != YYEMPTY)
+    {
+      /* Make sure we have latest lookahead translation.  See comments at
+         user semantic actions for why this is necessary.  */
+      yytoken = YYTRANSLATE (yychar);
+      yydestruct ("Cleanup: discarding lookahead",
+                  yytoken, &yylval);
+    }
+  /* Do not reclaim the symbols of the rule which action triggered
+     this YYABORT or YYACCEPT.  */
+  YYPOPSTACK (yylen);
+  YY_STACK_PRINT (yyss, yyssp);
+  while (yyssp != yyss)
+    {
+      yydestruct ("Cleanup: popping",
+		  yystos[*yyssp], yyvsp);
+      YYPOPSTACK (1);
+    }
+#ifndef yyoverflow
+  if (yyss != yyssa)
+    YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+  if (yymsg != yymsgbuf)
+    YYSTACK_FREE (yymsg);
+#endif
+  /* Make sure YYID is used.  */
+  return YYID (yyresult);
+}
+
+
+
+
+
+void conf_parse(const char *name)
+{
+	struct symbol *sym;
+	int i;
+
+	zconf_initscan(name);
+
+	sym_init();
+	_menu_init();
+	rootmenu.prompt = menu_add_prompt(P_MENU, "Linux Kernel Configuration", NULL);
+
+	if (getenv("ZCONF_DEBUG"))
+		zconfdebug = 1;
+	zconfparse();
+	if (zconfnerrs)
+		exit(1);
+	if (!modules_sym)
+		modules_sym = sym_find( "n" );
+
+	rootmenu.prompt->text = _(rootmenu.prompt->text);
+	rootmenu.prompt->text = sym_expand_string_value(rootmenu.prompt->text);
+
+	menu_finalize(&rootmenu);
+	for_all_symbols(i, sym) {
+		if (sym_check_deps(sym))
+			zconfnerrs++;
+        }
+	if (zconfnerrs)
+		exit(1);
+	sym_set_change_count(1);
+}
+
+static const char *zconf_tokenname(int token)
+{
+	switch (token) {
+	case T_MENU:		return "menu";
+	case T_ENDMENU:		return "endmenu";
+	case T_CHOICE:		return "choice";
+	case T_ENDCHOICE:	return "endchoice";
+	case T_IF:		return "if";
+	case T_ENDIF:		return "endif";
+	case T_DEPENDS:		return "depends";
+	case T_VISIBLE:		return "visible";
+	}
+	return "<token>";
+}
+
+static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken)
+{
+	if (id->token != endtoken) {
+		zconf_error("unexpected '%s' within %s block",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	if (current_menu->file != current_file) {
+		zconf_error("'%s' in different file than '%s'",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		fprintf(stderr, "%s:%d: location of the '%s'\n",
+			current_menu->file->name, current_menu->lineno,
+			zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	return true;
+}
+
+static void zconfprint(const char *err, ...)
+{
+	va_list ap;
+
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconf_error(const char *err, ...)
+{
+	va_list ap;
+
+	zconfnerrs++;
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconferror(const char *err)
+{
+	fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err);
+}
+
+static void print_quoted_string(FILE *out, const char *str)
+{
+	const char *p;
+	int len;
+
+	putc('"', out);
+	while ((p = strchr(str, '"'))) {
+		len = p - str;
+		if (len)
+			fprintf(out, "%.*s", len, str);
+		fputs("\\\"", out);
+		str = p + 1;
+	}
+	fputs(str, out);
+	putc('"', out);
+}
+
+static void print_symbol(FILE *out, struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	struct property *prop;
+
+	if (sym_is_choice(sym))
+		fprintf(out, "\nchoice\n");
+	else
+		fprintf(out, "\nconfig %s\n", sym->name);
+	switch (sym->type) {
+	case S_BOOLEAN:
+		fputs("  boolean\n", out);
+		break;
+	case S_TRISTATE:
+		fputs("  tristate\n", out);
+		break;
+	case S_STRING:
+		fputs("  string\n", out);
+		break;
+	case S_INT:
+		fputs("  integer\n", out);
+		break;
+	case S_HEX:
+		fputs("  hex\n", out);
+		break;
+	default:
+		fputs("  ???\n", out);
+		break;
+	}
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->menu != menu)
+			continue;
+		switch (prop->type) {
+		case P_PROMPT:
+			fputs("  prompt ", out);
+			print_quoted_string(out, prop->text);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_DEFAULT:
+			fputs( "  default ", out);
+			expr_fprint(prop->expr, out);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_CHOICE:
+			fputs("  #choice value\n", out);
+			break;
+		case P_SELECT:
+			fputs( "  select ", out);
+			expr_fprint(prop->expr, out);
+			fputc('\n', out);
+			break;
+		case P_RANGE:
+			fputs( "  range ", out);
+			expr_fprint(prop->expr, out);
+			fputc('\n', out);
+			break;
+		case P_MENU:
+			fputs( "  menu ", out);
+			print_quoted_string(out, prop->text);
+			fputc('\n', out);
+			break;
+		default:
+			fprintf(out, "  unknown prop %d!\n", prop->type);
+			break;
+		}
+	}
+	if (menu->help) {
+		int len = strlen(menu->help);
+		while (menu->help[--len] == '\n')
+			menu->help[len] = 0;
+		fprintf(out, "  help\n%s\n", menu->help);
+	}
+}
+
+void zconfdump(FILE *out)
+{
+	struct property *prop;
+	struct symbol *sym;
+	struct menu *menu;
+
+	menu = rootmenu.list;
+	while (menu) {
+		if ((sym = menu->sym))
+			print_symbol(out, menu);
+		else if ((prop = menu->prompt)) {
+			switch (prop->type) {
+			case P_COMMENT:
+				fputs("\ncomment ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			case P_MENU:
+				fputs("\nmenu ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			default:
+				;
+			}
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs("  depends ", out);
+				expr_fprint(prop->visible.expr, out);
+				fputc('\n', out);
+			}
+		}
+
+		if (menu->list)
+			menu = menu->list;
+		else if (menu->next)
+			menu = menu->next;
+		else while ((menu = menu->parent)) {
+			if (menu->prompt && menu->prompt->type == P_MENU)
+				fputs("\nendmenu\n", out);
+			if (menu->next) {
+				menu = menu->next;
+				break;
+			}
+		}
+	}
+}
+
+#include "zconf.lex.c"
+#include "util.c"
+#include "confdata.c"
+#include "expr.c"
+#include "symbol.c"
+#include "menu.c"
+
diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
new file mode 100644
index 0000000..0653886
--- /dev/null
+++ b/scripts/kconfig/zconf.y
@@ -0,0 +1,733 @@
+%{
+/*
+ * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
+ * Released under the terms of the GNU GPL v2.0.
+ */
+
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdbool.h>
+
+#include "lkc.h"
+
+#define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt)
+
+#define PRINTD		0x0001
+#define DEBUG_PARSE	0x0002
+
+int cdebug = PRINTD;
+
+extern int zconflex(void);
+static void zconfprint(const char *err, ...);
+static void zconf_error(const char *err, ...);
+static void zconferror(const char *err);
+static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken);
+
+struct symbol *symbol_hash[SYMBOL_HASHSIZE];
+
+static struct menu *current_menu, *current_entry;
+
+%}
+%expect 30
+
+%union
+{
+	char *string;
+	struct file *file;
+	struct symbol *symbol;
+	struct expr *expr;
+	struct menu *menu;
+	const struct kconf_id *id;
+}
+
+%token <id>T_MAINMENU
+%token <id>T_MENU
+%token <id>T_ENDMENU
+%token <id>T_SOURCE
+%token <id>T_CHOICE
+%token <id>T_ENDCHOICE
+%token <id>T_COMMENT
+%token <id>T_CONFIG
+%token <id>T_MENUCONFIG
+%token <id>T_HELP
+%token <string> T_HELPTEXT
+%token <id>T_IF
+%token <id>T_ENDIF
+%token <id>T_DEPENDS
+%token <id>T_OPTIONAL
+%token <id>T_PROMPT
+%token <id>T_TYPE
+%token <id>T_DEFAULT
+%token <id>T_SELECT
+%token <id>T_RANGE
+%token <id>T_VISIBLE
+%token <id>T_OPTION
+%token <id>T_ON
+%token <string> T_WORD
+%token <string> T_WORD_QUOTE
+%token T_UNEQUAL
+%token T_CLOSE_PAREN
+%token T_OPEN_PAREN
+%token T_EOL
+
+%left T_OR
+%left T_AND
+%left T_EQUAL T_UNEQUAL
+%nonassoc T_NOT
+
+%type <string> prompt
+%type <symbol> symbol
+%type <expr> expr
+%type <expr> if_expr
+%type <id> end
+%type <id> option_name
+%type <menu> if_entry menu_entry choice_entry
+%type <string> symbol_option_arg word_opt
+
+%destructor {
+	fprintf(stderr, "%s:%d: missing end statement for this entry\n",
+		$$->file->name, $$->lineno);
+	if (current_menu == $$)
+		menu_end_menu();
+} if_entry menu_entry choice_entry
+
+%{
+/* Include zconf.hash.c here so it can see the token constants. */
+#include "zconf.hash.c"
+%}
+
+%%
+input: nl start | start;
+
+start: mainmenu_stmt stmt_list | stmt_list;
+
+stmt_list:
+	  /* empty */
+	| stmt_list common_stmt
+	| stmt_list choice_stmt
+	| stmt_list menu_stmt
+	| stmt_list end			{ zconf_error("unexpected end statement"); }
+	| stmt_list T_WORD error T_EOL	{ zconf_error("unknown statement \"%s\"", $2); }
+	| stmt_list option_name error T_EOL
+{
+	zconf_error("unexpected option \"%s\"", kconf_id_strings + $2->name);
+}
+	| stmt_list error T_EOL		{ zconf_error("invalid statement"); }
+;
+
+option_name:
+	T_DEPENDS | T_PROMPT | T_TYPE | T_SELECT | T_OPTIONAL | T_RANGE | T_DEFAULT | T_VISIBLE
+;
+
+common_stmt:
+	  T_EOL
+	| if_stmt
+	| comment_stmt
+	| config_stmt
+	| menuconfig_stmt
+	| source_stmt
+;
+
+option_error:
+	  T_WORD error T_EOL		{ zconf_error("unknown option \"%s\"", $1); }
+	| error T_EOL			{ zconf_error("invalid option"); }
+;
+
+
+/* config/menuconfig entry */
+
+config_entry_start: T_CONFIG T_WORD T_EOL
+{
+	struct symbol *sym = sym_lookup($2, 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:config %s\n", zconf_curname(), zconf_lineno(), $2);
+};
+
+config_stmt: config_entry_start config_option_list
+{
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+};
+
+menuconfig_entry_start: T_MENUCONFIG T_WORD T_EOL
+{
+	struct symbol *sym = sym_lookup($2, 0);
+	sym->flags |= SYMBOL_OPTIONAL;
+	menu_add_entry(sym);
+	printd(DEBUG_PARSE, "%s:%d:menuconfig %s\n", zconf_curname(), zconf_lineno(), $2);
+};
+
+menuconfig_stmt: menuconfig_entry_start config_option_list
+{
+	if (current_entry->prompt)
+		current_entry->prompt->type = P_MENU;
+	else
+		zconfprint("warning: menuconfig statement without prompt");
+	menu_end_entry();
+	printd(DEBUG_PARSE, "%s:%d:endconfig\n", zconf_curname(), zconf_lineno());
+};
+
+config_option_list:
+	  /* empty */
+	| config_option_list config_option
+	| config_option_list symbol_option
+	| config_option_list depends
+	| config_option_list help
+	| config_option_list option_error
+	| config_option_list T_EOL
+;
+
+config_option: T_TYPE prompt_stmt_opt T_EOL
+{
+	menu_set_type($1->stype);
+	printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		$1->stype);
+};
+
+config_option: T_PROMPT prompt if_expr T_EOL
+{
+	menu_add_prompt(P_PROMPT, $2, $3);
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+};
+
+config_option: T_DEFAULT expr if_expr T_EOL
+{
+	menu_add_expr(P_DEFAULT, $2, $3);
+	if ($1->stype != S_UNKNOWN)
+		menu_set_type($1->stype);
+	printd(DEBUG_PARSE, "%s:%d:default(%u)\n",
+		zconf_curname(), zconf_lineno(),
+		$1->stype);
+};
+
+config_option: T_SELECT T_WORD if_expr T_EOL
+{
+	menu_add_symbol(P_SELECT, sym_lookup($2, 0), $3);
+	printd(DEBUG_PARSE, "%s:%d:select\n", zconf_curname(), zconf_lineno());
+};
+
+config_option: T_RANGE symbol symbol if_expr T_EOL
+{
+	menu_add_expr(P_RANGE, expr_alloc_comp(E_RANGE,$2, $3), $4);
+	printd(DEBUG_PARSE, "%s:%d:range\n", zconf_curname(), zconf_lineno());
+};
+
+symbol_option: T_OPTION symbol_option_list T_EOL
+;
+
+symbol_option_list:
+	  /* empty */
+	| symbol_option_list T_WORD symbol_option_arg
+{
+	const struct kconf_id *id = kconf_id_lookup($2, strlen($2));
+	if (id && id->flags & TF_OPTION)
+		menu_add_option(id->token, $3);
+	else
+		zconfprint("warning: ignoring unknown option %s", $2);
+	free($2);
+};
+
+symbol_option_arg:
+	  /* empty */		{ $$ = NULL; }
+	| T_EQUAL prompt	{ $$ = $2; }
+;
+
+/* choice entry */
+
+choice: T_CHOICE word_opt T_EOL
+{
+	struct symbol *sym = sym_lookup($2, SYMBOL_CHOICE);
+	sym->flags |= SYMBOL_AUTO;
+	menu_add_entry(sym);
+	menu_add_expr(P_CHOICE, NULL, NULL);
+	printd(DEBUG_PARSE, "%s:%d:choice\n", zconf_curname(), zconf_lineno());
+};
+
+choice_entry: choice choice_option_list
+{
+	$$ = menu_add_menu();
+};
+
+choice_end: end
+{
+	if (zconf_endtoken($1, T_CHOICE, T_ENDCHOICE)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endchoice\n", zconf_curname(), zconf_lineno());
+	}
+};
+
+choice_stmt: choice_entry choice_block choice_end
+;
+
+choice_option_list:
+	  /* empty */
+	| choice_option_list choice_option
+	| choice_option_list depends
+	| choice_option_list help
+	| choice_option_list T_EOL
+	| choice_option_list option_error
+;
+
+choice_option: T_PROMPT prompt if_expr T_EOL
+{
+	menu_add_prompt(P_PROMPT, $2, $3);
+	printd(DEBUG_PARSE, "%s:%d:prompt\n", zconf_curname(), zconf_lineno());
+};
+
+choice_option: T_TYPE prompt_stmt_opt T_EOL
+{
+	if ($1->stype == S_BOOLEAN || $1->stype == S_TRISTATE) {
+		menu_set_type($1->stype);
+		printd(DEBUG_PARSE, "%s:%d:type(%u)\n",
+			zconf_curname(), zconf_lineno(),
+			$1->stype);
+	} else
+		YYERROR;
+};
+
+choice_option: T_OPTIONAL T_EOL
+{
+	current_entry->sym->flags |= SYMBOL_OPTIONAL;
+	printd(DEBUG_PARSE, "%s:%d:optional\n", zconf_curname(), zconf_lineno());
+};
+
+choice_option: T_DEFAULT T_WORD if_expr T_EOL
+{
+	if ($1->stype == S_UNKNOWN) {
+		menu_add_symbol(P_DEFAULT, sym_lookup($2, 0), $3);
+		printd(DEBUG_PARSE, "%s:%d:default\n",
+			zconf_curname(), zconf_lineno());
+	} else
+		YYERROR;
+};
+
+choice_block:
+	  /* empty */
+	| choice_block common_stmt
+;
+
+/* if entry */
+
+if_entry: T_IF expr nl
+{
+	printd(DEBUG_PARSE, "%s:%d:if\n", zconf_curname(), zconf_lineno());
+	menu_add_entry(NULL);
+	menu_add_dep($2);
+	$$ = menu_add_menu();
+};
+
+if_end: end
+{
+	if (zconf_endtoken($1, T_IF, T_ENDIF)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endif\n", zconf_curname(), zconf_lineno());
+	}
+};
+
+if_stmt: if_entry if_block if_end
+;
+
+if_block:
+	  /* empty */
+	| if_block common_stmt
+	| if_block menu_stmt
+	| if_block choice_stmt
+;
+
+/* mainmenu entry */
+
+mainmenu_stmt: T_MAINMENU prompt nl
+{
+	menu_add_prompt(P_MENU, $2, NULL);
+};
+
+/* menu entry */
+
+menu: T_MENU prompt T_EOL
+{
+	menu_add_entry(NULL);
+	menu_add_prompt(P_MENU, $2, NULL);
+	printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno());
+};
+
+menu_entry: menu visibility_list depends_list
+{
+	$$ = menu_add_menu();
+};
+
+menu_end: end
+{
+	if (zconf_endtoken($1, T_MENU, T_ENDMENU)) {
+		menu_end_menu();
+		printd(DEBUG_PARSE, "%s:%d:endmenu\n", zconf_curname(), zconf_lineno());
+	}
+};
+
+menu_stmt: menu_entry menu_block menu_end
+;
+
+menu_block:
+	  /* empty */
+	| menu_block common_stmt
+	| menu_block menu_stmt
+	| menu_block choice_stmt
+;
+
+source_stmt: T_SOURCE prompt T_EOL
+{
+	printd(DEBUG_PARSE, "%s:%d:source %s\n", zconf_curname(), zconf_lineno(), $2);
+	zconf_nextfile($2);
+};
+
+/* comment entry */
+
+comment: T_COMMENT prompt T_EOL
+{
+	menu_add_entry(NULL);
+	menu_add_prompt(P_COMMENT, $2, NULL);
+	printd(DEBUG_PARSE, "%s:%d:comment\n", zconf_curname(), zconf_lineno());
+};
+
+comment_stmt: comment depends_list
+{
+	menu_end_entry();
+};
+
+/* help option */
+
+help_start: T_HELP T_EOL
+{
+	printd(DEBUG_PARSE, "%s:%d:help\n", zconf_curname(), zconf_lineno());
+	zconf_starthelp();
+};
+
+help: help_start T_HELPTEXT
+{
+	current_entry->help = $2;
+};
+
+/* depends option */
+
+depends_list:
+	  /* empty */
+	| depends_list depends
+	| depends_list T_EOL
+	| depends_list option_error
+;
+
+depends: T_DEPENDS T_ON expr T_EOL
+{
+	menu_add_dep($3);
+	printd(DEBUG_PARSE, "%s:%d:depends on\n", zconf_curname(), zconf_lineno());
+};
+
+/* visibility option */
+
+visibility_list:
+	  /* empty */
+	| visibility_list visible
+	| visibility_list T_EOL
+;
+
+visible: T_VISIBLE if_expr
+{
+	menu_add_visibility($2);
+};
+
+/* prompt statement */
+
+prompt_stmt_opt:
+	  /* empty */
+	| prompt if_expr
+{
+	menu_add_prompt(P_PROMPT, $1, $2);
+};
+
+prompt:	  T_WORD
+	| T_WORD_QUOTE
+;
+
+end:	  T_ENDMENU T_EOL	{ $$ = $1; }
+	| T_ENDCHOICE T_EOL	{ $$ = $1; }
+	| T_ENDIF T_EOL		{ $$ = $1; }
+;
+
+nl:
+	  T_EOL
+	| nl T_EOL
+;
+
+if_expr:  /* empty */			{ $$ = NULL; }
+	| T_IF expr			{ $$ = $2; }
+;
+
+expr:	  symbol				{ $$ = expr_alloc_symbol($1); }
+	| symbol T_EQUAL symbol			{ $$ = expr_alloc_comp(E_EQUAL, $1, $3); }
+	| symbol T_UNEQUAL symbol		{ $$ = expr_alloc_comp(E_UNEQUAL, $1, $3); }
+	| T_OPEN_PAREN expr T_CLOSE_PAREN	{ $$ = $2; }
+	| T_NOT expr				{ $$ = expr_alloc_one(E_NOT, $2); }
+	| expr T_OR expr			{ $$ = expr_alloc_two(E_OR, $1, $3); }
+	| expr T_AND expr			{ $$ = expr_alloc_two(E_AND, $1, $3); }
+;
+
+symbol:	  T_WORD	{ $$ = sym_lookup($1, 0); free($1); }
+	| T_WORD_QUOTE	{ $$ = sym_lookup($1, SYMBOL_CONST); free($1); }
+;
+
+word_opt: /* empty */			{ $$ = NULL; }
+	| T_WORD
+
+%%
+
+void conf_parse(const char *name)
+{
+	struct symbol *sym;
+	int i;
+
+	zconf_initscan(name);
+
+	sym_init();
+	_menu_init();
+	rootmenu.prompt = menu_add_prompt(P_MENU, "Linux Kernel Configuration", NULL);
+
+	if (getenv("ZCONF_DEBUG"))
+		zconfdebug = 1;
+	zconfparse();
+	if (zconfnerrs)
+		exit(1);
+	if (!modules_sym)
+		modules_sym = sym_find( "n" );
+
+	rootmenu.prompt->text = _(rootmenu.prompt->text);
+	rootmenu.prompt->text = sym_expand_string_value(rootmenu.prompt->text);
+
+	menu_finalize(&rootmenu);
+	for_all_symbols(i, sym) {
+		if (sym_check_deps(sym))
+			zconfnerrs++;
+        }
+	if (zconfnerrs)
+		exit(1);
+	sym_set_change_count(1);
+}
+
+static const char *zconf_tokenname(int token)
+{
+	switch (token) {
+	case T_MENU:		return "menu";
+	case T_ENDMENU:		return "endmenu";
+	case T_CHOICE:		return "choice";
+	case T_ENDCHOICE:	return "endchoice";
+	case T_IF:		return "if";
+	case T_ENDIF:		return "endif";
+	case T_DEPENDS:		return "depends";
+	case T_VISIBLE:		return "visible";
+	}
+	return "<token>";
+}
+
+static bool zconf_endtoken(const struct kconf_id *id, int starttoken, int endtoken)
+{
+	if (id->token != endtoken) {
+		zconf_error("unexpected '%s' within %s block",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	if (current_menu->file != current_file) {
+		zconf_error("'%s' in different file than '%s'",
+			kconf_id_strings + id->name, zconf_tokenname(starttoken));
+		fprintf(stderr, "%s:%d: location of the '%s'\n",
+			current_menu->file->name, current_menu->lineno,
+			zconf_tokenname(starttoken));
+		zconfnerrs++;
+		return false;
+	}
+	return true;
+}
+
+static void zconfprint(const char *err, ...)
+{
+	va_list ap;
+
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconf_error(const char *err, ...)
+{
+	va_list ap;
+
+	zconfnerrs++;
+	fprintf(stderr, "%s:%d: ", zconf_curname(), zconf_lineno());
+	va_start(ap, err);
+	vfprintf(stderr, err, ap);
+	va_end(ap);
+	fprintf(stderr, "\n");
+}
+
+static void zconferror(const char *err)
+{
+	fprintf(stderr, "%s:%d: %s\n", zconf_curname(), zconf_lineno() + 1, err);
+}
+
+static void print_quoted_string(FILE *out, const char *str)
+{
+	const char *p;
+	int len;
+
+	putc('"', out);
+	while ((p = strchr(str, '"'))) {
+		len = p - str;
+		if (len)
+			fprintf(out, "%.*s", len, str);
+		fputs("\\\"", out);
+		str = p + 1;
+	}
+	fputs(str, out);
+	putc('"', out);
+}
+
+static void print_symbol(FILE *out, struct menu *menu)
+{
+	struct symbol *sym = menu->sym;
+	struct property *prop;
+
+	if (sym_is_choice(sym))
+		fprintf(out, "\nchoice\n");
+	else
+		fprintf(out, "\nconfig %s\n", sym->name);
+	switch (sym->type) {
+	case S_BOOLEAN:
+		fputs("  boolean\n", out);
+		break;
+	case S_TRISTATE:
+		fputs("  tristate\n", out);
+		break;
+	case S_STRING:
+		fputs("  string\n", out);
+		break;
+	case S_INT:
+		fputs("  integer\n", out);
+		break;
+	case S_HEX:
+		fputs("  hex\n", out);
+		break;
+	default:
+		fputs("  ???\n", out);
+		break;
+	}
+	for (prop = sym->prop; prop; prop = prop->next) {
+		if (prop->menu != menu)
+			continue;
+		switch (prop->type) {
+		case P_PROMPT:
+			fputs("  prompt ", out);
+			print_quoted_string(out, prop->text);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_DEFAULT:
+			fputs( "  default ", out);
+			expr_fprint(prop->expr, out);
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs(" if ", out);
+				expr_fprint(prop->visible.expr, out);
+			}
+			fputc('\n', out);
+			break;
+		case P_CHOICE:
+			fputs("  #choice value\n", out);
+			break;
+		case P_SELECT:
+			fputs( "  select ", out);
+			expr_fprint(prop->expr, out);
+			fputc('\n', out);
+			break;
+		case P_RANGE:
+			fputs( "  range ", out);
+			expr_fprint(prop->expr, out);
+			fputc('\n', out);
+			break;
+		case P_MENU:
+			fputs( "  menu ", out);
+			print_quoted_string(out, prop->text);
+			fputc('\n', out);
+			break;
+		default:
+			fprintf(out, "  unknown prop %d!\n", prop->type);
+			break;
+		}
+	}
+	if (menu->help) {
+		int len = strlen(menu->help);
+		while (menu->help[--len] == '\n')
+			menu->help[len] = 0;
+		fprintf(out, "  help\n%s\n", menu->help);
+	}
+}
+
+void zconfdump(FILE *out)
+{
+	struct property *prop;
+	struct symbol *sym;
+	struct menu *menu;
+
+	menu = rootmenu.list;
+	while (menu) {
+		if ((sym = menu->sym))
+			print_symbol(out, menu);
+		else if ((prop = menu->prompt)) {
+			switch (prop->type) {
+			case P_COMMENT:
+				fputs("\ncomment ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			case P_MENU:
+				fputs("\nmenu ", out);
+				print_quoted_string(out, prop->text);
+				fputs("\n", out);
+				break;
+			default:
+				;
+			}
+			if (!expr_is_yes(prop->visible.expr)) {
+				fputs("  depends ", out);
+				expr_fprint(prop->visible.expr, out);
+				fputc('\n', out);
+			}
+		}
+
+		if (menu->list)
+			menu = menu->list;
+		else if (menu->next)
+			menu = menu->next;
+		else while ((menu = menu->parent)) {
+			if (menu->prompt && menu->prompt->type == P_MENU)
+				fputs("\nendmenu\n", out);
+			if (menu->next) {
+				menu = menu->next;
+				break;
+			}
+		}
+	}
+}
+
+#include "zconf.lex.c"
+#include "util.c"
+#include "confdata.c"
+#include "expr.c"
+#include "symbol.c"
+#include "menu.c"
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 02/14] Do not apply: tools: add genkconfig
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 01/14] kconfig: import Kconfig files from Linux v3.15-rc7 Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 03/14] kconfig: add board Kconfig and defconfig files Masahiro Yamada
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

 ========================================
 Do not apply this patch to the main line
 ========================================

 What is this tool?
 ------------------

This tool converts boards.cfg to defconfig and Kconfig files.

It automatically generates
 - arch/${ARCH}/Kconfig
 - board/${VENDOR}/${BOARD}/Kconfig
 - board/${BOARD}/Kconfig
 - arch/${ARCH}/configs/*_defconfig

 How to use?
 -----------

Open tools/print_allconfigs with an editor.

Adjust cross compilers part for your environment.

  # Specify your favoriate cross tools
  CROSS_COMPILE_ARC=arc-linux-
  CROSS_COMPILE_AARCH64=aarch64-linux-gnu-
  CROSS_COMPILE_ARM=arm-unknown-linux-gnueabi-
   [snip]
  CROSS_COMPILE_X86=i386-linux-

And then, run "tools/genkconfig".

 Why is this patch here?
 -----------------------

The file boards.cfg is touched very frequently.
All the time, new/old boards are being added/removed.

The next commit was generated based on the u-boot/master at the time
I posted it.
It will become out-dated soon.

You can update it with this tool.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 tools/genkconfig       | 239 +++++++++++++++++++++++++++++++++++++++++++++++++
 tools/print_allconfigs |  77 ++++++++++++++++
 2 files changed, 316 insertions(+)
 create mode 100755 tools/genkconfig
 create mode 100755 tools/print_allconfigs

diff --git a/tools/genkconfig b/tools/genkconfig
new file mode 100755
index 0000000..14126ab
--- /dev/null
+++ b/tools/genkconfig
@@ -0,0 +1,239 @@
+#!/bin/bash
+
+set -e
+
+find board -name Kconfig | xargs rm -f
+
+get_arch()
+{
+	case "$arch" in
+		powerpc) echo PPC;;
+		*)       echo ${1^^};;
+	esac
+}
+
+arch_list="arc arm avr32 blackfin m68k microblaze mips nds32 nios2 openrisc powerpc sandbox sh sparc x86"
+
+for arch in $arch_list
+do
+	rm -rf arch/$arch/configs
+	mkdir arch/$arch/configs
+
+	ARCH=$(get_arch $arch)
+
+	case "$arch" in
+		blackfin) menu="Blackfin";;
+		m68k) menu="M68000";;
+		microblaze) menu="MicroBlaze";;
+		nios2) menu="Nios II";;
+		openrisc) menu="OpenRISC";;
+		powerpc) menu="PowerPC";;
+		sandbox) menu="Sandbox";;
+		sh) menu="SuperH";;
+		x86) menu="x86";;
+		*) menu=${arch^^};;
+	esac
+
+cat <<EOF > arch/$arch/Kconfig
+config $ARCH
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "$arch"
+
+EOF
+
+if [ "$arch" = "sandbox" ]; then
+cat <<EOF >> arch/$arch/Kconfig
+config SYS_CPU
+	string
+	default "$arch"
+
+config SYS_BOARD
+	string
+	default "$arch"
+
+config SYS_CONFIG_NAME
+	string
+	default "$arch"
+EOF
+else
+cat <<EOF >> arch/$arch/Kconfig
+choice
+	prompt "Target select"
+
+EOF
+fi
+
+done
+
+write_defconfig ()
+{
+	if [ "$spl_enable" = "y" ]; then
+		echo >> $defconfig "CONFIG_SPL=y"
+	fi
+
+	if [ "$tpl_enable" = "y" ]; then
+		echo >> $defconfig "CONFIG_TPL=y"
+	fi
+
+	if [ "$arch" != sandbox ]; then
+		echo >> $defconfig "CONFIG_$TARGET=y"
+	fi
+}
+
+write_kconfig ()
+{
+	echo >> $kconfig
+	echo >> $kconfig "if $TARGET"
+	echo >> $kconfig
+
+	echo >> $kconfig "config SYS_CPU"
+	echo >> $kconfig "	string"
+	if [ "$spl_cpu" != "$cpu" ]; then
+		echo >> $kconfig "	default \"$spl_cpu\" if SPL_BUILD"
+		echo >> $kconfig "	default \"$cpu\" if !SPL_BUILD"
+	else
+		echo >> $kconfig "	default \"$cpu\""
+	fi
+	echo >> $kconfig
+
+	echo >> $kconfig "config SYS_BOARD"
+	echo >> $kconfig "	string"
+	echo >> $kconfig "	default \"$board\""
+	echo >> $kconfig
+
+	if [ "$vendor" != "-" ]; then
+		echo >> $kconfig "config SYS_VENDOR"
+		echo >> $kconfig "	string"
+		echo >> $kconfig "	default \"$vendor\""
+		echo >> $kconfig
+	fi
+
+	if [ "$soc" != "-" ]; then
+		echo >> $kconfig "config SYS_SOC"
+		echo >> $kconfig "	string"
+		echo >> $kconfig "	default \"$soc\""
+		echo >> $kconfig
+	fi
+
+	echo >> $kconfig "config SYS_CONFIG_NAME"
+	echo >> $kconfig "	string"
+	echo >> $kconfig "	default \"$config_name\""
+	echo >> $kconfig
+
+	if [ "$extra_options" ]; then
+		# O2MNT_O2M110, O2MNT_O2M112, O2MNT_O2M113 boards include
+		# double-quotations in the extra option field.
+		# We must escape them.
+		echo >> $kconfig "config SYS_EXTRA_OPTIONS"
+		echo >> $kconfig "	string"
+		echo >> $kconfig "	default \"$(echo "$extra_options" | sed -e 's/"/\\"/g')\""
+		echo >> $kconfig
+	fi
+
+	echo >> $kconfig "endif"
+}
+
+sed -e 's/Orphan/Active/' -e '/#/d' boards.cfg | \
+tools/reformat.py -i -d '-' -s 8 |
+while read -r status arch cpu soc vendor board target options maintainers
+do
+	case $status in
+	Active|Orphan) ;;
+	*)             continue ;;
+	esac
+
+	echo "processing $target"
+
+	if [ "$arch" = "aarch64" ]; then
+		arch=arm
+	fi
+
+	# Tegra SoCs have different "cpu" and "spl_cpu"
+	spl_cpu=${cpu#*:}
+	cpu=${cpu%:*}
+
+	if [ "$board" = "-" ]; then
+		board=$target
+	fi
+
+	if [ "$board" = "<none>" ]; then
+		board=
+	fi
+
+	config_name=$target
+	extra_options=
+
+	[ "$options" != "-" ] && {
+		tmp="${options%:*}"
+		if [ "$tmp" ] ; then
+			config_name="$tmp"
+		fi
+
+		if [ "${tmp}" != "$options" ] ; then
+			extra_options=${options#*:}
+		fi
+	}
+
+	all_configs=$(tools/print_allconfigs $target)
+
+	if echo $all_configs | grep -q "CONFIG_SPL=y"; then
+		spl_enable=y
+	else
+		spl_enable=
+	fi
+
+	if echo $all_configs | grep -q "CONFIG_TPL=y"; then
+		tpl_enable=y
+	else
+		tpl_enable=
+	fi
+
+	TARGET=$(echo TARGET_${target^^} | sed -e 's/-/_/g')
+	ARCH=$(get_arch $arch)
+
+	defconfig=arch/$arch/configs/${target}_defconfig
+	write_defconfig
+
+	if [ -z "$board" ]; then
+		kconfig=board/$vendor/Kconfig
+	elif [ "$vendor" != "-" ]; then
+		kconfig=board/$vendor/$board/Kconfig
+	else
+		kconfig=board/$board/Kconfig
+	fi
+
+	if [ "$target" != "sandbox" ]; then
+		write_kconfig
+		echo "source \"$kconfig\"" >> arch/$arch/Kconfig2
+		echo >> arch/$arch/Kconfig "config $TARGET"
+		echo >> arch/$arch/Kconfig "	bool \"Support $target\""
+		echo >> arch/$arch/Kconfig
+	fi
+done
+
+for arch in $arch_list
+do
+
+if [ "$arch" != sandbox ]; then
+cat<<EOF >> arch/$arch/Kconfig
+endchoice
+
+EOF
+
+sort arch/$arch/Kconfig2 | uniq >> arch/$arch/Kconfig
+rm arch/$arch/Kconfig2
+
+fi
+
+done
+
+for i in $(find board -path "board/*/Kconfig")
+do
+	# dropping the empty line at the beginning
+	sed -e "1d" $i > $i.tmp
+	mv $i.tmp $i
+done
diff --git a/tools/print_allconfigs b/tools/print_allconfigs
new file mode 100755
index 0000000..e00c333
--- /dev/null
+++ b/tools/print_allconfigs
@@ -0,0 +1,77 @@
+#!/bin/sh
+# Print all config macros for specified board
+#
+# Usage: tools/getconfigs <board>
+
+# Specify your favoriate cross tools
+CROSS_COMPILE_ARC=arc-linux-
+CROSS_COMPILE_AARCH64=aarch64-linux-gnu-
+CROSS_COMPILE_ARM=arm-unknown-linux-gnueabi-
+CROSS_COMPILE_AVR32=avr32-linux-
+CROSS_COMPILE_BLACKFIN=bfin-elf-
+CROSS_COMPILE_M68K=m68k-linux-
+CROSS_COMPILE_MICROBLAZE=microblaze-linux-
+CROSS_COMPILE_MIPS=mips-linux-
+CROSS_COMPILE_NDS32=nds32le-linux-
+CROSS_COMPILE_NIOS2=nios2-linux-
+CROSS_COMPILE_OPENRISC=or32-linux-
+CROSS_COMPILE_POWERPC=powerpc-linux-
+CROSS_COMPILE_SH=sh4-gentoo-linux-gnu-
+CROSS_COMPILE_SPARC=sparc-elf-
+CROSS_COMPILE_X86=i386-linux-
+
+if [ ! -r boards.cfg ]; then
+	echo >&2 "boards.cfg: not found"
+	echo >&2 "Run \"tools/print_allconfigs <target_board>\" at the top directory"
+	echo >&2 "Exit."
+	exit 1
+fi
+
+if [ $# != 1 ]; then
+	echo >&2 "Usage: tools/print_allconfigs <target_board>"
+	echo >&2 "Exit."
+	exit 2
+fi
+
+target=$1
+
+
+get_arch() {
+	local target=$1
+
+	awk '$7 == "'$target'" { print $2 }' boards.cfg
+}
+
+arch=$(get_arch $target)
+
+if [ -z "$arch" ]; then
+	echo >&2 "$target: target board not found in boards.cfg"
+	echo >&2 "Exit."
+	exit 3
+fi
+
+ARCH=$(echo $arch | tr '[:lower:]' '[:upper:]')
+
+eval CROSS_COMPILE=\$CROSS_COMPILE_$ARCH
+
+export CROSS_COMPILE
+
+rm -f include/autoconf.mk
+
+make ${target}_config include/autoconf.mk >/dev/null || { \
+	echo >&2 "make failed."
+	echo >&2 "Please check if CROSS_COMPILE_<ARCH> is correctly set."
+	echo >&2 "Exit."
+	exit 4
+}
+
+if [ ! -f include/autoconf.mk ]; then
+	echo >&2 "include/autoconf.mk: not found."
+	echo >&2 "Internal error."
+	echo >&2 "Exit."
+	exit 5
+fi
+
+cat include/autoconf.mk
+
+exit 0
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 03/14] kconfig: add board Kconfig and defconfig files
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 01/14] kconfig: import Kconfig files from Linux v3.15-rc7 Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 02/14] Do not apply: tools: add genkconfig Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 04/14] kconfig: add basic Kconfig files Masahiro Yamada
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

This commit adds
 - arch/*/Kconfig: provide a menu to select target boards
 - board/*/Kconfig: set CONFIG macros to the appropriate values
        for each board
 - arch/*/configs/*_defconfig: default setting of each board

(This commit was automatically generated by a conversion script
based on boards.cfg)

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 arch/arc/Kconfig                                   |   24 +
 arch/arc/configs/arcangel4-be_defconfig            |    1 +
 arch/arc/configs/arcangel4_defconfig               |    1 +
 arch/arc/configs/axs101_defconfig                  |    1 +
 arch/arm/Kconfig                                   | 1363 ++++++++++++
 arch/arm/configs/VCMA9_defconfig                   |    1 +
 arch/arm/configs/a320evb_defconfig                 |    1 +
 arch/arm/configs/afeb9260_defconfig                |    1 +
 arch/arm/configs/am335x_boneblack_defconfig        |    2 +
 arch/arm/configs/am335x_evm_defconfig              |    2 +
 arch/arm/configs/am335x_evm_nor_defconfig          |    2 +
 arch/arm/configs/am335x_evm_norboot_defconfig      |    1 +
 arch/arm/configs/am335x_evm_spiboot_defconfig      |    2 +
 arch/arm/configs/am335x_evm_uart1_defconfig        |    2 +
 arch/arm/configs/am335x_evm_uart2_defconfig        |    2 +
 arch/arm/configs/am335x_evm_uart3_defconfig        |    2 +
 arch/arm/configs/am335x_evm_uart4_defconfig        |    2 +
 arch/arm/configs/am335x_evm_uart5_defconfig        |    2 +
 arch/arm/configs/am335x_evm_usbspl_defconfig       |    2 +
 arch/arm/configs/am335x_igep0033_defconfig         |    2 +
 arch/arm/configs/am3517_crane_defconfig            |    2 +
 arch/arm/configs/am3517_evm_defconfig              |    2 +
 arch/arm/configs/am43xx_evm_defconfig              |    2 +
 arch/arm/configs/apf27_defconfig                   |    2 +
 arch/arm/configs/apx4devkit_defconfig              |    2 +
 arch/arm/configs/armadillo-800eva_defconfig        |    1 +
 arch/arm/configs/arndale_defconfig                 |    2 +
 arch/arm/configs/aspenite_defconfig                |    1 +
 arch/arm/configs/at91rm9200ek_defconfig            |    1 +
 arch/arm/configs/at91rm9200ek_ram_defconfig        |    1 +
 .../configs/at91sam9260ek_dataflash_cs0_defconfig  |    1 +
 .../configs/at91sam9260ek_dataflash_cs1_defconfig  |    1 +
 arch/arm/configs/at91sam9260ek_nandflash_defconfig |    1 +
 .../configs/at91sam9261ek_dataflash_cs0_defconfig  |    1 +
 .../configs/at91sam9261ek_dataflash_cs3_defconfig  |    1 +
 arch/arm/configs/at91sam9261ek_nandflash_defconfig |    1 +
 .../configs/at91sam9263ek_dataflash_cs0_defconfig  |    1 +
 arch/arm/configs/at91sam9263ek_dataflash_defconfig |    1 +
 arch/arm/configs/at91sam9263ek_nandflash_defconfig |    1 +
 .../configs/at91sam9263ek_norflash_boot_defconfig  |    1 +
 arch/arm/configs/at91sam9263ek_norflash_defconfig  |    1 +
 .../configs/at91sam9g10ek_dataflash_cs0_defconfig  |    1 +
 .../configs/at91sam9g10ek_dataflash_cs3_defconfig  |    1 +
 arch/arm/configs/at91sam9g10ek_nandflash_defconfig |    1 +
 .../configs/at91sam9g20ek_2mmc_nandflash_defconfig |    1 +
 .../configs/at91sam9g20ek_dataflash_cs0_defconfig  |    1 +
 .../configs/at91sam9g20ek_dataflash_cs1_defconfig  |    1 +
 arch/arm/configs/at91sam9g20ek_mmc_defconfig       |    1 +
 arch/arm/configs/at91sam9g20ek_nandflash_defconfig |    1 +
 .../configs/at91sam9m10g45ek_nandflash_defconfig   |    1 +
 arch/arm/configs/at91sam9n12ek_mmc_defconfig       |    1 +
 arch/arm/configs/at91sam9n12ek_nandflash_defconfig |    1 +
 arch/arm/configs/at91sam9n12ek_spiflash_defconfig  |    1 +
 arch/arm/configs/at91sam9rlek_dataflash_defconfig  |    1 +
 arch/arm/configs/at91sam9rlek_nandflash_defconfig  |    1 +
 arch/arm/configs/at91sam9x5ek_dataflash_defconfig  |    1 +
 arch/arm/configs/at91sam9x5ek_mmc_defconfig        |    1 +
 arch/arm/configs/at91sam9x5ek_nandflash_defconfig  |    1 +
 arch/arm/configs/at91sam9x5ek_spiflash_defconfig   |    1 +
 .../configs/at91sam9xeek_dataflash_cs0_defconfig   |    1 +
 .../configs/at91sam9xeek_dataflash_cs1_defconfig   |    1 +
 arch/arm/configs/at91sam9xeek_nandflash_defconfig  |    1 +
 arch/arm/configs/axm_defconfig                     |    1 +
 arch/arm/configs/balloon3_defconfig                |    1 +
 arch/arm/configs/bcm28155_ap_defconfig             |    1 +
 arch/arm/configs/beaver_defconfig                  |    2 +
 arch/arm/configs/bg0900_defconfig                  |    2 +
 arch/arm/configs/calimain_defconfig                |    1 +
 arch/arm/configs/cam_enc_4xx_defconfig             |    2 +
 arch/arm/configs/cardhu_defconfig                  |    2 +
 arch/arm/configs/cgtqmx6qeval_defconfig            |    1 +
 arch/arm/configs/cm4008_defconfig                  |    1 +
 arch/arm/configs/cm41xx_defconfig                  |    1 +
 arch/arm/configs/cm_t335_defconfig                 |    2 +
 arch/arm/configs/cm_t35_defconfig                  |    2 +
 arch/arm/configs/cm_t54_defconfig                  |    2 +
 arch/arm/configs/colibri_pxa270_defconfig          |    1 +
 arch/arm/configs/colibri_t20_iris_defconfig        |    2 +
 arch/arm/configs/corvus_defconfig                  |    1 +
 arch/arm/configs/cpu9260_128M_defconfig            |    1 +
 arch/arm/configs/cpu9260_defconfig                 |    1 +
 arch/arm/configs/cpu9260_nand_128M_defconfig       |    1 +
 arch/arm/configs/cpu9260_nand_defconfig            |    1 +
 arch/arm/configs/cpu9G20_128M_defconfig            |    1 +
 arch/arm/configs/cpu9G20_defconfig                 |    1 +
 arch/arm/configs/cpu9G20_nand_128M_defconfig       |    1 +
 arch/arm/configs/cpu9G20_nand_defconfig            |    1 +
 arch/arm/configs/cpuat91_defconfig                 |    1 +
 arch/arm/configs/cpuat91_ram_defconfig             |    1 +
 arch/arm/configs/d2net_v2_defconfig                |    1 +
 arch/arm/configs/da830evm_defconfig                |    1 +
 arch/arm/configs/da850_am18xxevm_defconfig         |    2 +
 arch/arm/configs/da850evm_defconfig                |    2 +
 arch/arm/configs/da850evm_direct_nor_defconfig     |    1 +
 arch/arm/configs/dalmore_defconfig                 |    2 +
 arch/arm/configs/davinci_dm355evm_defconfig        |    1 +
 arch/arm/configs/davinci_dm355leopard_defconfig    |    1 +
 arch/arm/configs/davinci_dm365evm_defconfig        |    1 +
 arch/arm/configs/davinci_dm6467Tevm_defconfig      |    1 +
 arch/arm/configs/davinci_dm6467evm_defconfig       |    1 +
 arch/arm/configs/davinci_dvevm_defconfig           |    1 +
 arch/arm/configs/davinci_schmoogie_defconfig       |    1 +
 arch/arm/configs/davinci_sffsdr_defconfig          |    1 +
 arch/arm/configs/davinci_sonata_defconfig          |    1 +
 arch/arm/configs/devkit3250_defconfig              |    1 +
 arch/arm/configs/devkit8000_defconfig              |    2 +
 arch/arm/configs/dig297_defconfig                  |    1 +
 arch/arm/configs/dkb_defconfig                     |    1 +
 arch/arm/configs/dns325_defconfig                  |    1 +
 arch/arm/configs/dockstar_defconfig                |    1 +
 arch/arm/configs/dra7xx_evm_defconfig              |    2 +
 arch/arm/configs/dra7xx_evm_qspiboot_defconfig     |    2 +
 arch/arm/configs/dra7xx_evm_uart3_defconfig        |    2 +
 arch/arm/configs/draco_defconfig                   |    2 +
 arch/arm/configs/dreamplug_defconfig               |    1 +
 arch/arm/configs/duovero_defconfig                 |    2 +
 arch/arm/configs/dxr2_defconfig                    |    2 +
 arch/arm/configs/ea20_defconfig                    |    1 +
 arch/arm/configs/eb_cpux9k2_defconfig              |    1 +
 arch/arm/configs/eb_cpux9k2_ram_defconfig          |    1 +
 arch/arm/configs/eco5pk_defconfig                  |    2 +
 arch/arm/configs/edminiv2_defconfig                |    1 +
 arch/arm/configs/enbw_cmc_defconfig                |    1 +
 arch/arm/configs/ethernut5_defconfig               |    1 +
 arch/arm/configs/flea3_defconfig                   |    1 +
 arch/arm/configs/goflexhome_defconfig              |    1 +
 arch/arm/configs/gplugd_defconfig                  |    1 +
 arch/arm/configs/guruplug_defconfig                |    1 +
 arch/arm/configs/gwventanadl1g_defconfig           |    1 +
 arch/arm/configs/gwventanadl_defconfig             |    1 +
 arch/arm/configs/gwventanaq1g_defconfig            |    1 +
 arch/arm/configs/gwventanaq1gspi_defconfig         |    1 +
 arch/arm/configs/gwventanaq_defconfig              |    1 +
 arch/arm/configs/h2200_defconfig                   |    1 +
 arch/arm/configs/harmony_defconfig                 |    2 +
 arch/arm/configs/hawkboard_defconfig               |    2 +
 arch/arm/configs/hawkboard_uart_defconfig          |    2 +
 arch/arm/configs/highbank_defconfig                |    1 +
 arch/arm/configs/hummingboard_solo_defconfig       |    1 +
 arch/arm/configs/ib62x0_defconfig                  |    1 +
 arch/arm/configs/iconnect_defconfig                |    1 +
 arch/arm/configs/igep0020_defconfig                |    2 +
 arch/arm/configs/igep0020_nand_defconfig           |    2 +
 arch/arm/configs/igep0030_defconfig                |    2 +
 arch/arm/configs/igep0030_nand_defconfig           |    2 +
 arch/arm/configs/igep0032_defconfig                |    2 +
 arch/arm/configs/ima3-mx53_defconfig               |    1 +
 arch/arm/configs/imx27lite_defconfig               |    1 +
 arch/arm/configs/imx31_litekit_defconfig           |    1 +
 arch/arm/configs/imx31_phycore_defconfig           |    1 +
 arch/arm/configs/imx31_phycore_eet_defconfig       |    1 +
 arch/arm/configs/inetspace_v2_defconfig            |    1 +
 arch/arm/configs/integratorap_cm720t_defconfig     |    1 +
 arch/arm/configs/integratorap_cm920t_defconfig     |    1 +
 arch/arm/configs/integratorap_cm926ejs_defconfig   |    1 +
 arch/arm/configs/integratorap_cm946es_defconfig    |    1 +
 arch/arm/configs/integratorcp_cm1136_defconfig     |    1 +
 arch/arm/configs/integratorcp_cm920t_defconfig     |    1 +
 arch/arm/configs/integratorcp_cm926ejs_defconfig   |    1 +
 arch/arm/configs/integratorcp_cm946es_defconfig    |    1 +
 arch/arm/configs/ipam390_defconfig                 |    2 +
 arch/arm/configs/jadecpu_defconfig                 |    1 +
 arch/arm/configs/jetson-tk1_defconfig              |    2 +
 arch/arm/configs/jornada_defconfig                 |    1 +
 arch/arm/configs/k2hk_evm_defconfig                |    1 +
 arch/arm/configs/km_kirkwood_128m16_defconfig      |    1 +
 arch/arm/configs/km_kirkwood_defconfig             |    1 +
 arch/arm/configs/km_kirkwood_pci_defconfig         |    1 +
 arch/arm/configs/kmcoge5un_defconfig               |    1 +
 arch/arm/configs/kmnusa_defconfig                  |    1 +
 arch/arm/configs/kmsugp1_defconfig                 |    1 +
 arch/arm/configs/kmsuv31_defconfig                 |    1 +
 arch/arm/configs/koelsch_defconfig                 |    1 +
 arch/arm/configs/koelsch_nor_defconfig             |    1 +
 arch/arm/configs/kwb_defconfig                     |    2 +
 arch/arm/configs/kzm9g_defconfig                   |    1 +
 arch/arm/configs/lager_defconfig                   |    1 +
 arch/arm/configs/lager_nor_defconfig               |    1 +
 arch/arm/configs/lp8x4x_defconfig                  |    1 +
 arch/arm/configs/lschlv2_defconfig                 |    1 +
 arch/arm/configs/lsxhl_defconfig                   |    1 +
 arch/arm/configs/m28evk_defconfig                  |    2 +
 arch/arm/configs/m53evk_defconfig                  |    2 +
 arch/arm/configs/magnesium_defconfig               |    1 +
 arch/arm/configs/marsboard_defconfig               |    1 +
 arch/arm/configs/mcx_defconfig                     |    2 +
 arch/arm/configs/medcom-wide_defconfig             |    2 +
 arch/arm/configs/meesc_dataflash_defconfig         |    1 +
 arch/arm/configs/meesc_defconfig                   |    1 +
 arch/arm/configs/mgcoge3un_defconfig               |    1 +
 arch/arm/configs/mt_ventoux_defconfig              |    2 +
 arch/arm/configs/mv88f6281gtw_ge_defconfig         |    1 +
 arch/arm/configs/mx23_olinuxino_defconfig          |    2 +
 arch/arm/configs/mx23evk_defconfig                 |    2 +
 arch/arm/configs/mx25pdk_defconfig                 |    1 +
 arch/arm/configs/mx28evk_auart_console_defconfig   |    2 +
 arch/arm/configs/mx28evk_defconfig                 |    2 +
 arch/arm/configs/mx28evk_nand_defconfig            |    2 +
 arch/arm/configs/mx31ads_defconfig                 |    1 +
 arch/arm/configs/mx31pdk_defconfig                 |    2 +
 arch/arm/configs/mx35pdk_defconfig                 |    1 +
 arch/arm/configs/mx51_efikamx_defconfig            |    1 +
 arch/arm/configs/mx51_efikasb_defconfig            |    1 +
 arch/arm/configs/mx51evk_defconfig                 |    1 +
 arch/arm/configs/mx53ard_defconfig                 |    1 +
 arch/arm/configs/mx53evk_defconfig                 |    1 +
 arch/arm/configs/mx53loco_defconfig                |    1 +
 arch/arm/configs/mx53smd_defconfig                 |    1 +
 arch/arm/configs/mx6dlsabresd_defconfig            |    1 +
 arch/arm/configs/mx6qarm2_defconfig                |    1 +
 arch/arm/configs/mx6qsabreauto_defconfig           |    1 +
 arch/arm/configs/mx6qsabrelite_defconfig           |    1 +
 arch/arm/configs/mx6qsabresd_defconfig             |    1 +
 arch/arm/configs/mx6slevk_defconfig                |    1 +
 arch/arm/configs/net2big_v2_defconfig              |    1 +
 arch/arm/configs/netspace_lite_v2_defconfig        |    1 +
 arch/arm/configs/netspace_max_v2_defconfig         |    1 +
 arch/arm/configs/netspace_mini_v2_defconfig        |    1 +
 arch/arm/configs/netspace_v2_defconfig             |    1 +
 arch/arm/configs/nhk8815_defconfig                 |    1 +
 arch/arm/configs/nhk8815_onenand_defconfig         |    1 +
 arch/arm/configs/nitrogen6dl2g_defconfig           |    1 +
 arch/arm/configs/nitrogen6dl_defconfig             |    1 +
 arch/arm/configs/nitrogen6q2g_defconfig            |    1 +
 arch/arm/configs/nitrogen6q_defconfig              |    1 +
 arch/arm/configs/nitrogen6s1g_defconfig            |    1 +
 arch/arm/configs/nitrogen6s_defconfig              |    1 +
 arch/arm/configs/nokia_rx51_defconfig              |    1 +
 arch/arm/configs/omap3_beagle_defconfig            |    2 +
 arch/arm/configs/omap3_evm_defconfig               |    2 +
 arch/arm/configs/omap3_evm_quick_mmc_defconfig     |    2 +
 arch/arm/configs/omap3_evm_quick_nand_defconfig    |    2 +
 arch/arm/configs/omap3_ha_defconfig                |    2 +
 arch/arm/configs/omap3_logic_defconfig             |    1 +
 arch/arm/configs/omap3_mvblx_defconfig             |    1 +
 arch/arm/configs/omap3_overo_defconfig             |    2 +
 arch/arm/configs/omap3_pandora_defconfig           |    1 +
 arch/arm/configs/omap3_sdp3430_defconfig           |    1 +
 arch/arm/configs/omap3_zoom1_defconfig             |    1 +
 arch/arm/configs/omap4_panda_defconfig             |    2 +
 arch/arm/configs/omap4_sdp4430_defconfig           |    2 +
 arch/arm/configs/omap5912osk_defconfig             |    1 +
 arch/arm/configs/omap5_uevm_defconfig              |    2 +
 arch/arm/configs/openrd_base_defconfig             |    1 +
 arch/arm/configs/openrd_client_defconfig           |    1 +
 arch/arm/configs/openrd_ultimate_defconfig         |    1 +
 arch/arm/configs/origen_defconfig                  |    2 +
 arch/arm/configs/otc570_dataflash_defconfig        |    1 +
 arch/arm/configs/otc570_defconfig                  |    1 +
 arch/arm/configs/palmld_defconfig                  |    1 +
 arch/arm/configs/palmtc_defconfig                  |    1 +
 arch/arm/configs/palmtreo680_defconfig             |    2 +
 arch/arm/configs/paz00_defconfig                   |    2 +
 arch/arm/configs/pcm051_rev1_defconfig             |    2 +
 arch/arm/configs/pcm051_rev3_defconfig             |    2 +
 arch/arm/configs/pengwyn_defconfig                 |    2 +
 arch/arm/configs/pepper_defconfig                  |    2 +
 arch/arm/configs/plutux_defconfig                  |    2 +
 arch/arm/configs/pm9261_defconfig                  |    1 +
 arch/arm/configs/pm9263_defconfig                  |    1 +
 arch/arm/configs/pm9g45_defconfig                  |    1 +
 arch/arm/configs/pogo_e02_defconfig                |    1 +
 arch/arm/configs/polaris_defconfig                 |    1 +
 arch/arm/configs/portl2_defconfig                  |    1 +
 arch/arm/configs/portuxg20_defconfig               |    1 +
 arch/arm/configs/pxa255_idp_defconfig              |    1 +
 arch/arm/configs/pxm2_defconfig                    |    2 +
 arch/arm/configs/qong_defconfig                    |    1 +
 arch/arm/configs/rd6281a_defconfig                 |    1 +
 arch/arm/configs/riotboard_defconfig               |    1 +
 arch/arm/configs/rpi_b_defconfig                   |    1 +
 arch/arm/configs/rut_defconfig                     |    2 +
 arch/arm/configs/s5p_goni_defconfig                |    1 +
 arch/arm/configs/s5pc210_universal_defconfig       |    1 +
 arch/arm/configs/sama5d3_xplained_mmc_defconfig    |    1 +
 .../configs/sama5d3_xplained_nandflash_defconfig   |    1 +
 arch/arm/configs/sama5d3xek_mmc_defconfig          |    2 +
 arch/arm/configs/sama5d3xek_nandflash_defconfig    |    2 +
 arch/arm/configs/sama5d3xek_spiflash_defconfig     |    2 +
 arch/arm/configs/sansa_fuze_plus_defconfig         |    2 +
 arch/arm/configs/sbc35_a9g20_eeprom_defconfig      |    1 +
 arch/arm/configs/sbc35_a9g20_nandflash_defconfig   |    1 +
 arch/arm/configs/sc_sps_1_defconfig                |    2 +
 arch/arm/configs/scb9328_defconfig                 |    1 +
 arch/arm/configs/seaboard_defconfig                |    2 +
 arch/arm/configs/sheevaplug_defconfig              |    1 +
 arch/arm/configs/smdk2410_defconfig                |    1 +
 arch/arm/configs/smdk5250_defconfig                |    2 +
 arch/arm/configs/smdk5420_defconfig                |    2 +
 arch/arm/configs/smdkc100_defconfig                |    1 +
 arch/arm/configs/smdkv310_defconfig                |    2 +
 arch/arm/configs/snapper9260_defconfig             |    1 +
 arch/arm/configs/snapper9g20_defconfig             |    1 +
 arch/arm/configs/snow_defconfig                    |    2 +
 arch/arm/configs/snowball_defconfig                |    1 +
 arch/arm/configs/socfpga_cyclone5_defconfig        |    2 +
 arch/arm/configs/spear300_defconfig                |    1 +
 arch/arm/configs/spear300_nand_defconfig           |    1 +
 arch/arm/configs/spear300_usbtty_defconfig         |    1 +
 arch/arm/configs/spear300_usbtty_nand_defconfig    |    1 +
 arch/arm/configs/spear310_defconfig                |    1 +
 arch/arm/configs/spear310_nand_defconfig           |    1 +
 arch/arm/configs/spear310_pnor_defconfig           |    1 +
 arch/arm/configs/spear310_usbtty_defconfig         |    1 +
 arch/arm/configs/spear310_usbtty_nand_defconfig    |    1 +
 arch/arm/configs/spear310_usbtty_pnor_defconfig    |    1 +
 arch/arm/configs/spear320_defconfig                |    1 +
 arch/arm/configs/spear320_nand_defconfig           |    1 +
 arch/arm/configs/spear320_pnor_defconfig           |    1 +
 arch/arm/configs/spear320_usbtty_defconfig         |    1 +
 arch/arm/configs/spear320_usbtty_nand_defconfig    |    1 +
 arch/arm/configs/spear320_usbtty_pnor_defconfig    |    1 +
 arch/arm/configs/spear600_defconfig                |    1 +
 arch/arm/configs/spear600_nand_defconfig           |    1 +
 arch/arm/configs/spear600_usbtty_defconfig         |    1 +
 arch/arm/configs/spear600_usbtty_nand_defconfig    |    1 +
 arch/arm/configs/stamp9g20_defconfig               |    1 +
 arch/arm/configs/tao3530_defconfig                 |    2 +
 arch/arm/configs/taurus_defconfig                  |    1 +
 arch/arm/configs/tec-ng_defconfig                  |    2 +
 arch/arm/configs/tec_defconfig                     |    2 +
 arch/arm/configs/ti814x_evm_defconfig              |    2 +
 arch/arm/configs/ti816x_evm_defconfig              |    2 +
 arch/arm/configs/titanium_defconfig                |    1 +
 arch/arm/configs/tk71_defconfig                    |    1 +
 arch/arm/configs/tnetv107x_evm_defconfig           |    1 +
 arch/arm/configs/tny_a9260_eeprom_defconfig        |    1 +
 arch/arm/configs/tny_a9260_nandflash_defconfig     |    1 +
 arch/arm/configs/tny_a9g20_eeprom_defconfig        |    1 +
 arch/arm/configs/tny_a9g20_nandflash_defconfig     |    1 +
 arch/arm/configs/top9000eval_xe_defconfig          |    1 +
 arch/arm/configs/top9000su_xe_defconfig            |    1 +
 arch/arm/configs/trats2_defconfig                  |    1 +
 arch/arm/configs/trats_defconfig                   |    1 +
 arch/arm/configs/tricorder_defconfig               |    2 +
 arch/arm/configs/tricorder_flash_defconfig         |    2 +
 arch/arm/configs/trimslice_defconfig               |    2 +
 arch/arm/configs/trizepsiv_defconfig               |    1 +
 arch/arm/configs/tseries_mmc_defconfig             |    2 +
 arch/arm/configs/tseries_nand_defconfig            |    2 +
 arch/arm/configs/tseries_spi_defconfig             |    2 +
 arch/arm/configs/tt01_defconfig                    |    1 +
 arch/arm/configs/twister_defconfig                 |    2 +
 arch/arm/configs/tx25_defconfig                    |    2 +
 arch/arm/configs/u8500_href_defconfig              |    1 +
 arch/arm/configs/udoo_quad_defconfig               |    1 +
 arch/arm/configs/usb_a9263_dataflash_defconfig     |    1 +
 arch/arm/configs/venice2_defconfig                 |    2 +
 arch/arm/configs/ventana_defconfig                 |    2 +
 arch/arm/configs/versatileab_defconfig             |    1 +
 arch/arm/configs/versatilepb_defconfig             |    1 +
 arch/arm/configs/versatileqemu_defconfig           |    1 +
 arch/arm/configs/vexpress_aemv8a_defconfig         |    1 +
 arch/arm/configs/vexpress_ca15_tc2_defconfig       |    1 +
 arch/arm/configs/vexpress_ca5x2_defconfig          |    1 +
 arch/arm/configs/vexpress_ca9x4_defconfig          |    1 +
 arch/arm/configs/vf610twr_defconfig                |    1 +
 arch/arm/configs/vision2_defconfig                 |    1 +
 arch/arm/configs/vl_ma2sc_defconfig                |    1 +
 arch/arm/configs/vl_ma2sc_ram_defconfig            |    1 +
 arch/arm/configs/vpac270_nor_128_defconfig         |    1 +
 arch/arm/configs/vpac270_nor_256_defconfig         |    1 +
 arch/arm/configs/vpac270_ond_256_defconfig         |    2 +
 arch/arm/configs/wandboard_dl_defconfig            |    1 +
 arch/arm/configs/wandboard_quad_defconfig          |    1 +
 arch/arm/configs/wandboard_solo_defconfig          |    1 +
 arch/arm/configs/whistler_defconfig                |    2 +
 arch/arm/configs/wireless_space_defconfig          |    1 +
 arch/arm/configs/woodburn_defconfig                |    1 +
 arch/arm/configs/woodburn_sd_defconfig             |    2 +
 arch/arm/configs/x600_defconfig                    |    2 +
 arch/arm/configs/xaeniax_defconfig                 |    1 +
 arch/arm/configs/xfi3_defconfig                    |    2 +
 arch/arm/configs/zipitz2_defconfig                 |    1 +
 arch/arm/configs/zmx25_defconfig                   |    1 +
 arch/arm/configs/zynq_microzed_defconfig           |    2 +
 arch/arm/configs/zynq_zc70x_defconfig              |    2 +
 arch/arm/configs/zynq_zc770_xm010_defconfig        |    2 +
 arch/arm/configs/zynq_zc770_xm012_defconfig        |    2 +
 arch/arm/configs/zynq_zc770_xm013_defconfig        |    2 +
 arch/arm/configs/zynq_zed_defconfig                |    2 +
 arch/avr32/Kconfig                                 |   50 +
 arch/avr32/configs/atngw100_defconfig              |    1 +
 arch/avr32/configs/atngw100mkii_defconfig          |    1 +
 arch/avr32/configs/atstk1002_defconfig             |    1 +
 arch/avr32/configs/atstk1003_defconfig             |    1 +
 arch/avr32/configs/atstk1004_defconfig             |    1 +
 arch/avr32/configs/atstk1006_defconfig             |    1 +
 arch/avr32/configs/favr-32-ezkit_defconfig         |    1 +
 arch/avr32/configs/grasshopper_defconfig           |    1 +
 arch/avr32/configs/hammerhead_defconfig            |    1 +
 arch/avr32/configs/mimc200_defconfig               |    1 +
 arch/blackfin/Kconfig                              |  152 ++
 arch/blackfin/configs/bct-brettl2_defconfig        |    1 +
 arch/blackfin/configs/bf506f-ezkit_defconfig       |    1 +
 arch/blackfin/configs/bf518f-ezbrd_defconfig       |    1 +
 arch/blackfin/configs/bf525-ucr2_defconfig         |    1 +
 arch/blackfin/configs/bf526-ezbrd_defconfig        |    1 +
 arch/blackfin/configs/bf527-ad7160-eval_defconfig  |    1 +
 arch/blackfin/configs/bf527-ezkit-v2_defconfig     |    1 +
 arch/blackfin/configs/bf527-ezkit_defconfig        |    1 +
 arch/blackfin/configs/bf527-sdp_defconfig          |    1 +
 arch/blackfin/configs/bf533-ezkit_defconfig        |    1 +
 arch/blackfin/configs/bf533-stamp_defconfig        |    1 +
 arch/blackfin/configs/bf537-minotaur_defconfig     |    1 +
 arch/blackfin/configs/bf537-pnav_defconfig         |    1 +
 arch/blackfin/configs/bf537-srv1_defconfig         |    1 +
 arch/blackfin/configs/bf537-stamp_defconfig        |    1 +
 arch/blackfin/configs/bf538f-ezkit_defconfig       |    1 +
 arch/blackfin/configs/bf548-ezkit_defconfig        |    1 +
 arch/blackfin/configs/bf561-acvilon_defconfig      |    1 +
 arch/blackfin/configs/bf561-ezkit_defconfig        |    1 +
 arch/blackfin/configs/bf609-ezkit_defconfig        |    1 +
 arch/blackfin/configs/blackstamp_defconfig         |    1 +
 arch/blackfin/configs/blackvme_defconfig           |    1 +
 arch/blackfin/configs/br4_defconfig                |    1 +
 arch/blackfin/configs/cm-bf527_defconfig           |    1 +
 arch/blackfin/configs/cm-bf533_defconfig           |    1 +
 arch/blackfin/configs/cm-bf537e_defconfig          |    1 +
 arch/blackfin/configs/cm-bf537u_defconfig          |    1 +
 arch/blackfin/configs/cm-bf548_defconfig           |    1 +
 arch/blackfin/configs/cm-bf561_defconfig           |    1 +
 arch/blackfin/configs/dnp5370_defconfig            |    1 +
 arch/blackfin/configs/ibf-dsp561_defconfig         |    1 +
 arch/blackfin/configs/ip04_defconfig               |    1 +
 arch/blackfin/configs/pr1_defconfig                |    1 +
 arch/blackfin/configs/tcm-bf518_defconfig          |    1 +
 arch/blackfin/configs/tcm-bf537_defconfig          |    1 +
 arch/m68k/Kconfig                                  |  178 ++
 arch/m68k/configs/M5208EVBE_defconfig              |    1 +
 arch/m68k/configs/M52277EVB_defconfig              |    1 +
 arch/m68k/configs/M52277EVB_stmicro_defconfig      |    1 +
 arch/m68k/configs/M5235EVB_Flash32_defconfig       |    1 +
 arch/m68k/configs/M5235EVB_defconfig               |    1 +
 arch/m68k/configs/M5249EVB_defconfig               |    1 +
 arch/m68k/configs/M5253DEMO_defconfig              |    1 +
 arch/m68k/configs/M5253EVBE_defconfig              |    1 +
 arch/m68k/configs/M5272C3_defconfig                |    1 +
 arch/m68k/configs/M5275EVB_defconfig               |    1 +
 arch/m68k/configs/M5282EVB_defconfig               |    1 +
 arch/m68k/configs/M53017EVB_defconfig              |    1 +
 arch/m68k/configs/M5329AFEE_defconfig              |    1 +
 arch/m68k/configs/M5329BFEE_defconfig              |    1 +
 arch/m68k/configs/M5373EVB_defconfig               |    1 +
 arch/m68k/configs/M54418TWR_defconfig              |    1 +
 arch/m68k/configs/M54418TWR_nand_mii_defconfig     |    1 +
 arch/m68k/configs/M54418TWR_nand_rmii_defconfig    |    1 +
 .../configs/M54418TWR_nand_rmii_lowfreq_defconfig  |    1 +
 arch/m68k/configs/M54418TWR_serial_mii_defconfig   |    1 +
 arch/m68k/configs/M54418TWR_serial_rmii_defconfig  |    1 +
 arch/m68k/configs/M54451EVB_defconfig              |    1 +
 arch/m68k/configs/M54451EVB_stmicro_defconfig      |    1 +
 arch/m68k/configs/M54455EVB_a66_defconfig          |    1 +
 arch/m68k/configs/M54455EVB_defconfig              |    1 +
 arch/m68k/configs/M54455EVB_i66_defconfig          |    1 +
 arch/m68k/configs/M54455EVB_intel_defconfig        |    1 +
 arch/m68k/configs/M54455EVB_stm33_defconfig        |    1 +
 arch/m68k/configs/M5475AFE_defconfig               |    1 +
 arch/m68k/configs/M5475BFE_defconfig               |    1 +
 arch/m68k/configs/M5475CFE_defconfig               |    1 +
 arch/m68k/configs/M5475DFE_defconfig               |    1 +
 arch/m68k/configs/M5475EFE_defconfig               |    1 +
 arch/m68k/configs/M5475FFE_defconfig               |    1 +
 arch/m68k/configs/M5475GFE_defconfig               |    1 +
 arch/m68k/configs/M5485AFE_defconfig               |    1 +
 arch/m68k/configs/M5485BFE_defconfig               |    1 +
 arch/m68k/configs/M5485CFE_defconfig               |    1 +
 arch/m68k/configs/M5485DFE_defconfig               |    1 +
 arch/m68k/configs/M5485EFE_defconfig               |    1 +
 arch/m68k/configs/M5485FFE_defconfig               |    1 +
 arch/m68k/configs/M5485GFE_defconfig               |    1 +
 arch/m68k/configs/M5485HFE_defconfig               |    1 +
 arch/m68k/configs/TASREG_defconfig                 |    1 +
 arch/m68k/configs/astro_mcf5373l_defconfig         |    1 +
 arch/m68k/configs/cobra5272_defconfig              |    1 +
 arch/m68k/configs/eb_cpu5282_defconfig             |    1 +
 arch/m68k/configs/eb_cpu5282_internal_defconfig    |    1 +
 arch/microblaze/Kconfig                            |   17 +
 .../configs/microblaze-generic_defconfig           |    2 +
 arch/mips/Kconfig                                  |   90 +
 arch/mips/configs/dbau1000_defconfig               |    1 +
 arch/mips/configs/dbau1100_defconfig               |    1 +
 arch/mips/configs/dbau1500_defconfig               |    1 +
 arch/mips/configs/dbau1550_defconfig               |    1 +
 arch/mips/configs/dbau1550_el_defconfig            |    1 +
 arch/mips/configs/malta_defconfig                  |    1 +
 arch/mips/configs/maltael_defconfig                |    1 +
 arch/mips/configs/pb1000_defconfig                 |    1 +
 arch/mips/configs/qemu_mips64_defconfig            |    1 +
 arch/mips/configs/qemu_mips64el_defconfig          |    1 +
 arch/mips/configs/qemu_mips_defconfig              |    1 +
 arch/mips/configs/qemu_mipsel_defconfig            |    1 +
 arch/mips/configs/vct_platinum_defconfig           |    1 +
 arch/mips/configs/vct_platinum_onenand_defconfig   |    1 +
 .../configs/vct_platinum_onenand_small_defconfig   |    1 +
 arch/mips/configs/vct_platinum_small_defconfig     |    1 +
 arch/mips/configs/vct_platinumavc_defconfig        |    1 +
 .../mips/configs/vct_platinumavc_onenand_defconfig |    1 +
 .../vct_platinumavc_onenand_small_defconfig        |    1 +
 arch/mips/configs/vct_platinumavc_small_defconfig  |    1 +
 arch/mips/configs/vct_premium_defconfig            |    1 +
 arch/mips/configs/vct_premium_onenand_defconfig    |    1 +
 .../configs/vct_premium_onenand_small_defconfig    |    1 +
 arch/mips/configs/vct_premium_small_defconfig      |    1 +
 arch/nds32/Kconfig                                 |   25 +
 arch/nds32/configs/adp-ag101_defconfig             |    1 +
 arch/nds32/configs/adp-ag101p_defconfig            |    1 +
 arch/nds32/configs/adp-ag102_defconfig             |    1 +
 arch/nios2/Kconfig                                 |   25 +
 arch/nios2/configs/PCI5441_defconfig               |    1 +
 arch/nios2/configs/PK1C20_defconfig                |    1 +
 arch/nios2/configs/nios2-generic_defconfig         |    1 +
 arch/openrisc/Kconfig                              |   17 +
 arch/openrisc/configs/openrisc-generic_defconfig   |    1 +
 arch/powerpc/Kconfig                               | 2348 ++++++++++++++++++++
 arch/powerpc/configs/A3000_defconfig               |    1 +
 arch/powerpc/configs/APC405_defconfig              |    1 +
 arch/powerpc/configs/AR405_defconfig               |    1 +
 arch/powerpc/configs/ASH405_defconfig              |    1 +
 arch/powerpc/configs/AdderII_defconfig             |    1 +
 arch/powerpc/configs/Adder_defconfig               |    1 +
 arch/powerpc/configs/B4420QDS_NAND_defconfig       |    2 +
 arch/powerpc/configs/B4420QDS_SPIFLASH_defconfig   |    1 +
 arch/powerpc/configs/B4420QDS_defconfig            |    1 +
 arch/powerpc/configs/B4860QDS_NAND_defconfig       |    2 +
 .../powerpc/configs/B4860QDS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/B4860QDS_SPIFLASH_defconfig   |    1 +
 .../configs/B4860QDS_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/B4860QDS_defconfig            |    1 +
 arch/powerpc/configs/BC3450_defconfig              |    1 +
 .../configs/BSC9131RDB_NAND_SYSCLK100_defconfig    |    2 +
 arch/powerpc/configs/BSC9131RDB_NAND_defconfig     |    2 +
 .../BSC9131RDB_SPIFLASH_SYSCLK100_defconfig        |    1 +
 arch/powerpc/configs/BSC9131RDB_SPIFLASH_defconfig |    1 +
 .../BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig     |    1 +
 .../configs/BSC9132QDS_NAND_DDRCLK100_defconfig    |    2 +
 .../BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig     |    1 +
 .../configs/BSC9132QDS_NAND_DDRCLK133_defconfig    |    2 +
 .../BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig      |    1 +
 .../configs/BSC9132QDS_NOR_DDRCLK100_defconfig     |    1 +
 .../BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig      |    1 +
 .../configs/BSC9132QDS_NOR_DDRCLK133_defconfig     |    1 +
 .../BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig   |    1 +
 .../configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig  |    1 +
 .../BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig   |    1 +
 .../configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig  |    1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig |    1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK100_defconfig        |    1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig |    1 +
 .../BSC9132QDS_SPIFLASH_DDRCLK133_defconfig        |    1 +
 arch/powerpc/configs/C29XPCIE_NAND_defconfig       |    3 +
 arch/powerpc/configs/C29XPCIE_SPIFLASH_defconfig   |    1 +
 arch/powerpc/configs/C29XPCIE_defconfig            |    1 +
 arch/powerpc/configs/CATcenter_25_defconfig        |    1 +
 arch/powerpc/configs/CATcenter_33_defconfig        |    1 +
 arch/powerpc/configs/CATcenter_defconfig           |    1 +
 arch/powerpc/configs/CMS700_defconfig              |    1 +
 arch/powerpc/configs/CPC45_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/CPC45_defconfig               |    1 +
 arch/powerpc/configs/CPCI2DP_defconfig             |    1 +
 arch/powerpc/configs/CPCI4052_defconfig            |    1 +
 arch/powerpc/configs/CPCI405AB_defconfig           |    1 +
 arch/powerpc/configs/CPCI405DT_defconfig           |    1 +
 arch/powerpc/configs/CPCI405_defconfig             |    1 +
 arch/powerpc/configs/CPCI750_defconfig             |    1 +
 arch/powerpc/configs/CPCIISER4_defconfig           |    1 +
 arch/powerpc/configs/CPU86_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/CPU86_defconfig               |    1 +
 arch/powerpc/configs/CPU87_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/CPU87_defconfig               |    1 +
 arch/powerpc/configs/CRAYL1_defconfig              |    1 +
 arch/powerpc/configs/CU824_defconfig               |    1 +
 arch/powerpc/configs/DB64360_defconfig             |    1 +
 arch/powerpc/configs/DB64460_defconfig             |    1 +
 arch/powerpc/configs/DP405_defconfig               |    1 +
 arch/powerpc/configs/DU405_defconfig               |    1 +
 arch/powerpc/configs/DU440_defconfig               |    1 +
 arch/powerpc/configs/ELPPC_defconfig               |    1 +
 arch/powerpc/configs/ELPT860_defconfig             |    1 +
 arch/powerpc/configs/ESTEEM192E_defconfig          |    1 +
 arch/powerpc/configs/EVAL5200_defconfig            |    1 +
 arch/powerpc/configs/FLAGADM_defconfig             |    1 +
 arch/powerpc/configs/FPS850L_defconfig             |    1 +
 arch/powerpc/configs/FPS860L_defconfig             |    1 +
 arch/powerpc/configs/G2000_defconfig               |    1 +
 arch/powerpc/configs/GEN860T_SC_defconfig          |    1 +
 arch/powerpc/configs/GEN860T_defconfig             |    1 +
 arch/powerpc/configs/HH405_defconfig               |    1 +
 arch/powerpc/configs/HIDDEN_DRAGON_defconfig       |    1 +
 arch/powerpc/configs/HUB405_defconfig              |    1 +
 arch/powerpc/configs/HWW1U1A_defconfig             |    1 +
 arch/powerpc/configs/ICU862_100MHz_defconfig       |    1 +
 arch/powerpc/configs/ICU862_defconfig              |    1 +
 arch/powerpc/configs/IDS8247_defconfig             |    1 +
 arch/powerpc/configs/IP860_defconfig               |    1 +
 arch/powerpc/configs/IPHASE4539_defconfig          |    1 +
 arch/powerpc/configs/ISPAN_REVB_defconfig          |    1 +
 arch/powerpc/configs/ISPAN_defconfig               |    1 +
 arch/powerpc/configs/IVML24_128_defconfig          |    1 +
 arch/powerpc/configs/IVML24_256_defconfig          |    1 +
 arch/powerpc/configs/IVML24_defconfig              |    1 +
 arch/powerpc/configs/IVMS8_128_defconfig           |    1 +
 arch/powerpc/configs/IVMS8_256_defconfig           |    1 +
 arch/powerpc/configs/IVMS8_defconfig               |    1 +
 arch/powerpc/configs/JSE_defconfig                 |    1 +
 arch/powerpc/configs/KAREF_defconfig               |    1 +
 arch/powerpc/configs/KUP4K_defconfig               |    1 +
 arch/powerpc/configs/KUP4X_defconfig               |    1 +
 arch/powerpc/configs/Lite5200_LOWBOOT08_defconfig  |    1 +
 arch/powerpc/configs/Lite5200_LOWBOOT_defconfig    |    1 +
 arch/powerpc/configs/Lite5200_defconfig            |    1 +
 arch/powerpc/configs/MERGERBOX_defconfig           |    1 +
 arch/powerpc/configs/METROBOX_defconfig            |    1 +
 arch/powerpc/configs/MHPC_defconfig                |    1 +
 arch/powerpc/configs/MINI5200_defconfig            |    1 +
 arch/powerpc/configs/MIP405T_defconfig             |    1 +
 arch/powerpc/configs/MIP405_defconfig              |    1 +
 arch/powerpc/configs/MPC8260ADS_33MHz_defconfig    |    1 +
 .../configs/MPC8260ADS_33MHz_lowboot_defconfig     |    1 +
 arch/powerpc/configs/MPC8260ADS_40MHz_defconfig    |    1 +
 .../configs/MPC8260ADS_40MHz_lowboot_defconfig     |    1 +
 arch/powerpc/configs/MPC8260ADS_defconfig          |    1 +
 arch/powerpc/configs/MPC8260ADS_lowboot_defconfig  |    1 +
 arch/powerpc/configs/MPC8266ADS_defconfig          |    1 +
 arch/powerpc/configs/MPC8272ADS_defconfig          |    1 +
 arch/powerpc/configs/MPC8272ADS_lowboot_defconfig  |    1 +
 arch/powerpc/configs/MPC8308RDB_defconfig          |    1 +
 arch/powerpc/configs/MPC8313ERDB_33_defconfig      |    1 +
 arch/powerpc/configs/MPC8313ERDB_66_defconfig      |    1 +
 arch/powerpc/configs/MPC8313ERDB_NAND_33_defconfig |    2 +
 arch/powerpc/configs/MPC8313ERDB_NAND_66_defconfig |    2 +
 arch/powerpc/configs/MPC8315ERDB_NAND_defconfig    |    1 +
 arch/powerpc/configs/MPC8315ERDB_defconfig         |    1 +
 arch/powerpc/configs/MPC8323ERDB_defconfig         |    1 +
 arch/powerpc/configs/MPC832XEMDS_ATM_defconfig     |    1 +
 arch/powerpc/configs/MPC832XEMDS_HOST_33_defconfig |    1 +
 arch/powerpc/configs/MPC832XEMDS_HOST_66_defconfig |    1 +
 arch/powerpc/configs/MPC832XEMDS_SLAVE_defconfig   |    1 +
 arch/powerpc/configs/MPC832XEMDS_defconfig         |    1 +
 arch/powerpc/configs/MPC8349EMDS_defconfig         |    1 +
 arch/powerpc/configs/MPC8349ITXGP_defconfig        |    1 +
 arch/powerpc/configs/MPC8349ITX_LOWBOOT_defconfig  |    1 +
 arch/powerpc/configs/MPC8349ITX_defconfig          |    1 +
 arch/powerpc/configs/MPC8360EMDS_33_ATM_defconfig  |    1 +
 .../configs/MPC8360EMDS_33_HOST_33_defconfig       |    1 +
 .../configs/MPC8360EMDS_33_HOST_66_defconfig       |    1 +
 .../powerpc/configs/MPC8360EMDS_33_SLAVE_defconfig |    1 +
 arch/powerpc/configs/MPC8360EMDS_33_defconfig      |    1 +
 arch/powerpc/configs/MPC8360EMDS_66_ATM_defconfig  |    1 +
 .../configs/MPC8360EMDS_66_HOST_33_defconfig       |    1 +
 .../configs/MPC8360EMDS_66_HOST_66_defconfig       |    1 +
 .../powerpc/configs/MPC8360EMDS_66_SLAVE_defconfig |    1 +
 arch/powerpc/configs/MPC8360EMDS_66_defconfig      |    1 +
 arch/powerpc/configs/MPC8360ERDK_33_defconfig      |    1 +
 arch/powerpc/configs/MPC8360ERDK_defconfig         |    1 +
 arch/powerpc/configs/MPC837XEMDS_HOST_defconfig    |    1 +
 arch/powerpc/configs/MPC837XEMDS_defconfig         |    1 +
 arch/powerpc/configs/MPC837XERDB_defconfig         |    1 +
 arch/powerpc/configs/MPC8536DS_36BIT_defconfig     |    1 +
 arch/powerpc/configs/MPC8536DS_NAND_defconfig      |    1 +
 arch/powerpc/configs/MPC8536DS_SDCARD_defconfig    |    1 +
 arch/powerpc/configs/MPC8536DS_SPIFLASH_defconfig  |    1 +
 arch/powerpc/configs/MPC8536DS_defconfig           |    1 +
 arch/powerpc/configs/MPC8540ADS_defconfig          |    1 +
 arch/powerpc/configs/MPC8541CDS_defconfig          |    1 +
 arch/powerpc/configs/MPC8541CDS_legacy_defconfig   |    1 +
 arch/powerpc/configs/MPC8544DS_defconfig           |    1 +
 arch/powerpc/configs/MPC8548CDS_36BIT_defconfig    |    1 +
 arch/powerpc/configs/MPC8548CDS_defconfig          |    1 +
 arch/powerpc/configs/MPC8548CDS_legacy_defconfig   |    1 +
 arch/powerpc/configs/MPC8555CDS_defconfig          |    1 +
 arch/powerpc/configs/MPC8555CDS_legacy_defconfig   |    1 +
 arch/powerpc/configs/MPC8560ADS_defconfig          |    1 +
 arch/powerpc/configs/MPC8568MDS_defconfig          |    1 +
 arch/powerpc/configs/MPC8569MDS_ATM_defconfig      |    1 +
 arch/powerpc/configs/MPC8569MDS_NAND_defconfig     |    1 +
 arch/powerpc/configs/MPC8569MDS_defconfig          |    1 +
 arch/powerpc/configs/MPC8572DS_36BIT_defconfig     |    1 +
 arch/powerpc/configs/MPC8572DS_NAND_defconfig      |    1 +
 arch/powerpc/configs/MPC8572DS_defconfig           |    1 +
 arch/powerpc/configs/MPC8610HPCD_defconfig         |    1 +
 arch/powerpc/configs/MPC8641HPCN_36BIT_defconfig   |    1 +
 arch/powerpc/configs/MPC8641HPCN_defconfig         |    1 +
 arch/powerpc/configs/MPC86xADS_defconfig           |    1 +
 arch/powerpc/configs/MPC885ADS_defconfig           |    1 +
 arch/powerpc/configs/MUSENKI_defconfig             |    1 +
 arch/powerpc/configs/MVBC_P_defconfig              |    1 +
 arch/powerpc/configs/MVBLM7_defconfig              |    1 +
 arch/powerpc/configs/MVBLUE_defconfig              |    1 +
 arch/powerpc/configs/MVSMR_defconfig               |    1 +
 arch/powerpc/configs/MiniFAP_defconfig             |    1 +
 arch/powerpc/configs/NETPHONE_V2_defconfig         |    1 +
 arch/powerpc/configs/NETPHONE_defconfig            |    1 +
 arch/powerpc/configs/NETTA2_V2_defconfig           |    1 +
 arch/powerpc/configs/NETTA2_defconfig              |    1 +
 arch/powerpc/configs/NETTA_6412_SWAPHOOK_defconfig |    1 +
 arch/powerpc/configs/NETTA_6412_defconfig          |    1 +
 .../configs/NETTA_ISDN_6412_SWAPHOOK_defconfig     |    1 +
 arch/powerpc/configs/NETTA_ISDN_6412_defconfig     |    1 +
 arch/powerpc/configs/NETTA_ISDN_SWAPHOOK_defconfig |    1 +
 arch/powerpc/configs/NETTA_ISDN_defconfig          |    1 +
 arch/powerpc/configs/NETTA_SWAPHOOK_defconfig      |    1 +
 arch/powerpc/configs/NETTA_defconfig               |    1 +
 arch/powerpc/configs/NETVIA_V2_defconfig           |    1 +
 arch/powerpc/configs/NETVIA_defconfig              |    1 +
 arch/powerpc/configs/NSCU_defconfig                |    1 +
 arch/powerpc/configs/O2D300_defconfig              |    1 +
 arch/powerpc/configs/O2DNT2_RAMBOOT_defconfig      |    1 +
 arch/powerpc/configs/O2DNT2_defconfig              |    1 +
 arch/powerpc/configs/O2D_defconfig                 |    1 +
 arch/powerpc/configs/O2I_defconfig                 |    1 +
 arch/powerpc/configs/O2MNT_O2M110_defconfig        |    1 +
 arch/powerpc/configs/O2MNT_O2M112_defconfig        |    1 +
 arch/powerpc/configs/O2MNT_O2M113_defconfig        |    1 +
 arch/powerpc/configs/O2MNT_defconfig               |    1 +
 arch/powerpc/configs/O3DNT_defconfig               |    1 +
 arch/powerpc/configs/OCRTC_defconfig               |    1 +
 .../P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig       |    1 +
 .../configs/P1010RDB-PA_36BIT_NAND_defconfig       |    3 +
 .../P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig        |    1 +
 .../configs/P1010RDB-PA_36BIT_NOR_defconfig        |    1 +
 .../configs/P1010RDB-PA_36BIT_SDCARD_defconfig     |    2 +
 .../P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig   |    1 +
 .../configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig   |    2 +
 .../configs/P1010RDB-PA_NAND_SECBOOT_defconfig     |    1 +
 arch/powerpc/configs/P1010RDB-PA_NAND_defconfig    |    3 +
 .../configs/P1010RDB-PA_NOR_SECBOOT_defconfig      |    1 +
 arch/powerpc/configs/P1010RDB-PA_NOR_defconfig     |    1 +
 arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig  |    2 +
 .../configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig |    1 +
 .../powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig |    2 +
 .../P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig       |    1 +
 .../configs/P1010RDB-PB_36BIT_NAND_defconfig       |    3 +
 .../P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig        |    1 +
 .../configs/P1010RDB-PB_36BIT_NOR_defconfig        |    1 +
 .../configs/P1010RDB-PB_36BIT_SDCARD_defconfig     |    2 +
 .../P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig   |    1 +
 .../configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig   |    2 +
 .../configs/P1010RDB-PB_NAND_SECBOOT_defconfig     |    1 +
 arch/powerpc/configs/P1010RDB-PB_NAND_defconfig    |    3 +
 .../configs/P1010RDB-PB_NOR_SECBOOT_defconfig      |    1 +
 arch/powerpc/configs/P1010RDB-PB_NOR_defconfig     |    1 +
 arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig  |    2 +
 .../configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig |    1 +
 .../powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig |    2 +
 .../configs/P1011RDB_36BIT_SDCARD_defconfig        |    2 +
 .../configs/P1011RDB_36BIT_SPIFLASH_defconfig      |    2 +
 arch/powerpc/configs/P1011RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P1011RDB_NAND_defconfig       |    3 +
 arch/powerpc/configs/P1011RDB_SDCARD_defconfig     |    2 +
 arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig   |    2 +
 arch/powerpc/configs/P1011RDB_defconfig            |    1 +
 .../configs/P1020MBG-PC_36BIT_SDCARD_defconfig     |    2 +
 arch/powerpc/configs/P1020MBG-PC_36BIT_defconfig   |    1 +
 arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig  |    2 +
 arch/powerpc/configs/P1020MBG-PC_defconfig         |    1 +
 .../configs/P1020RDB-PC_36BIT_NAND_defconfig       |    3 +
 .../configs/P1020RDB-PC_36BIT_SDCARD_defconfig     |    2 +
 .../configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig   |    2 +
 arch/powerpc/configs/P1020RDB-PC_36BIT_defconfig   |    1 +
 arch/powerpc/configs/P1020RDB-PC_NAND_defconfig    |    3 +
 arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig  |    2 +
 .../powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig |    2 +
 arch/powerpc/configs/P1020RDB-PC_defconfig         |    1 +
 arch/powerpc/configs/P1020RDB-PD_NAND_defconfig    |    3 +
 arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig  |    2 +
 .../powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig |    2 +
 arch/powerpc/configs/P1020RDB-PD_defconfig         |    1 +
 .../configs/P1020RDB_36BIT_SDCARD_defconfig        |    2 +
 .../configs/P1020RDB_36BIT_SPIFLASH_defconfig      |    2 +
 arch/powerpc/configs/P1020RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P1020RDB_NAND_defconfig       |    3 +
 arch/powerpc/configs/P1020RDB_SDCARD_defconfig     |    2 +
 arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig   |    2 +
 arch/powerpc/configs/P1020RDB_defconfig            |    1 +
 .../configs/P1020UTM-PC_36BIT_SDCARD_defconfig     |    2 +
 arch/powerpc/configs/P1020UTM-PC_36BIT_defconfig   |    1 +
 arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig  |    2 +
 arch/powerpc/configs/P1020UTM-PC_defconfig         |    1 +
 .../configs/P1021RDB-PC_36BIT_NAND_defconfig       |    3 +
 .../configs/P1021RDB-PC_36BIT_SDCARD_defconfig     |    2 +
 .../configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig   |    2 +
 arch/powerpc/configs/P1021RDB-PC_36BIT_defconfig   |    1 +
 arch/powerpc/configs/P1021RDB-PC_NAND_defconfig    |    3 +
 arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig  |    2 +
 .../powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig |    2 +
 arch/powerpc/configs/P1021RDB-PC_defconfig         |    1 +
 arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig  |    3 +
 .../powerpc/configs/P1022DS_36BIT_SDCARD_defconfig |    2 +
 .../configs/P1022DS_36BIT_SPIFLASH_defconfig       |    2 +
 arch/powerpc/configs/P1022DS_36BIT_defconfig       |    1 +
 arch/powerpc/configs/P1022DS_NAND_defconfig        |    3 +
 arch/powerpc/configs/P1022DS_SDCARD_defconfig      |    2 +
 arch/powerpc/configs/P1022DS_SPIFLASH_defconfig    |    2 +
 arch/powerpc/configs/P1022DS_defconfig             |    1 +
 arch/powerpc/configs/P1023RDB_defconfig            |    1 +
 arch/powerpc/configs/P1023RDS_NAND_defconfig       |    1 +
 arch/powerpc/configs/P1023RDS_defconfig            |    1 +
 arch/powerpc/configs/P1024RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P1024RDB_NAND_defconfig       |    3 +
 arch/powerpc/configs/P1024RDB_SDCARD_defconfig     |    2 +
 arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig   |    2 +
 arch/powerpc/configs/P1024RDB_defconfig            |    1 +
 arch/powerpc/configs/P1025RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P1025RDB_NAND_defconfig       |    3 +
 arch/powerpc/configs/P1025RDB_SDCARD_defconfig     |    2 +
 arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig   |    2 +
 arch/powerpc/configs/P1025RDB_defconfig            |    1 +
 .../configs/P2010RDB_36BIT_SDCARD_defconfig        |    2 +
 .../configs/P2010RDB_36BIT_SPIFLASH_defconfig      |    2 +
 arch/powerpc/configs/P2010RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P2010RDB_NAND_defconfig       |    3 +
 arch/powerpc/configs/P2010RDB_SDCARD_defconfig     |    2 +
 arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig   |    2 +
 arch/powerpc/configs/P2010RDB_defconfig            |    1 +
 arch/powerpc/configs/P2020COME_SDCARD_defconfig    |    1 +
 arch/powerpc/configs/P2020COME_SPIFLASH_defconfig  |    1 +
 arch/powerpc/configs/P2020DS_36BIT_defconfig       |    1 +
 arch/powerpc/configs/P2020DS_DDR2_defconfig        |    1 +
 arch/powerpc/configs/P2020DS_SDCARD_defconfig      |    1 +
 arch/powerpc/configs/P2020DS_SPIFLASH_defconfig    |    1 +
 arch/powerpc/configs/P2020DS_defconfig             |    1 +
 .../configs/P2020RDB-PC_36BIT_NAND_defconfig       |    3 +
 .../configs/P2020RDB-PC_36BIT_SDCARD_defconfig     |    2 +
 .../configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig   |    2 +
 arch/powerpc/configs/P2020RDB-PC_36BIT_defconfig   |    1 +
 arch/powerpc/configs/P2020RDB-PC_NAND_defconfig    |    3 +
 arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig  |    2 +
 .../powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig |    2 +
 arch/powerpc/configs/P2020RDB-PC_defconfig         |    1 +
 .../configs/P2020RDB_36BIT_SDCARD_defconfig        |    2 +
 .../configs/P2020RDB_36BIT_SPIFLASH_defconfig      |    2 +
 arch/powerpc/configs/P2020RDB_36BIT_defconfig      |    1 +
 arch/powerpc/configs/P2020RDB_NAND_defconfig       |    3 +
 arch/powerpc/configs/P2020RDB_SDCARD_defconfig     |    2 +
 arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig   |    2 +
 arch/powerpc/configs/P2020RDB_defconfig            |    1 +
 arch/powerpc/configs/P2041RDB_NAND_defconfig       |    1 +
 arch/powerpc/configs/P2041RDB_SDCARD_defconfig     |    1 +
 .../powerpc/configs/P2041RDB_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/P2041RDB_SPIFLASH_defconfig   |    1 +
 .../configs/P2041RDB_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/P2041RDB_defconfig            |    1 +
 arch/powerpc/configs/P3041DS_NAND_defconfig        |    1 +
 arch/powerpc/configs/P3041DS_SDCARD_defconfig      |    1 +
 arch/powerpc/configs/P3041DS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/P3041DS_SPIFLASH_defconfig    |    1 +
 .../configs/P3041DS_SRIO_PCIE_BOOT_defconfig       |    1 +
 arch/powerpc/configs/P3041DS_defconfig             |    1 +
 arch/powerpc/configs/P3G4_defconfig                |    1 +
 arch/powerpc/configs/P4080DS_SDCARD_defconfig      |    1 +
 arch/powerpc/configs/P4080DS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/P4080DS_SPIFLASH_defconfig    |    1 +
 .../configs/P4080DS_SRIO_PCIE_BOOT_defconfig       |    1 +
 arch/powerpc/configs/P4080DS_defconfig             |    1 +
 arch/powerpc/configs/P5020DS_NAND_defconfig        |    1 +
 arch/powerpc/configs/P5020DS_SDCARD_defconfig      |    1 +
 arch/powerpc/configs/P5020DS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/P5020DS_SPIFLASH_defconfig    |    1 +
 .../configs/P5020DS_SRIO_PCIE_BOOT_defconfig       |    1 +
 arch/powerpc/configs/P5020DS_defconfig             |    1 +
 arch/powerpc/configs/P5040DS_NAND_defconfig        |    1 +
 arch/powerpc/configs/P5040DS_SDCARD_defconfig      |    1 +
 arch/powerpc/configs/P5040DS_SPIFLASH_defconfig    |    1 +
 arch/powerpc/configs/P5040DS_defconfig             |    1 +
 arch/powerpc/configs/PATI_defconfig                |    1 +
 arch/powerpc/configs/PCI405_defconfig              |    1 +
 arch/powerpc/configs/PIP405_defconfig              |    1 +
 arch/powerpc/configs/PLU405_defconfig              |    1 +
 arch/powerpc/configs/PM520_DDR_defconfig           |    1 +
 arch/powerpc/configs/PM520_ROMBOOT_DDR_defconfig   |    1 +
 arch/powerpc/configs/PM520_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/PM520_defconfig               |    1 +
 arch/powerpc/configs/PM825_BIGFLASH_defconfig      |    1 +
 .../configs/PM825_ROMBOOT_BIGFLASH_defconfig       |    1 +
 arch/powerpc/configs/PM825_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/PM825_defconfig               |    1 +
 arch/powerpc/configs/PM826_BIGFLASH_defconfig      |    1 +
 .../configs/PM826_ROMBOOT_BIGFLASH_defconfig       |    1 +
 arch/powerpc/configs/PM826_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/PM826_defconfig               |    1 +
 arch/powerpc/configs/PM828_PCI_defconfig           |    1 +
 arch/powerpc/configs/PM828_ROMBOOT_PCI_defconfig   |    1 +
 arch/powerpc/configs/PM828_ROMBOOT_defconfig       |    1 +
 arch/powerpc/configs/PM828_defconfig               |    1 +
 arch/powerpc/configs/PMC405DE_defconfig            |    1 +
 arch/powerpc/configs/PMC405_defconfig              |    1 +
 arch/powerpc/configs/PMC440_defconfig              |    1 +
 .../powerpc/configs/PPChameleonEVB_BA_25_defconfig |    1 +
 .../powerpc/configs/PPChameleonEVB_BA_33_defconfig |    1 +
 .../powerpc/configs/PPChameleonEVB_HI_25_defconfig |    1 +
 .../powerpc/configs/PPChameleonEVB_HI_33_defconfig |    1 +
 .../powerpc/configs/PPChameleonEVB_ME_25_defconfig |    1 +
 .../powerpc/configs/PPChameleonEVB_ME_33_defconfig |    1 +
 arch/powerpc/configs/PPChameleonEVB_defconfig      |    1 +
 arch/powerpc/configs/PQ2FADS-VR_defconfig          |    1 +
 arch/powerpc/configs/PQ2FADS-VR_lowboot_defconfig  |    1 +
 arch/powerpc/configs/PQ2FADS-ZU_66MHz_defconfig    |    1 +
 .../configs/PQ2FADS-ZU_66MHz_lowboot_defconfig     |    1 +
 arch/powerpc/configs/PQ2FADS-ZU_defconfig          |    1 +
 arch/powerpc/configs/PQ2FADS-ZU_lowboot_defconfig  |    1 +
 arch/powerpc/configs/PQ2FADS_defconfig             |    1 +
 arch/powerpc/configs/PQ2FADS_lowboot_defconfig     |    1 +
 arch/powerpc/configs/QS823_defconfig               |    1 +
 arch/powerpc/configs/QS850_defconfig               |    1 +
 arch/powerpc/configs/QS860T_defconfig              |    1 +
 arch/powerpc/configs/R360MPI_defconfig             |    1 +
 arch/powerpc/configs/RBC823_defconfig              |    1 +
 arch/powerpc/configs/RPXlite_DW_64_LCD_defconfig   |    1 +
 arch/powerpc/configs/RPXlite_DW_64_defconfig       |    1 +
 arch/powerpc/configs/RPXlite_DW_LCD_defconfig      |    1 +
 .../configs/RPXlite_DW_NVRAM_64_LCD_defconfig      |    1 +
 arch/powerpc/configs/RPXlite_DW_NVRAM_64_defconfig |    1 +
 .../powerpc/configs/RPXlite_DW_NVRAM_LCD_defconfig |    1 +
 arch/powerpc/configs/RPXlite_DW_NVRAM_defconfig    |    1 +
 arch/powerpc/configs/RPXlite_DW_defconfig          |    1 +
 arch/powerpc/configs/RRvision_LCD_defconfig        |    1 +
 arch/powerpc/configs/RRvision_defconfig            |    1 +
 arch/powerpc/configs/Rattler8248_defconfig         |    1 +
 arch/powerpc/configs/Rattler_defconfig             |    1 +
 arch/powerpc/configs/SIMPC8313_LP_defconfig        |    1 +
 arch/powerpc/configs/SIMPC8313_SP_defconfig        |    1 +
 arch/powerpc/configs/SM850_defconfig               |    1 +
 arch/powerpc/configs/SPD823TS_defconfig            |    1 +
 arch/powerpc/configs/SXNI855T_defconfig            |    1 +
 arch/powerpc/configs/Sandpoint8240_defconfig       |    1 +
 arch/powerpc/configs/Sandpoint8245_defconfig       |    1 +
 arch/powerpc/configs/T1040QDS_D4_defconfig         |    1 +
 .../powerpc/configs/T1040QDS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T1040QDS_defconfig            |    1 +
 arch/powerpc/configs/T1040RDB_NAND_defconfig       |    2 +
 arch/powerpc/configs/T1040RDB_SDCARD_defconfig     |    2 +
 .../powerpc/configs/T1040RDB_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig   |    2 +
 arch/powerpc/configs/T1040RDB_defconfig            |    1 +
 arch/powerpc/configs/T1042RDB_PI_NAND_defconfig    |    2 +
 arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig  |    2 +
 .../powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig |    2 +
 arch/powerpc/configs/T1042RDB_PI_defconfig         |    1 +
 arch/powerpc/configs/T2080QDS_NAND_defconfig       |    2 +
 arch/powerpc/configs/T2080QDS_SDCARD_defconfig     |    2 +
 .../powerpc/configs/T2080QDS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig   |    2 +
 .../configs/T2080QDS_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/T2080QDS_defconfig            |    1 +
 arch/powerpc/configs/T2080RDB_NAND_defconfig       |    2 +
 arch/powerpc/configs/T2080RDB_SDCARD_defconfig     |    2 +
 .../powerpc/configs/T2080RDB_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig   |    2 +
 .../configs/T2080RDB_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/T2080RDB_defconfig            |    1 +
 arch/powerpc/configs/T2081QDS_NAND_defconfig       |    2 +
 arch/powerpc/configs/T2081QDS_SDCARD_defconfig     |    2 +
 arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig   |    2 +
 .../configs/T2081QDS_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/T2081QDS_defconfig            |    1 +
 arch/powerpc/configs/T4160QDS_NAND_defconfig       |    2 +
 arch/powerpc/configs/T4160QDS_SDCARD_defconfig     |    2 +
 .../powerpc/configs/T4160QDS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T4160QDS_SPIFLASH_defconfig   |    1 +
 arch/powerpc/configs/T4160QDS_defconfig            |    1 +
 arch/powerpc/configs/T4160RDB_defconfig            |    1 +
 arch/powerpc/configs/T4240EMU_defconfig            |    1 +
 arch/powerpc/configs/T4240QDS_NAND_defconfig       |    2 +
 arch/powerpc/configs/T4240QDS_SDCARD_defconfig     |    2 +
 .../powerpc/configs/T4240QDS_SECURE_BOOT_defconfig |    1 +
 arch/powerpc/configs/T4240QDS_SPIFLASH_defconfig   |    1 +
 .../configs/T4240QDS_SRIO_PCIE_BOOT_defconfig      |    1 +
 arch/powerpc/configs/T4240QDS_defconfig            |    1 +
 arch/powerpc/configs/T4240RDB_defconfig            |    1 +
 arch/powerpc/configs/TB5200_B_defconfig            |    1 +
 arch/powerpc/configs/TB5200_defconfig              |    1 +
 arch/powerpc/configs/TK885D_defconfig              |    1 +
 arch/powerpc/configs/TOP5200_defconfig             |    1 +
 arch/powerpc/configs/TOP860_defconfig              |    1 +
 arch/powerpc/configs/TQM5200S_HIGHBOOT_defconfig   |    1 +
 arch/powerpc/configs/TQM5200S_defconfig            |    1 +
 arch/powerpc/configs/TQM5200_B_HIGHBOOT_defconfig  |    1 +
 arch/powerpc/configs/TQM5200_B_defconfig           |    1 +
 arch/powerpc/configs/TQM5200_STK100_defconfig      |    1 +
 arch/powerpc/configs/TQM5200_defconfig             |    1 +
 arch/powerpc/configs/TQM823L_LCD_defconfig         |    1 +
 arch/powerpc/configs/TQM823L_defconfig             |    1 +
 arch/powerpc/configs/TQM823M_defconfig             |    1 +
 arch/powerpc/configs/TQM8255_AA_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AA_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AB_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AC_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AD_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AE_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AF_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AG_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AH_defconfig          |    1 +
 arch/powerpc/configs/TQM8260_AI_defconfig          |    1 +
 arch/powerpc/configs/TQM8265_AA_defconfig          |    1 +
 arch/powerpc/configs/TQM8272_defconfig             |    1 +
 arch/powerpc/configs/TQM834x_defconfig             |    1 +
 arch/powerpc/configs/TQM850L_defconfig             |    1 +
 arch/powerpc/configs/TQM850M_defconfig             |    1 +
 arch/powerpc/configs/TQM855L_defconfig             |    1 +
 arch/powerpc/configs/TQM855M_defconfig             |    1 +
 arch/powerpc/configs/TQM860L_defconfig             |    1 +
 arch/powerpc/configs/TQM860M_defconfig             |    1 +
 arch/powerpc/configs/TQM862L_defconfig             |    1 +
 arch/powerpc/configs/TQM862M_defconfig             |    1 +
 arch/powerpc/configs/TQM866M_defconfig             |    1 +
 arch/powerpc/configs/TQM885D_defconfig             |    1 +
 arch/powerpc/configs/TTTech_defconfig              |    1 +
 arch/powerpc/configs/TWR-P1025_defconfig           |    1 +
 arch/powerpc/configs/Total5200_Rev2_defconfig      |    1 +
 .../configs/Total5200_Rev2_lowboot_defconfig       |    1 +
 arch/powerpc/configs/Total5200_defconfig           |    1 +
 arch/powerpc/configs/Total5200_lowboot_defconfig   |    1 +
 arch/powerpc/configs/VOH405_defconfig              |    1 +
 arch/powerpc/configs/VOM405_defconfig              |    1 +
 arch/powerpc/configs/VoVPN-GW_66MHz_defconfig      |    1 +
 arch/powerpc/configs/W7OLMC_defconfig              |    1 +
 arch/powerpc/configs/W7OLMG_defconfig              |    1 +
 arch/powerpc/configs/WUH405_defconfig              |    1 +
 arch/powerpc/configs/ZPC1900_defconfig             |    1 +
 arch/powerpc/configs/ZUMA_defconfig                |    1 +
 arch/powerpc/configs/a3m071_defconfig              |    2 +
 arch/powerpc/configs/a4m072_defconfig              |    1 +
 arch/powerpc/configs/a4m2k_defconfig               |    2 +
 arch/powerpc/configs/ac14xx_defconfig              |    1 +
 arch/powerpc/configs/acadia_defconfig              |    1 +
 arch/powerpc/configs/aev_defconfig                 |    1 +
 arch/powerpc/configs/alpr_defconfig                |    1 +
 arch/powerpc/configs/arches_defconfig              |    1 +
 arch/powerpc/configs/aria_defconfig                |    1 +
 arch/powerpc/configs/atc_defconfig                 |    1 +
 arch/powerpc/configs/bamboo_defconfig              |    1 +
 arch/powerpc/configs/bluestone_defconfig           |    1 +
 arch/powerpc/configs/bubinga_defconfig             |    1 +
 arch/powerpc/configs/caddy2_defconfig              |    1 +
 arch/powerpc/configs/cam5200_defconfig             |    1 +
 arch/powerpc/configs/cam5200_niosflash_defconfig   |    1 +
 arch/powerpc/configs/canmb_defconfig               |    1 +
 arch/powerpc/configs/canyonlands_defconfig         |    1 +
 arch/powerpc/configs/charon_defconfig              |    1 +
 arch/powerpc/configs/cm5200_defconfig              |    1 +
 arch/powerpc/configs/cmi_mpc5xx_defconfig          |    1 +
 arch/powerpc/configs/cogent_mpc8260_defconfig      |    1 +
 arch/powerpc/configs/cogent_mpc8xx_defconfig       |    1 +
 .../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig  |    1 +
 .../configs/controlcenterd_36BIT_SDCARD_defconfig  |    1 +
 .../controlcenterd_TRAILBLAZER_DEVELOP_defconfig   |    1 +
 .../configs/controlcenterd_TRAILBLAZER_defconfig   |    1 +
 arch/powerpc/configs/cpci5200_defconfig            |    1 +
 arch/powerpc/configs/csb272_defconfig              |    1 +
 arch/powerpc/configs/csb472_defconfig              |    1 +
 arch/powerpc/configs/debris_defconfig              |    1 +
 arch/powerpc/configs/devconcenter_defconfig        |    1 +
 arch/powerpc/configs/digsy_mtc_RAMBOOT_defconfig   |    1 +
 arch/powerpc/configs/digsy_mtc_defconfig           |    1 +
 .../configs/digsy_mtc_rev5_RAMBOOT_defconfig       |    1 +
 arch/powerpc/configs/digsy_mtc_rev5_defconfig      |    1 +
 arch/powerpc/configs/dlvision-10g_defconfig        |    1 +
 arch/powerpc/configs/dlvision_defconfig            |    1 +
 arch/powerpc/configs/eXalion_defconfig             |    1 +
 arch/powerpc/configs/ebony_defconfig               |    1 +
 arch/powerpc/configs/ep8248_defconfig              |    1 +
 arch/powerpc/configs/ep8260_defconfig              |    1 +
 arch/powerpc/configs/ep82xxm_defconfig             |    1 +
 arch/powerpc/configs/fo300_defconfig               |    1 +
 arch/powerpc/configs/fx12mm_defconfig              |    1 +
 arch/powerpc/configs/fx12mm_flash_defconfig        |    1 +
 arch/powerpc/configs/galaxy5200_LOWBOOT_defconfig  |    1 +
 arch/powerpc/configs/galaxy5200_defconfig          |    1 +
 arch/powerpc/configs/gdppc440etx_defconfig         |    1 +
 arch/powerpc/configs/glacier_defconfig             |    1 +
 arch/powerpc/configs/gw8260_defconfig              |    1 +
 arch/powerpc/configs/haleakala_defconfig           |    1 +
 arch/powerpc/configs/hermes_defconfig              |    1 +
 arch/powerpc/configs/hmi1001_defconfig             |    1 +
 arch/powerpc/configs/hymod_defconfig               |    1 +
 .../configs/icecube_5200_DDR_LOWBOOT08_defconfig   |    1 +
 .../configs/icecube_5200_DDR_LOWBOOT_defconfig     |    1 +
 arch/powerpc/configs/icecube_5200_DDR_defconfig    |    1 +
 .../configs/icecube_5200_LOWBOOT08_defconfig       |    1 +
 .../powerpc/configs/icecube_5200_LOWBOOT_defconfig |    1 +
 arch/powerpc/configs/icecube_5200_defconfig        |    1 +
 arch/powerpc/configs/icon_defconfig                |    1 +
 arch/powerpc/configs/ids8313_defconfig             |    1 +
 arch/powerpc/configs/inka4x0_defconfig             |    1 +
 arch/powerpc/configs/intip_defconfig               |    1 +
 arch/powerpc/configs/io64_defconfig                |    1 +
 arch/powerpc/configs/io_defconfig                  |    1 +
 arch/powerpc/configs/iocon_defconfig               |    1 +
 arch/powerpc/configs/ipek01_defconfig              |    1 +
 arch/powerpc/configs/jupiter_defconfig             |    1 +
 arch/powerpc/configs/katmai_defconfig              |    1 +
 arch/powerpc/configs/kilauea_defconfig             |    1 +
 arch/powerpc/configs/kmcoge4_defconfig             |    1 +
 arch/powerpc/configs/kmcoge5ne_defconfig           |    1 +
 arch/powerpc/configs/kmeter1_defconfig             |    1 +
 arch/powerpc/configs/kmlion1_defconfig             |    1 +
 arch/powerpc/configs/kmopti2_defconfig             |    1 +
 arch/powerpc/configs/kmsupx5_defconfig             |    1 +
 arch/powerpc/configs/kmvect1_defconfig             |    1 +
 arch/powerpc/configs/korat_defconfig               |    1 +
 arch/powerpc/configs/korat_perm_defconfig          |    1 +
 arch/powerpc/configs/kvme080_defconfig             |    1 +
 arch/powerpc/configs/lcd4_lwmon5_defconfig         |    2 +
 arch/powerpc/configs/lite5200b_LOWBOOT_defconfig   |    1 +
 arch/powerpc/configs/lite5200b_PM_defconfig        |    1 +
 arch/powerpc/configs/lite5200b_defconfig           |    1 +
 arch/powerpc/configs/luan_defconfig                |    1 +
 arch/powerpc/configs/lwmon5_defconfig              |    1 +
 arch/powerpc/configs/lwmon_defconfig               |    1 +
 arch/powerpc/configs/makalu_defconfig              |    1 +
 arch/powerpc/configs/mcc200_COM12_SDRAM_defconfig  |    1 +
 arch/powerpc/configs/mcc200_COM12_defconfig        |    1 +
 .../configs/mcc200_COM12_highboot_SDRAM_defconfig  |    1 +
 .../configs/mcc200_COM12_highboot_defconfig        |    1 +
 arch/powerpc/configs/mcc200_SDRAM_defconfig        |    1 +
 arch/powerpc/configs/mcc200_defconfig              |    1 +
 .../configs/mcc200_highboot_SDRAM_defconfig        |    1 +
 arch/powerpc/configs/mcc200_highboot_defconfig     |    1 +
 arch/powerpc/configs/mecp5123_defconfig            |    1 +
 arch/powerpc/configs/mecp5200_defconfig            |    1 +
 arch/powerpc/configs/mgcoge3ne_defconfig           |    1 +
 arch/powerpc/configs/mgcoge_defconfig              |    1 +
 arch/powerpc/configs/ml507_defconfig               |    1 +
 arch/powerpc/configs/ml507_flash_defconfig         |    1 +
 arch/powerpc/configs/motionpro_defconfig           |    1 +
 arch/powerpc/configs/mpc5121ads_defconfig          |    1 +
 arch/powerpc/configs/mpc5121ads_rev2_defconfig     |    1 +
 arch/powerpc/configs/mpc7448hpc2_defconfig         |    1 +
 arch/powerpc/configs/mpc8308_p1m_defconfig         |    1 +
 arch/powerpc/configs/muas3001_defconfig            |    1 +
 arch/powerpc/configs/muas3001_dev_defconfig        |    1 +
 arch/powerpc/configs/mucmc52_defconfig             |    1 +
 arch/powerpc/configs/munices_defconfig             |    1 +
 arch/powerpc/configs/neo_defconfig                 |    1 +
 arch/powerpc/configs/ocotea_defconfig              |    1 +
 arch/powerpc/configs/p3m7448_defconfig             |    1 +
 arch/powerpc/configs/p3m750_defconfig              |    1 +
 arch/powerpc/configs/p3p440_defconfig              |    1 +
 arch/powerpc/configs/pcm030_LOWBOOT_defconfig      |    1 +
 arch/powerpc/configs/pcm030_defconfig              |    1 +
 arch/powerpc/configs/pcs440ep_defconfig            |    1 +
 arch/powerpc/configs/pdm360ng_defconfig            |    1 +
 arch/powerpc/configs/pf5200_defconfig              |    1 +
 arch/powerpc/configs/ppmc7xx_defconfig             |    1 +
 arch/powerpc/configs/ppmc8260_defconfig            |    1 +
 arch/powerpc/configs/prs200_DDR_defconfig          |    1 +
 arch/powerpc/configs/prs200_defconfig              |    1 +
 arch/powerpc/configs/prs200_highboot_DDR_defconfig |    1 +
 arch/powerpc/configs/prs200_highboot_defconfig     |    1 +
 arch/powerpc/configs/qemu-ppce500_defconfig        |    1 +
 arch/powerpc/configs/quad100hd_defconfig           |    1 +
 arch/powerpc/configs/quantum_defconfig             |    1 +
 arch/powerpc/configs/rainier_defconfig             |    1 +
 arch/powerpc/configs/rainier_ramboot_defconfig     |    1 +
 arch/powerpc/configs/redwood_defconfig             |    1 +
 arch/powerpc/configs/sacsng_defconfig              |    1 +
 arch/powerpc/configs/sbc405_defconfig              |    1 +
 arch/powerpc/configs/sbc8349_PCI_33_defconfig      |    1 +
 arch/powerpc/configs/sbc8349_PCI_66_defconfig      |    1 +
 arch/powerpc/configs/sbc8349_defconfig             |    1 +
 arch/powerpc/configs/sbc8548_PCI_33_PCIE_defconfig |    1 +
 arch/powerpc/configs/sbc8548_PCI_33_defconfig      |    1 +
 arch/powerpc/configs/sbc8548_PCI_66_PCIE_defconfig |    1 +
 arch/powerpc/configs/sbc8548_PCI_66_defconfig      |    1 +
 arch/powerpc/configs/sbc8548_defconfig             |    1 +
 arch/powerpc/configs/sbc8641d_defconfig            |    1 +
 arch/powerpc/configs/sc3_defconfig                 |    1 +
 arch/powerpc/configs/sequoia_defconfig             |    1 +
 arch/powerpc/configs/sequoia_ramboot_defconfig     |    1 +
 arch/powerpc/configs/socrates_defconfig            |    1 +
 arch/powerpc/configs/spc1920_defconfig             |    1 +
 arch/powerpc/configs/stxgp3_defconfig              |    1 +
 arch/powerpc/configs/stxssa_4M_defconfig           |    1 +
 arch/powerpc/configs/stxssa_defconfig              |    1 +
 arch/powerpc/configs/stxxtc_defconfig              |    1 +
 arch/powerpc/configs/suvd3_defconfig               |    1 +
 arch/powerpc/configs/svm_sc8xx_defconfig           |    1 +
 arch/powerpc/configs/sycamore_defconfig            |    1 +
 arch/powerpc/configs/t3corp_defconfig              |    1 +
 arch/powerpc/configs/taihu_defconfig               |    1 +
 arch/powerpc/configs/taishan_defconfig             |    1 +
 arch/powerpc/configs/tuge1_defconfig               |    1 +
 arch/powerpc/configs/tuxx1_defconfig               |    1 +
 arch/powerpc/configs/uc100_defconfig               |    1 +
 arch/powerpc/configs/uc101_defconfig               |    1 +
 arch/powerpc/configs/utx8245_defconfig             |    1 +
 arch/powerpc/configs/v37_defconfig                 |    1 +
 arch/powerpc/configs/v38b_defconfig                |    1 +
 arch/powerpc/configs/v5fx30teval_defconfig         |    1 +
 arch/powerpc/configs/v5fx30teval_flash_defconfig   |    1 +
 arch/powerpc/configs/ve8313_defconfig              |    1 +
 arch/powerpc/configs/virtlab2_defconfig            |    1 +
 arch/powerpc/configs/vme8349_defconfig             |    1 +
 arch/powerpc/configs/walnut_defconfig              |    1 +
 arch/powerpc/configs/wtk_defconfig                 |    1 +
 .../configs/xilinx-ppc405-generic_defconfig        |    1 +
 .../configs/xilinx-ppc405-generic_flash_defconfig  |    1 +
 .../configs/xilinx-ppc440-generic_defconfig        |    1 +
 .../configs/xilinx-ppc440-generic_flash_defconfig  |    1 +
 arch/powerpc/configs/xpedite1000_defconfig         |    1 +
 arch/powerpc/configs/xpedite517x_defconfig         |    1 +
 arch/powerpc/configs/xpedite520x_defconfig         |    1 +
 arch/powerpc/configs/xpedite537x_defconfig         |    1 +
 arch/powerpc/configs/xpedite550x_defconfig         |    1 +
 arch/powerpc/configs/yellowstone_defconfig         |    1 +
 arch/powerpc/configs/yosemite_defconfig            |    1 +
 arch/powerpc/configs/yucca_defconfig               |    1 +
 arch/powerpc/configs/zeus_defconfig                |    1 +
 arch/sandbox/Kconfig                               |   19 +
 arch/sandbox/configs/sandbox_defconfig             |    0
 arch/sh/Kconfig                                    |  100 +
 arch/sh/configs/MigoR_defconfig                    |    1 +
 arch/sh/configs/ap325rxa_defconfig                 |    1 +
 arch/sh/configs/ap_sh4a_4a_defconfig               |    1 +
 arch/sh/configs/ecovec_defconfig                   |    1 +
 arch/sh/configs/espt_defconfig                     |    1 +
 arch/sh/configs/mpr2_defconfig                     |    1 +
 arch/sh/configs/ms7720se_defconfig                 |    1 +
 arch/sh/configs/ms7722se_defconfig                 |    1 +
 arch/sh/configs/ms7750se_defconfig                 |    1 +
 arch/sh/configs/r0p7734_defconfig                  |    1 +
 arch/sh/configs/r2dplus_defconfig                  |    1 +
 arch/sh/configs/r7780mp_defconfig                  |    1 +
 arch/sh/configs/rsk7203_defconfig                  |    1 +
 arch/sh/configs/rsk7264_defconfig                  |    1 +
 arch/sh/configs/rsk7269_defconfig                  |    1 +
 arch/sh/configs/sh7752evb_defconfig                |    1 +
 arch/sh/configs/sh7753evb_defconfig                |    1 +
 arch/sh/configs/sh7757lcr_defconfig                |    1 +
 arch/sh/configs/sh7763rdp_defconfig                |    1 +
 arch/sh/configs/sh7785lcr_32bit_defconfig          |    1 +
 arch/sh/configs/sh7785lcr_defconfig                |    1 +
 arch/sh/configs/shmin_defconfig                    |    1 +
 arch/sparc/Kconfig                                 |   33 +
 arch/sparc/configs/gr_cpci_ax2000_defconfig        |    1 +
 arch/sparc/configs/gr_ep2s60_defconfig             |    1 +
 arch/sparc/configs/gr_xc3s_1500_defconfig          |    1 +
 arch/sparc/configs/grsim_defconfig                 |    1 +
 arch/sparc/configs/grsim_leon2_defconfig           |    1 +
 arch/x86/Kconfig                                   |   17 +
 arch/x86/configs/coreboot-x86_defconfig            |    1 +
 board/8dtech/eco5pk/Kconfig                        |   23 +
 board/AndesTech/adp-ag101/Kconfig                  |   23 +
 board/AndesTech/adp-ag101p/Kconfig                 |   23 +
 board/AndesTech/adp-ag102/Kconfig                  |   23 +
 board/Barix/ipam390/Kconfig                        |   23 +
 board/BuR/kwb/Kconfig                              |   27 +
 board/BuR/tseries/Kconfig                          |   83 +
 board/BuS/eb_cpu5282/Kconfig                       |   47 +
 board/BuS/eb_cpux9k2/Kconfig                       |   51 +
 board/BuS/vl_ma2sc/Kconfig                         |   51 +
 board/CarMediaLab/flea3/Kconfig                    |   23 +
 board/LEOX/elpt860/Kconfig                         |   19 +
 board/LaCie/edminiv2/Kconfig                       |   23 +
 board/LaCie/net2big_v2/Kconfig                     |   55 +
 board/LaCie/netspace_v2/Kconfig                    |  139 ++
 board/LaCie/wireless_space/Kconfig                 |   23 +
 board/Marvell/aspenite/Kconfig                     |   23 +
 board/Marvell/db64360/Kconfig                      |   19 +
 board/Marvell/db64460/Kconfig                      |   19 +
 board/Marvell/dkb/Kconfig                          |   23 +
 board/Marvell/dreamplug/Kconfig                    |   23 +
 board/Marvell/gplugd/Kconfig                       |   23 +
 board/Marvell/guruplug/Kconfig                     |   23 +
 board/Marvell/mv88f6281gtw_ge/Kconfig              |   23 +
 board/Marvell/openrd/Kconfig                       |   83 +
 board/Marvell/rd6281a/Kconfig                      |   23 +
 board/Marvell/sheevaplug/Kconfig                   |   23 +
 board/RPXlite_dw/Kconfig                           |  155 ++
 board/RRvision/Kconfig                             |   35 +
 board/Seagate/dockstar/Kconfig                     |   23 +
 board/Seagate/goflexhome/Kconfig                   |   23 +
 board/a3000/Kconfig                                |   15 +
 board/a3m071/Kconfig                               |   35 +
 board/a4m072/Kconfig                               |   15 +
 board/adder/Kconfig                                |   35 +
 board/afeb9260/Kconfig                             |   19 +
 board/ait/cam_enc_4xx/Kconfig                      |   23 +
 board/alphaproject/ap_sh4a_4a/Kconfig              |   19 +
 board/altera/nios2-generic/Kconfig                 |   19 +
 board/altera/socfpga/Kconfig                       |   23 +
 board/amcc/acadia/Kconfig                          |   19 +
 board/amcc/bamboo/Kconfig                          |   19 +
 board/amcc/bluestone/Kconfig                       |   19 +
 board/amcc/bubinga/Kconfig                         |   19 +
 board/amcc/canyonlands/Kconfig                     |   71 +
 board/amcc/ebony/Kconfig                           |   19 +
 board/amcc/katmai/Kconfig                          |   19 +
 board/amcc/kilauea/Kconfig                         |   47 +
 board/amcc/luan/Kconfig                            |   19 +
 board/amcc/makalu/Kconfig                          |   19 +
 board/amcc/ocotea/Kconfig                          |   19 +
 board/amcc/redwood/Kconfig                         |   19 +
 board/amcc/sequoia/Kconfig                         |   95 +
 board/amcc/taihu/Kconfig                           |   19 +
 board/amcc/taishan/Kconfig                         |   19 +
 board/amcc/walnut/Kconfig                          |   39 +
 board/amcc/yosemite/Kconfig                        |   47 +
 board/amcc/yucca/Kconfig                           |   19 +
 board/armadeus/apf27/Kconfig                       |   23 +
 board/armltd/integrator/Kconfig                    |  191 ++
 board/armltd/versatile/Kconfig                     |   83 +
 board/armltd/vexpress/Kconfig                      |   59 +
 board/armltd/vexpress64/Kconfig                    |   23 +
 board/astro/mcf5373l/Kconfig                       |   19 +
 board/atc/Kconfig                                  |   15 +
 board/atmark-techno/armadillo-800eva/Kconfig       |   23 +
 board/atmel/at91rm9200ek/Kconfig                   |   51 +
 board/atmel/at91sam9260ek/Kconfig                  |  307 +++
 board/atmel/at91sam9261ek/Kconfig                  |  167 ++
 board/atmel/at91sam9263ek/Kconfig                  |  139 ++
 board/atmel/at91sam9m10g45ek/Kconfig               |   27 +
 board/atmel/at91sam9n12ek/Kconfig                  |   83 +
 board/atmel/at91sam9rlek/Kconfig                   |   55 +
 board/atmel/at91sam9x5ek/Kconfig                   |  111 +
 board/atmel/atngw100/Kconfig                       |   23 +
 board/atmel/atngw100mkii/Kconfig                   |   23 +
 board/atmel/atstk1000/Kconfig                      |   95 +
 board/atmel/sama5d3_xplained/Kconfig               |   55 +
 board/atmel/sama5d3xek/Kconfig                     |   83 +
 board/avionic-design/medcom-wide/Kconfig           |   24 +
 board/avionic-design/plutux/Kconfig                |   24 +
 board/avionic-design/tec-ng/Kconfig                |   24 +
 board/avionic-design/tec/Kconfig                   |   24 +
 board/avnet/fx12mm/Kconfig                         |   47 +
 board/avnet/v5fx30teval/Kconfig                    |   47 +
 board/balloon3/Kconfig                             |   15 +
 board/barco/titanium/Kconfig                       |   27 +
 board/bc3450/Kconfig                               |   15 +
 board/bct-brettl2/Kconfig                          |   15 +
 board/bf506f-ezkit/Kconfig                         |   15 +
 board/bf518f-ezbrd/Kconfig                         |   15 +
 board/bf525-ucr2/Kconfig                           |   15 +
 board/bf526-ezbrd/Kconfig                          |   15 +
 board/bf527-ad7160-eval/Kconfig                    |   15 +
 board/bf527-ezkit/Kconfig                          |   35 +
 board/bf527-sdp/Kconfig                            |   15 +
 board/bf533-ezkit/Kconfig                          |   15 +
 board/bf533-stamp/Kconfig                          |   15 +
 board/bf537-minotaur/Kconfig                       |   15 +
 board/bf537-pnav/Kconfig                           |   15 +
 board/bf537-srv1/Kconfig                           |   15 +
 board/bf537-stamp/Kconfig                          |   15 +
 board/bf538f-ezkit/Kconfig                         |   15 +
 board/bf548-ezkit/Kconfig                          |   15 +
 board/bf561-acvilon/Kconfig                        |   15 +
 board/bf561-ezkit/Kconfig                          |   15 +
 board/bf609-ezkit/Kconfig                          |   15 +
 board/blackstamp/Kconfig                           |   15 +
 board/blackvme/Kconfig                             |   15 +
 board/bluegiga/apx4devkit/Kconfig                  |   23 +
 board/bluewater/snapper9260/Kconfig                |   55 +
 board/boundary/nitrogen6x/Kconfig                  |  195 ++
 board/br4/Kconfig                                  |   15 +
 board/broadcom/bcm28155_ap/Kconfig                 |   23 +
 board/buffalo/lsxl/Kconfig                         |   55 +
 board/calao/sbc35_a9g20/Kconfig                    |   55 +
 board/calao/tny_a9260/Kconfig                      |  111 +
 board/calao/usb_a9263/Kconfig                      |   27 +
 board/canmb/Kconfig                                |   15 +
 board/chromebook-x86/coreboot/Kconfig              |   27 +
 board/cloudengines/pogo_e02/Kconfig                |   23 +
 board/cm-bf527/Kconfig                             |   15 +
 board/cm-bf533/Kconfig                             |   15 +
 board/cm-bf537e/Kconfig                            |   15 +
 board/cm-bf537u/Kconfig                            |   15 +
 board/cm-bf548/Kconfig                             |   15 +
 board/cm-bf561/Kconfig                             |   15 +
 board/cm4008/Kconfig                               |   19 +
 board/cm41xx/Kconfig                               |   19 +
 board/cm5200/Kconfig                               |   15 +
 board/cmi/Kconfig                                  |   15 +
 board/cobra5272/Kconfig                            |   15 +
 board/cogent/Kconfig                               |   31 +
 board/comelit/dig297/Kconfig                       |   23 +
 board/compal/paz00/Kconfig                         |   24 +
 board/compulab/cm_t335/Kconfig                     |   23 +
 board/compulab/cm_t35/Kconfig                      |   23 +
 board/compulab/cm_t54/Kconfig                      |   23 +
 board/compulab/trimslice/Kconfig                   |   24 +
 board/congatec/cgtqmx6eval/Kconfig                 |   27 +
 board/corscience/tricorder/Kconfig                 |   51 +
 board/cpc45/Kconfig                                |   35 +
 board/cpu86/Kconfig                                |   35 +
 board/cpu87/Kconfig                                |   35 +
 board/cray/L1/Kconfig                              |   19 +
 board/creative/xfi3/Kconfig                        |   23 +
 board/csb272/Kconfig                               |   15 +
 board/csb472/Kconfig                               |   15 +
 board/cu824/Kconfig                                |   15 +
 board/d-link/dns325/Kconfig                        |   23 +
 board/dave/PPChameleonEVB/Kconfig                  |  235 ++
 board/davedenx/aria/Kconfig                        |   19 +
 board/davedenx/qong/Kconfig                        |   23 +
 board/davinci/da8xxevm/Kconfig                     |  159 ++
 board/davinci/dm355evm/Kconfig                     |   23 +
 board/davinci/dm355leopard/Kconfig                 |   23 +
 board/davinci/dm365evm/Kconfig                     |   23 +
 board/davinci/dm6467evm/Kconfig                    |   55 +
 board/davinci/dvevm/Kconfig                        |   23 +
 board/davinci/ea20/Kconfig                         |   23 +
 board/davinci/schmoogie/Kconfig                    |   23 +
 board/davinci/sffsdr/Kconfig                       |   23 +
 board/davinci/sonata/Kconfig                       |   23 +
 board/dbau1x00/Kconfig                             |  119 +
 board/denx/m28evk/Kconfig                          |   23 +
 board/denx/m53evk/Kconfig                          |   27 +
 board/dnp5370/Kconfig                              |   15 +
 board/eXalion/Kconfig                              |   15 +
 board/earthlcd/favr-32-ezkit/Kconfig               |   23 +
 board/egnite/ethernut5/Kconfig                     |   27 +
 board/eltec/elppc/Kconfig                          |   19 +
 board/eltec/mhpc/Kconfig                           |   19 +
 board/embest/mx6boards/Kconfig                     |   55 +
 board/emk/top5200/Kconfig                          |   71 +
 board/emk/top860/Kconfig                           |   19 +
 board/emk/top9000/Kconfig                          |   55 +
 board/enbw/enbw_cmc/Kconfig                        |   23 +
 board/ep8248/Kconfig                               |   15 +
 board/ep8260/Kconfig                               |   15 +
 board/ep82xxm/Kconfig                              |   15 +
 board/esd/apc405/Kconfig                           |   19 +
 board/esd/ar405/Kconfig                            |   19 +
 board/esd/ash405/Kconfig                           |   19 +
 board/esd/cms700/Kconfig                           |   19 +
 board/esd/cpci2dp/Kconfig                          |   19 +
 board/esd/cpci405/Kconfig                          |   79 +
 board/esd/cpci5200/Kconfig                         |   19 +
 board/esd/cpci750/Kconfig                          |   19 +
 board/esd/cpciiser4/Kconfig                        |   19 +
 board/esd/dp405/Kconfig                            |   19 +
 board/esd/du405/Kconfig                            |   19 +
 board/esd/du440/Kconfig                            |   19 +
 board/esd/hh405/Kconfig                            |   19 +
 board/esd/hub405/Kconfig                           |   19 +
 board/esd/mecp5123/Kconfig                         |   19 +
 board/esd/mecp5200/Kconfig                         |   19 +
 board/esd/meesc/Kconfig                            |   55 +
 board/esd/ocrtc/Kconfig                            |   19 +
 board/esd/otc570/Kconfig                           |   55 +
 board/esd/pci405/Kconfig                           |   19 +
 board/esd/pf5200/Kconfig                           |   19 +
 board/esd/plu405/Kconfig                           |   19 +
 board/esd/pmc405/Kconfig                           |   19 +
 board/esd/pmc405de/Kconfig                         |   19 +
 board/esd/pmc440/Kconfig                           |   19 +
 board/esd/tasreg/Kconfig                           |   19 +
 board/esd/vme8349/Kconfig                          |   43 +
 board/esd/voh405/Kconfig                           |   19 +
 board/esd/vom405/Kconfig                           |   19 +
 board/esd/wuh405/Kconfig                           |   19 +
 board/esg/ima3-mx53/Kconfig                        |   27 +
 board/espt/Kconfig                                 |   15 +
 board/esteem192e/Kconfig                           |   15 +
 board/etin/debris/Kconfig                          |   19 +
 board/etin/kvme080/Kconfig                         |   19 +
 board/eukrea/cpu9260/Kconfig                       |  223 ++
 board/eukrea/cpuat91/Kconfig                       |   51 +
 board/evb64260/Kconfig                             |   31 +
 board/exmeritus/hww1u1a/Kconfig                    |   19 +
 board/fads/Kconfig                                 |   31 +
 board/faraday/a320evb/Kconfig                      |   23 +
 board/flagadm/Kconfig                              |   15 +
 board/freescale/b4860qds/Kconfig                   |  191 ++
 board/freescale/bsc9131rdb/Kconfig                 |   95 +
 board/freescale/bsc9132qds/Kconfig                 |  383 ++++
 board/freescale/c29xpcie/Kconfig                   |   71 +
 board/freescale/corenet_ds/Kconfig                 |  487 ++++
 board/freescale/m5208evbe/Kconfig                  |   19 +
 board/freescale/m52277evb/Kconfig                  |   47 +
 board/freescale/m5235evb/Kconfig                   |   47 +
 board/freescale/m5249evb/Kconfig                   |   19 +
 board/freescale/m5253demo/Kconfig                  |   19 +
 board/freescale/m5253evbe/Kconfig                  |   19 +
 board/freescale/m5272c3/Kconfig                    |   19 +
 board/freescale/m5275evb/Kconfig                   |   19 +
 board/freescale/m5282evb/Kconfig                   |   19 +
 board/freescale/m53017evb/Kconfig                  |   19 +
 board/freescale/m5329evb/Kconfig                   |   47 +
 board/freescale/m5373evb/Kconfig                   |   23 +
 board/freescale/m54418twr/Kconfig                  |  143 ++
 board/freescale/m54451evb/Kconfig                  |   47 +
 board/freescale/m54455evb/Kconfig                  |  119 +
 board/freescale/m547xevb/Kconfig                   |  167 ++
 board/freescale/m548xevb/Kconfig                   |  191 ++
 board/freescale/mpc5121ads/Kconfig                 |   43 +
 board/freescale/mpc7448hpc2/Kconfig                |   19 +
 board/freescale/mpc8260ads/Kconfig                 |  383 ++++
 board/freescale/mpc8266ads/Kconfig                 |   19 +
 board/freescale/mpc8308rdb/Kconfig                 |   19 +
 board/freescale/mpc8313erdb/Kconfig                |   95 +
 board/freescale/mpc8315erdb/Kconfig                |   43 +
 board/freescale/mpc8323erdb/Kconfig                |   19 +
 board/freescale/mpc832xemds/Kconfig                |  115 +
 board/freescale/mpc8349emds/Kconfig                |   19 +
 board/freescale/mpc8349itx/Kconfig                 |   71 +
 board/freescale/mpc8360emds/Kconfig                |  239 ++
 board/freescale/mpc8360erdk/Kconfig                |   43 +
 board/freescale/mpc837xemds/Kconfig                |   43 +
 board/freescale/mpc837xerdb/Kconfig                |   19 +
 board/freescale/mpc8536ds/Kconfig                  |  115 +
 board/freescale/mpc8540ads/Kconfig                 |   19 +
 board/freescale/mpc8541cds/Kconfig                 |   43 +
 board/freescale/mpc8544ds/Kconfig                  |   19 +
 board/freescale/mpc8548cds/Kconfig                 |   67 +
 board/freescale/mpc8555cds/Kconfig                 |   43 +
 board/freescale/mpc8560ads/Kconfig                 |   19 +
 board/freescale/mpc8568mds/Kconfig                 |   19 +
 board/freescale/mpc8569mds/Kconfig                 |   67 +
 board/freescale/mpc8572ds/Kconfig                  |   67 +
 board/freescale/mpc8610hpcd/Kconfig                |   19 +
 board/freescale/mpc8641hpcn/Kconfig                |   43 +
 board/freescale/mx23evk/Kconfig                    |   23 +
 board/freescale/mx25pdk/Kconfig                    |   27 +
 board/freescale/mx28evk/Kconfig                    |   83 +
 board/freescale/mx31ads/Kconfig                    |   23 +
 board/freescale/mx31pdk/Kconfig                    |   23 +
 board/freescale/mx35pdk/Kconfig                    |   23 +
 board/freescale/mx51evk/Kconfig                    |   27 +
 board/freescale/mx53ard/Kconfig                    |   27 +
 board/freescale/mx53evk/Kconfig                    |   27 +
 board/freescale/mx53loco/Kconfig                   |   27 +
 board/freescale/mx53smd/Kconfig                    |   27 +
 board/freescale/mx6qarm2/Kconfig                   |   27 +
 board/freescale/mx6qsabreauto/Kconfig              |   27 +
 board/freescale/mx6sabresd/Kconfig                 |   55 +
 board/freescale/mx6slevk/Kconfig                   |   27 +
 board/freescale/p1010rdb/Kconfig                   |  671 ++++++
 board/freescale/p1022ds/Kconfig                    |  187 ++
 board/freescale/p1023rdb/Kconfig                   |   19 +
 board/freescale/p1023rds/Kconfig                   |   43 +
 board/freescale/p1_p2_rdb/Kconfig                  |  671 ++++++
 board/freescale/p1_p2_rdb_pc/Kconfig               | 1103 +++++++++
 board/freescale/p1_twr/Kconfig                     |   23 +
 board/freescale/p2020come/Kconfig                  |   47 +
 board/freescale/p2020ds/Kconfig                    |  115 +
 board/freescale/p2041rdb/Kconfig                   |  139 ++
 board/freescale/qemu-ppce500/Kconfig               |   19 +
 board/freescale/t1040qds/Kconfig                   |   71 +
 board/freescale/t104xrdb/Kconfig                   |  215 ++
 board/freescale/t208xqds/Kconfig                   |  263 +++
 board/freescale/t208xrdb/Kconfig                   |  143 ++
 board/freescale/t4qds/Kconfig                      |  287 +++
 board/freescale/t4rdb/Kconfig                      |   47 +
 board/freescale/vf610twr/Kconfig                   |   27 +
 board/funkwerk/vovpn-gw/Kconfig                    |   23 +
 board/g2000/Kconfig                                |   15 +
 board/gaisler/gr_cpci_ax2000/Kconfig               |   19 +
 board/gaisler/gr_ep2s60/Kconfig                    |   19 +
 board/gaisler/gr_xc3s_1500/Kconfig                 |   19 +
 board/gaisler/grsim/Kconfig                        |   19 +
 board/gaisler/grsim_leon2/Kconfig                  |   19 +
 board/galaxy5200/Kconfig                           |   39 +
 board/gateworks/gw_ventana/Kconfig                 |  139 ++
 board/gdsys/405ep/Kconfig                          |   79 +
 board/gdsys/405ex/Kconfig                          |   19 +
 board/gdsys/dlvision/Kconfig                       |   19 +
 board/gdsys/gdppc440etx/Kconfig                    |   19 +
 board/gdsys/intip/Kconfig                          |   47 +
 board/gdsys/p1022/Kconfig                          |   95 +
 board/gen860t/Kconfig                              |   35 +
 board/genesi/mx51_efikamx/Kconfig                  |   55 +
 board/gumstix/duovero/Kconfig                      |   23 +
 board/gumstix/pepper/Kconfig                       |   23 +
 board/gw8260/Kconfig                               |   15 +
 board/h2200/Kconfig                                |   15 +
 board/hale/tt01/Kconfig                            |   23 +
 board/hermes/Kconfig                               |   15 +
 board/hidden_dragon/Kconfig                        |   15 +
 board/highbank/Kconfig                             |   19 +
 board/htkw/mcx/Kconfig                             |   23 +
 board/hymod/Kconfig                                |   15 +
 board/ibf-dsp561/Kconfig                           |   15 +
 board/icecube/Kconfig                              |  231 ++
 board/icpdas/lp8x4x/Kconfig                        |   19 +
 board/icu862/Kconfig                               |   35 +
 board/ids/ids8247/Kconfig                          |   19 +
 board/ids/ids8313/Kconfig                          |   23 +
 board/ifm/ac14xx/Kconfig                           |   19 +
 board/ifm/o2dnt2/Kconfig                           |  215 ++
 board/imgtec/malta/Kconfig                         |   47 +
 board/imx31_phycore/Kconfig                        |   43 +
 board/in-circuit/grasshopper/Kconfig               |   23 +
 board/inka4x0/Kconfig                              |   15 +
 board/intercontrol/digsy_mtc/Kconfig               |   91 +
 board/iomega/iconnect/Kconfig                      |   23 +
 board/ip04/Kconfig                                 |   15 +
 board/ip860/Kconfig                                |   15 +
 board/ipek01/Kconfig                               |   15 +
 board/iphase4539/Kconfig                           |   15 +
 board/isee/igep0033/Kconfig                        |   23 +
 board/isee/igep00x0/Kconfig                        |  139 ++
 board/ispan/Kconfig                                |   35 +
 board/ivm/Kconfig                                  |  119 +
 board/jornada/Kconfig                              |   15 +
 board/jse/Kconfig                                  |   15 +
 board/jupiter/Kconfig                              |   15 +
 board/karo/tk71/Kconfig                            |   23 +
 board/karo/tx25/Kconfig                            |   23 +
 board/keymile/km82xx/Kconfig                       |   47 +
 board/keymile/km83xx/Kconfig                       |  191 ++
 board/keymile/km_arm/Kconfig                       |  251 +++
 board/keymile/kmp204x/Kconfig                      |   47 +
 board/kmc/kzm9g/Kconfig                            |   23 +
 board/korat/Kconfig                                |   35 +
 board/kup/kup4k/Kconfig                            |   19 +
 board/kup/kup4x/Kconfig                            |   19 +
 board/logicpd/am3517evm/Kconfig                    |   23 +
 board/logicpd/imx27lite/Kconfig                    |   47 +
 board/logicpd/imx31_litekit/Kconfig                |   23 +
 board/logicpd/omap3som/Kconfig                     |   23 +
 board/logicpd/zoom1/Kconfig                        |   23 +
 board/lwmon/Kconfig                                |   15 +
 board/lwmon5/Kconfig                               |   35 +
 board/manroland/hmi1001/Kconfig                    |   19 +
 board/manroland/mucmc52/Kconfig                    |   19 +
 board/manroland/uc100/Kconfig                      |   19 +
 board/manroland/uc101/Kconfig                      |   19 +
 board/matrix_vision/mergerbox/Kconfig              |   19 +
 board/matrix_vision/mvbc_p/Kconfig                 |   23 +
 board/matrix_vision/mvblm7/Kconfig                 |   19 +
 board/matrix_vision/mvblx/Kconfig                  |   23 +
 board/matrix_vision/mvsmr/Kconfig                  |   19 +
 board/mcc200/Kconfig                               |  235 ++
 board/micronas/vct/Kconfig                         |  287 +++
 board/mimc/mimc200/Kconfig                         |   23 +
 board/miromico/hammerhead/Kconfig                  |   23 +
 board/mosaixtech/icon/Kconfig                      |   19 +
 board/motionpro/Kconfig                            |   15 +
 board/mpc8308_p1m/Kconfig                          |   15 +
 board/mpl/mip405/Kconfig                           |   43 +
 board/mpl/pati/Kconfig                             |   19 +
 board/mpl/pip405/Kconfig                           |   19 +
 board/mpl/vcma9/Kconfig                            |   23 +
 board/mpr2/Kconfig                                 |   15 +
 board/ms7720se/Kconfig                             |   15 +
 board/ms7722se/Kconfig                             |   15 +
 board/ms7750se/Kconfig                             |   15 +
 board/muas3001/Kconfig                             |   35 +
 board/munices/Kconfig                              |   15 +
 board/musenki/Kconfig                              |   15 +
 board/mvblue/Kconfig                               |   15 +
 board/netphone/Kconfig                             |   39 +
 board/netta/Kconfig                                |  155 ++
 board/netta2/Kconfig                               |   39 +
 board/netvia/Kconfig                               |   39 +
 board/nokia/rx51/Kconfig                           |   23 +
 board/nvidia/beaver/Kconfig                        |   24 +
 board/nvidia/cardhu/Kconfig                        |   24 +
 board/nvidia/dalmore/Kconfig                       |   24 +
 board/nvidia/harmony/Kconfig                       |   24 +
 board/nvidia/jetson-tk1/Kconfig                    |   28 +
 board/nvidia/seaboard/Kconfig                      |   24 +
 board/nvidia/venice2/Kconfig                       |   24 +
 board/nvidia/ventana/Kconfig                       |   24 +
 board/nvidia/whistler/Kconfig                      |   24 +
 board/olimex/mx23_olinuxino/Kconfig                |   23 +
 board/omicron/calimain/Kconfig                     |   23 +
 board/openrisc/openrisc-generic/Kconfig            |   19 +
 board/overo/Kconfig                                |   19 +
 board/palmld/Kconfig                               |   15 +
 board/palmtc/Kconfig                               |   15 +
 board/palmtreo680/Kconfig                          |   15 +
 board/pandora/Kconfig                              |   19 +
 board/pb1x00/Kconfig                               |   23 +
 board/pcs440ep/Kconfig                             |   15 +
 board/pdm360ng/Kconfig                             |   15 +
 board/phytec/pcm030/Kconfig                        |   43 +
 board/phytec/pcm051/Kconfig                        |   55 +
 board/pm520/Kconfig                                |   75 +
 board/pm826/Kconfig                                |  159 ++
 board/pm828/Kconfig                                |   75 +
 board/ppcag/bg0900/Kconfig                         |   23 +
 board/ppmc7xx/Kconfig                              |   15 +
 board/ppmc8260/Kconfig                             |   15 +
 board/pr1/Kconfig                                  |   15 +
 board/prodrive/alpr/Kconfig                        |   19 +
 board/prodrive/p3mx/Kconfig                        |   47 +
 board/prodrive/p3p440/Kconfig                      |   19 +
 board/psyent/pci5441/Kconfig                       |   19 +
 board/psyent/pk1c20/Kconfig                        |   19 +
 board/pxa255_idp/Kconfig                           |   15 +
 board/qemu-mips/Kconfig                            |   79 +
 board/quad100hd/Kconfig                            |   15 +
 board/quantum/Kconfig                              |   15 +
 board/r360mpi/Kconfig                              |   15 +
 board/raidsonic/ib62x0/Kconfig                     |   23 +
 board/raspberrypi/rpi_b/Kconfig                    |   23 +
 board/rattler/Kconfig                              |   35 +
 board/rbc823/Kconfig                               |   15 +
 board/renesas/MigoR/Kconfig                        |   19 +
 board/renesas/ap325rxa/Kconfig                     |   19 +
 board/renesas/ecovec/Kconfig                       |   19 +
 board/renesas/koelsch/Kconfig                      |   51 +
 board/renesas/lager/Kconfig                        |   51 +
 board/renesas/r0p7734/Kconfig                      |   19 +
 board/renesas/r2dplus/Kconfig                      |   19 +
 board/renesas/r7780mp/Kconfig                      |   19 +
 board/renesas/rsk7203/Kconfig                      |   19 +
 board/renesas/rsk7264/Kconfig                      |   19 +
 board/renesas/rsk7269/Kconfig                      |   19 +
 board/renesas/sh7752evb/Kconfig                    |   19 +
 board/renesas/sh7753evb/Kconfig                    |   19 +
 board/renesas/sh7757lcr/Kconfig                    |   19 +
 board/renesas/sh7763rdp/Kconfig                    |   19 +
 board/renesas/sh7785lcr/Kconfig                    |   43 +
 board/ronetix/pm9261/Kconfig                       |   27 +
 board/ronetix/pm9263/Kconfig                       |   27 +
 board/ronetix/pm9g45/Kconfig                       |   27 +
 board/sacsng/Kconfig                               |   15 +
 board/samsung/arndale/Kconfig                      |   23 +
 board/samsung/goni/Kconfig                         |   23 +
 board/samsung/origen/Kconfig                       |   23 +
 board/samsung/smdk2410/Kconfig                     |   23 +
 board/samsung/smdk5250/Kconfig                     |   47 +
 board/samsung/smdk5420/Kconfig                     |   23 +
 board/samsung/smdkc100/Kconfig                     |   23 +
 board/samsung/smdkv310/Kconfig                     |   23 +
 board/samsung/trats/Kconfig                        |   23 +
 board/samsung/trats2/Kconfig                       |   23 +
 board/samsung/universal_c210/Kconfig               |   23 +
 board/sandburst/karef/Kconfig                      |   19 +
 board/sandburst/metrobox/Kconfig                   |   19 +
 board/sandisk/sansa_fuze_plus/Kconfig              |   23 +
 board/sandpoint/Kconfig                            |   31 +
 board/sbc405/Kconfig                               |   15 +
 board/sbc8349/Kconfig                              |   55 +
 board/sbc8548/Kconfig                              |   95 +
 board/sbc8641d/Kconfig                             |   15 +
 board/sc3/Kconfig                                  |   15 +
 board/scb9328/Kconfig                              |   19 +
 board/schulercontrol/sc_sps_1/Kconfig              |   23 +
 board/sheldon/simpc8313/Kconfig                    |   47 +
 board/shmin/Kconfig                                |   15 +
 board/siemens/corvus/Kconfig                       |   27 +
 board/siemens/draco/Kconfig                        |   47 +
 board/siemens/pxm2/Kconfig                         |   23 +
 board/siemens/rut/Kconfig                          |   23 +
 board/siemens/taurus/Kconfig                       |   55 +
 board/silica/pengwyn/Kconfig                       |   23 +
 board/sixnet/Kconfig                               |   15 +
 board/snmc/qs850/Kconfig                           |   39 +
 board/snmc/qs860t/Kconfig                          |   19 +
 board/socrates/Kconfig                             |   15 +
 board/solidrun/hummingboard/Kconfig                |   27 +
 board/spc1920/Kconfig                              |   15 +
 board/spd8xx/Kconfig                               |   15 +
 board/spear/spear300/Kconfig                       |  111 +
 board/spear/spear310/Kconfig                       |  167 ++
 board/spear/spear320/Kconfig                       |  167 ++
 board/spear/spear600/Kconfig                       |  111 +
 board/spear/x600/Kconfig                           |   23 +
 board/st-ericsson/snowball/Kconfig                 |   23 +
 board/st-ericsson/u8500/Kconfig                    |   23 +
 board/st/nhk8815/Kconfig                           |   51 +
 board/stx/stxgp3/Kconfig                           |   19 +
 board/stx/stxssa/Kconfig                           |   43 +
 board/stx/stxxtc/Kconfig                           |   19 +
 board/svm_sc8xx/Kconfig                            |   15 +
 board/synopsys/Kconfig                             |   39 +
 board/synopsys/axs101/Kconfig                      |   19 +
 board/syteco/jadecpu/Kconfig                       |   23 +
 board/syteco/zmx25/Kconfig                         |   23 +
 board/t3corp/Kconfig                               |   15 +
 board/taskit/stamp9g20/Kconfig                     |   55 +
 board/tcm-bf518/Kconfig                            |   15 +
 board/tcm-bf537/Kconfig                            |   15 +
 board/technexion/tao3530/Kconfig                   |   51 +
 board/technexion/twister/Kconfig                   |   23 +
 board/teejet/mt_ventoux/Kconfig                    |   23 +
 board/ti/am335x/Kconfig                            |  307 +++
 board/ti/am3517crane/Kconfig                       |   23 +
 board/ti/am43xx/Kconfig                            |   27 +
 board/ti/beagle/Kconfig                            |   27 +
 board/ti/dra7xx/Kconfig                            |   83 +
 board/ti/evm/Kconfig                               |   71 +
 board/ti/k2hk_evm/Kconfig                          |   23 +
 board/ti/omap5912osk/Kconfig                       |   23 +
 board/ti/omap5_uevm/Kconfig                        |   23 +
 board/ti/panda/Kconfig                             |   23 +
 board/ti/sdp3430/Kconfig                           |   23 +
 board/ti/sdp4430/Kconfig                           |   23 +
 board/ti/ti814x/Kconfig                            |   23 +
 board/ti/ti816x/Kconfig                            |   23 +
 board/ti/tnetv107xevm/Kconfig                      |   23 +
 board/timll/devkit3250/Kconfig                     |   23 +
 board/timll/devkit8000/Kconfig                     |   23 +
 board/toradex/colibri_pxa270/Kconfig               |   19 +
 board/toradex/colibri_t20_iris/Kconfig             |   24 +
 board/total5200/Kconfig                            |   79 +
 board/tqc/tqm5200/Kconfig                          |  319 +++
 board/tqc/tqm8260/Kconfig                          |  263 +++
 board/tqc/tqm8272/Kconfig                          |   19 +
 board/tqc/tqm834x/Kconfig                          |   19 +
 board/tqc/tqm8xx/Kconfig                           |  431 ++++
 board/trizepsiv/Kconfig                            |   35 +
 board/ttcontrol/vision2/Kconfig                    |   27 +
 board/udoo/Kconfig                                 |   23 +
 board/utx8245/Kconfig                              |   15 +
 board/v37/Kconfig                                  |   15 +
 board/v38b/Kconfig                                 |   15 +
 board/ve8313/Kconfig                               |   15 +
 board/vpac270/Kconfig                              |   59 +
 board/w7o/Kconfig                                  |   31 +
 board/wandboard/Kconfig                            |   71 +
 board/woodburn/Kconfig                             |   43 +
 board/xaeniax/Kconfig                              |   15 +
 board/xes/xpedite1000/Kconfig                      |   19 +
 board/xes/xpedite517x/Kconfig                      |   19 +
 board/xes/xpedite520x/Kconfig                      |   19 +
 board/xes/xpedite537x/Kconfig                      |   19 +
 board/xes/xpedite550x/Kconfig                      |   19 +
 board/xilinx/microblaze-generic/Kconfig            |   19 +
 board/xilinx/ml507/Kconfig                         |   47 +
 board/xilinx/ppc405-generic/Kconfig                |   47 +
 board/xilinx/ppc440-generic/Kconfig                |   47 +
 board/xilinx/zynq/Kconfig                          |  155 ++
 board/zeus/Kconfig                                 |   15 +
 board/zipitz2/Kconfig                              |   15 +
 board/zpc1900/Kconfig                              |   15 +
 1821 files changed, 33224 insertions(+)
 create mode 100644 arch/arc/Kconfig
 create mode 100644 arch/arc/configs/arcangel4-be_defconfig
 create mode 100644 arch/arc/configs/arcangel4_defconfig
 create mode 100644 arch/arc/configs/axs101_defconfig
 create mode 100644 arch/arm/Kconfig
 create mode 100644 arch/arm/configs/VCMA9_defconfig
 create mode 100644 arch/arm/configs/a320evb_defconfig
 create mode 100644 arch/arm/configs/afeb9260_defconfig
 create mode 100644 arch/arm/configs/am335x_boneblack_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_nor_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_norboot_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_spiboot_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_uart1_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_uart2_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_uart3_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_uart4_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_uart5_defconfig
 create mode 100644 arch/arm/configs/am335x_evm_usbspl_defconfig
 create mode 100644 arch/arm/configs/am335x_igep0033_defconfig
 create mode 100644 arch/arm/configs/am3517_crane_defconfig
 create mode 100644 arch/arm/configs/am3517_evm_defconfig
 create mode 100644 arch/arm/configs/am43xx_evm_defconfig
 create mode 100644 arch/arm/configs/apf27_defconfig
 create mode 100644 arch/arm/configs/apx4devkit_defconfig
 create mode 100644 arch/arm/configs/armadillo-800eva_defconfig
 create mode 100644 arch/arm/configs/arndale_defconfig
 create mode 100644 arch/arm/configs/aspenite_defconfig
 create mode 100644 arch/arm/configs/at91rm9200ek_defconfig
 create mode 100644 arch/arm/configs/at91rm9200ek_ram_defconfig
 create mode 100644 arch/arm/configs/at91sam9260ek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9260ek_dataflash_cs1_defconfig
 create mode 100644 arch/arm/configs/at91sam9260ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9261ek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9261ek_dataflash_cs3_defconfig
 create mode 100644 arch/arm/configs/at91sam9261ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9263ek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9263ek_dataflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9263ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9263ek_norflash_boot_defconfig
 create mode 100644 arch/arm/configs/at91sam9263ek_norflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9g10ek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9g10ek_dataflash_cs3_defconfig
 create mode 100644 arch/arm/configs/at91sam9g10ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9g20ek_2mmc_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9g20ek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9g20ek_dataflash_cs1_defconfig
 create mode 100644 arch/arm/configs/at91sam9g20ek_mmc_defconfig
 create mode 100644 arch/arm/configs/at91sam9g20ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9m10g45ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9n12ek_mmc_defconfig
 create mode 100644 arch/arm/configs/at91sam9n12ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9n12ek_spiflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9rlek_dataflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9rlek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9x5ek_dataflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9x5ek_mmc_defconfig
 create mode 100644 arch/arm/configs/at91sam9x5ek_nandflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9x5ek_spiflash_defconfig
 create mode 100644 arch/arm/configs/at91sam9xeek_dataflash_cs0_defconfig
 create mode 100644 arch/arm/configs/at91sam9xeek_dataflash_cs1_defconfig
 create mode 100644 arch/arm/configs/at91sam9xeek_nandflash_defconfig
 create mode 100644 arch/arm/configs/axm_defconfig
 create mode 100644 arch/arm/configs/balloon3_defconfig
 create mode 100644 arch/arm/configs/bcm28155_ap_defconfig
 create mode 100644 arch/arm/configs/beaver_defconfig
 create mode 100644 arch/arm/configs/bg0900_defconfig
 create mode 100644 arch/arm/configs/calimain_defconfig
 create mode 100644 arch/arm/configs/cam_enc_4xx_defconfig
 create mode 100644 arch/arm/configs/cardhu_defconfig
 create mode 100644 arch/arm/configs/cgtqmx6qeval_defconfig
 create mode 100644 arch/arm/configs/cm4008_defconfig
 create mode 100644 arch/arm/configs/cm41xx_defconfig
 create mode 100644 arch/arm/configs/cm_t335_defconfig
 create mode 100644 arch/arm/configs/cm_t35_defconfig
 create mode 100644 arch/arm/configs/cm_t54_defconfig
 create mode 100644 arch/arm/configs/colibri_pxa270_defconfig
 create mode 100644 arch/arm/configs/colibri_t20_iris_defconfig
 create mode 100644 arch/arm/configs/corvus_defconfig
 create mode 100644 arch/arm/configs/cpu9260_128M_defconfig
 create mode 100644 arch/arm/configs/cpu9260_defconfig
 create mode 100644 arch/arm/configs/cpu9260_nand_128M_defconfig
 create mode 100644 arch/arm/configs/cpu9260_nand_defconfig
 create mode 100644 arch/arm/configs/cpu9G20_128M_defconfig
 create mode 100644 arch/arm/configs/cpu9G20_defconfig
 create mode 100644 arch/arm/configs/cpu9G20_nand_128M_defconfig
 create mode 100644 arch/arm/configs/cpu9G20_nand_defconfig
 create mode 100644 arch/arm/configs/cpuat91_defconfig
 create mode 100644 arch/arm/configs/cpuat91_ram_defconfig
 create mode 100644 arch/arm/configs/d2net_v2_defconfig
 create mode 100644 arch/arm/configs/da830evm_defconfig
 create mode 100644 arch/arm/configs/da850_am18xxevm_defconfig
 create mode 100644 arch/arm/configs/da850evm_defconfig
 create mode 100644 arch/arm/configs/da850evm_direct_nor_defconfig
 create mode 100644 arch/arm/configs/dalmore_defconfig
 create mode 100644 arch/arm/configs/davinci_dm355evm_defconfig
 create mode 100644 arch/arm/configs/davinci_dm355leopard_defconfig
 create mode 100644 arch/arm/configs/davinci_dm365evm_defconfig
 create mode 100644 arch/arm/configs/davinci_dm6467Tevm_defconfig
 create mode 100644 arch/arm/configs/davinci_dm6467evm_defconfig
 create mode 100644 arch/arm/configs/davinci_dvevm_defconfig
 create mode 100644 arch/arm/configs/davinci_schmoogie_defconfig
 create mode 100644 arch/arm/configs/davinci_sffsdr_defconfig
 create mode 100644 arch/arm/configs/davinci_sonata_defconfig
 create mode 100644 arch/arm/configs/devkit3250_defconfig
 create mode 100644 arch/arm/configs/devkit8000_defconfig
 create mode 100644 arch/arm/configs/dig297_defconfig
 create mode 100644 arch/arm/configs/dkb_defconfig
 create mode 100644 arch/arm/configs/dns325_defconfig
 create mode 100644 arch/arm/configs/dockstar_defconfig
 create mode 100644 arch/arm/configs/dra7xx_evm_defconfig
 create mode 100644 arch/arm/configs/dra7xx_evm_qspiboot_defconfig
 create mode 100644 arch/arm/configs/dra7xx_evm_uart3_defconfig
 create mode 100644 arch/arm/configs/draco_defconfig
 create mode 100644 arch/arm/configs/dreamplug_defconfig
 create mode 100644 arch/arm/configs/duovero_defconfig
 create mode 100644 arch/arm/configs/dxr2_defconfig
 create mode 100644 arch/arm/configs/ea20_defconfig
 create mode 100644 arch/arm/configs/eb_cpux9k2_defconfig
 create mode 100644 arch/arm/configs/eb_cpux9k2_ram_defconfig
 create mode 100644 arch/arm/configs/eco5pk_defconfig
 create mode 100644 arch/arm/configs/edminiv2_defconfig
 create mode 100644 arch/arm/configs/enbw_cmc_defconfig
 create mode 100644 arch/arm/configs/ethernut5_defconfig
 create mode 100644 arch/arm/configs/flea3_defconfig
 create mode 100644 arch/arm/configs/goflexhome_defconfig
 create mode 100644 arch/arm/configs/gplugd_defconfig
 create mode 100644 arch/arm/configs/guruplug_defconfig
 create mode 100644 arch/arm/configs/gwventanadl1g_defconfig
 create mode 100644 arch/arm/configs/gwventanadl_defconfig
 create mode 100644 arch/arm/configs/gwventanaq1g_defconfig
 create mode 100644 arch/arm/configs/gwventanaq1gspi_defconfig
 create mode 100644 arch/arm/configs/gwventanaq_defconfig
 create mode 100644 arch/arm/configs/h2200_defconfig
 create mode 100644 arch/arm/configs/harmony_defconfig
 create mode 100644 arch/arm/configs/hawkboard_defconfig
 create mode 100644 arch/arm/configs/hawkboard_uart_defconfig
 create mode 100644 arch/arm/configs/highbank_defconfig
 create mode 100644 arch/arm/configs/hummingboard_solo_defconfig
 create mode 100644 arch/arm/configs/ib62x0_defconfig
 create mode 100644 arch/arm/configs/iconnect_defconfig
 create mode 100644 arch/arm/configs/igep0020_defconfig
 create mode 100644 arch/arm/configs/igep0020_nand_defconfig
 create mode 100644 arch/arm/configs/igep0030_defconfig
 create mode 100644 arch/arm/configs/igep0030_nand_defconfig
 create mode 100644 arch/arm/configs/igep0032_defconfig
 create mode 100644 arch/arm/configs/ima3-mx53_defconfig
 create mode 100644 arch/arm/configs/imx27lite_defconfig
 create mode 100644 arch/arm/configs/imx31_litekit_defconfig
 create mode 100644 arch/arm/configs/imx31_phycore_defconfig
 create mode 100644 arch/arm/configs/imx31_phycore_eet_defconfig
 create mode 100644 arch/arm/configs/inetspace_v2_defconfig
 create mode 100644 arch/arm/configs/integratorap_cm720t_defconfig
 create mode 100644 arch/arm/configs/integratorap_cm920t_defconfig
 create mode 100644 arch/arm/configs/integratorap_cm926ejs_defconfig
 create mode 100644 arch/arm/configs/integratorap_cm946es_defconfig
 create mode 100644 arch/arm/configs/integratorcp_cm1136_defconfig
 create mode 100644 arch/arm/configs/integratorcp_cm920t_defconfig
 create mode 100644 arch/arm/configs/integratorcp_cm926ejs_defconfig
 create mode 100644 arch/arm/configs/integratorcp_cm946es_defconfig
 create mode 100644 arch/arm/configs/ipam390_defconfig
 create mode 100644 arch/arm/configs/jadecpu_defconfig
 create mode 100644 arch/arm/configs/jetson-tk1_defconfig
 create mode 100644 arch/arm/configs/jornada_defconfig
 create mode 100644 arch/arm/configs/k2hk_evm_defconfig
 create mode 100644 arch/arm/configs/km_kirkwood_128m16_defconfig
 create mode 100644 arch/arm/configs/km_kirkwood_defconfig
 create mode 100644 arch/arm/configs/km_kirkwood_pci_defconfig
 create mode 100644 arch/arm/configs/kmcoge5un_defconfig
 create mode 100644 arch/arm/configs/kmnusa_defconfig
 create mode 100644 arch/arm/configs/kmsugp1_defconfig
 create mode 100644 arch/arm/configs/kmsuv31_defconfig
 create mode 100644 arch/arm/configs/koelsch_defconfig
 create mode 100644 arch/arm/configs/koelsch_nor_defconfig
 create mode 100644 arch/arm/configs/kwb_defconfig
 create mode 100644 arch/arm/configs/kzm9g_defconfig
 create mode 100644 arch/arm/configs/lager_defconfig
 create mode 100644 arch/arm/configs/lager_nor_defconfig
 create mode 100644 arch/arm/configs/lp8x4x_defconfig
 create mode 100644 arch/arm/configs/lschlv2_defconfig
 create mode 100644 arch/arm/configs/lsxhl_defconfig
 create mode 100644 arch/arm/configs/m28evk_defconfig
 create mode 100644 arch/arm/configs/m53evk_defconfig
 create mode 100644 arch/arm/configs/magnesium_defconfig
 create mode 100644 arch/arm/configs/marsboard_defconfig
 create mode 100644 arch/arm/configs/mcx_defconfig
 create mode 100644 arch/arm/configs/medcom-wide_defconfig
 create mode 100644 arch/arm/configs/meesc_dataflash_defconfig
 create mode 100644 arch/arm/configs/meesc_defconfig
 create mode 100644 arch/arm/configs/mgcoge3un_defconfig
 create mode 100644 arch/arm/configs/mt_ventoux_defconfig
 create mode 100644 arch/arm/configs/mv88f6281gtw_ge_defconfig
 create mode 100644 arch/arm/configs/mx23_olinuxino_defconfig
 create mode 100644 arch/arm/configs/mx23evk_defconfig
 create mode 100644 arch/arm/configs/mx25pdk_defconfig
 create mode 100644 arch/arm/configs/mx28evk_auart_console_defconfig
 create mode 100644 arch/arm/configs/mx28evk_defconfig
 create mode 100644 arch/arm/configs/mx28evk_nand_defconfig
 create mode 100644 arch/arm/configs/mx31ads_defconfig
 create mode 100644 arch/arm/configs/mx31pdk_defconfig
 create mode 100644 arch/arm/configs/mx35pdk_defconfig
 create mode 100644 arch/arm/configs/mx51_efikamx_defconfig
 create mode 100644 arch/arm/configs/mx51_efikasb_defconfig
 create mode 100644 arch/arm/configs/mx51evk_defconfig
 create mode 100644 arch/arm/configs/mx53ard_defconfig
 create mode 100644 arch/arm/configs/mx53evk_defconfig
 create mode 100644 arch/arm/configs/mx53loco_defconfig
 create mode 100644 arch/arm/configs/mx53smd_defconfig
 create mode 100644 arch/arm/configs/mx6dlsabresd_defconfig
 create mode 100644 arch/arm/configs/mx6qarm2_defconfig
 create mode 100644 arch/arm/configs/mx6qsabreauto_defconfig
 create mode 100644 arch/arm/configs/mx6qsabrelite_defconfig
 create mode 100644 arch/arm/configs/mx6qsabresd_defconfig
 create mode 100644 arch/arm/configs/mx6slevk_defconfig
 create mode 100644 arch/arm/configs/net2big_v2_defconfig
 create mode 100644 arch/arm/configs/netspace_lite_v2_defconfig
 create mode 100644 arch/arm/configs/netspace_max_v2_defconfig
 create mode 100644 arch/arm/configs/netspace_mini_v2_defconfig
 create mode 100644 arch/arm/configs/netspace_v2_defconfig
 create mode 100644 arch/arm/configs/nhk8815_defconfig
 create mode 100644 arch/arm/configs/nhk8815_onenand_defconfig
 create mode 100644 arch/arm/configs/nitrogen6dl2g_defconfig
 create mode 100644 arch/arm/configs/nitrogen6dl_defconfig
 create mode 100644 arch/arm/configs/nitrogen6q2g_defconfig
 create mode 100644 arch/arm/configs/nitrogen6q_defconfig
 create mode 100644 arch/arm/configs/nitrogen6s1g_defconfig
 create mode 100644 arch/arm/configs/nitrogen6s_defconfig
 create mode 100644 arch/arm/configs/nokia_rx51_defconfig
 create mode 100644 arch/arm/configs/omap3_beagle_defconfig
 create mode 100644 arch/arm/configs/omap3_evm_defconfig
 create mode 100644 arch/arm/configs/omap3_evm_quick_mmc_defconfig
 create mode 100644 arch/arm/configs/omap3_evm_quick_nand_defconfig
 create mode 100644 arch/arm/configs/omap3_ha_defconfig
 create mode 100644 arch/arm/configs/omap3_logic_defconfig
 create mode 100644 arch/arm/configs/omap3_mvblx_defconfig
 create mode 100644 arch/arm/configs/omap3_overo_defconfig
 create mode 100644 arch/arm/configs/omap3_pandora_defconfig
 create mode 100644 arch/arm/configs/omap3_sdp3430_defconfig
 create mode 100644 arch/arm/configs/omap3_zoom1_defconfig
 create mode 100644 arch/arm/configs/omap4_panda_defconfig
 create mode 100644 arch/arm/configs/omap4_sdp4430_defconfig
 create mode 100644 arch/arm/configs/omap5912osk_defconfig
 create mode 100644 arch/arm/configs/omap5_uevm_defconfig
 create mode 100644 arch/arm/configs/openrd_base_defconfig
 create mode 100644 arch/arm/configs/openrd_client_defconfig
 create mode 100644 arch/arm/configs/openrd_ultimate_defconfig
 create mode 100644 arch/arm/configs/origen_defconfig
 create mode 100644 arch/arm/configs/otc570_dataflash_defconfig
 create mode 100644 arch/arm/configs/otc570_defconfig
 create mode 100644 arch/arm/configs/palmld_defconfig
 create mode 100644 arch/arm/configs/palmtc_defconfig
 create mode 100644 arch/arm/configs/palmtreo680_defconfig
 create mode 100644 arch/arm/configs/paz00_defconfig
 create mode 100644 arch/arm/configs/pcm051_rev1_defconfig
 create mode 100644 arch/arm/configs/pcm051_rev3_defconfig
 create mode 100644 arch/arm/configs/pengwyn_defconfig
 create mode 100644 arch/arm/configs/pepper_defconfig
 create mode 100644 arch/arm/configs/plutux_defconfig
 create mode 100644 arch/arm/configs/pm9261_defconfig
 create mode 100644 arch/arm/configs/pm9263_defconfig
 create mode 100644 arch/arm/configs/pm9g45_defconfig
 create mode 100644 arch/arm/configs/pogo_e02_defconfig
 create mode 100644 arch/arm/configs/polaris_defconfig
 create mode 100644 arch/arm/configs/portl2_defconfig
 create mode 100644 arch/arm/configs/portuxg20_defconfig
 create mode 100644 arch/arm/configs/pxa255_idp_defconfig
 create mode 100644 arch/arm/configs/pxm2_defconfig
 create mode 100644 arch/arm/configs/qong_defconfig
 create mode 100644 arch/arm/configs/rd6281a_defconfig
 create mode 100644 arch/arm/configs/riotboard_defconfig
 create mode 100644 arch/arm/configs/rpi_b_defconfig
 create mode 100644 arch/arm/configs/rut_defconfig
 create mode 100644 arch/arm/configs/s5p_goni_defconfig
 create mode 100644 arch/arm/configs/s5pc210_universal_defconfig
 create mode 100644 arch/arm/configs/sama5d3_xplained_mmc_defconfig
 create mode 100644 arch/arm/configs/sama5d3_xplained_nandflash_defconfig
 create mode 100644 arch/arm/configs/sama5d3xek_mmc_defconfig
 create mode 100644 arch/arm/configs/sama5d3xek_nandflash_defconfig
 create mode 100644 arch/arm/configs/sama5d3xek_spiflash_defconfig
 create mode 100644 arch/arm/configs/sansa_fuze_plus_defconfig
 create mode 100644 arch/arm/configs/sbc35_a9g20_eeprom_defconfig
 create mode 100644 arch/arm/configs/sbc35_a9g20_nandflash_defconfig
 create mode 100644 arch/arm/configs/sc_sps_1_defconfig
 create mode 100644 arch/arm/configs/scb9328_defconfig
 create mode 100644 arch/arm/configs/seaboard_defconfig
 create mode 100644 arch/arm/configs/sheevaplug_defconfig
 create mode 100644 arch/arm/configs/smdk2410_defconfig
 create mode 100644 arch/arm/configs/smdk5250_defconfig
 create mode 100644 arch/arm/configs/smdk5420_defconfig
 create mode 100644 arch/arm/configs/smdkc100_defconfig
 create mode 100644 arch/arm/configs/smdkv310_defconfig
 create mode 100644 arch/arm/configs/snapper9260_defconfig
 create mode 100644 arch/arm/configs/snapper9g20_defconfig
 create mode 100644 arch/arm/configs/snow_defconfig
 create mode 100644 arch/arm/configs/snowball_defconfig
 create mode 100644 arch/arm/configs/socfpga_cyclone5_defconfig
 create mode 100644 arch/arm/configs/spear300_defconfig
 create mode 100644 arch/arm/configs/spear300_nand_defconfig
 create mode 100644 arch/arm/configs/spear300_usbtty_defconfig
 create mode 100644 arch/arm/configs/spear300_usbtty_nand_defconfig
 create mode 100644 arch/arm/configs/spear310_defconfig
 create mode 100644 arch/arm/configs/spear310_nand_defconfig
 create mode 100644 arch/arm/configs/spear310_pnor_defconfig
 create mode 100644 arch/arm/configs/spear310_usbtty_defconfig
 create mode 100644 arch/arm/configs/spear310_usbtty_nand_defconfig
 create mode 100644 arch/arm/configs/spear310_usbtty_pnor_defconfig
 create mode 100644 arch/arm/configs/spear320_defconfig
 create mode 100644 arch/arm/configs/spear320_nand_defconfig
 create mode 100644 arch/arm/configs/spear320_pnor_defconfig
 create mode 100644 arch/arm/configs/spear320_usbtty_defconfig
 create mode 100644 arch/arm/configs/spear320_usbtty_nand_defconfig
 create mode 100644 arch/arm/configs/spear320_usbtty_pnor_defconfig
 create mode 100644 arch/arm/configs/spear600_defconfig
 create mode 100644 arch/arm/configs/spear600_nand_defconfig
 create mode 100644 arch/arm/configs/spear600_usbtty_defconfig
 create mode 100644 arch/arm/configs/spear600_usbtty_nand_defconfig
 create mode 100644 arch/arm/configs/stamp9g20_defconfig
 create mode 100644 arch/arm/configs/tao3530_defconfig
 create mode 100644 arch/arm/configs/taurus_defconfig
 create mode 100644 arch/arm/configs/tec-ng_defconfig
 create mode 100644 arch/arm/configs/tec_defconfig
 create mode 100644 arch/arm/configs/ti814x_evm_defconfig
 create mode 100644 arch/arm/configs/ti816x_evm_defconfig
 create mode 100644 arch/arm/configs/titanium_defconfig
 create mode 100644 arch/arm/configs/tk71_defconfig
 create mode 100644 arch/arm/configs/tnetv107x_evm_defconfig
 create mode 100644 arch/arm/configs/tny_a9260_eeprom_defconfig
 create mode 100644 arch/arm/configs/tny_a9260_nandflash_defconfig
 create mode 100644 arch/arm/configs/tny_a9g20_eeprom_defconfig
 create mode 100644 arch/arm/configs/tny_a9g20_nandflash_defconfig
 create mode 100644 arch/arm/configs/top9000eval_xe_defconfig
 create mode 100644 arch/arm/configs/top9000su_xe_defconfig
 create mode 100644 arch/arm/configs/trats2_defconfig
 create mode 100644 arch/arm/configs/trats_defconfig
 create mode 100644 arch/arm/configs/tricorder_defconfig
 create mode 100644 arch/arm/configs/tricorder_flash_defconfig
 create mode 100644 arch/arm/configs/trimslice_defconfig
 create mode 100644 arch/arm/configs/trizepsiv_defconfig
 create mode 100644 arch/arm/configs/tseries_mmc_defconfig
 create mode 100644 arch/arm/configs/tseries_nand_defconfig
 create mode 100644 arch/arm/configs/tseries_spi_defconfig
 create mode 100644 arch/arm/configs/tt01_defconfig
 create mode 100644 arch/arm/configs/twister_defconfig
 create mode 100644 arch/arm/configs/tx25_defconfig
 create mode 100644 arch/arm/configs/u8500_href_defconfig
 create mode 100644 arch/arm/configs/udoo_quad_defconfig
 create mode 100644 arch/arm/configs/usb_a9263_dataflash_defconfig
 create mode 100644 arch/arm/configs/venice2_defconfig
 create mode 100644 arch/arm/configs/ventana_defconfig
 create mode 100644 arch/arm/configs/versatileab_defconfig
 create mode 100644 arch/arm/configs/versatilepb_defconfig
 create mode 100644 arch/arm/configs/versatileqemu_defconfig
 create mode 100644 arch/arm/configs/vexpress_aemv8a_defconfig
 create mode 100644 arch/arm/configs/vexpress_ca15_tc2_defconfig
 create mode 100644 arch/arm/configs/vexpress_ca5x2_defconfig
 create mode 100644 arch/arm/configs/vexpress_ca9x4_defconfig
 create mode 100644 arch/arm/configs/vf610twr_defconfig
 create mode 100644 arch/arm/configs/vision2_defconfig
 create mode 100644 arch/arm/configs/vl_ma2sc_defconfig
 create mode 100644 arch/arm/configs/vl_ma2sc_ram_defconfig
 create mode 100644 arch/arm/configs/vpac270_nor_128_defconfig
 create mode 100644 arch/arm/configs/vpac270_nor_256_defconfig
 create mode 100644 arch/arm/configs/vpac270_ond_256_defconfig
 create mode 100644 arch/arm/configs/wandboard_dl_defconfig
 create mode 100644 arch/arm/configs/wandboard_quad_defconfig
 create mode 100644 arch/arm/configs/wandboard_solo_defconfig
 create mode 100644 arch/arm/configs/whistler_defconfig
 create mode 100644 arch/arm/configs/wireless_space_defconfig
 create mode 100644 arch/arm/configs/woodburn_defconfig
 create mode 100644 arch/arm/configs/woodburn_sd_defconfig
 create mode 100644 arch/arm/configs/x600_defconfig
 create mode 100644 arch/arm/configs/xaeniax_defconfig
 create mode 100644 arch/arm/configs/xfi3_defconfig
 create mode 100644 arch/arm/configs/zipitz2_defconfig
 create mode 100644 arch/arm/configs/zmx25_defconfig
 create mode 100644 arch/arm/configs/zynq_microzed_defconfig
 create mode 100644 arch/arm/configs/zynq_zc70x_defconfig
 create mode 100644 arch/arm/configs/zynq_zc770_xm010_defconfig
 create mode 100644 arch/arm/configs/zynq_zc770_xm012_defconfig
 create mode 100644 arch/arm/configs/zynq_zc770_xm013_defconfig
 create mode 100644 arch/arm/configs/zynq_zed_defconfig
 create mode 100644 arch/avr32/Kconfig
 create mode 100644 arch/avr32/configs/atngw100_defconfig
 create mode 100644 arch/avr32/configs/atngw100mkii_defconfig
 create mode 100644 arch/avr32/configs/atstk1002_defconfig
 create mode 100644 arch/avr32/configs/atstk1003_defconfig
 create mode 100644 arch/avr32/configs/atstk1004_defconfig
 create mode 100644 arch/avr32/configs/atstk1006_defconfig
 create mode 100644 arch/avr32/configs/favr-32-ezkit_defconfig
 create mode 100644 arch/avr32/configs/grasshopper_defconfig
 create mode 100644 arch/avr32/configs/hammerhead_defconfig
 create mode 100644 arch/avr32/configs/mimc200_defconfig
 create mode 100644 arch/blackfin/Kconfig
 create mode 100644 arch/blackfin/configs/bct-brettl2_defconfig
 create mode 100644 arch/blackfin/configs/bf506f-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf518f-ezbrd_defconfig
 create mode 100644 arch/blackfin/configs/bf525-ucr2_defconfig
 create mode 100644 arch/blackfin/configs/bf526-ezbrd_defconfig
 create mode 100644 arch/blackfin/configs/bf527-ad7160-eval_defconfig
 create mode 100644 arch/blackfin/configs/bf527-ezkit-v2_defconfig
 create mode 100644 arch/blackfin/configs/bf527-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf527-sdp_defconfig
 create mode 100644 arch/blackfin/configs/bf533-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf533-stamp_defconfig
 create mode 100644 arch/blackfin/configs/bf537-minotaur_defconfig
 create mode 100644 arch/blackfin/configs/bf537-pnav_defconfig
 create mode 100644 arch/blackfin/configs/bf537-srv1_defconfig
 create mode 100644 arch/blackfin/configs/bf537-stamp_defconfig
 create mode 100644 arch/blackfin/configs/bf538f-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf548-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf561-acvilon_defconfig
 create mode 100644 arch/blackfin/configs/bf561-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/bf609-ezkit_defconfig
 create mode 100644 arch/blackfin/configs/blackstamp_defconfig
 create mode 100644 arch/blackfin/configs/blackvme_defconfig
 create mode 100644 arch/blackfin/configs/br4_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf527_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf533_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf537e_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf537u_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf548_defconfig
 create mode 100644 arch/blackfin/configs/cm-bf561_defconfig
 create mode 100644 arch/blackfin/configs/dnp5370_defconfig
 create mode 100644 arch/blackfin/configs/ibf-dsp561_defconfig
 create mode 100644 arch/blackfin/configs/ip04_defconfig
 create mode 100644 arch/blackfin/configs/pr1_defconfig
 create mode 100644 arch/blackfin/configs/tcm-bf518_defconfig
 create mode 100644 arch/blackfin/configs/tcm-bf537_defconfig
 create mode 100644 arch/m68k/Kconfig
 create mode 100644 arch/m68k/configs/M5208EVBE_defconfig
 create mode 100644 arch/m68k/configs/M52277EVB_defconfig
 create mode 100644 arch/m68k/configs/M52277EVB_stmicro_defconfig
 create mode 100644 arch/m68k/configs/M5235EVB_Flash32_defconfig
 create mode 100644 arch/m68k/configs/M5235EVB_defconfig
 create mode 100644 arch/m68k/configs/M5249EVB_defconfig
 create mode 100644 arch/m68k/configs/M5253DEMO_defconfig
 create mode 100644 arch/m68k/configs/M5253EVBE_defconfig
 create mode 100644 arch/m68k/configs/M5272C3_defconfig
 create mode 100644 arch/m68k/configs/M5275EVB_defconfig
 create mode 100644 arch/m68k/configs/M5282EVB_defconfig
 create mode 100644 arch/m68k/configs/M53017EVB_defconfig
 create mode 100644 arch/m68k/configs/M5329AFEE_defconfig
 create mode 100644 arch/m68k/configs/M5329BFEE_defconfig
 create mode 100644 arch/m68k/configs/M5373EVB_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_nand_mii_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_nand_rmii_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_nand_rmii_lowfreq_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_serial_mii_defconfig
 create mode 100644 arch/m68k/configs/M54418TWR_serial_rmii_defconfig
 create mode 100644 arch/m68k/configs/M54451EVB_defconfig
 create mode 100644 arch/m68k/configs/M54451EVB_stmicro_defconfig
 create mode 100644 arch/m68k/configs/M54455EVB_a66_defconfig
 create mode 100644 arch/m68k/configs/M54455EVB_defconfig
 create mode 100644 arch/m68k/configs/M54455EVB_i66_defconfig
 create mode 100644 arch/m68k/configs/M54455EVB_intel_defconfig
 create mode 100644 arch/m68k/configs/M54455EVB_stm33_defconfig
 create mode 100644 arch/m68k/configs/M5475AFE_defconfig
 create mode 100644 arch/m68k/configs/M5475BFE_defconfig
 create mode 100644 arch/m68k/configs/M5475CFE_defconfig
 create mode 100644 arch/m68k/configs/M5475DFE_defconfig
 create mode 100644 arch/m68k/configs/M5475EFE_defconfig
 create mode 100644 arch/m68k/configs/M5475FFE_defconfig
 create mode 100644 arch/m68k/configs/M5475GFE_defconfig
 create mode 100644 arch/m68k/configs/M5485AFE_defconfig
 create mode 100644 arch/m68k/configs/M5485BFE_defconfig
 create mode 100644 arch/m68k/configs/M5485CFE_defconfig
 create mode 100644 arch/m68k/configs/M5485DFE_defconfig
 create mode 100644 arch/m68k/configs/M5485EFE_defconfig
 create mode 100644 arch/m68k/configs/M5485FFE_defconfig
 create mode 100644 arch/m68k/configs/M5485GFE_defconfig
 create mode 100644 arch/m68k/configs/M5485HFE_defconfig
 create mode 100644 arch/m68k/configs/TASREG_defconfig
 create mode 100644 arch/m68k/configs/astro_mcf5373l_defconfig
 create mode 100644 arch/m68k/configs/cobra5272_defconfig
 create mode 100644 arch/m68k/configs/eb_cpu5282_defconfig
 create mode 100644 arch/m68k/configs/eb_cpu5282_internal_defconfig
 create mode 100644 arch/microblaze/Kconfig
 create mode 100644 arch/microblaze/configs/microblaze-generic_defconfig
 create mode 100644 arch/mips/Kconfig
 create mode 100644 arch/mips/configs/dbau1000_defconfig
 create mode 100644 arch/mips/configs/dbau1100_defconfig
 create mode 100644 arch/mips/configs/dbau1500_defconfig
 create mode 100644 arch/mips/configs/dbau1550_defconfig
 create mode 100644 arch/mips/configs/dbau1550_el_defconfig
 create mode 100644 arch/mips/configs/malta_defconfig
 create mode 100644 arch/mips/configs/maltael_defconfig
 create mode 100644 arch/mips/configs/pb1000_defconfig
 create mode 100644 arch/mips/configs/qemu_mips64_defconfig
 create mode 100644 arch/mips/configs/qemu_mips64el_defconfig
 create mode 100644 arch/mips/configs/qemu_mips_defconfig
 create mode 100644 arch/mips/configs/qemu_mipsel_defconfig
 create mode 100644 arch/mips/configs/vct_platinum_defconfig
 create mode 100644 arch/mips/configs/vct_platinum_onenand_defconfig
 create mode 100644 arch/mips/configs/vct_platinum_onenand_small_defconfig
 create mode 100644 arch/mips/configs/vct_platinum_small_defconfig
 create mode 100644 arch/mips/configs/vct_platinumavc_defconfig
 create mode 100644 arch/mips/configs/vct_platinumavc_onenand_defconfig
 create mode 100644 arch/mips/configs/vct_platinumavc_onenand_small_defconfig
 create mode 100644 arch/mips/configs/vct_platinumavc_small_defconfig
 create mode 100644 arch/mips/configs/vct_premium_defconfig
 create mode 100644 arch/mips/configs/vct_premium_onenand_defconfig
 create mode 100644 arch/mips/configs/vct_premium_onenand_small_defconfig
 create mode 100644 arch/mips/configs/vct_premium_small_defconfig
 create mode 100644 arch/nds32/Kconfig
 create mode 100644 arch/nds32/configs/adp-ag101_defconfig
 create mode 100644 arch/nds32/configs/adp-ag101p_defconfig
 create mode 100644 arch/nds32/configs/adp-ag102_defconfig
 create mode 100644 arch/nios2/Kconfig
 create mode 100644 arch/nios2/configs/PCI5441_defconfig
 create mode 100644 arch/nios2/configs/PK1C20_defconfig
 create mode 100644 arch/nios2/configs/nios2-generic_defconfig
 create mode 100644 arch/openrisc/Kconfig
 create mode 100644 arch/openrisc/configs/openrisc-generic_defconfig
 create mode 100644 arch/powerpc/Kconfig
 create mode 100644 arch/powerpc/configs/A3000_defconfig
 create mode 100644 arch/powerpc/configs/APC405_defconfig
 create mode 100644 arch/powerpc/configs/AR405_defconfig
 create mode 100644 arch/powerpc/configs/ASH405_defconfig
 create mode 100644 arch/powerpc/configs/AdderII_defconfig
 create mode 100644 arch/powerpc/configs/Adder_defconfig
 create mode 100644 arch/powerpc/configs/B4420QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/B4420QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/B4420QDS_defconfig
 create mode 100644 arch/powerpc/configs/B4860QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/B4860QDS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/B4860QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/B4860QDS_defconfig
 create mode 100644 arch/powerpc/configs/BC3450_defconfig
 create mode 100644 arch/powerpc/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9131RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9131RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
 create mode 100644 arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
 create mode 100644 arch/powerpc/configs/C29XPCIE_NAND_defconfig
 create mode 100644 arch/powerpc/configs/C29XPCIE_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/C29XPCIE_defconfig
 create mode 100644 arch/powerpc/configs/CATcenter_25_defconfig
 create mode 100644 arch/powerpc/configs/CATcenter_33_defconfig
 create mode 100644 arch/powerpc/configs/CATcenter_defconfig
 create mode 100644 arch/powerpc/configs/CMS700_defconfig
 create mode 100644 arch/powerpc/configs/CPC45_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/CPC45_defconfig
 create mode 100644 arch/powerpc/configs/CPCI2DP_defconfig
 create mode 100644 arch/powerpc/configs/CPCI4052_defconfig
 create mode 100644 arch/powerpc/configs/CPCI405AB_defconfig
 create mode 100644 arch/powerpc/configs/CPCI405DT_defconfig
 create mode 100644 arch/powerpc/configs/CPCI405_defconfig
 create mode 100644 arch/powerpc/configs/CPCI750_defconfig
 create mode 100644 arch/powerpc/configs/CPCIISER4_defconfig
 create mode 100644 arch/powerpc/configs/CPU86_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/CPU86_defconfig
 create mode 100644 arch/powerpc/configs/CPU87_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/CPU87_defconfig
 create mode 100644 arch/powerpc/configs/CRAYL1_defconfig
 create mode 100644 arch/powerpc/configs/CU824_defconfig
 create mode 100644 arch/powerpc/configs/DB64360_defconfig
 create mode 100644 arch/powerpc/configs/DB64460_defconfig
 create mode 100644 arch/powerpc/configs/DP405_defconfig
 create mode 100644 arch/powerpc/configs/DU405_defconfig
 create mode 100644 arch/powerpc/configs/DU440_defconfig
 create mode 100644 arch/powerpc/configs/ELPPC_defconfig
 create mode 100644 arch/powerpc/configs/ELPT860_defconfig
 create mode 100644 arch/powerpc/configs/ESTEEM192E_defconfig
 create mode 100644 arch/powerpc/configs/EVAL5200_defconfig
 create mode 100644 arch/powerpc/configs/FLAGADM_defconfig
 create mode 100644 arch/powerpc/configs/FPS850L_defconfig
 create mode 100644 arch/powerpc/configs/FPS860L_defconfig
 create mode 100644 arch/powerpc/configs/G2000_defconfig
 create mode 100644 arch/powerpc/configs/GEN860T_SC_defconfig
 create mode 100644 arch/powerpc/configs/GEN860T_defconfig
 create mode 100644 arch/powerpc/configs/HH405_defconfig
 create mode 100644 arch/powerpc/configs/HIDDEN_DRAGON_defconfig
 create mode 100644 arch/powerpc/configs/HUB405_defconfig
 create mode 100644 arch/powerpc/configs/HWW1U1A_defconfig
 create mode 100644 arch/powerpc/configs/ICU862_100MHz_defconfig
 create mode 100644 arch/powerpc/configs/ICU862_defconfig
 create mode 100644 arch/powerpc/configs/IDS8247_defconfig
 create mode 100644 arch/powerpc/configs/IP860_defconfig
 create mode 100644 arch/powerpc/configs/IPHASE4539_defconfig
 create mode 100644 arch/powerpc/configs/ISPAN_REVB_defconfig
 create mode 100644 arch/powerpc/configs/ISPAN_defconfig
 create mode 100644 arch/powerpc/configs/IVML24_128_defconfig
 create mode 100644 arch/powerpc/configs/IVML24_256_defconfig
 create mode 100644 arch/powerpc/configs/IVML24_defconfig
 create mode 100644 arch/powerpc/configs/IVMS8_128_defconfig
 create mode 100644 arch/powerpc/configs/IVMS8_256_defconfig
 create mode 100644 arch/powerpc/configs/IVMS8_defconfig
 create mode 100644 arch/powerpc/configs/JSE_defconfig
 create mode 100644 arch/powerpc/configs/KAREF_defconfig
 create mode 100644 arch/powerpc/configs/KUP4K_defconfig
 create mode 100644 arch/powerpc/configs/KUP4X_defconfig
 create mode 100644 arch/powerpc/configs/Lite5200_LOWBOOT08_defconfig
 create mode 100644 arch/powerpc/configs/Lite5200_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/Lite5200_defconfig
 create mode 100644 arch/powerpc/configs/MERGERBOX_defconfig
 create mode 100644 arch/powerpc/configs/METROBOX_defconfig
 create mode 100644 arch/powerpc/configs/MHPC_defconfig
 create mode 100644 arch/powerpc/configs/MINI5200_defconfig
 create mode 100644 arch/powerpc/configs/MIP405T_defconfig
 create mode 100644 arch/powerpc/configs/MIP405_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_33MHz_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_33MHz_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_40MHz_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_40MHz_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8260ADS_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/MPC8266ADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8272ADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8272ADS_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/MPC8308RDB_defconfig
 create mode 100644 arch/powerpc/configs/MPC8313ERDB_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8313ERDB_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC8313ERDB_NAND_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8313ERDB_NAND_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC8315ERDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/MPC8315ERDB_defconfig
 create mode 100644 arch/powerpc/configs/MPC8323ERDB_defconfig
 create mode 100644 arch/powerpc/configs/MPC832XEMDS_ATM_defconfig
 create mode 100644 arch/powerpc/configs/MPC832XEMDS_HOST_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC832XEMDS_HOST_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC832XEMDS_SLAVE_defconfig
 create mode 100644 arch/powerpc/configs/MPC832XEMDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8349EMDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8349ITXGP_defconfig
 create mode 100644 arch/powerpc/configs/MPC8349ITX_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/MPC8349ITX_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_33_ATM_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_33_HOST_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_33_HOST_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_33_SLAVE_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_66_ATM_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_66_HOST_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_66_HOST_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_66_SLAVE_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360EMDS_66_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360ERDK_33_defconfig
 create mode 100644 arch/powerpc/configs/MPC8360ERDK_defconfig
 create mode 100644 arch/powerpc/configs/MPC837XEMDS_HOST_defconfig
 create mode 100644 arch/powerpc/configs/MPC837XEMDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC837XERDB_defconfig
 create mode 100644 arch/powerpc/configs/MPC8536DS_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/MPC8536DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/MPC8536DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/MPC8536DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/MPC8536DS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8540ADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8541CDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8541CDS_legacy_defconfig
 create mode 100644 arch/powerpc/configs/MPC8544DS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8548CDS_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/MPC8548CDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8548CDS_legacy_defconfig
 create mode 100644 arch/powerpc/configs/MPC8555CDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8555CDS_legacy_defconfig
 create mode 100644 arch/powerpc/configs/MPC8560ADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8568MDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8569MDS_ATM_defconfig
 create mode 100644 arch/powerpc/configs/MPC8569MDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/MPC8569MDS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8572DS_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/MPC8572DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/MPC8572DS_defconfig
 create mode 100644 arch/powerpc/configs/MPC8610HPCD_defconfig
 create mode 100644 arch/powerpc/configs/MPC8641HPCN_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/MPC8641HPCN_defconfig
 create mode 100644 arch/powerpc/configs/MPC86xADS_defconfig
 create mode 100644 arch/powerpc/configs/MPC885ADS_defconfig
 create mode 100644 arch/powerpc/configs/MUSENKI_defconfig
 create mode 100644 arch/powerpc/configs/MVBC_P_defconfig
 create mode 100644 arch/powerpc/configs/MVBLM7_defconfig
 create mode 100644 arch/powerpc/configs/MVBLUE_defconfig
 create mode 100644 arch/powerpc/configs/MVSMR_defconfig
 create mode 100644 arch/powerpc/configs/MiniFAP_defconfig
 create mode 100644 arch/powerpc/configs/NETPHONE_V2_defconfig
 create mode 100644 arch/powerpc/configs/NETPHONE_defconfig
 create mode 100644 arch/powerpc/configs/NETTA2_V2_defconfig
 create mode 100644 arch/powerpc/configs/NETTA2_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_6412_SWAPHOOK_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_6412_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_ISDN_6412_SWAPHOOK_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_ISDN_6412_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_ISDN_SWAPHOOK_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_ISDN_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_SWAPHOOK_defconfig
 create mode 100644 arch/powerpc/configs/NETTA_defconfig
 create mode 100644 arch/powerpc/configs/NETVIA_V2_defconfig
 create mode 100644 arch/powerpc/configs/NETVIA_defconfig
 create mode 100644 arch/powerpc/configs/NSCU_defconfig
 create mode 100644 arch/powerpc/configs/O2D300_defconfig
 create mode 100644 arch/powerpc/configs/O2DNT2_RAMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/O2DNT2_defconfig
 create mode 100644 arch/powerpc/configs/O2D_defconfig
 create mode 100644 arch/powerpc/configs/O2I_defconfig
 create mode 100644 arch/powerpc/configs/O2MNT_O2M110_defconfig
 create mode 100644 arch/powerpc/configs/O2MNT_O2M112_defconfig
 create mode 100644 arch/powerpc/configs/O2MNT_O2M113_defconfig
 create mode 100644 arch/powerpc/configs/O2MNT_defconfig
 create mode 100644 arch/powerpc/configs/O3DNT_defconfig
 create mode 100644 arch/powerpc/configs/OCRTC_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_NOR_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_NOR_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_NOR_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_NOR_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
 create mode 100644 arch/powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1011RDB_defconfig
 create mode 100644 arch/powerpc/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020MBG-PC_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020MBG-PC_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PC_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PD_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB-PD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1020RDB_defconfig
 create mode 100644 arch/powerpc/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020UTM-PC_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1020UTM-PC_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1021RDB-PC_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1022DS_defconfig
 create mode 100644 arch/powerpc/configs/P1023RDB_defconfig
 create mode 100644 arch/powerpc/configs/P1023RDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1023RDS_defconfig
 create mode 100644 arch/powerpc/configs/P1024RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1024RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1024RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1024RDB_defconfig
 create mode 100644 arch/powerpc/configs/P1025RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P1025RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P1025RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P1025RDB_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2010RDB_defconfig
 create mode 100644 arch/powerpc/configs/P2020COME_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020COME_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020DS_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P2020DS_DDR2_defconfig
 create mode 100644 arch/powerpc/configs/P2020DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020DS_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_36BIT_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB-PC_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_36BIT_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_36BIT_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2020RDB_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P2041RDB_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P3041DS_defconfig
 create mode 100644 arch/powerpc/configs/P3G4_defconfig
 create mode 100644 arch/powerpc/configs/P4080DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P4080DS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P4080DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P4080DS_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/P5020DS_defconfig
 create mode 100644 arch/powerpc/configs/P5040DS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/P5040DS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/P5040DS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/P5040DS_defconfig
 create mode 100644 arch/powerpc/configs/PATI_defconfig
 create mode 100644 arch/powerpc/configs/PCI405_defconfig
 create mode 100644 arch/powerpc/configs/PIP405_defconfig
 create mode 100644 arch/powerpc/configs/PLU405_defconfig
 create mode 100644 arch/powerpc/configs/PM520_DDR_defconfig
 create mode 100644 arch/powerpc/configs/PM520_ROMBOOT_DDR_defconfig
 create mode 100644 arch/powerpc/configs/PM520_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/PM520_defconfig
 create mode 100644 arch/powerpc/configs/PM825_BIGFLASH_defconfig
 create mode 100644 arch/powerpc/configs/PM825_ROMBOOT_BIGFLASH_defconfig
 create mode 100644 arch/powerpc/configs/PM825_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/PM825_defconfig
 create mode 100644 arch/powerpc/configs/PM826_BIGFLASH_defconfig
 create mode 100644 arch/powerpc/configs/PM826_ROMBOOT_BIGFLASH_defconfig
 create mode 100644 arch/powerpc/configs/PM826_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/PM826_defconfig
 create mode 100644 arch/powerpc/configs/PM828_PCI_defconfig
 create mode 100644 arch/powerpc/configs/PM828_ROMBOOT_PCI_defconfig
 create mode 100644 arch/powerpc/configs/PM828_ROMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/PM828_defconfig
 create mode 100644 arch/powerpc/configs/PMC405DE_defconfig
 create mode 100644 arch/powerpc/configs/PMC405_defconfig
 create mode 100644 arch/powerpc/configs/PMC440_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_BA_25_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_BA_33_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_HI_25_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_HI_33_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_ME_25_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_ME_33_defconfig
 create mode 100644 arch/powerpc/configs/PPChameleonEVB_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-VR_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-VR_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-ZU_66MHz_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-ZU_66MHz_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-ZU_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS-ZU_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS_defconfig
 create mode 100644 arch/powerpc/configs/PQ2FADS_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/QS823_defconfig
 create mode 100644 arch/powerpc/configs/QS850_defconfig
 create mode 100644 arch/powerpc/configs/QS860T_defconfig
 create mode 100644 arch/powerpc/configs/R360MPI_defconfig
 create mode 100644 arch/powerpc/configs/RBC823_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_64_LCD_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_64_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_LCD_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_NVRAM_64_LCD_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_NVRAM_64_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_NVRAM_LCD_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_NVRAM_defconfig
 create mode 100644 arch/powerpc/configs/RPXlite_DW_defconfig
 create mode 100644 arch/powerpc/configs/RRvision_LCD_defconfig
 create mode 100644 arch/powerpc/configs/RRvision_defconfig
 create mode 100644 arch/powerpc/configs/Rattler8248_defconfig
 create mode 100644 arch/powerpc/configs/Rattler_defconfig
 create mode 100644 arch/powerpc/configs/SIMPC8313_LP_defconfig
 create mode 100644 arch/powerpc/configs/SIMPC8313_SP_defconfig
 create mode 100644 arch/powerpc/configs/SM850_defconfig
 create mode 100644 arch/powerpc/configs/SPD823TS_defconfig
 create mode 100644 arch/powerpc/configs/SXNI855T_defconfig
 create mode 100644 arch/powerpc/configs/Sandpoint8240_defconfig
 create mode 100644 arch/powerpc/configs/Sandpoint8245_defconfig
 create mode 100644 arch/powerpc/configs/T1040QDS_D4_defconfig
 create mode 100644 arch/powerpc/configs/T1040QDS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T1040QDS_defconfig
 create mode 100644 arch/powerpc/configs/T1040RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T1040RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T1040RDB_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T1040RDB_defconfig
 create mode 100644 arch/powerpc/configs/T1042RDB_PI_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T1042RDB_PI_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T2080QDS_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T2080RDB_defconfig
 create mode 100644 arch/powerpc/configs/T2081QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T2081QDS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T2081QDS_defconfig
 create mode 100644 arch/powerpc/configs/T4160QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T4160QDS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T4160QDS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T4160QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T4160QDS_defconfig
 create mode 100644 arch/powerpc/configs/T4160RDB_defconfig
 create mode 100644 arch/powerpc/configs/T4240EMU_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_NAND_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_SECURE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_SPIFLASH_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
 create mode 100644 arch/powerpc/configs/T4240QDS_defconfig
 create mode 100644 arch/powerpc/configs/T4240RDB_defconfig
 create mode 100644 arch/powerpc/configs/TB5200_B_defconfig
 create mode 100644 arch/powerpc/configs/TB5200_defconfig
 create mode 100644 arch/powerpc/configs/TK885D_defconfig
 create mode 100644 arch/powerpc/configs/TOP5200_defconfig
 create mode 100644 arch/powerpc/configs/TOP860_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200S_HIGHBOOT_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200S_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200_B_HIGHBOOT_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200_B_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200_STK100_defconfig
 create mode 100644 arch/powerpc/configs/TQM5200_defconfig
 create mode 100644 arch/powerpc/configs/TQM823L_LCD_defconfig
 create mode 100644 arch/powerpc/configs/TQM823L_defconfig
 create mode 100644 arch/powerpc/configs/TQM823M_defconfig
 create mode 100644 arch/powerpc/configs/TQM8255_AA_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AA_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AB_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AC_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AD_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AE_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AF_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AG_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AH_defconfig
 create mode 100644 arch/powerpc/configs/TQM8260_AI_defconfig
 create mode 100644 arch/powerpc/configs/TQM8265_AA_defconfig
 create mode 100644 arch/powerpc/configs/TQM8272_defconfig
 create mode 100644 arch/powerpc/configs/TQM834x_defconfig
 create mode 100644 arch/powerpc/configs/TQM850L_defconfig
 create mode 100644 arch/powerpc/configs/TQM850M_defconfig
 create mode 100644 arch/powerpc/configs/TQM855L_defconfig
 create mode 100644 arch/powerpc/configs/TQM855M_defconfig
 create mode 100644 arch/powerpc/configs/TQM860L_defconfig
 create mode 100644 arch/powerpc/configs/TQM860M_defconfig
 create mode 100644 arch/powerpc/configs/TQM862L_defconfig
 create mode 100644 arch/powerpc/configs/TQM862M_defconfig
 create mode 100644 arch/powerpc/configs/TQM866M_defconfig
 create mode 100644 arch/powerpc/configs/TQM885D_defconfig
 create mode 100644 arch/powerpc/configs/TTTech_defconfig
 create mode 100644 arch/powerpc/configs/TWR-P1025_defconfig
 create mode 100644 arch/powerpc/configs/Total5200_Rev2_defconfig
 create mode 100644 arch/powerpc/configs/Total5200_Rev2_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/Total5200_defconfig
 create mode 100644 arch/powerpc/configs/Total5200_lowboot_defconfig
 create mode 100644 arch/powerpc/configs/VOH405_defconfig
 create mode 100644 arch/powerpc/configs/VOM405_defconfig
 create mode 100644 arch/powerpc/configs/VoVPN-GW_66MHz_defconfig
 create mode 100644 arch/powerpc/configs/W7OLMC_defconfig
 create mode 100644 arch/powerpc/configs/W7OLMG_defconfig
 create mode 100644 arch/powerpc/configs/WUH405_defconfig
 create mode 100644 arch/powerpc/configs/ZPC1900_defconfig
 create mode 100644 arch/powerpc/configs/ZUMA_defconfig
 create mode 100644 arch/powerpc/configs/a3m071_defconfig
 create mode 100644 arch/powerpc/configs/a4m072_defconfig
 create mode 100644 arch/powerpc/configs/a4m2k_defconfig
 create mode 100644 arch/powerpc/configs/ac14xx_defconfig
 create mode 100644 arch/powerpc/configs/acadia_defconfig
 create mode 100644 arch/powerpc/configs/aev_defconfig
 create mode 100644 arch/powerpc/configs/alpr_defconfig
 create mode 100644 arch/powerpc/configs/arches_defconfig
 create mode 100644 arch/powerpc/configs/aria_defconfig
 create mode 100644 arch/powerpc/configs/atc_defconfig
 create mode 100644 arch/powerpc/configs/bamboo_defconfig
 create mode 100644 arch/powerpc/configs/bluestone_defconfig
 create mode 100644 arch/powerpc/configs/bubinga_defconfig
 create mode 100644 arch/powerpc/configs/caddy2_defconfig
 create mode 100644 arch/powerpc/configs/cam5200_defconfig
 create mode 100644 arch/powerpc/configs/cam5200_niosflash_defconfig
 create mode 100644 arch/powerpc/configs/canmb_defconfig
 create mode 100644 arch/powerpc/configs/canyonlands_defconfig
 create mode 100644 arch/powerpc/configs/charon_defconfig
 create mode 100644 arch/powerpc/configs/cm5200_defconfig
 create mode 100644 arch/powerpc/configs/cmi_mpc5xx_defconfig
 create mode 100644 arch/powerpc/configs/cogent_mpc8260_defconfig
 create mode 100644 arch/powerpc/configs/cogent_mpc8xx_defconfig
 create mode 100644 arch/powerpc/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
 create mode 100644 arch/powerpc/configs/controlcenterd_36BIT_SDCARD_defconfig
 create mode 100644 arch/powerpc/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
 create mode 100644 arch/powerpc/configs/controlcenterd_TRAILBLAZER_defconfig
 create mode 100644 arch/powerpc/configs/cpci5200_defconfig
 create mode 100644 arch/powerpc/configs/csb272_defconfig
 create mode 100644 arch/powerpc/configs/csb472_defconfig
 create mode 100644 arch/powerpc/configs/debris_defconfig
 create mode 100644 arch/powerpc/configs/devconcenter_defconfig
 create mode 100644 arch/powerpc/configs/digsy_mtc_RAMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/digsy_mtc_defconfig
 create mode 100644 arch/powerpc/configs/digsy_mtc_rev5_RAMBOOT_defconfig
 create mode 100644 arch/powerpc/configs/digsy_mtc_rev5_defconfig
 create mode 100644 arch/powerpc/configs/dlvision-10g_defconfig
 create mode 100644 arch/powerpc/configs/dlvision_defconfig
 create mode 100644 arch/powerpc/configs/eXalion_defconfig
 create mode 100644 arch/powerpc/configs/ebony_defconfig
 create mode 100644 arch/powerpc/configs/ep8248_defconfig
 create mode 100644 arch/powerpc/configs/ep8260_defconfig
 create mode 100644 arch/powerpc/configs/ep82xxm_defconfig
 create mode 100644 arch/powerpc/configs/fo300_defconfig
 create mode 100644 arch/powerpc/configs/fx12mm_defconfig
 create mode 100644 arch/powerpc/configs/fx12mm_flash_defconfig
 create mode 100644 arch/powerpc/configs/galaxy5200_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/galaxy5200_defconfig
 create mode 100644 arch/powerpc/configs/gdppc440etx_defconfig
 create mode 100644 arch/powerpc/configs/glacier_defconfig
 create mode 100644 arch/powerpc/configs/gw8260_defconfig
 create mode 100644 arch/powerpc/configs/haleakala_defconfig
 create mode 100644 arch/powerpc/configs/hermes_defconfig
 create mode 100644 arch/powerpc/configs/hmi1001_defconfig
 create mode 100644 arch/powerpc/configs/hymod_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_DDR_LOWBOOT08_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_DDR_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_DDR_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_LOWBOOT08_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/icecube_5200_defconfig
 create mode 100644 arch/powerpc/configs/icon_defconfig
 create mode 100644 arch/powerpc/configs/ids8313_defconfig
 create mode 100644 arch/powerpc/configs/inka4x0_defconfig
 create mode 100644 arch/powerpc/configs/intip_defconfig
 create mode 100644 arch/powerpc/configs/io64_defconfig
 create mode 100644 arch/powerpc/configs/io_defconfig
 create mode 100644 arch/powerpc/configs/iocon_defconfig
 create mode 100644 arch/powerpc/configs/ipek01_defconfig
 create mode 100644 arch/powerpc/configs/jupiter_defconfig
 create mode 100644 arch/powerpc/configs/katmai_defconfig
 create mode 100644 arch/powerpc/configs/kilauea_defconfig
 create mode 100644 arch/powerpc/configs/kmcoge4_defconfig
 create mode 100644 arch/powerpc/configs/kmcoge5ne_defconfig
 create mode 100644 arch/powerpc/configs/kmeter1_defconfig
 create mode 100644 arch/powerpc/configs/kmlion1_defconfig
 create mode 100644 arch/powerpc/configs/kmopti2_defconfig
 create mode 100644 arch/powerpc/configs/kmsupx5_defconfig
 create mode 100644 arch/powerpc/configs/kmvect1_defconfig
 create mode 100644 arch/powerpc/configs/korat_defconfig
 create mode 100644 arch/powerpc/configs/korat_perm_defconfig
 create mode 100644 arch/powerpc/configs/kvme080_defconfig
 create mode 100644 arch/powerpc/configs/lcd4_lwmon5_defconfig
 create mode 100644 arch/powerpc/configs/lite5200b_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/lite5200b_PM_defconfig
 create mode 100644 arch/powerpc/configs/lite5200b_defconfig
 create mode 100644 arch/powerpc/configs/luan_defconfig
 create mode 100644 arch/powerpc/configs/lwmon5_defconfig
 create mode 100644 arch/powerpc/configs/lwmon_defconfig
 create mode 100644 arch/powerpc/configs/makalu_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_COM12_SDRAM_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_COM12_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_COM12_highboot_SDRAM_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_COM12_highboot_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_SDRAM_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_highboot_SDRAM_defconfig
 create mode 100644 arch/powerpc/configs/mcc200_highboot_defconfig
 create mode 100644 arch/powerpc/configs/mecp5123_defconfig
 create mode 100644 arch/powerpc/configs/mecp5200_defconfig
 create mode 100644 arch/powerpc/configs/mgcoge3ne_defconfig
 create mode 100644 arch/powerpc/configs/mgcoge_defconfig
 create mode 100644 arch/powerpc/configs/ml507_defconfig
 create mode 100644 arch/powerpc/configs/ml507_flash_defconfig
 create mode 100644 arch/powerpc/configs/motionpro_defconfig
 create mode 100644 arch/powerpc/configs/mpc5121ads_defconfig
 create mode 100644 arch/powerpc/configs/mpc5121ads_rev2_defconfig
 create mode 100644 arch/powerpc/configs/mpc7448hpc2_defconfig
 create mode 100644 arch/powerpc/configs/mpc8308_p1m_defconfig
 create mode 100644 arch/powerpc/configs/muas3001_defconfig
 create mode 100644 arch/powerpc/configs/muas3001_dev_defconfig
 create mode 100644 arch/powerpc/configs/mucmc52_defconfig
 create mode 100644 arch/powerpc/configs/munices_defconfig
 create mode 100644 arch/powerpc/configs/neo_defconfig
 create mode 100644 arch/powerpc/configs/ocotea_defconfig
 create mode 100644 arch/powerpc/configs/p3m7448_defconfig
 create mode 100644 arch/powerpc/configs/p3m750_defconfig
 create mode 100644 arch/powerpc/configs/p3p440_defconfig
 create mode 100644 arch/powerpc/configs/pcm030_LOWBOOT_defconfig
 create mode 100644 arch/powerpc/configs/pcm030_defconfig
 create mode 100644 arch/powerpc/configs/pcs440ep_defconfig
 create mode 100644 arch/powerpc/configs/pdm360ng_defconfig
 create mode 100644 arch/powerpc/configs/pf5200_defconfig
 create mode 100644 arch/powerpc/configs/ppmc7xx_defconfig
 create mode 100644 arch/powerpc/configs/ppmc8260_defconfig
 create mode 100644 arch/powerpc/configs/prs200_DDR_defconfig
 create mode 100644 arch/powerpc/configs/prs200_defconfig
 create mode 100644 arch/powerpc/configs/prs200_highboot_DDR_defconfig
 create mode 100644 arch/powerpc/configs/prs200_highboot_defconfig
 create mode 100644 arch/powerpc/configs/qemu-ppce500_defconfig
 create mode 100644 arch/powerpc/configs/quad100hd_defconfig
 create mode 100644 arch/powerpc/configs/quantum_defconfig
 create mode 100644 arch/powerpc/configs/rainier_defconfig
 create mode 100644 arch/powerpc/configs/rainier_ramboot_defconfig
 create mode 100644 arch/powerpc/configs/redwood_defconfig
 create mode 100644 arch/powerpc/configs/sacsng_defconfig
 create mode 100644 arch/powerpc/configs/sbc405_defconfig
 create mode 100644 arch/powerpc/configs/sbc8349_PCI_33_defconfig
 create mode 100644 arch/powerpc/configs/sbc8349_PCI_66_defconfig
 create mode 100644 arch/powerpc/configs/sbc8349_defconfig
 create mode 100644 arch/powerpc/configs/sbc8548_PCI_33_PCIE_defconfig
 create mode 100644 arch/powerpc/configs/sbc8548_PCI_33_defconfig
 create mode 100644 arch/powerpc/configs/sbc8548_PCI_66_PCIE_defconfig
 create mode 100644 arch/powerpc/configs/sbc8548_PCI_66_defconfig
 create mode 100644 arch/powerpc/configs/sbc8548_defconfig
 create mode 100644 arch/powerpc/configs/sbc8641d_defconfig
 create mode 100644 arch/powerpc/configs/sc3_defconfig
 create mode 100644 arch/powerpc/configs/sequoia_defconfig
 create mode 100644 arch/powerpc/configs/sequoia_ramboot_defconfig
 create mode 100644 arch/powerpc/configs/socrates_defconfig
 create mode 100644 arch/powerpc/configs/spc1920_defconfig
 create mode 100644 arch/powerpc/configs/stxgp3_defconfig
 create mode 100644 arch/powerpc/configs/stxssa_4M_defconfig
 create mode 100644 arch/powerpc/configs/stxssa_defconfig
 create mode 100644 arch/powerpc/configs/stxxtc_defconfig
 create mode 100644 arch/powerpc/configs/suvd3_defconfig
 create mode 100644 arch/powerpc/configs/svm_sc8xx_defconfig
 create mode 100644 arch/powerpc/configs/sycamore_defconfig
 create mode 100644 arch/powerpc/configs/t3corp_defconfig
 create mode 100644 arch/powerpc/configs/taihu_defconfig
 create mode 100644 arch/powerpc/configs/taishan_defconfig
 create mode 100644 arch/powerpc/configs/tuge1_defconfig
 create mode 100644 arch/powerpc/configs/tuxx1_defconfig
 create mode 100644 arch/powerpc/configs/uc100_defconfig
 create mode 100644 arch/powerpc/configs/uc101_defconfig
 create mode 100644 arch/powerpc/configs/utx8245_defconfig
 create mode 100644 arch/powerpc/configs/v37_defconfig
 create mode 100644 arch/powerpc/configs/v38b_defconfig
 create mode 100644 arch/powerpc/configs/v5fx30teval_defconfig
 create mode 100644 arch/powerpc/configs/v5fx30teval_flash_defconfig
 create mode 100644 arch/powerpc/configs/ve8313_defconfig
 create mode 100644 arch/powerpc/configs/virtlab2_defconfig
 create mode 100644 arch/powerpc/configs/vme8349_defconfig
 create mode 100644 arch/powerpc/configs/walnut_defconfig
 create mode 100644 arch/powerpc/configs/wtk_defconfig
 create mode 100644 arch/powerpc/configs/xilinx-ppc405-generic_defconfig
 create mode 100644 arch/powerpc/configs/xilinx-ppc405-generic_flash_defconfig
 create mode 100644 arch/powerpc/configs/xilinx-ppc440-generic_defconfig
 create mode 100644 arch/powerpc/configs/xilinx-ppc440-generic_flash_defconfig
 create mode 100644 arch/powerpc/configs/xpedite1000_defconfig
 create mode 100644 arch/powerpc/configs/xpedite517x_defconfig
 create mode 100644 arch/powerpc/configs/xpedite520x_defconfig
 create mode 100644 arch/powerpc/configs/xpedite537x_defconfig
 create mode 100644 arch/powerpc/configs/xpedite550x_defconfig
 create mode 100644 arch/powerpc/configs/yellowstone_defconfig
 create mode 100644 arch/powerpc/configs/yosemite_defconfig
 create mode 100644 arch/powerpc/configs/yucca_defconfig
 create mode 100644 arch/powerpc/configs/zeus_defconfig
 create mode 100644 arch/sandbox/Kconfig
 create mode 100644 arch/sandbox/configs/sandbox_defconfig
 create mode 100644 arch/sh/Kconfig
 create mode 100644 arch/sh/configs/MigoR_defconfig
 create mode 100644 arch/sh/configs/ap325rxa_defconfig
 create mode 100644 arch/sh/configs/ap_sh4a_4a_defconfig
 create mode 100644 arch/sh/configs/ecovec_defconfig
 create mode 100644 arch/sh/configs/espt_defconfig
 create mode 100644 arch/sh/configs/mpr2_defconfig
 create mode 100644 arch/sh/configs/ms7720se_defconfig
 create mode 100644 arch/sh/configs/ms7722se_defconfig
 create mode 100644 arch/sh/configs/ms7750se_defconfig
 create mode 100644 arch/sh/configs/r0p7734_defconfig
 create mode 100644 arch/sh/configs/r2dplus_defconfig
 create mode 100644 arch/sh/configs/r7780mp_defconfig
 create mode 100644 arch/sh/configs/rsk7203_defconfig
 create mode 100644 arch/sh/configs/rsk7264_defconfig
 create mode 100644 arch/sh/configs/rsk7269_defconfig
 create mode 100644 arch/sh/configs/sh7752evb_defconfig
 create mode 100644 arch/sh/configs/sh7753evb_defconfig
 create mode 100644 arch/sh/configs/sh7757lcr_defconfig
 create mode 100644 arch/sh/configs/sh7763rdp_defconfig
 create mode 100644 arch/sh/configs/sh7785lcr_32bit_defconfig
 create mode 100644 arch/sh/configs/sh7785lcr_defconfig
 create mode 100644 arch/sh/configs/shmin_defconfig
 create mode 100644 arch/sparc/Kconfig
 create mode 100644 arch/sparc/configs/gr_cpci_ax2000_defconfig
 create mode 100644 arch/sparc/configs/gr_ep2s60_defconfig
 create mode 100644 arch/sparc/configs/gr_xc3s_1500_defconfig
 create mode 100644 arch/sparc/configs/grsim_defconfig
 create mode 100644 arch/sparc/configs/grsim_leon2_defconfig
 create mode 100644 arch/x86/Kconfig
 create mode 100644 arch/x86/configs/coreboot-x86_defconfig
 create mode 100644 board/8dtech/eco5pk/Kconfig
 create mode 100644 board/AndesTech/adp-ag101/Kconfig
 create mode 100644 board/AndesTech/adp-ag101p/Kconfig
 create mode 100644 board/AndesTech/adp-ag102/Kconfig
 create mode 100644 board/Barix/ipam390/Kconfig
 create mode 100644 board/BuR/kwb/Kconfig
 create mode 100644 board/BuR/tseries/Kconfig
 create mode 100644 board/BuS/eb_cpu5282/Kconfig
 create mode 100644 board/BuS/eb_cpux9k2/Kconfig
 create mode 100644 board/BuS/vl_ma2sc/Kconfig
 create mode 100644 board/CarMediaLab/flea3/Kconfig
 create mode 100644 board/LEOX/elpt860/Kconfig
 create mode 100644 board/LaCie/edminiv2/Kconfig
 create mode 100644 board/LaCie/net2big_v2/Kconfig
 create mode 100644 board/LaCie/netspace_v2/Kconfig
 create mode 100644 board/LaCie/wireless_space/Kconfig
 create mode 100644 board/Marvell/aspenite/Kconfig
 create mode 100644 board/Marvell/db64360/Kconfig
 create mode 100644 board/Marvell/db64460/Kconfig
 create mode 100644 board/Marvell/dkb/Kconfig
 create mode 100644 board/Marvell/dreamplug/Kconfig
 create mode 100644 board/Marvell/gplugd/Kconfig
 create mode 100644 board/Marvell/guruplug/Kconfig
 create mode 100644 board/Marvell/mv88f6281gtw_ge/Kconfig
 create mode 100644 board/Marvell/openrd/Kconfig
 create mode 100644 board/Marvell/rd6281a/Kconfig
 create mode 100644 board/Marvell/sheevaplug/Kconfig
 create mode 100644 board/RPXlite_dw/Kconfig
 create mode 100644 board/RRvision/Kconfig
 create mode 100644 board/Seagate/dockstar/Kconfig
 create mode 100644 board/Seagate/goflexhome/Kconfig
 create mode 100644 board/a3000/Kconfig
 create mode 100644 board/a3m071/Kconfig
 create mode 100644 board/a4m072/Kconfig
 create mode 100644 board/adder/Kconfig
 create mode 100644 board/afeb9260/Kconfig
 create mode 100644 board/ait/cam_enc_4xx/Kconfig
 create mode 100644 board/alphaproject/ap_sh4a_4a/Kconfig
 create mode 100644 board/altera/nios2-generic/Kconfig
 create mode 100644 board/altera/socfpga/Kconfig
 create mode 100644 board/amcc/acadia/Kconfig
 create mode 100644 board/amcc/bamboo/Kconfig
 create mode 100644 board/amcc/bluestone/Kconfig
 create mode 100644 board/amcc/bubinga/Kconfig
 create mode 100644 board/amcc/canyonlands/Kconfig
 create mode 100644 board/amcc/ebony/Kconfig
 create mode 100644 board/amcc/katmai/Kconfig
 create mode 100644 board/amcc/kilauea/Kconfig
 create mode 100644 board/amcc/luan/Kconfig
 create mode 100644 board/amcc/makalu/Kconfig
 create mode 100644 board/amcc/ocotea/Kconfig
 create mode 100644 board/amcc/redwood/Kconfig
 create mode 100644 board/amcc/sequoia/Kconfig
 create mode 100644 board/amcc/taihu/Kconfig
 create mode 100644 board/amcc/taishan/Kconfig
 create mode 100644 board/amcc/walnut/Kconfig
 create mode 100644 board/amcc/yosemite/Kconfig
 create mode 100644 board/amcc/yucca/Kconfig
 create mode 100644 board/armadeus/apf27/Kconfig
 create mode 100644 board/armltd/integrator/Kconfig
 create mode 100644 board/armltd/versatile/Kconfig
 create mode 100644 board/armltd/vexpress/Kconfig
 create mode 100644 board/armltd/vexpress64/Kconfig
 create mode 100644 board/astro/mcf5373l/Kconfig
 create mode 100644 board/atc/Kconfig
 create mode 100644 board/atmark-techno/armadillo-800eva/Kconfig
 create mode 100644 board/atmel/at91rm9200ek/Kconfig
 create mode 100644 board/atmel/at91sam9260ek/Kconfig
 create mode 100644 board/atmel/at91sam9261ek/Kconfig
 create mode 100644 board/atmel/at91sam9263ek/Kconfig
 create mode 100644 board/atmel/at91sam9m10g45ek/Kconfig
 create mode 100644 board/atmel/at91sam9n12ek/Kconfig
 create mode 100644 board/atmel/at91sam9rlek/Kconfig
 create mode 100644 board/atmel/at91sam9x5ek/Kconfig
 create mode 100644 board/atmel/atngw100/Kconfig
 create mode 100644 board/atmel/atngw100mkii/Kconfig
 create mode 100644 board/atmel/atstk1000/Kconfig
 create mode 100644 board/atmel/sama5d3_xplained/Kconfig
 create mode 100644 board/atmel/sama5d3xek/Kconfig
 create mode 100644 board/avionic-design/medcom-wide/Kconfig
 create mode 100644 board/avionic-design/plutux/Kconfig
 create mode 100644 board/avionic-design/tec-ng/Kconfig
 create mode 100644 board/avionic-design/tec/Kconfig
 create mode 100644 board/avnet/fx12mm/Kconfig
 create mode 100644 board/avnet/v5fx30teval/Kconfig
 create mode 100644 board/balloon3/Kconfig
 create mode 100644 board/barco/titanium/Kconfig
 create mode 100644 board/bc3450/Kconfig
 create mode 100644 board/bct-brettl2/Kconfig
 create mode 100644 board/bf506f-ezkit/Kconfig
 create mode 100644 board/bf518f-ezbrd/Kconfig
 create mode 100644 board/bf525-ucr2/Kconfig
 create mode 100644 board/bf526-ezbrd/Kconfig
 create mode 100644 board/bf527-ad7160-eval/Kconfig
 create mode 100644 board/bf527-ezkit/Kconfig
 create mode 100644 board/bf527-sdp/Kconfig
 create mode 100644 board/bf533-ezkit/Kconfig
 create mode 100644 board/bf533-stamp/Kconfig
 create mode 100644 board/bf537-minotaur/Kconfig
 create mode 100644 board/bf537-pnav/Kconfig
 create mode 100644 board/bf537-srv1/Kconfig
 create mode 100644 board/bf537-stamp/Kconfig
 create mode 100644 board/bf538f-ezkit/Kconfig
 create mode 100644 board/bf548-ezkit/Kconfig
 create mode 100644 board/bf561-acvilon/Kconfig
 create mode 100644 board/bf561-ezkit/Kconfig
 create mode 100644 board/bf609-ezkit/Kconfig
 create mode 100644 board/blackstamp/Kconfig
 create mode 100644 board/blackvme/Kconfig
 create mode 100644 board/bluegiga/apx4devkit/Kconfig
 create mode 100644 board/bluewater/snapper9260/Kconfig
 create mode 100644 board/boundary/nitrogen6x/Kconfig
 create mode 100644 board/br4/Kconfig
 create mode 100644 board/broadcom/bcm28155_ap/Kconfig
 create mode 100644 board/buffalo/lsxl/Kconfig
 create mode 100644 board/calao/sbc35_a9g20/Kconfig
 create mode 100644 board/calao/tny_a9260/Kconfig
 create mode 100644 board/calao/usb_a9263/Kconfig
 create mode 100644 board/canmb/Kconfig
 create mode 100644 board/chromebook-x86/coreboot/Kconfig
 create mode 100644 board/cloudengines/pogo_e02/Kconfig
 create mode 100644 board/cm-bf527/Kconfig
 create mode 100644 board/cm-bf533/Kconfig
 create mode 100644 board/cm-bf537e/Kconfig
 create mode 100644 board/cm-bf537u/Kconfig
 create mode 100644 board/cm-bf548/Kconfig
 create mode 100644 board/cm-bf561/Kconfig
 create mode 100644 board/cm4008/Kconfig
 create mode 100644 board/cm41xx/Kconfig
 create mode 100644 board/cm5200/Kconfig
 create mode 100644 board/cmi/Kconfig
 create mode 100644 board/cobra5272/Kconfig
 create mode 100644 board/cogent/Kconfig
 create mode 100644 board/comelit/dig297/Kconfig
 create mode 100644 board/compal/paz00/Kconfig
 create mode 100644 board/compulab/cm_t335/Kconfig
 create mode 100644 board/compulab/cm_t35/Kconfig
 create mode 100644 board/compulab/cm_t54/Kconfig
 create mode 100644 board/compulab/trimslice/Kconfig
 create mode 100644 board/congatec/cgtqmx6eval/Kconfig
 create mode 100644 board/corscience/tricorder/Kconfig
 create mode 100644 board/cpc45/Kconfig
 create mode 100644 board/cpu86/Kconfig
 create mode 100644 board/cpu87/Kconfig
 create mode 100644 board/cray/L1/Kconfig
 create mode 100644 board/creative/xfi3/Kconfig
 create mode 100644 board/csb272/Kconfig
 create mode 100644 board/csb472/Kconfig
 create mode 100644 board/cu824/Kconfig
 create mode 100644 board/d-link/dns325/Kconfig
 create mode 100644 board/dave/PPChameleonEVB/Kconfig
 create mode 100644 board/davedenx/aria/Kconfig
 create mode 100644 board/davedenx/qong/Kconfig
 create mode 100644 board/davinci/da8xxevm/Kconfig
 create mode 100644 board/davinci/dm355evm/Kconfig
 create mode 100644 board/davinci/dm355leopard/Kconfig
 create mode 100644 board/davinci/dm365evm/Kconfig
 create mode 100644 board/davinci/dm6467evm/Kconfig
 create mode 100644 board/davinci/dvevm/Kconfig
 create mode 100644 board/davinci/ea20/Kconfig
 create mode 100644 board/davinci/schmoogie/Kconfig
 create mode 100644 board/davinci/sffsdr/Kconfig
 create mode 100644 board/davinci/sonata/Kconfig
 create mode 100644 board/dbau1x00/Kconfig
 create mode 100644 board/denx/m28evk/Kconfig
 create mode 100644 board/denx/m53evk/Kconfig
 create mode 100644 board/dnp5370/Kconfig
 create mode 100644 board/eXalion/Kconfig
 create mode 100644 board/earthlcd/favr-32-ezkit/Kconfig
 create mode 100644 board/egnite/ethernut5/Kconfig
 create mode 100644 board/eltec/elppc/Kconfig
 create mode 100644 board/eltec/mhpc/Kconfig
 create mode 100644 board/embest/mx6boards/Kconfig
 create mode 100644 board/emk/top5200/Kconfig
 create mode 100644 board/emk/top860/Kconfig
 create mode 100644 board/emk/top9000/Kconfig
 create mode 100644 board/enbw/enbw_cmc/Kconfig
 create mode 100644 board/ep8248/Kconfig
 create mode 100644 board/ep8260/Kconfig
 create mode 100644 board/ep82xxm/Kconfig
 create mode 100644 board/esd/apc405/Kconfig
 create mode 100644 board/esd/ar405/Kconfig
 create mode 100644 board/esd/ash405/Kconfig
 create mode 100644 board/esd/cms700/Kconfig
 create mode 100644 board/esd/cpci2dp/Kconfig
 create mode 100644 board/esd/cpci405/Kconfig
 create mode 100644 board/esd/cpci5200/Kconfig
 create mode 100644 board/esd/cpci750/Kconfig
 create mode 100644 board/esd/cpciiser4/Kconfig
 create mode 100644 board/esd/dp405/Kconfig
 create mode 100644 board/esd/du405/Kconfig
 create mode 100644 board/esd/du440/Kconfig
 create mode 100644 board/esd/hh405/Kconfig
 create mode 100644 board/esd/hub405/Kconfig
 create mode 100644 board/esd/mecp5123/Kconfig
 create mode 100644 board/esd/mecp5200/Kconfig
 create mode 100644 board/esd/meesc/Kconfig
 create mode 100644 board/esd/ocrtc/Kconfig
 create mode 100644 board/esd/otc570/Kconfig
 create mode 100644 board/esd/pci405/Kconfig
 create mode 100644 board/esd/pf5200/Kconfig
 create mode 100644 board/esd/plu405/Kconfig
 create mode 100644 board/esd/pmc405/Kconfig
 create mode 100644 board/esd/pmc405de/Kconfig
 create mode 100644 board/esd/pmc440/Kconfig
 create mode 100644 board/esd/tasreg/Kconfig
 create mode 100644 board/esd/vme8349/Kconfig
 create mode 100644 board/esd/voh405/Kconfig
 create mode 100644 board/esd/vom405/Kconfig
 create mode 100644 board/esd/wuh405/Kconfig
 create mode 100644 board/esg/ima3-mx53/Kconfig
 create mode 100644 board/espt/Kconfig
 create mode 100644 board/esteem192e/Kconfig
 create mode 100644 board/etin/debris/Kconfig
 create mode 100644 board/etin/kvme080/Kconfig
 create mode 100644 board/eukrea/cpu9260/Kconfig
 create mode 100644 board/eukrea/cpuat91/Kconfig
 create mode 100644 board/evb64260/Kconfig
 create mode 100644 board/exmeritus/hww1u1a/Kconfig
 create mode 100644 board/fads/Kconfig
 create mode 100644 board/faraday/a320evb/Kconfig
 create mode 100644 board/flagadm/Kconfig
 create mode 100644 board/freescale/b4860qds/Kconfig
 create mode 100644 board/freescale/bsc9131rdb/Kconfig
 create mode 100644 board/freescale/bsc9132qds/Kconfig
 create mode 100644 board/freescale/c29xpcie/Kconfig
 create mode 100644 board/freescale/corenet_ds/Kconfig
 create mode 100644 board/freescale/m5208evbe/Kconfig
 create mode 100644 board/freescale/m52277evb/Kconfig
 create mode 100644 board/freescale/m5235evb/Kconfig
 create mode 100644 board/freescale/m5249evb/Kconfig
 create mode 100644 board/freescale/m5253demo/Kconfig
 create mode 100644 board/freescale/m5253evbe/Kconfig
 create mode 100644 board/freescale/m5272c3/Kconfig
 create mode 100644 board/freescale/m5275evb/Kconfig
 create mode 100644 board/freescale/m5282evb/Kconfig
 create mode 100644 board/freescale/m53017evb/Kconfig
 create mode 100644 board/freescale/m5329evb/Kconfig
 create mode 100644 board/freescale/m5373evb/Kconfig
 create mode 100644 board/freescale/m54418twr/Kconfig
 create mode 100644 board/freescale/m54451evb/Kconfig
 create mode 100644 board/freescale/m54455evb/Kconfig
 create mode 100644 board/freescale/m547xevb/Kconfig
 create mode 100644 board/freescale/m548xevb/Kconfig
 create mode 100644 board/freescale/mpc5121ads/Kconfig
 create mode 100644 board/freescale/mpc7448hpc2/Kconfig
 create mode 100644 board/freescale/mpc8260ads/Kconfig
 create mode 100644 board/freescale/mpc8266ads/Kconfig
 create mode 100644 board/freescale/mpc8308rdb/Kconfig
 create mode 100644 board/freescale/mpc8313erdb/Kconfig
 create mode 100644 board/freescale/mpc8315erdb/Kconfig
 create mode 100644 board/freescale/mpc8323erdb/Kconfig
 create mode 100644 board/freescale/mpc832xemds/Kconfig
 create mode 100644 board/freescale/mpc8349emds/Kconfig
 create mode 100644 board/freescale/mpc8349itx/Kconfig
 create mode 100644 board/freescale/mpc8360emds/Kconfig
 create mode 100644 board/freescale/mpc8360erdk/Kconfig
 create mode 100644 board/freescale/mpc837xemds/Kconfig
 create mode 100644 board/freescale/mpc837xerdb/Kconfig
 create mode 100644 board/freescale/mpc8536ds/Kconfig
 create mode 100644 board/freescale/mpc8540ads/Kconfig
 create mode 100644 board/freescale/mpc8541cds/Kconfig
 create mode 100644 board/freescale/mpc8544ds/Kconfig
 create mode 100644 board/freescale/mpc8548cds/Kconfig
 create mode 100644 board/freescale/mpc8555cds/Kconfig
 create mode 100644 board/freescale/mpc8560ads/Kconfig
 create mode 100644 board/freescale/mpc8568mds/Kconfig
 create mode 100644 board/freescale/mpc8569mds/Kconfig
 create mode 100644 board/freescale/mpc8572ds/Kconfig
 create mode 100644 board/freescale/mpc8610hpcd/Kconfig
 create mode 100644 board/freescale/mpc8641hpcn/Kconfig
 create mode 100644 board/freescale/mx23evk/Kconfig
 create mode 100644 board/freescale/mx25pdk/Kconfig
 create mode 100644 board/freescale/mx28evk/Kconfig
 create mode 100644 board/freescale/mx31ads/Kconfig
 create mode 100644 board/freescale/mx31pdk/Kconfig
 create mode 100644 board/freescale/mx35pdk/Kconfig
 create mode 100644 board/freescale/mx51evk/Kconfig
 create mode 100644 board/freescale/mx53ard/Kconfig
 create mode 100644 board/freescale/mx53evk/Kconfig
 create mode 100644 board/freescale/mx53loco/Kconfig
 create mode 100644 board/freescale/mx53smd/Kconfig
 create mode 100644 board/freescale/mx6qarm2/Kconfig
 create mode 100644 board/freescale/mx6qsabreauto/Kconfig
 create mode 100644 board/freescale/mx6sabresd/Kconfig
 create mode 100644 board/freescale/mx6slevk/Kconfig
 create mode 100644 board/freescale/p1010rdb/Kconfig
 create mode 100644 board/freescale/p1022ds/Kconfig
 create mode 100644 board/freescale/p1023rdb/Kconfig
 create mode 100644 board/freescale/p1023rds/Kconfig
 create mode 100644 board/freescale/p1_p2_rdb/Kconfig
 create mode 100644 board/freescale/p1_p2_rdb_pc/Kconfig
 create mode 100644 board/freescale/p1_twr/Kconfig
 create mode 100644 board/freescale/p2020come/Kconfig
 create mode 100644 board/freescale/p2020ds/Kconfig
 create mode 100644 board/freescale/p2041rdb/Kconfig
 create mode 100644 board/freescale/qemu-ppce500/Kconfig
 create mode 100644 board/freescale/t1040qds/Kconfig
 create mode 100644 board/freescale/t104xrdb/Kconfig
 create mode 100644 board/freescale/t208xqds/Kconfig
 create mode 100644 board/freescale/t208xrdb/Kconfig
 create mode 100644 board/freescale/t4qds/Kconfig
 create mode 100644 board/freescale/t4rdb/Kconfig
 create mode 100644 board/freescale/vf610twr/Kconfig
 create mode 100644 board/funkwerk/vovpn-gw/Kconfig
 create mode 100644 board/g2000/Kconfig
 create mode 100644 board/gaisler/gr_cpci_ax2000/Kconfig
 create mode 100644 board/gaisler/gr_ep2s60/Kconfig
 create mode 100644 board/gaisler/gr_xc3s_1500/Kconfig
 create mode 100644 board/gaisler/grsim/Kconfig
 create mode 100644 board/gaisler/grsim_leon2/Kconfig
 create mode 100644 board/galaxy5200/Kconfig
 create mode 100644 board/gateworks/gw_ventana/Kconfig
 create mode 100644 board/gdsys/405ep/Kconfig
 create mode 100644 board/gdsys/405ex/Kconfig
 create mode 100644 board/gdsys/dlvision/Kconfig
 create mode 100644 board/gdsys/gdppc440etx/Kconfig
 create mode 100644 board/gdsys/intip/Kconfig
 create mode 100644 board/gdsys/p1022/Kconfig
 create mode 100644 board/gen860t/Kconfig
 create mode 100644 board/genesi/mx51_efikamx/Kconfig
 create mode 100644 board/gumstix/duovero/Kconfig
 create mode 100644 board/gumstix/pepper/Kconfig
 create mode 100644 board/gw8260/Kconfig
 create mode 100644 board/h2200/Kconfig
 create mode 100644 board/hale/tt01/Kconfig
 create mode 100644 board/hermes/Kconfig
 create mode 100644 board/hidden_dragon/Kconfig
 create mode 100644 board/highbank/Kconfig
 create mode 100644 board/htkw/mcx/Kconfig
 create mode 100644 board/hymod/Kconfig
 create mode 100644 board/ibf-dsp561/Kconfig
 create mode 100644 board/icecube/Kconfig
 create mode 100644 board/icpdas/lp8x4x/Kconfig
 create mode 100644 board/icu862/Kconfig
 create mode 100644 board/ids/ids8247/Kconfig
 create mode 100644 board/ids/ids8313/Kconfig
 create mode 100644 board/ifm/ac14xx/Kconfig
 create mode 100644 board/ifm/o2dnt2/Kconfig
 create mode 100644 board/imgtec/malta/Kconfig
 create mode 100644 board/imx31_phycore/Kconfig
 create mode 100644 board/in-circuit/grasshopper/Kconfig
 create mode 100644 board/inka4x0/Kconfig
 create mode 100644 board/intercontrol/digsy_mtc/Kconfig
 create mode 100644 board/iomega/iconnect/Kconfig
 create mode 100644 board/ip04/Kconfig
 create mode 100644 board/ip860/Kconfig
 create mode 100644 board/ipek01/Kconfig
 create mode 100644 board/iphase4539/Kconfig
 create mode 100644 board/isee/igep0033/Kconfig
 create mode 100644 board/isee/igep00x0/Kconfig
 create mode 100644 board/ispan/Kconfig
 create mode 100644 board/ivm/Kconfig
 create mode 100644 board/jornada/Kconfig
 create mode 100644 board/jse/Kconfig
 create mode 100644 board/jupiter/Kconfig
 create mode 100644 board/karo/tk71/Kconfig
 create mode 100644 board/karo/tx25/Kconfig
 create mode 100644 board/keymile/km82xx/Kconfig
 create mode 100644 board/keymile/km83xx/Kconfig
 create mode 100644 board/keymile/km_arm/Kconfig
 create mode 100644 board/keymile/kmp204x/Kconfig
 create mode 100644 board/kmc/kzm9g/Kconfig
 create mode 100644 board/korat/Kconfig
 create mode 100644 board/kup/kup4k/Kconfig
 create mode 100644 board/kup/kup4x/Kconfig
 create mode 100644 board/logicpd/am3517evm/Kconfig
 create mode 100644 board/logicpd/imx27lite/Kconfig
 create mode 100644 board/logicpd/imx31_litekit/Kconfig
 create mode 100644 board/logicpd/omap3som/Kconfig
 create mode 100644 board/logicpd/zoom1/Kconfig
 create mode 100644 board/lwmon/Kconfig
 create mode 100644 board/lwmon5/Kconfig
 create mode 100644 board/manroland/hmi1001/Kconfig
 create mode 100644 board/manroland/mucmc52/Kconfig
 create mode 100644 board/manroland/uc100/Kconfig
 create mode 100644 board/manroland/uc101/Kconfig
 create mode 100644 board/matrix_vision/mergerbox/Kconfig
 create mode 100644 board/matrix_vision/mvbc_p/Kconfig
 create mode 100644 board/matrix_vision/mvblm7/Kconfig
 create mode 100644 board/matrix_vision/mvblx/Kconfig
 create mode 100644 board/matrix_vision/mvsmr/Kconfig
 create mode 100644 board/mcc200/Kconfig
 create mode 100644 board/micronas/vct/Kconfig
 create mode 100644 board/mimc/mimc200/Kconfig
 create mode 100644 board/miromico/hammerhead/Kconfig
 create mode 100644 board/mosaixtech/icon/Kconfig
 create mode 100644 board/motionpro/Kconfig
 create mode 100644 board/mpc8308_p1m/Kconfig
 create mode 100644 board/mpl/mip405/Kconfig
 create mode 100644 board/mpl/pati/Kconfig
 create mode 100644 board/mpl/pip405/Kconfig
 create mode 100644 board/mpl/vcma9/Kconfig
 create mode 100644 board/mpr2/Kconfig
 create mode 100644 board/ms7720se/Kconfig
 create mode 100644 board/ms7722se/Kconfig
 create mode 100644 board/ms7750se/Kconfig
 create mode 100644 board/muas3001/Kconfig
 create mode 100644 board/munices/Kconfig
 create mode 100644 board/musenki/Kconfig
 create mode 100644 board/mvblue/Kconfig
 create mode 100644 board/netphone/Kconfig
 create mode 100644 board/netta/Kconfig
 create mode 100644 board/netta2/Kconfig
 create mode 100644 board/netvia/Kconfig
 create mode 100644 board/nokia/rx51/Kconfig
 create mode 100644 board/nvidia/beaver/Kconfig
 create mode 100644 board/nvidia/cardhu/Kconfig
 create mode 100644 board/nvidia/dalmore/Kconfig
 create mode 100644 board/nvidia/harmony/Kconfig
 create mode 100644 board/nvidia/jetson-tk1/Kconfig
 create mode 100644 board/nvidia/seaboard/Kconfig
 create mode 100644 board/nvidia/venice2/Kconfig
 create mode 100644 board/nvidia/ventana/Kconfig
 create mode 100644 board/nvidia/whistler/Kconfig
 create mode 100644 board/olimex/mx23_olinuxino/Kconfig
 create mode 100644 board/omicron/calimain/Kconfig
 create mode 100644 board/openrisc/openrisc-generic/Kconfig
 create mode 100644 board/overo/Kconfig
 create mode 100644 board/palmld/Kconfig
 create mode 100644 board/palmtc/Kconfig
 create mode 100644 board/palmtreo680/Kconfig
 create mode 100644 board/pandora/Kconfig
 create mode 100644 board/pb1x00/Kconfig
 create mode 100644 board/pcs440ep/Kconfig
 create mode 100644 board/pdm360ng/Kconfig
 create mode 100644 board/phytec/pcm030/Kconfig
 create mode 100644 board/phytec/pcm051/Kconfig
 create mode 100644 board/pm520/Kconfig
 create mode 100644 board/pm826/Kconfig
 create mode 100644 board/pm828/Kconfig
 create mode 100644 board/ppcag/bg0900/Kconfig
 create mode 100644 board/ppmc7xx/Kconfig
 create mode 100644 board/ppmc8260/Kconfig
 create mode 100644 board/pr1/Kconfig
 create mode 100644 board/prodrive/alpr/Kconfig
 create mode 100644 board/prodrive/p3mx/Kconfig
 create mode 100644 board/prodrive/p3p440/Kconfig
 create mode 100644 board/psyent/pci5441/Kconfig
 create mode 100644 board/psyent/pk1c20/Kconfig
 create mode 100644 board/pxa255_idp/Kconfig
 create mode 100644 board/qemu-mips/Kconfig
 create mode 100644 board/quad100hd/Kconfig
 create mode 100644 board/quantum/Kconfig
 create mode 100644 board/r360mpi/Kconfig
 create mode 100644 board/raidsonic/ib62x0/Kconfig
 create mode 100644 board/raspberrypi/rpi_b/Kconfig
 create mode 100644 board/rattler/Kconfig
 create mode 100644 board/rbc823/Kconfig
 create mode 100644 board/renesas/MigoR/Kconfig
 create mode 100644 board/renesas/ap325rxa/Kconfig
 create mode 100644 board/renesas/ecovec/Kconfig
 create mode 100644 board/renesas/koelsch/Kconfig
 create mode 100644 board/renesas/lager/Kconfig
 create mode 100644 board/renesas/r0p7734/Kconfig
 create mode 100644 board/renesas/r2dplus/Kconfig
 create mode 100644 board/renesas/r7780mp/Kconfig
 create mode 100644 board/renesas/rsk7203/Kconfig
 create mode 100644 board/renesas/rsk7264/Kconfig
 create mode 100644 board/renesas/rsk7269/Kconfig
 create mode 100644 board/renesas/sh7752evb/Kconfig
 create mode 100644 board/renesas/sh7753evb/Kconfig
 create mode 100644 board/renesas/sh7757lcr/Kconfig
 create mode 100644 board/renesas/sh7763rdp/Kconfig
 create mode 100644 board/renesas/sh7785lcr/Kconfig
 create mode 100644 board/ronetix/pm9261/Kconfig
 create mode 100644 board/ronetix/pm9263/Kconfig
 create mode 100644 board/ronetix/pm9g45/Kconfig
 create mode 100644 board/sacsng/Kconfig
 create mode 100644 board/samsung/arndale/Kconfig
 create mode 100644 board/samsung/goni/Kconfig
 create mode 100644 board/samsung/origen/Kconfig
 create mode 100644 board/samsung/smdk2410/Kconfig
 create mode 100644 board/samsung/smdk5250/Kconfig
 create mode 100644 board/samsung/smdk5420/Kconfig
 create mode 100644 board/samsung/smdkc100/Kconfig
 create mode 100644 board/samsung/smdkv310/Kconfig
 create mode 100644 board/samsung/trats/Kconfig
 create mode 100644 board/samsung/trats2/Kconfig
 create mode 100644 board/samsung/universal_c210/Kconfig
 create mode 100644 board/sandburst/karef/Kconfig
 create mode 100644 board/sandburst/metrobox/Kconfig
 create mode 100644 board/sandisk/sansa_fuze_plus/Kconfig
 create mode 100644 board/sandpoint/Kconfig
 create mode 100644 board/sbc405/Kconfig
 create mode 100644 board/sbc8349/Kconfig
 create mode 100644 board/sbc8548/Kconfig
 create mode 100644 board/sbc8641d/Kconfig
 create mode 100644 board/sc3/Kconfig
 create mode 100644 board/scb9328/Kconfig
 create mode 100644 board/schulercontrol/sc_sps_1/Kconfig
 create mode 100644 board/sheldon/simpc8313/Kconfig
 create mode 100644 board/shmin/Kconfig
 create mode 100644 board/siemens/corvus/Kconfig
 create mode 100644 board/siemens/draco/Kconfig
 create mode 100644 board/siemens/pxm2/Kconfig
 create mode 100644 board/siemens/rut/Kconfig
 create mode 100644 board/siemens/taurus/Kconfig
 create mode 100644 board/silica/pengwyn/Kconfig
 create mode 100644 board/sixnet/Kconfig
 create mode 100644 board/snmc/qs850/Kconfig
 create mode 100644 board/snmc/qs860t/Kconfig
 create mode 100644 board/socrates/Kconfig
 create mode 100644 board/solidrun/hummingboard/Kconfig
 create mode 100644 board/spc1920/Kconfig
 create mode 100644 board/spd8xx/Kconfig
 create mode 100644 board/spear/spear300/Kconfig
 create mode 100644 board/spear/spear310/Kconfig
 create mode 100644 board/spear/spear320/Kconfig
 create mode 100644 board/spear/spear600/Kconfig
 create mode 100644 board/spear/x600/Kconfig
 create mode 100644 board/st-ericsson/snowball/Kconfig
 create mode 100644 board/st-ericsson/u8500/Kconfig
 create mode 100644 board/st/nhk8815/Kconfig
 create mode 100644 board/stx/stxgp3/Kconfig
 create mode 100644 board/stx/stxssa/Kconfig
 create mode 100644 board/stx/stxxtc/Kconfig
 create mode 100644 board/svm_sc8xx/Kconfig
 create mode 100644 board/synopsys/Kconfig
 create mode 100644 board/synopsys/axs101/Kconfig
 create mode 100644 board/syteco/jadecpu/Kconfig
 create mode 100644 board/syteco/zmx25/Kconfig
 create mode 100644 board/t3corp/Kconfig
 create mode 100644 board/taskit/stamp9g20/Kconfig
 create mode 100644 board/tcm-bf518/Kconfig
 create mode 100644 board/tcm-bf537/Kconfig
 create mode 100644 board/technexion/tao3530/Kconfig
 create mode 100644 board/technexion/twister/Kconfig
 create mode 100644 board/teejet/mt_ventoux/Kconfig
 create mode 100644 board/ti/am335x/Kconfig
 create mode 100644 board/ti/am3517crane/Kconfig
 create mode 100644 board/ti/am43xx/Kconfig
 create mode 100644 board/ti/beagle/Kconfig
 create mode 100644 board/ti/dra7xx/Kconfig
 create mode 100644 board/ti/evm/Kconfig
 create mode 100644 board/ti/k2hk_evm/Kconfig
 create mode 100644 board/ti/omap5912osk/Kconfig
 create mode 100644 board/ti/omap5_uevm/Kconfig
 create mode 100644 board/ti/panda/Kconfig
 create mode 100644 board/ti/sdp3430/Kconfig
 create mode 100644 board/ti/sdp4430/Kconfig
 create mode 100644 board/ti/ti814x/Kconfig
 create mode 100644 board/ti/ti816x/Kconfig
 create mode 100644 board/ti/tnetv107xevm/Kconfig
 create mode 100644 board/timll/devkit3250/Kconfig
 create mode 100644 board/timll/devkit8000/Kconfig
 create mode 100644 board/toradex/colibri_pxa270/Kconfig
 create mode 100644 board/toradex/colibri_t20_iris/Kconfig
 create mode 100644 board/total5200/Kconfig
 create mode 100644 board/tqc/tqm5200/Kconfig
 create mode 100644 board/tqc/tqm8260/Kconfig
 create mode 100644 board/tqc/tqm8272/Kconfig
 create mode 100644 board/tqc/tqm834x/Kconfig
 create mode 100644 board/tqc/tqm8xx/Kconfig
 create mode 100644 board/trizepsiv/Kconfig
 create mode 100644 board/ttcontrol/vision2/Kconfig
 create mode 100644 board/udoo/Kconfig
 create mode 100644 board/utx8245/Kconfig
 create mode 100644 board/v37/Kconfig
 create mode 100644 board/v38b/Kconfig
 create mode 100644 board/ve8313/Kconfig
 create mode 100644 board/vpac270/Kconfig
 create mode 100644 board/w7o/Kconfig
 create mode 100644 board/wandboard/Kconfig
 create mode 100644 board/woodburn/Kconfig
 create mode 100644 board/xaeniax/Kconfig
 create mode 100644 board/xes/xpedite1000/Kconfig
 create mode 100644 board/xes/xpedite517x/Kconfig
 create mode 100644 board/xes/xpedite520x/Kconfig
 create mode 100644 board/xes/xpedite537x/Kconfig
 create mode 100644 board/xes/xpedite550x/Kconfig
 create mode 100644 board/xilinx/microblaze-generic/Kconfig
 create mode 100644 board/xilinx/ml507/Kconfig
 create mode 100644 board/xilinx/ppc405-generic/Kconfig
 create mode 100644 board/xilinx/ppc440-generic/Kconfig
 create mode 100644 board/xilinx/zynq/Kconfig
 create mode 100644 board/zeus/Kconfig
 create mode 100644 board/zipitz2/Kconfig
 create mode 100644 board/zpc1900/Kconfig

diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
new file mode 100644
index 0000000..158e417
--- /dev/null
+++ b/arch/arc/Kconfig
@@ -0,0 +1,24 @@
+config ARC
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "arc"
+
+choice
+	prompt "Target select"
+
+config TARGET_AXS101
+	bool "Support axs101"
+
+config TARGET_ARCANGEL4
+	bool "Support arcangel4"
+
+config TARGET_ARCANGEL4_BE
+	bool "Support arcangel4-be"
+
+endchoice
+
+source "board/synopsys/Kconfig"
+source "board/synopsys/axs101/Kconfig"
diff --git a/arch/arc/configs/arcangel4-be_defconfig b/arch/arc/configs/arcangel4-be_defconfig
new file mode 100644
index 0000000..679ee68
--- /dev/null
+++ b/arch/arc/configs/arcangel4-be_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ARCANGEL4_BE=y
diff --git a/arch/arc/configs/arcangel4_defconfig b/arch/arc/configs/arcangel4_defconfig
new file mode 100644
index 0000000..b8e6ca9
--- /dev/null
+++ b/arch/arc/configs/arcangel4_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ARCANGEL4=y
diff --git a/arch/arc/configs/axs101_defconfig b/arch/arc/configs/axs101_defconfig
new file mode 100644
index 0000000..92c098d
--- /dev/null
+++ b/arch/arc/configs/axs101_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AXS101=y
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
new file mode 100644
index 0000000..8d5b691
--- /dev/null
+++ b/arch/arm/Kconfig
@@ -0,0 +1,1363 @@
+config ARM
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "arm"
+
+choice
+	prompt "Target select"
+
+config TARGET_VEXPRESS_AEMV8A
+	bool "Support vexpress_aemv8a"
+
+config TARGET_INTEGRATORCP_CM1136
+	bool "Support integratorcp_cm1136"
+
+config TARGET_IMX31_PHYCORE
+	bool "Support imx31_phycore"
+
+config TARGET_IMX31_PHYCORE_EET
+	bool "Support imx31_phycore_eet"
+
+config TARGET_QONG
+	bool "Support qong"
+
+config TARGET_MX31ADS
+	bool "Support mx31ads"
+
+config TARGET_MX31PDK
+	bool "Support mx31pdk"
+
+config TARGET_TT01
+	bool "Support tt01"
+
+config TARGET_IMX31_LITEKIT
+	bool "Support imx31_litekit"
+
+config TARGET_WOODBURN
+	bool "Support woodburn"
+
+config TARGET_WOODBURN_SD
+	bool "Support woodburn_sd"
+
+config TARGET_FLEA3
+	bool "Support flea3"
+
+config TARGET_MX35PDK
+	bool "Support mx35pdk"
+
+config TARGET_RPI_B
+	bool "Support rpi_b"
+
+config TARGET_TNETV107X_EVM
+	bool "Support tnetv107x_evm"
+
+config TARGET_INTEGRATORAP_CM720T
+	bool "Support integratorap_cm720t"
+
+config TARGET_INTEGRATORAP_CM920T
+	bool "Support integratorap_cm920t"
+
+config TARGET_INTEGRATORCP_CM920T
+	bool "Support integratorcp_cm920t"
+
+config TARGET_A320EVB
+	bool "Support a320evb"
+
+config TARGET_AT91RM9200EK
+	bool "Support at91rm9200ek"
+
+config TARGET_AT91RM9200EK_RAM
+	bool "Support at91rm9200ek_ram"
+
+config TARGET_EB_CPUX9K2
+	bool "Support eb_cpux9k2"
+
+config TARGET_EB_CPUX9K2_RAM
+	bool "Support eb_cpux9k2_ram"
+
+config TARGET_CPUAT91
+	bool "Support cpuat91"
+
+config TARGET_CPUAT91_RAM
+	bool "Support cpuat91_ram"
+
+config TARGET_SCB9328
+	bool "Support scb9328"
+
+config TARGET_CM4008
+	bool "Support cm4008"
+
+config TARGET_CM41XX
+	bool "Support cm41xx"
+
+config TARGET_VCMA9
+	bool "Support VCMA9"
+
+config TARGET_SMDK2410
+	bool "Support smdk2410"
+
+config TARGET_INTEGRATORAP_CM926EJS
+	bool "Support integratorap_cm926ejs"
+
+config TARGET_INTEGRATORCP_CM926EJS
+	bool "Support integratorcp_cm926ejs"
+
+config TARGET_ASPENITE
+	bool "Support aspenite"
+
+config TARGET_GPLUGD
+	bool "Support gplugd"
+
+config TARGET_AFEB9260
+	bool "Support afeb9260"
+
+config TARGET_AT91SAM9260EK_DATAFLASH_CS0
+	bool "Support at91sam9260ek_dataflash_cs0"
+
+config TARGET_AT91SAM9260EK_DATAFLASH_CS1
+	bool "Support at91sam9260ek_dataflash_cs1"
+
+config TARGET_AT91SAM9260EK_NANDFLASH
+	bool "Support at91sam9260ek_nandflash"
+
+config TARGET_AT91SAM9G20EK_2MMC_NANDFLASH
+	bool "Support at91sam9g20ek_2mmc_nandflash"
+
+config TARGET_AT91SAM9G20EK_DATAFLASH_CS0
+	bool "Support at91sam9g20ek_dataflash_cs0"
+
+config TARGET_AT91SAM9G20EK_DATAFLASH_CS1
+	bool "Support at91sam9g20ek_dataflash_cs1"
+
+config TARGET_AT91SAM9G20EK_MMC
+	bool "Support at91sam9g20ek_mmc"
+
+config TARGET_AT91SAM9G20EK_NANDFLASH
+	bool "Support at91sam9g20ek_nandflash"
+
+config TARGET_AT91SAM9XEEK_DATAFLASH_CS0
+	bool "Support at91sam9xeek_dataflash_cs0"
+
+config TARGET_AT91SAM9XEEK_DATAFLASH_CS1
+	bool "Support at91sam9xeek_dataflash_cs1"
+
+config TARGET_AT91SAM9XEEK_NANDFLASH
+	bool "Support at91sam9xeek_nandflash"
+
+config TARGET_AT91SAM9261EK_DATAFLASH_CS0
+	bool "Support at91sam9261ek_dataflash_cs0"
+
+config TARGET_AT91SAM9261EK_DATAFLASH_CS3
+	bool "Support at91sam9261ek_dataflash_cs3"
+
+config TARGET_AT91SAM9261EK_NANDFLASH
+	bool "Support at91sam9261ek_nandflash"
+
+config TARGET_AT91SAM9G10EK_DATAFLASH_CS0
+	bool "Support at91sam9g10ek_dataflash_cs0"
+
+config TARGET_AT91SAM9G10EK_DATAFLASH_CS3
+	bool "Support at91sam9g10ek_dataflash_cs3"
+
+config TARGET_AT91SAM9G10EK_NANDFLASH
+	bool "Support at91sam9g10ek_nandflash"
+
+config TARGET_AT91SAM9263EK_DATAFLASH
+	bool "Support at91sam9263ek_dataflash"
+
+config TARGET_AT91SAM9263EK_DATAFLASH_CS0
+	bool "Support at91sam9263ek_dataflash_cs0"
+
+config TARGET_AT91SAM9263EK_NANDFLASH
+	bool "Support at91sam9263ek_nandflash"
+
+config TARGET_AT91SAM9263EK_NORFLASH
+	bool "Support at91sam9263ek_norflash"
+
+config TARGET_AT91SAM9263EK_NORFLASH_BOOT
+	bool "Support at91sam9263ek_norflash_boot"
+
+config TARGET_AT91SAM9M10G45EK_NANDFLASH
+	bool "Support at91sam9m10g45ek_nandflash"
+
+config TARGET_AT91SAM9N12EK_MMC
+	bool "Support at91sam9n12ek_mmc"
+
+config TARGET_AT91SAM9N12EK_NANDFLASH
+	bool "Support at91sam9n12ek_nandflash"
+
+config TARGET_AT91SAM9N12EK_SPIFLASH
+	bool "Support at91sam9n12ek_spiflash"
+
+config TARGET_AT91SAM9RLEK_DATAFLASH
+	bool "Support at91sam9rlek_dataflash"
+
+config TARGET_AT91SAM9RLEK_NANDFLASH
+	bool "Support at91sam9rlek_nandflash"
+
+config TARGET_AT91SAM9X5EK_DATAFLASH
+	bool "Support at91sam9x5ek_dataflash"
+
+config TARGET_AT91SAM9X5EK_MMC
+	bool "Support at91sam9x5ek_mmc"
+
+config TARGET_AT91SAM9X5EK_NANDFLASH
+	bool "Support at91sam9x5ek_nandflash"
+
+config TARGET_AT91SAM9X5EK_SPIFLASH
+	bool "Support at91sam9x5ek_spiflash"
+
+config TARGET_SNAPPER9260
+	bool "Support snapper9260"
+
+config TARGET_SNAPPER9G20
+	bool "Support snapper9g20"
+
+config TARGET_VL_MA2SC
+	bool "Support vl_ma2sc"
+
+config TARGET_VL_MA2SC_RAM
+	bool "Support vl_ma2sc_ram"
+
+config TARGET_SBC35_A9G20_EEPROM
+	bool "Support sbc35_a9g20_eeprom"
+
+config TARGET_SBC35_A9G20_NANDFLASH
+	bool "Support sbc35_a9g20_nandflash"
+
+config TARGET_TNY_A9260_EEPROM
+	bool "Support tny_a9260_eeprom"
+
+config TARGET_TNY_A9260_NANDFLASH
+	bool "Support tny_a9260_nandflash"
+
+config TARGET_TNY_A9G20_EEPROM
+	bool "Support tny_a9g20_eeprom"
+
+config TARGET_TNY_A9G20_NANDFLASH
+	bool "Support tny_a9g20_nandflash"
+
+config TARGET_USB_A9263_DATAFLASH
+	bool "Support usb_a9263_dataflash"
+
+config TARGET_ETHERNUT5
+	bool "Support ethernut5"
+
+config TARGET_TOP9000EVAL_XE
+	bool "Support top9000eval_xe"
+
+config TARGET_TOP9000SU_XE
+	bool "Support top9000su_xe"
+
+config TARGET_MEESC
+	bool "Support meesc"
+
+config TARGET_MEESC_DATAFLASH
+	bool "Support meesc_dataflash"
+
+config TARGET_OTC570
+	bool "Support otc570"
+
+config TARGET_OTC570_DATAFLASH
+	bool "Support otc570_dataflash"
+
+config TARGET_CPU9260
+	bool "Support cpu9260"
+
+config TARGET_CPU9260_128M
+	bool "Support cpu9260_128M"
+
+config TARGET_CPU9260_NAND
+	bool "Support cpu9260_nand"
+
+config TARGET_CPU9260_NAND_128M
+	bool "Support cpu9260_nand_128M"
+
+config TARGET_CPU9G20
+	bool "Support cpu9G20"
+
+config TARGET_CPU9G20_128M
+	bool "Support cpu9G20_128M"
+
+config TARGET_CPU9G20_NAND
+	bool "Support cpu9G20_nand"
+
+config TARGET_CPU9G20_NAND_128M
+	bool "Support cpu9G20_nand_128M"
+
+config TARGET_PM9261
+	bool "Support pm9261"
+
+config TARGET_PM9263
+	bool "Support pm9263"
+
+config TARGET_PM9G45
+	bool "Support pm9g45"
+
+config TARGET_CORVUS
+	bool "Support corvus"
+
+config TARGET_AXM
+	bool "Support axm"
+
+config TARGET_TAURUS
+	bool "Support taurus"
+
+config TARGET_PORTUXG20
+	bool "Support portuxg20"
+
+config TARGET_STAMP9G20
+	bool "Support stamp9g20"
+
+config TARGET_CAM_ENC_4XX
+	bool "Support cam_enc_4xx"
+
+config TARGET_IPAM390
+	bool "Support ipam390"
+
+config TARGET_DA830EVM
+	bool "Support da830evm"
+
+config TARGET_DA850_AM18XXEVM
+	bool "Support da850_am18xxevm"
+
+config TARGET_DA850EVM
+	bool "Support da850evm"
+
+config TARGET_DA850EVM_DIRECT_NOR
+	bool "Support da850evm_direct_nor"
+
+config TARGET_HAWKBOARD
+	bool "Support hawkboard"
+
+config TARGET_HAWKBOARD_UART
+	bool "Support hawkboard_uart"
+
+config TARGET_DAVINCI_DM355EVM
+	bool "Support davinci_dm355evm"
+
+config TARGET_DAVINCI_DM355LEOPARD
+	bool "Support davinci_dm355leopard"
+
+config TARGET_DAVINCI_DM365EVM
+	bool "Support davinci_dm365evm"
+
+config TARGET_DAVINCI_DM6467EVM
+	bool "Support davinci_dm6467evm"
+
+config TARGET_DAVINCI_DM6467TEVM
+	bool "Support davinci_dm6467Tevm"
+
+config TARGET_DAVINCI_DVEVM
+	bool "Support davinci_dvevm"
+
+config TARGET_EA20
+	bool "Support ea20"
+
+config TARGET_DAVINCI_SCHMOOGIE
+	bool "Support davinci_schmoogie"
+
+config TARGET_DAVINCI_SFFSDR
+	bool "Support davinci_sffsdr"
+
+config TARGET_DAVINCI_SONATA
+	bool "Support davinci_sonata"
+
+config TARGET_ENBW_CMC
+	bool "Support enbw_cmc"
+
+config TARGET_CALIMAIN
+	bool "Support calimain"
+
+config TARGET_LSCHLV2
+	bool "Support lschlv2"
+
+config TARGET_LSXHL
+	bool "Support lsxhl"
+
+config TARGET_POGO_E02
+	bool "Support pogo_e02"
+
+config TARGET_DNS325
+	bool "Support dns325"
+
+config TARGET_ICONNECT
+	bool "Support iconnect"
+
+config TARGET_TK71
+	bool "Support tk71"
+
+config TARGET_KM_KIRKWOOD
+	bool "Support km_kirkwood"
+
+config TARGET_KM_KIRKWOOD_128M16
+	bool "Support km_kirkwood_128m16"
+
+config TARGET_KM_KIRKWOOD_PCI
+	bool "Support km_kirkwood_pci"
+
+config TARGET_KMCOGE5UN
+	bool "Support kmcoge5un"
+
+config TARGET_KMNUSA
+	bool "Support kmnusa"
+
+config TARGET_KMSUGP1
+	bool "Support kmsugp1"
+
+config TARGET_KMSUV31
+	bool "Support kmsuv31"
+
+config TARGET_MGCOGE3UN
+	bool "Support mgcoge3un"
+
+config TARGET_PORTL2
+	bool "Support portl2"
+
+config TARGET_D2NET_V2
+	bool "Support d2net_v2"
+
+config TARGET_NET2BIG_V2
+	bool "Support net2big_v2"
+
+config TARGET_INETSPACE_V2
+	bool "Support inetspace_v2"
+
+config TARGET_NETSPACE_LITE_V2
+	bool "Support netspace_lite_v2"
+
+config TARGET_NETSPACE_MAX_V2
+	bool "Support netspace_max_v2"
+
+config TARGET_NETSPACE_MINI_V2
+	bool "Support netspace_mini_v2"
+
+config TARGET_NETSPACE_V2
+	bool "Support netspace_v2"
+
+config TARGET_WIRELESS_SPACE
+	bool "Support wireless_space"
+
+config TARGET_DREAMPLUG
+	bool "Support dreamplug"
+
+config TARGET_GURUPLUG
+	bool "Support guruplug"
+
+config TARGET_MV88F6281GTW_GE
+	bool "Support mv88f6281gtw_ge"
+
+config TARGET_RD6281A
+	bool "Support rd6281a"
+
+config TARGET_SHEEVAPLUG
+	bool "Support sheevaplug"
+
+config TARGET_OPENRD_BASE
+	bool "Support openrd_base"
+
+config TARGET_OPENRD_CLIENT
+	bool "Support openrd_client"
+
+config TARGET_OPENRD_ULTIMATE
+	bool "Support openrd_ultimate"
+
+config TARGET_IB62X0
+	bool "Support ib62x0"
+
+config TARGET_DOCKSTAR
+	bool "Support dockstar"
+
+config TARGET_GOFLEXHOME
+	bool "Support goflexhome"
+
+config TARGET_DEVKIT3250
+	bool "Support devkit3250"
+
+config TARGET_JADECPU
+	bool "Support jadecpu"
+
+config TARGET_MX25PDK
+	bool "Support mx25pdk"
+
+config TARGET_TX25
+	bool "Support tx25"
+
+config TARGET_ZMX25
+	bool "Support zmx25"
+
+config TARGET_APF27
+	bool "Support apf27"
+
+config TARGET_IMX27LITE
+	bool "Support imx27lite"
+
+config TARGET_MAGNESIUM
+	bool "Support magnesium"
+
+config TARGET_APX4DEVKIT
+	bool "Support apx4devkit"
+
+config TARGET_XFI3
+	bool "Support xfi3"
+
+config TARGET_M28EVK
+	bool "Support m28evk"
+
+config TARGET_MX23EVK
+	bool "Support mx23evk"
+
+config TARGET_MX28EVK
+	bool "Support mx28evk"
+
+config TARGET_MX28EVK_AUART_CONSOLE
+	bool "Support mx28evk_auart_console"
+
+config TARGET_MX28EVK_NAND
+	bool "Support mx28evk_nand"
+
+config TARGET_MX23_OLINUXINO
+	bool "Support mx23_olinuxino"
+
+config TARGET_BG0900
+	bool "Support bg0900"
+
+config TARGET_SANSA_FUZE_PLUS
+	bool "Support sansa_fuze_plus"
+
+config TARGET_SC_SPS_1
+	bool "Support sc_sps_1"
+
+config TARGET_NHK8815
+	bool "Support nhk8815"
+
+config TARGET_NHK8815_ONENAND
+	bool "Support nhk8815_onenand"
+
+config TARGET_OMAP5912OSK
+	bool "Support omap5912osk"
+
+config TARGET_EDMINIV2
+	bool "Support edminiv2"
+
+config TARGET_DKB
+	bool "Support dkb"
+
+config TARGET_X600
+	bool "Support x600"
+
+config TARGET_SPEAR300
+	bool "Support spear300"
+
+config TARGET_SPEAR300_NAND
+	bool "Support spear300_nand"
+
+config TARGET_SPEAR300_USBTTY
+	bool "Support spear300_usbtty"
+
+config TARGET_SPEAR300_USBTTY_NAND
+	bool "Support spear300_usbtty_nand"
+
+config TARGET_SPEAR310
+	bool "Support spear310"
+
+config TARGET_SPEAR310_NAND
+	bool "Support spear310_nand"
+
+config TARGET_SPEAR310_PNOR
+	bool "Support spear310_pnor"
+
+config TARGET_SPEAR310_USBTTY
+	bool "Support spear310_usbtty"
+
+config TARGET_SPEAR310_USBTTY_NAND
+	bool "Support spear310_usbtty_nand"
+
+config TARGET_SPEAR310_USBTTY_PNOR
+	bool "Support spear310_usbtty_pnor"
+
+config TARGET_SPEAR320
+	bool "Support spear320"
+
+config TARGET_SPEAR320_NAND
+	bool "Support spear320_nand"
+
+config TARGET_SPEAR320_PNOR
+	bool "Support spear320_pnor"
+
+config TARGET_SPEAR320_USBTTY
+	bool "Support spear320_usbtty"
+
+config TARGET_SPEAR320_USBTTY_NAND
+	bool "Support spear320_usbtty_nand"
+
+config TARGET_SPEAR320_USBTTY_PNOR
+	bool "Support spear320_usbtty_pnor"
+
+config TARGET_SPEAR600
+	bool "Support spear600"
+
+config TARGET_SPEAR600_NAND
+	bool "Support spear600_nand"
+
+config TARGET_SPEAR600_USBTTY
+	bool "Support spear600_usbtty"
+
+config TARGET_SPEAR600_USBTTY_NAND
+	bool "Support spear600_usbtty_nand"
+
+config TARGET_VERSATILEAB
+	bool "Support versatileab"
+
+config TARGET_VERSATILEPB
+	bool "Support versatilepb"
+
+config TARGET_VERSATILEQEMU
+	bool "Support versatileqemu"
+
+config TARGET_INTEGRATORAP_CM946ES
+	bool "Support integratorap_cm946es"
+
+config TARGET_INTEGRATORCP_CM946ES
+	bool "Support integratorcp_cm946es"
+
+config TARGET_VEXPRESS_CA15_TC2
+	bool "Support vexpress_ca15_tc2"
+
+config TARGET_VEXPRESS_CA5X2
+	bool "Support vexpress_ca5x2"
+
+config TARGET_VEXPRESS_CA9X4
+	bool "Support vexpress_ca9x4"
+
+config TARGET_KWB
+	bool "Support kwb"
+
+config TARGET_TSERIES_MMC
+	bool "Support tseries_mmc"
+
+config TARGET_TSERIES_NAND
+	bool "Support tseries_nand"
+
+config TARGET_TSERIES_SPI
+	bool "Support tseries_spi"
+
+config TARGET_CM_T335
+	bool "Support cm_t335"
+
+config TARGET_PEPPER
+	bool "Support pepper"
+
+config TARGET_AM335X_IGEP0033
+	bool "Support am335x_igep0033"
+
+config TARGET_PCM051_REV1
+	bool "Support pcm051_rev1"
+
+config TARGET_PCM051_REV3
+	bool "Support pcm051_rev3"
+
+config TARGET_DRACO
+	bool "Support draco"
+
+config TARGET_DXR2
+	bool "Support dxr2"
+
+config TARGET_PXM2
+	bool "Support pxm2"
+
+config TARGET_RUT
+	bool "Support rut"
+
+config TARGET_PENGWYN
+	bool "Support pengwyn"
+
+config TARGET_AM335X_BONEBLACK
+	bool "Support am335x_boneblack"
+
+config TARGET_AM335X_EVM
+	bool "Support am335x_evm"
+
+config TARGET_AM335X_EVM_NOR
+	bool "Support am335x_evm_nor"
+
+config TARGET_AM335X_EVM_NORBOOT
+	bool "Support am335x_evm_norboot"
+
+config TARGET_AM335X_EVM_SPIBOOT
+	bool "Support am335x_evm_spiboot"
+
+config TARGET_AM335X_EVM_UART1
+	bool "Support am335x_evm_uart1"
+
+config TARGET_AM335X_EVM_UART2
+	bool "Support am335x_evm_uart2"
+
+config TARGET_AM335X_EVM_UART3
+	bool "Support am335x_evm_uart3"
+
+config TARGET_AM335X_EVM_UART4
+	bool "Support am335x_evm_uart4"
+
+config TARGET_AM335X_EVM_UART5
+	bool "Support am335x_evm_uart5"
+
+config TARGET_AM335X_EVM_USBSPL
+	bool "Support am335x_evm_usbspl"
+
+config TARGET_AM43XX_EVM
+	bool "Support am43xx_evm"
+
+config TARGET_TI814X_EVM
+	bool "Support ti814x_evm"
+
+config TARGET_TI816X_EVM
+	bool "Support ti816x_evm"
+
+config TARGET_SAMA5D3_XPLAINED_MMC
+	bool "Support sama5d3_xplained_mmc"
+
+config TARGET_SAMA5D3_XPLAINED_NANDFLASH
+	bool "Support sama5d3_xplained_nandflash"
+
+config TARGET_SAMA5D3XEK_MMC
+	bool "Support sama5d3xek_mmc"
+
+config TARGET_SAMA5D3XEK_NANDFLASH
+	bool "Support sama5d3xek_nandflash"
+
+config TARGET_SAMA5D3XEK_SPIFLASH
+	bool "Support sama5d3xek_spiflash"
+
+config TARGET_BCM28155_AP
+	bool "Support bcm28155_ap"
+
+config TARGET_ARNDALE
+	bool "Support arndale"
+
+config TARGET_ORIGEN
+	bool "Support origen"
+
+config TARGET_SMDK5250
+	bool "Support smdk5250"
+
+config TARGET_SNOW
+	bool "Support snow"
+
+config TARGET_SMDK5420
+	bool "Support smdk5420"
+
+config TARGET_SMDKV310
+	bool "Support smdkv310"
+
+config TARGET_TRATS
+	bool "Support trats"
+
+config TARGET_TRATS2
+	bool "Support trats2"
+
+config TARGET_S5PC210_UNIVERSAL
+	bool "Support s5pc210_universal"
+
+config TARGET_HIGHBANK
+	bool "Support highbank"
+
+config TARGET_K2HK_EVM
+	bool "Support k2hk_evm"
+
+config TARGET_M53EVK
+	bool "Support m53evk"
+
+config TARGET_IMA3_MX53
+	bool "Support ima3-mx53"
+
+config TARGET_MX51EVK
+	bool "Support mx51evk"
+
+config TARGET_MX53ARD
+	bool "Support mx53ard"
+
+config TARGET_MX53EVK
+	bool "Support mx53evk"
+
+config TARGET_MX53LOCO
+	bool "Support mx53loco"
+
+config TARGET_MX53SMD
+	bool "Support mx53smd"
+
+config TARGET_MX51_EFIKAMX
+	bool "Support mx51_efikamx"
+
+config TARGET_MX51_EFIKASB
+	bool "Support mx51_efikasb"
+
+config TARGET_VISION2
+	bool "Support vision2"
+
+config TARGET_UDOO_QUAD
+	bool "Support udoo_quad"
+
+config TARGET_WANDBOARD_DL
+	bool "Support wandboard_dl"
+
+config TARGET_WANDBOARD_QUAD
+	bool "Support wandboard_quad"
+
+config TARGET_WANDBOARD_SOLO
+	bool "Support wandboard_solo"
+
+config TARGET_TITANIUM
+	bool "Support titanium"
+
+config TARGET_MX6QSABRELITE
+	bool "Support mx6qsabrelite"
+
+config TARGET_NITROGEN6DL
+	bool "Support nitrogen6dl"
+
+config TARGET_NITROGEN6DL2G
+	bool "Support nitrogen6dl2g"
+
+config TARGET_NITROGEN6Q
+	bool "Support nitrogen6q"
+
+config TARGET_NITROGEN6Q2G
+	bool "Support nitrogen6q2g"
+
+config TARGET_NITROGEN6S
+	bool "Support nitrogen6s"
+
+config TARGET_NITROGEN6S1G
+	bool "Support nitrogen6s1g"
+
+config TARGET_CGTQMX6QEVAL
+	bool "Support cgtqmx6qeval"
+
+config TARGET_MARSBOARD
+	bool "Support marsboard"
+
+config TARGET_RIOTBOARD
+	bool "Support riotboard"
+
+config TARGET_MX6QARM2
+	bool "Support mx6qarm2"
+
+config TARGET_MX6QSABREAUTO
+	bool "Support mx6qsabreauto"
+
+config TARGET_MX6DLSABRESD
+	bool "Support mx6dlsabresd"
+
+config TARGET_MX6QSABRESD
+	bool "Support mx6qsabresd"
+
+config TARGET_MX6SLEVK
+	bool "Support mx6slevk"
+
+config TARGET_GWVENTANADL
+	bool "Support gwventanadl"
+
+config TARGET_GWVENTANADL1G
+	bool "Support gwventanadl1g"
+
+config TARGET_GWVENTANAQ
+	bool "Support gwventanaq"
+
+config TARGET_GWVENTANAQ1G
+	bool "Support gwventanaq1g"
+
+config TARGET_GWVENTANAQ1GSPI
+	bool "Support gwventanaq1gspi"
+
+config TARGET_HUMMINGBOARD_SOLO
+	bool "Support hummingboard_solo"
+
+config TARGET_OMAP3_OVERO
+	bool "Support omap3_overo"
+
+config TARGET_OMAP3_PANDORA
+	bool "Support omap3_pandora"
+
+config TARGET_ECO5PK
+	bool "Support eco5pk"
+
+config TARGET_DIG297
+	bool "Support dig297"
+
+config TARGET_CM_T35
+	bool "Support cm_t35"
+
+config TARGET_TRICORDER
+	bool "Support tricorder"
+
+config TARGET_TRICORDER_FLASH
+	bool "Support tricorder_flash"
+
+config TARGET_MCX
+	bool "Support mcx"
+
+config TARGET_IGEP0020
+	bool "Support igep0020"
+
+config TARGET_IGEP0020_NAND
+	bool "Support igep0020_nand"
+
+config TARGET_IGEP0030
+	bool "Support igep0030"
+
+config TARGET_IGEP0030_NAND
+	bool "Support igep0030_nand"
+
+config TARGET_IGEP0032
+	bool "Support igep0032"
+
+config TARGET_AM3517_EVM
+	bool "Support am3517_evm"
+
+config TARGET_OMAP3_LOGIC
+	bool "Support omap3_logic"
+
+config TARGET_OMAP3_ZOOM1
+	bool "Support omap3_zoom1"
+
+config TARGET_OMAP3_MVBLX
+	bool "Support omap3_mvblx"
+
+config TARGET_NOKIA_RX51
+	bool "Support nokia_rx51"
+
+config TARGET_OMAP3_HA
+	bool "Support omap3_ha"
+
+config TARGET_TAO3530
+	bool "Support tao3530"
+
+config TARGET_TWISTER
+	bool "Support twister"
+
+config TARGET_MT_VENTOUX
+	bool "Support mt_ventoux"
+
+config TARGET_AM3517_CRANE
+	bool "Support am3517_crane"
+
+config TARGET_OMAP3_BEAGLE
+	bool "Support omap3_beagle"
+
+config TARGET_OMAP3_EVM
+	bool "Support omap3_evm"
+
+config TARGET_OMAP3_EVM_QUICK_MMC
+	bool "Support omap3_evm_quick_mmc"
+
+config TARGET_OMAP3_EVM_QUICK_NAND
+	bool "Support omap3_evm_quick_nand"
+
+config TARGET_OMAP3_SDP3430
+	bool "Support omap3_sdp3430"
+
+config TARGET_DEVKIT8000
+	bool "Support devkit8000"
+
+config TARGET_DUOVERO
+	bool "Support duovero"
+
+config TARGET_OMAP4_PANDA
+	bool "Support omap4_panda"
+
+config TARGET_OMAP4_SDP4430
+	bool "Support omap4_sdp4430"
+
+config TARGET_CM_T54
+	bool "Support cm_t54"
+
+config TARGET_DRA7XX_EVM
+	bool "Support dra7xx_evm"
+
+config TARGET_DRA7XX_EVM_QSPIBOOT
+	bool "Support dra7xx_evm_qspiboot"
+
+config TARGET_DRA7XX_EVM_UART3
+	bool "Support dra7xx_evm_uart3"
+
+config TARGET_OMAP5_UEVM
+	bool "Support omap5_uevm"
+
+config TARGET_ARMADILLO_800EVA
+	bool "Support armadillo-800eva"
+
+config TARGET_KZM9G
+	bool "Support kzm9g"
+
+config TARGET_KOELSCH
+	bool "Support koelsch"
+
+config TARGET_KOELSCH_NOR
+	bool "Support koelsch_nor"
+
+config TARGET_LAGER
+	bool "Support lager"
+
+config TARGET_LAGER_NOR
+	bool "Support lager_nor"
+
+config TARGET_S5P_GONI
+	bool "Support s5p_goni"
+
+config TARGET_SMDKC100
+	bool "Support smdkc100"
+
+config TARGET_SOCFPGA_CYCLONE5
+	bool "Support socfpga_cyclone5"
+
+config TARGET_SNOWBALL
+	bool "Support snowball"
+
+config TARGET_U8500_HREF
+	bool "Support u8500_href"
+
+config TARGET_VF610TWR
+	bool "Support vf610twr"
+
+config TARGET_ZYNQ_MICROZED
+	bool "Support zynq_microzed"
+
+config TARGET_ZYNQ_ZC70X
+	bool "Support zynq_zc70x"
+
+config TARGET_ZYNQ_ZC770_XM010
+	bool "Support zynq_zc770_xm010"
+
+config TARGET_ZYNQ_ZC770_XM012
+	bool "Support zynq_zc770_xm012"
+
+config TARGET_ZYNQ_ZC770_XM013
+	bool "Support zynq_zc770_xm013"
+
+config TARGET_ZYNQ_ZED
+	bool "Support zynq_zed"
+
+config TARGET_DALMORE
+	bool "Support dalmore"
+
+config TARGET_JETSON_TK1
+	bool "Support jetson-tk1"
+
+config TARGET_VENICE2
+	bool "Support venice2"
+
+config TARGET_MEDCOM_WIDE
+	bool "Support medcom-wide"
+
+config TARGET_PLUTUX
+	bool "Support plutux"
+
+config TARGET_TEC
+	bool "Support tec"
+
+config TARGET_PAZ00
+	bool "Support paz00"
+
+config TARGET_TRIMSLICE
+	bool "Support trimslice"
+
+config TARGET_HARMONY
+	bool "Support harmony"
+
+config TARGET_SEABOARD
+	bool "Support seaboard"
+
+config TARGET_VENTANA
+	bool "Support ventana"
+
+config TARGET_WHISTLER
+	bool "Support whistler"
+
+config TARGET_COLIBRI_T20_IRIS
+	bool "Support colibri_t20_iris"
+
+config TARGET_TEC_NG
+	bool "Support tec-ng"
+
+config TARGET_BEAVER
+	bool "Support beaver"
+
+config TARGET_CARDHU
+	bool "Support cardhu"
+
+config TARGET_BALLOON3
+	bool "Support balloon3"
+
+config TARGET_H2200
+	bool "Support h2200"
+
+config TARGET_PALMLD
+	bool "Support palmld"
+
+config TARGET_PALMTC
+	bool "Support palmtc"
+
+config TARGET_PALMTREO680
+	bool "Support palmtreo680"
+
+config TARGET_PXA255_IDP
+	bool "Support pxa255_idp"
+
+config TARGET_TRIZEPSIV
+	bool "Support trizepsiv"
+
+config TARGET_XAENIAX
+	bool "Support xaeniax"
+
+config TARGET_ZIPITZ2
+	bool "Support zipitz2"
+
+config TARGET_POLARIS
+	bool "Support polaris"
+
+config TARGET_VPAC270_NOR_128
+	bool "Support vpac270_nor_128"
+
+config TARGET_VPAC270_NOR_256
+	bool "Support vpac270_nor_256"
+
+config TARGET_VPAC270_OND_256
+	bool "Support vpac270_ond_256"
+
+config TARGET_LP8X4X
+	bool "Support lp8x4x"
+
+config TARGET_COLIBRI_PXA270
+	bool "Support colibri_pxa270"
+
+config TARGET_JORNADA
+	bool "Support jornada"
+
+endchoice
+
+source "board/8dtech/eco5pk/Kconfig"
+source "board/Barix/ipam390/Kconfig"
+source "board/BuR/kwb/Kconfig"
+source "board/BuR/tseries/Kconfig"
+source "board/BuS/eb_cpux9k2/Kconfig"
+source "board/BuS/vl_ma2sc/Kconfig"
+source "board/CarMediaLab/flea3/Kconfig"
+source "board/LaCie/edminiv2/Kconfig"
+source "board/LaCie/net2big_v2/Kconfig"
+source "board/LaCie/netspace_v2/Kconfig"
+source "board/LaCie/wireless_space/Kconfig"
+source "board/Marvell/aspenite/Kconfig"
+source "board/Marvell/dkb/Kconfig"
+source "board/Marvell/dreamplug/Kconfig"
+source "board/Marvell/gplugd/Kconfig"
+source "board/Marvell/guruplug/Kconfig"
+source "board/Marvell/mv88f6281gtw_ge/Kconfig"
+source "board/Marvell/openrd/Kconfig"
+source "board/Marvell/rd6281a/Kconfig"
+source "board/Marvell/sheevaplug/Kconfig"
+source "board/Seagate/dockstar/Kconfig"
+source "board/Seagate/goflexhome/Kconfig"
+source "board/afeb9260/Kconfig"
+source "board/ait/cam_enc_4xx/Kconfig"
+source "board/altera/socfpga/Kconfig"
+source "board/armadeus/apf27/Kconfig"
+source "board/armltd/integrator/Kconfig"
+source "board/armltd/versatile/Kconfig"
+source "board/armltd/vexpress/Kconfig"
+source "board/armltd/vexpress64/Kconfig"
+source "board/atmark-techno/armadillo-800eva/Kconfig"
+source "board/atmel/at91rm9200ek/Kconfig"
+source "board/atmel/at91sam9260ek/Kconfig"
+source "board/atmel/at91sam9261ek/Kconfig"
+source "board/atmel/at91sam9263ek/Kconfig"
+source "board/atmel/at91sam9m10g45ek/Kconfig"
+source "board/atmel/at91sam9n12ek/Kconfig"
+source "board/atmel/at91sam9rlek/Kconfig"
+source "board/atmel/at91sam9x5ek/Kconfig"
+source "board/atmel/sama5d3_xplained/Kconfig"
+source "board/atmel/sama5d3xek/Kconfig"
+source "board/avionic-design/medcom-wide/Kconfig"
+source "board/avionic-design/plutux/Kconfig"
+source "board/avionic-design/tec-ng/Kconfig"
+source "board/avionic-design/tec/Kconfig"
+source "board/balloon3/Kconfig"
+source "board/barco/titanium/Kconfig"
+source "board/bluegiga/apx4devkit/Kconfig"
+source "board/bluewater/snapper9260/Kconfig"
+source "board/boundary/nitrogen6x/Kconfig"
+source "board/broadcom/bcm28155_ap/Kconfig"
+source "board/buffalo/lsxl/Kconfig"
+source "board/calao/sbc35_a9g20/Kconfig"
+source "board/calao/tny_a9260/Kconfig"
+source "board/calao/usb_a9263/Kconfig"
+source "board/cloudengines/pogo_e02/Kconfig"
+source "board/cm4008/Kconfig"
+source "board/cm41xx/Kconfig"
+source "board/comelit/dig297/Kconfig"
+source "board/compal/paz00/Kconfig"
+source "board/compulab/cm_t335/Kconfig"
+source "board/compulab/cm_t35/Kconfig"
+source "board/compulab/cm_t54/Kconfig"
+source "board/compulab/trimslice/Kconfig"
+source "board/congatec/cgtqmx6eval/Kconfig"
+source "board/corscience/tricorder/Kconfig"
+source "board/creative/xfi3/Kconfig"
+source "board/d-link/dns325/Kconfig"
+source "board/davedenx/qong/Kconfig"
+source "board/davinci/da8xxevm/Kconfig"
+source "board/davinci/dm355evm/Kconfig"
+source "board/davinci/dm355leopard/Kconfig"
+source "board/davinci/dm365evm/Kconfig"
+source "board/davinci/dm6467evm/Kconfig"
+source "board/davinci/dvevm/Kconfig"
+source "board/davinci/ea20/Kconfig"
+source "board/davinci/schmoogie/Kconfig"
+source "board/davinci/sffsdr/Kconfig"
+source "board/davinci/sonata/Kconfig"
+source "board/denx/m28evk/Kconfig"
+source "board/denx/m53evk/Kconfig"
+source "board/egnite/ethernut5/Kconfig"
+source "board/embest/mx6boards/Kconfig"
+source "board/emk/top9000/Kconfig"
+source "board/enbw/enbw_cmc/Kconfig"
+source "board/esd/meesc/Kconfig"
+source "board/esd/otc570/Kconfig"
+source "board/esg/ima3-mx53/Kconfig"
+source "board/eukrea/cpu9260/Kconfig"
+source "board/eukrea/cpuat91/Kconfig"
+source "board/faraday/a320evb/Kconfig"
+source "board/freescale/mx23evk/Kconfig"
+source "board/freescale/mx25pdk/Kconfig"
+source "board/freescale/mx28evk/Kconfig"
+source "board/freescale/mx31ads/Kconfig"
+source "board/freescale/mx31pdk/Kconfig"
+source "board/freescale/mx35pdk/Kconfig"
+source "board/freescale/mx51evk/Kconfig"
+source "board/freescale/mx53ard/Kconfig"
+source "board/freescale/mx53evk/Kconfig"
+source "board/freescale/mx53loco/Kconfig"
+source "board/freescale/mx53smd/Kconfig"
+source "board/freescale/mx6qarm2/Kconfig"
+source "board/freescale/mx6qsabreauto/Kconfig"
+source "board/freescale/mx6sabresd/Kconfig"
+source "board/freescale/mx6slevk/Kconfig"
+source "board/freescale/vf610twr/Kconfig"
+source "board/gateworks/gw_ventana/Kconfig"
+source "board/genesi/mx51_efikamx/Kconfig"
+source "board/gumstix/duovero/Kconfig"
+source "board/gumstix/pepper/Kconfig"
+source "board/h2200/Kconfig"
+source "board/hale/tt01/Kconfig"
+source "board/highbank/Kconfig"
+source "board/htkw/mcx/Kconfig"
+source "board/icpdas/lp8x4x/Kconfig"
+source "board/imx31_phycore/Kconfig"
+source "board/iomega/iconnect/Kconfig"
+source "board/isee/igep0033/Kconfig"
+source "board/isee/igep00x0/Kconfig"
+source "board/jornada/Kconfig"
+source "board/karo/tk71/Kconfig"
+source "board/karo/tx25/Kconfig"
+source "board/keymile/km_arm/Kconfig"
+source "board/kmc/kzm9g/Kconfig"
+source "board/logicpd/am3517evm/Kconfig"
+source "board/logicpd/imx27lite/Kconfig"
+source "board/logicpd/imx31_litekit/Kconfig"
+source "board/logicpd/omap3som/Kconfig"
+source "board/logicpd/zoom1/Kconfig"
+source "board/matrix_vision/mvblx/Kconfig"
+source "board/mpl/vcma9/Kconfig"
+source "board/nokia/rx51/Kconfig"
+source "board/nvidia/beaver/Kconfig"
+source "board/nvidia/cardhu/Kconfig"
+source "board/nvidia/dalmore/Kconfig"
+source "board/nvidia/harmony/Kconfig"
+source "board/nvidia/jetson-tk1/Kconfig"
+source "board/nvidia/seaboard/Kconfig"
+source "board/nvidia/venice2/Kconfig"
+source "board/nvidia/ventana/Kconfig"
+source "board/nvidia/whistler/Kconfig"
+source "board/olimex/mx23_olinuxino/Kconfig"
+source "board/omicron/calimain/Kconfig"
+source "board/overo/Kconfig"
+source "board/palmld/Kconfig"
+source "board/palmtc/Kconfig"
+source "board/palmtreo680/Kconfig"
+source "board/pandora/Kconfig"
+source "board/phytec/pcm051/Kconfig"
+source "board/ppcag/bg0900/Kconfig"
+source "board/pxa255_idp/Kconfig"
+source "board/raidsonic/ib62x0/Kconfig"
+source "board/raspberrypi/rpi_b/Kconfig"
+source "board/renesas/koelsch/Kconfig"
+source "board/renesas/lager/Kconfig"
+source "board/ronetix/pm9261/Kconfig"
+source "board/ronetix/pm9263/Kconfig"
+source "board/ronetix/pm9g45/Kconfig"
+source "board/samsung/arndale/Kconfig"
+source "board/samsung/goni/Kconfig"
+source "board/samsung/origen/Kconfig"
+source "board/samsung/smdk2410/Kconfig"
+source "board/samsung/smdk5250/Kconfig"
+source "board/samsung/smdk5420/Kconfig"
+source "board/samsung/smdkc100/Kconfig"
+source "board/samsung/smdkv310/Kconfig"
+source "board/samsung/trats/Kconfig"
+source "board/samsung/trats2/Kconfig"
+source "board/samsung/universal_c210/Kconfig"
+source "board/sandisk/sansa_fuze_plus/Kconfig"
+source "board/scb9328/Kconfig"
+source "board/schulercontrol/sc_sps_1/Kconfig"
+source "board/siemens/corvus/Kconfig"
+source "board/siemens/draco/Kconfig"
+source "board/siemens/pxm2/Kconfig"
+source "board/siemens/rut/Kconfig"
+source "board/siemens/taurus/Kconfig"
+source "board/silica/pengwyn/Kconfig"
+source "board/solidrun/hummingboard/Kconfig"
+source "board/spear/spear300/Kconfig"
+source "board/spear/spear310/Kconfig"
+source "board/spear/spear320/Kconfig"
+source "board/spear/spear600/Kconfig"
+source "board/spear/x600/Kconfig"
+source "board/st-ericsson/snowball/Kconfig"
+source "board/st-ericsson/u8500/Kconfig"
+source "board/st/nhk8815/Kconfig"
+source "board/syteco/jadecpu/Kconfig"
+source "board/syteco/zmx25/Kconfig"
+source "board/taskit/stamp9g20/Kconfig"
+source "board/technexion/tao3530/Kconfig"
+source "board/technexion/twister/Kconfig"
+source "board/teejet/mt_ventoux/Kconfig"
+source "board/ti/am335x/Kconfig"
+source "board/ti/am3517crane/Kconfig"
+source "board/ti/am43xx/Kconfig"
+source "board/ti/beagle/Kconfig"
+source "board/ti/dra7xx/Kconfig"
+source "board/ti/evm/Kconfig"
+source "board/ti/k2hk_evm/Kconfig"
+source "board/ti/omap5912osk/Kconfig"
+source "board/ti/omap5_uevm/Kconfig"
+source "board/ti/panda/Kconfig"
+source "board/ti/sdp3430/Kconfig"
+source "board/ti/sdp4430/Kconfig"
+source "board/ti/ti814x/Kconfig"
+source "board/ti/ti816x/Kconfig"
+source "board/ti/tnetv107xevm/Kconfig"
+source "board/timll/devkit3250/Kconfig"
+source "board/timll/devkit8000/Kconfig"
+source "board/toradex/colibri_pxa270/Kconfig"
+source "board/toradex/colibri_t20_iris/Kconfig"
+source "board/trizepsiv/Kconfig"
+source "board/ttcontrol/vision2/Kconfig"
+source "board/udoo/Kconfig"
+source "board/vpac270/Kconfig"
+source "board/wandboard/Kconfig"
+source "board/woodburn/Kconfig"
+source "board/xaeniax/Kconfig"
+source "board/xilinx/zynq/Kconfig"
+source "board/zipitz2/Kconfig"
diff --git a/arch/arm/configs/VCMA9_defconfig b/arch/arm/configs/VCMA9_defconfig
new file mode 100644
index 0000000..7ceba21
--- /dev/null
+++ b/arch/arm/configs/VCMA9_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCMA9=y
diff --git a/arch/arm/configs/a320evb_defconfig b/arch/arm/configs/a320evb_defconfig
new file mode 100644
index 0000000..ded3741
--- /dev/null
+++ b/arch/arm/configs/a320evb_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_A320EVB=y
diff --git a/arch/arm/configs/afeb9260_defconfig b/arch/arm/configs/afeb9260_defconfig
new file mode 100644
index 0000000..1fff89a
--- /dev/null
+++ b/arch/arm/configs/afeb9260_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AFEB9260=y
diff --git a/arch/arm/configs/am335x_boneblack_defconfig b/arch/arm/configs/am335x_boneblack_defconfig
new file mode 100644
index 0000000..6657f0d
--- /dev/null
+++ b/arch/arm/configs/am335x_boneblack_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_BONEBLACK=y
diff --git a/arch/arm/configs/am335x_evm_defconfig b/arch/arm/configs/am335x_evm_defconfig
new file mode 100644
index 0000000..2f28b02
--- /dev/null
+++ b/arch/arm/configs/am335x_evm_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_EVM=y
diff --git a/arch/arm/configs/am335x_evm_nor_defconfig b/arch/arm/configs/am335x_evm_nor_defconfig
new file mode 100644
index 0000000..827ea81
--- /dev/null
+++ b/arch/arm/configs/am335x_evm_nor_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_EVM_NOR=y
diff --git a/arch/arm/configs/am335x_evm_norboot_defconfig b/arch/arm/configs/am335x_evm_norboot_defconfig
new file mode 100644
index 0000000..b2a4dec
--- /dev/null
+++ b/arch/arm/configs/am335x_evm_norboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AM335X_EVM_NORBOOT=y
diff --git a/arch/arm/configs/am335x_evm_spiboot_defconfig b/arch/arm/configs/am335x_evm_spiboot_defconfig
new file mode 100644
index 0000000..64da3cc
--- /dev/null
+++ b/arch/arm/configs/am335x_evm_spiboot_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_EVM_SPIBOOT=y
diff --git a/arch/arm/configs/am335x_evm_uart1_defconfig b/arch/arm/configs/am335x_evm_uart1_defconfig
new file mode 100644
index 0000000..d631a02
--- /dev/null
+++ b/arch/arm/configs/am335x_evm_uart1_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_EVM_UART1=y
diff --git a/arch/arm/configs/am335x_evm_uart2_defconfig b/arch/arm/configs/am335x_evm_uart2_defconfig
new file mode 100644
index 0000000..701d100
--- /dev/null
+++ b/arch/arm/configs/am335x_evm_uart2_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_EVM_UART2=y
diff --git a/arch/arm/configs/am335x_evm_uart3_defconfig b/arch/arm/configs/am335x_evm_uart3_defconfig
new file mode 100644
index 0000000..c78788a
--- /dev/null
+++ b/arch/arm/configs/am335x_evm_uart3_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_EVM_UART3=y
diff --git a/arch/arm/configs/am335x_evm_uart4_defconfig b/arch/arm/configs/am335x_evm_uart4_defconfig
new file mode 100644
index 0000000..76cb081
--- /dev/null
+++ b/arch/arm/configs/am335x_evm_uart4_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_EVM_UART4=y
diff --git a/arch/arm/configs/am335x_evm_uart5_defconfig b/arch/arm/configs/am335x_evm_uart5_defconfig
new file mode 100644
index 0000000..5a55833
--- /dev/null
+++ b/arch/arm/configs/am335x_evm_uart5_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_EVM_UART5=y
diff --git a/arch/arm/configs/am335x_evm_usbspl_defconfig b/arch/arm/configs/am335x_evm_usbspl_defconfig
new file mode 100644
index 0000000..9ad33e2
--- /dev/null
+++ b/arch/arm/configs/am335x_evm_usbspl_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_EVM_USBSPL=y
diff --git a/arch/arm/configs/am335x_igep0033_defconfig b/arch/arm/configs/am335x_igep0033_defconfig
new file mode 100644
index 0000000..c055c48
--- /dev/null
+++ b/arch/arm/configs/am335x_igep0033_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM335X_IGEP0033=y
diff --git a/arch/arm/configs/am3517_crane_defconfig b/arch/arm/configs/am3517_crane_defconfig
new file mode 100644
index 0000000..5985bd7
--- /dev/null
+++ b/arch/arm/configs/am3517_crane_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM3517_CRANE=y
diff --git a/arch/arm/configs/am3517_evm_defconfig b/arch/arm/configs/am3517_evm_defconfig
new file mode 100644
index 0000000..7363ac1
--- /dev/null
+++ b/arch/arm/configs/am3517_evm_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM3517_EVM=y
diff --git a/arch/arm/configs/am43xx_evm_defconfig b/arch/arm/configs/am43xx_evm_defconfig
new file mode 100644
index 0000000..f9cd2b7
--- /dev/null
+++ b/arch/arm/configs/am43xx_evm_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_AM43XX_EVM=y
diff --git a/arch/arm/configs/apf27_defconfig b/arch/arm/configs/apf27_defconfig
new file mode 100644
index 0000000..bd5f966
--- /dev/null
+++ b/arch/arm/configs/apf27_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_APF27=y
diff --git a/arch/arm/configs/apx4devkit_defconfig b/arch/arm/configs/apx4devkit_defconfig
new file mode 100644
index 0000000..bddd782
--- /dev/null
+++ b/arch/arm/configs/apx4devkit_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_APX4DEVKIT=y
diff --git a/arch/arm/configs/armadillo-800eva_defconfig b/arch/arm/configs/armadillo-800eva_defconfig
new file mode 100644
index 0000000..31ec4c0
--- /dev/null
+++ b/arch/arm/configs/armadillo-800eva_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ARMADILLO_800EVA=y
diff --git a/arch/arm/configs/arndale_defconfig b/arch/arm/configs/arndale_defconfig
new file mode 100644
index 0000000..359e266
--- /dev/null
+++ b/arch/arm/configs/arndale_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_ARNDALE=y
diff --git a/arch/arm/configs/aspenite_defconfig b/arch/arm/configs/aspenite_defconfig
new file mode 100644
index 0000000..be85467
--- /dev/null
+++ b/arch/arm/configs/aspenite_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ASPENITE=y
diff --git a/arch/arm/configs/at91rm9200ek_defconfig b/arch/arm/configs/at91rm9200ek_defconfig
new file mode 100644
index 0000000..b7c8839
--- /dev/null
+++ b/arch/arm/configs/at91rm9200ek_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91RM9200EK=y
diff --git a/arch/arm/configs/at91rm9200ek_ram_defconfig b/arch/arm/configs/at91rm9200ek_ram_defconfig
new file mode 100644
index 0000000..1e05493
--- /dev/null
+++ b/arch/arm/configs/at91rm9200ek_ram_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91RM9200EK_RAM=y
diff --git a/arch/arm/configs/at91sam9260ek_dataflash_cs0_defconfig b/arch/arm/configs/at91sam9260ek_dataflash_cs0_defconfig
new file mode 100644
index 0000000..9c8f5a2
--- /dev/null
+++ b/arch/arm/configs/at91sam9260ek_dataflash_cs0_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9260EK_DATAFLASH_CS0=y
diff --git a/arch/arm/configs/at91sam9260ek_dataflash_cs1_defconfig b/arch/arm/configs/at91sam9260ek_dataflash_cs1_defconfig
new file mode 100644
index 0000000..92d0a81
--- /dev/null
+++ b/arch/arm/configs/at91sam9260ek_dataflash_cs1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9260EK_DATAFLASH_CS1=y
diff --git a/arch/arm/configs/at91sam9260ek_nandflash_defconfig b/arch/arm/configs/at91sam9260ek_nandflash_defconfig
new file mode 100644
index 0000000..ec9b4a5
--- /dev/null
+++ b/arch/arm/configs/at91sam9260ek_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9260EK_NANDFLASH=y
diff --git a/arch/arm/configs/at91sam9261ek_dataflash_cs0_defconfig b/arch/arm/configs/at91sam9261ek_dataflash_cs0_defconfig
new file mode 100644
index 0000000..6c9d1a0
--- /dev/null
+++ b/arch/arm/configs/at91sam9261ek_dataflash_cs0_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9261EK_DATAFLASH_CS0=y
diff --git a/arch/arm/configs/at91sam9261ek_dataflash_cs3_defconfig b/arch/arm/configs/at91sam9261ek_dataflash_cs3_defconfig
new file mode 100644
index 0000000..fba692c
--- /dev/null
+++ b/arch/arm/configs/at91sam9261ek_dataflash_cs3_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9261EK_DATAFLASH_CS3=y
diff --git a/arch/arm/configs/at91sam9261ek_nandflash_defconfig b/arch/arm/configs/at91sam9261ek_nandflash_defconfig
new file mode 100644
index 0000000..3a202d4
--- /dev/null
+++ b/arch/arm/configs/at91sam9261ek_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9261EK_NANDFLASH=y
diff --git a/arch/arm/configs/at91sam9263ek_dataflash_cs0_defconfig b/arch/arm/configs/at91sam9263ek_dataflash_cs0_defconfig
new file mode 100644
index 0000000..0b1c337
--- /dev/null
+++ b/arch/arm/configs/at91sam9263ek_dataflash_cs0_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9263EK_DATAFLASH_CS0=y
diff --git a/arch/arm/configs/at91sam9263ek_dataflash_defconfig b/arch/arm/configs/at91sam9263ek_dataflash_defconfig
new file mode 100644
index 0000000..e399d02
--- /dev/null
+++ b/arch/arm/configs/at91sam9263ek_dataflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9263EK_DATAFLASH=y
diff --git a/arch/arm/configs/at91sam9263ek_nandflash_defconfig b/arch/arm/configs/at91sam9263ek_nandflash_defconfig
new file mode 100644
index 0000000..0ffb663
--- /dev/null
+++ b/arch/arm/configs/at91sam9263ek_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9263EK_NANDFLASH=y
diff --git a/arch/arm/configs/at91sam9263ek_norflash_boot_defconfig b/arch/arm/configs/at91sam9263ek_norflash_boot_defconfig
new file mode 100644
index 0000000..a22a1df
--- /dev/null
+++ b/arch/arm/configs/at91sam9263ek_norflash_boot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9263EK_NORFLASH_BOOT=y
diff --git a/arch/arm/configs/at91sam9263ek_norflash_defconfig b/arch/arm/configs/at91sam9263ek_norflash_defconfig
new file mode 100644
index 0000000..57e28e6
--- /dev/null
+++ b/arch/arm/configs/at91sam9263ek_norflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9263EK_NORFLASH=y
diff --git a/arch/arm/configs/at91sam9g10ek_dataflash_cs0_defconfig b/arch/arm/configs/at91sam9g10ek_dataflash_cs0_defconfig
new file mode 100644
index 0000000..6419740
--- /dev/null
+++ b/arch/arm/configs/at91sam9g10ek_dataflash_cs0_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9G10EK_DATAFLASH_CS0=y
diff --git a/arch/arm/configs/at91sam9g10ek_dataflash_cs3_defconfig b/arch/arm/configs/at91sam9g10ek_dataflash_cs3_defconfig
new file mode 100644
index 0000000..4a9b711
--- /dev/null
+++ b/arch/arm/configs/at91sam9g10ek_dataflash_cs3_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9G10EK_DATAFLASH_CS3=y
diff --git a/arch/arm/configs/at91sam9g10ek_nandflash_defconfig b/arch/arm/configs/at91sam9g10ek_nandflash_defconfig
new file mode 100644
index 0000000..5a8122e
--- /dev/null
+++ b/arch/arm/configs/at91sam9g10ek_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9G10EK_NANDFLASH=y
diff --git a/arch/arm/configs/at91sam9g20ek_2mmc_nandflash_defconfig b/arch/arm/configs/at91sam9g20ek_2mmc_nandflash_defconfig
new file mode 100644
index 0000000..9dd3bb8
--- /dev/null
+++ b/arch/arm/configs/at91sam9g20ek_2mmc_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9G20EK_2MMC_NANDFLASH=y
diff --git a/arch/arm/configs/at91sam9g20ek_dataflash_cs0_defconfig b/arch/arm/configs/at91sam9g20ek_dataflash_cs0_defconfig
new file mode 100644
index 0000000..b917099
--- /dev/null
+++ b/arch/arm/configs/at91sam9g20ek_dataflash_cs0_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9G20EK_DATAFLASH_CS0=y
diff --git a/arch/arm/configs/at91sam9g20ek_dataflash_cs1_defconfig b/arch/arm/configs/at91sam9g20ek_dataflash_cs1_defconfig
new file mode 100644
index 0000000..611bf5c
--- /dev/null
+++ b/arch/arm/configs/at91sam9g20ek_dataflash_cs1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9G20EK_DATAFLASH_CS1=y
diff --git a/arch/arm/configs/at91sam9g20ek_mmc_defconfig b/arch/arm/configs/at91sam9g20ek_mmc_defconfig
new file mode 100644
index 0000000..8105c47
--- /dev/null
+++ b/arch/arm/configs/at91sam9g20ek_mmc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9G20EK_MMC=y
diff --git a/arch/arm/configs/at91sam9g20ek_nandflash_defconfig b/arch/arm/configs/at91sam9g20ek_nandflash_defconfig
new file mode 100644
index 0000000..83850b0
--- /dev/null
+++ b/arch/arm/configs/at91sam9g20ek_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9G20EK_NANDFLASH=y
diff --git a/arch/arm/configs/at91sam9m10g45ek_nandflash_defconfig b/arch/arm/configs/at91sam9m10g45ek_nandflash_defconfig
new file mode 100644
index 0000000..e3604d2
--- /dev/null
+++ b/arch/arm/configs/at91sam9m10g45ek_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9M10G45EK_NANDFLASH=y
diff --git a/arch/arm/configs/at91sam9n12ek_mmc_defconfig b/arch/arm/configs/at91sam9n12ek_mmc_defconfig
new file mode 100644
index 0000000..1031d81
--- /dev/null
+++ b/arch/arm/configs/at91sam9n12ek_mmc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9N12EK_MMC=y
diff --git a/arch/arm/configs/at91sam9n12ek_nandflash_defconfig b/arch/arm/configs/at91sam9n12ek_nandflash_defconfig
new file mode 100644
index 0000000..ef1f080
--- /dev/null
+++ b/arch/arm/configs/at91sam9n12ek_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9N12EK_NANDFLASH=y
diff --git a/arch/arm/configs/at91sam9n12ek_spiflash_defconfig b/arch/arm/configs/at91sam9n12ek_spiflash_defconfig
new file mode 100644
index 0000000..47334c8
--- /dev/null
+++ b/arch/arm/configs/at91sam9n12ek_spiflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9N12EK_SPIFLASH=y
diff --git a/arch/arm/configs/at91sam9rlek_dataflash_defconfig b/arch/arm/configs/at91sam9rlek_dataflash_defconfig
new file mode 100644
index 0000000..fc39897
--- /dev/null
+++ b/arch/arm/configs/at91sam9rlek_dataflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9RLEK_DATAFLASH=y
diff --git a/arch/arm/configs/at91sam9rlek_nandflash_defconfig b/arch/arm/configs/at91sam9rlek_nandflash_defconfig
new file mode 100644
index 0000000..c5dcfcc
--- /dev/null
+++ b/arch/arm/configs/at91sam9rlek_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9RLEK_NANDFLASH=y
diff --git a/arch/arm/configs/at91sam9x5ek_dataflash_defconfig b/arch/arm/configs/at91sam9x5ek_dataflash_defconfig
new file mode 100644
index 0000000..5d6b00b
--- /dev/null
+++ b/arch/arm/configs/at91sam9x5ek_dataflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9X5EK_DATAFLASH=y
diff --git a/arch/arm/configs/at91sam9x5ek_mmc_defconfig b/arch/arm/configs/at91sam9x5ek_mmc_defconfig
new file mode 100644
index 0000000..c230e2f
--- /dev/null
+++ b/arch/arm/configs/at91sam9x5ek_mmc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9X5EK_MMC=y
diff --git a/arch/arm/configs/at91sam9x5ek_nandflash_defconfig b/arch/arm/configs/at91sam9x5ek_nandflash_defconfig
new file mode 100644
index 0000000..c5f73fb
--- /dev/null
+++ b/arch/arm/configs/at91sam9x5ek_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9X5EK_NANDFLASH=y
diff --git a/arch/arm/configs/at91sam9x5ek_spiflash_defconfig b/arch/arm/configs/at91sam9x5ek_spiflash_defconfig
new file mode 100644
index 0000000..0ce165e
--- /dev/null
+++ b/arch/arm/configs/at91sam9x5ek_spiflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9X5EK_SPIFLASH=y
diff --git a/arch/arm/configs/at91sam9xeek_dataflash_cs0_defconfig b/arch/arm/configs/at91sam9xeek_dataflash_cs0_defconfig
new file mode 100644
index 0000000..d8e548d
--- /dev/null
+++ b/arch/arm/configs/at91sam9xeek_dataflash_cs0_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9XEEK_DATAFLASH_CS0=y
diff --git a/arch/arm/configs/at91sam9xeek_dataflash_cs1_defconfig b/arch/arm/configs/at91sam9xeek_dataflash_cs1_defconfig
new file mode 100644
index 0000000..be69dbf
--- /dev/null
+++ b/arch/arm/configs/at91sam9xeek_dataflash_cs1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9XEEK_DATAFLASH_CS1=y
diff --git a/arch/arm/configs/at91sam9xeek_nandflash_defconfig b/arch/arm/configs/at91sam9xeek_nandflash_defconfig
new file mode 100644
index 0000000..c478ca9
--- /dev/null
+++ b/arch/arm/configs/at91sam9xeek_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AT91SAM9XEEK_NANDFLASH=y
diff --git a/arch/arm/configs/axm_defconfig b/arch/arm/configs/axm_defconfig
new file mode 100644
index 0000000..246d666
--- /dev/null
+++ b/arch/arm/configs/axm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AXM=y
diff --git a/arch/arm/configs/balloon3_defconfig b/arch/arm/configs/balloon3_defconfig
new file mode 100644
index 0000000..592d4d7
--- /dev/null
+++ b/arch/arm/configs/balloon3_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BALLOON3=y
diff --git a/arch/arm/configs/bcm28155_ap_defconfig b/arch/arm/configs/bcm28155_ap_defconfig
new file mode 100644
index 0000000..3828480
--- /dev/null
+++ b/arch/arm/configs/bcm28155_ap_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BCM28155_AP=y
diff --git a/arch/arm/configs/beaver_defconfig b/arch/arm/configs/beaver_defconfig
new file mode 100644
index 0000000..dd51837
--- /dev/null
+++ b/arch/arm/configs/beaver_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_BEAVER=y
diff --git a/arch/arm/configs/bg0900_defconfig b/arch/arm/configs/bg0900_defconfig
new file mode 100644
index 0000000..54e03f4
--- /dev/null
+++ b/arch/arm/configs/bg0900_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_BG0900=y
diff --git a/arch/arm/configs/calimain_defconfig b/arch/arm/configs/calimain_defconfig
new file mode 100644
index 0000000..b6ac5f4
--- /dev/null
+++ b/arch/arm/configs/calimain_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CALIMAIN=y
diff --git a/arch/arm/configs/cam_enc_4xx_defconfig b/arch/arm/configs/cam_enc_4xx_defconfig
new file mode 100644
index 0000000..39a44e4
--- /dev/null
+++ b/arch/arm/configs/cam_enc_4xx_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_CAM_ENC_4XX=y
diff --git a/arch/arm/configs/cardhu_defconfig b/arch/arm/configs/cardhu_defconfig
new file mode 100644
index 0000000..18b68b8
--- /dev/null
+++ b/arch/arm/configs/cardhu_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_CARDHU=y
diff --git a/arch/arm/configs/cgtqmx6qeval_defconfig b/arch/arm/configs/cgtqmx6qeval_defconfig
new file mode 100644
index 0000000..c69357e
--- /dev/null
+++ b/arch/arm/configs/cgtqmx6qeval_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CGTQMX6QEVAL=y
diff --git a/arch/arm/configs/cm4008_defconfig b/arch/arm/configs/cm4008_defconfig
new file mode 100644
index 0000000..e3812f8
--- /dev/null
+++ b/arch/arm/configs/cm4008_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CM4008=y
diff --git a/arch/arm/configs/cm41xx_defconfig b/arch/arm/configs/cm41xx_defconfig
new file mode 100644
index 0000000..c139430
--- /dev/null
+++ b/arch/arm/configs/cm41xx_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CM41XX=y
diff --git a/arch/arm/configs/cm_t335_defconfig b/arch/arm/configs/cm_t335_defconfig
new file mode 100644
index 0000000..db307f0
--- /dev/null
+++ b/arch/arm/configs/cm_t335_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_CM_T335=y
diff --git a/arch/arm/configs/cm_t35_defconfig b/arch/arm/configs/cm_t35_defconfig
new file mode 100644
index 0000000..c52c7e8
--- /dev/null
+++ b/arch/arm/configs/cm_t35_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_CM_T35=y
diff --git a/arch/arm/configs/cm_t54_defconfig b/arch/arm/configs/cm_t54_defconfig
new file mode 100644
index 0000000..5f4ec90
--- /dev/null
+++ b/arch/arm/configs/cm_t54_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_CM_T54=y
diff --git a/arch/arm/configs/colibri_pxa270_defconfig b/arch/arm/configs/colibri_pxa270_defconfig
new file mode 100644
index 0000000..fa8b3af
--- /dev/null
+++ b/arch/arm/configs/colibri_pxa270_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_COLIBRI_PXA270=y
diff --git a/arch/arm/configs/colibri_t20_iris_defconfig b/arch/arm/configs/colibri_t20_iris_defconfig
new file mode 100644
index 0000000..919edb8
--- /dev/null
+++ b/arch/arm/configs/colibri_t20_iris_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_COLIBRI_T20_IRIS=y
diff --git a/arch/arm/configs/corvus_defconfig b/arch/arm/configs/corvus_defconfig
new file mode 100644
index 0000000..5745cb2
--- /dev/null
+++ b/arch/arm/configs/corvus_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CORVUS=y
diff --git a/arch/arm/configs/cpu9260_128M_defconfig b/arch/arm/configs/cpu9260_128M_defconfig
new file mode 100644
index 0000000..6d6967d
--- /dev/null
+++ b/arch/arm/configs/cpu9260_128M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU9260_128M=y
diff --git a/arch/arm/configs/cpu9260_defconfig b/arch/arm/configs/cpu9260_defconfig
new file mode 100644
index 0000000..d08553a
--- /dev/null
+++ b/arch/arm/configs/cpu9260_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU9260=y
diff --git a/arch/arm/configs/cpu9260_nand_128M_defconfig b/arch/arm/configs/cpu9260_nand_128M_defconfig
new file mode 100644
index 0000000..51194a3
--- /dev/null
+++ b/arch/arm/configs/cpu9260_nand_128M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU9260_NAND_128M=y
diff --git a/arch/arm/configs/cpu9260_nand_defconfig b/arch/arm/configs/cpu9260_nand_defconfig
new file mode 100644
index 0000000..3bfa039
--- /dev/null
+++ b/arch/arm/configs/cpu9260_nand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU9260_NAND=y
diff --git a/arch/arm/configs/cpu9G20_128M_defconfig b/arch/arm/configs/cpu9G20_128M_defconfig
new file mode 100644
index 0000000..d4bc103
--- /dev/null
+++ b/arch/arm/configs/cpu9G20_128M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU9G20_128M=y
diff --git a/arch/arm/configs/cpu9G20_defconfig b/arch/arm/configs/cpu9G20_defconfig
new file mode 100644
index 0000000..7db2f83
--- /dev/null
+++ b/arch/arm/configs/cpu9G20_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU9G20=y
diff --git a/arch/arm/configs/cpu9G20_nand_128M_defconfig b/arch/arm/configs/cpu9G20_nand_128M_defconfig
new file mode 100644
index 0000000..ec5d04a
--- /dev/null
+++ b/arch/arm/configs/cpu9G20_nand_128M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU9G20_NAND_128M=y
diff --git a/arch/arm/configs/cpu9G20_nand_defconfig b/arch/arm/configs/cpu9G20_nand_defconfig
new file mode 100644
index 0000000..61ab0f8
--- /dev/null
+++ b/arch/arm/configs/cpu9G20_nand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU9G20_NAND=y
diff --git a/arch/arm/configs/cpuat91_defconfig b/arch/arm/configs/cpuat91_defconfig
new file mode 100644
index 0000000..7d37ddf
--- /dev/null
+++ b/arch/arm/configs/cpuat91_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPUAT91=y
diff --git a/arch/arm/configs/cpuat91_ram_defconfig b/arch/arm/configs/cpuat91_ram_defconfig
new file mode 100644
index 0000000..daea3e0
--- /dev/null
+++ b/arch/arm/configs/cpuat91_ram_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPUAT91_RAM=y
diff --git a/arch/arm/configs/d2net_v2_defconfig b/arch/arm/configs/d2net_v2_defconfig
new file mode 100644
index 0000000..15d309e
--- /dev/null
+++ b/arch/arm/configs/d2net_v2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_D2NET_V2=y
diff --git a/arch/arm/configs/da830evm_defconfig b/arch/arm/configs/da830evm_defconfig
new file mode 100644
index 0000000..facdb10
--- /dev/null
+++ b/arch/arm/configs/da830evm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DA830EVM=y
diff --git a/arch/arm/configs/da850_am18xxevm_defconfig b/arch/arm/configs/da850_am18xxevm_defconfig
new file mode 100644
index 0000000..8a439b3
--- /dev/null
+++ b/arch/arm/configs/da850_am18xxevm_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_DA850_AM18XXEVM=y
diff --git a/arch/arm/configs/da850evm_defconfig b/arch/arm/configs/da850evm_defconfig
new file mode 100644
index 0000000..49e5326
--- /dev/null
+++ b/arch/arm/configs/da850evm_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_DA850EVM=y
diff --git a/arch/arm/configs/da850evm_direct_nor_defconfig b/arch/arm/configs/da850evm_direct_nor_defconfig
new file mode 100644
index 0000000..7e9c16d
--- /dev/null
+++ b/arch/arm/configs/da850evm_direct_nor_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DA850EVM_DIRECT_NOR=y
diff --git a/arch/arm/configs/dalmore_defconfig b/arch/arm/configs/dalmore_defconfig
new file mode 100644
index 0000000..965c57c
--- /dev/null
+++ b/arch/arm/configs/dalmore_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_DALMORE=y
diff --git a/arch/arm/configs/davinci_dm355evm_defconfig b/arch/arm/configs/davinci_dm355evm_defconfig
new file mode 100644
index 0000000..49367e1
--- /dev/null
+++ b/arch/arm/configs/davinci_dm355evm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DAVINCI_DM355EVM=y
diff --git a/arch/arm/configs/davinci_dm355leopard_defconfig b/arch/arm/configs/davinci_dm355leopard_defconfig
new file mode 100644
index 0000000..686cf51
--- /dev/null
+++ b/arch/arm/configs/davinci_dm355leopard_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DAVINCI_DM355LEOPARD=y
diff --git a/arch/arm/configs/davinci_dm365evm_defconfig b/arch/arm/configs/davinci_dm365evm_defconfig
new file mode 100644
index 0000000..4b39c9d
--- /dev/null
+++ b/arch/arm/configs/davinci_dm365evm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DAVINCI_DM365EVM=y
diff --git a/arch/arm/configs/davinci_dm6467Tevm_defconfig b/arch/arm/configs/davinci_dm6467Tevm_defconfig
new file mode 100644
index 0000000..bdcb737
--- /dev/null
+++ b/arch/arm/configs/davinci_dm6467Tevm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DAVINCI_DM6467TEVM=y
diff --git a/arch/arm/configs/davinci_dm6467evm_defconfig b/arch/arm/configs/davinci_dm6467evm_defconfig
new file mode 100644
index 0000000..a58f1af
--- /dev/null
+++ b/arch/arm/configs/davinci_dm6467evm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DAVINCI_DM6467EVM=y
diff --git a/arch/arm/configs/davinci_dvevm_defconfig b/arch/arm/configs/davinci_dvevm_defconfig
new file mode 100644
index 0000000..a6a3760
--- /dev/null
+++ b/arch/arm/configs/davinci_dvevm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DAVINCI_DVEVM=y
diff --git a/arch/arm/configs/davinci_schmoogie_defconfig b/arch/arm/configs/davinci_schmoogie_defconfig
new file mode 100644
index 0000000..fb4c458
--- /dev/null
+++ b/arch/arm/configs/davinci_schmoogie_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DAVINCI_SCHMOOGIE=y
diff --git a/arch/arm/configs/davinci_sffsdr_defconfig b/arch/arm/configs/davinci_sffsdr_defconfig
new file mode 100644
index 0000000..1abdb3b
--- /dev/null
+++ b/arch/arm/configs/davinci_sffsdr_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DAVINCI_SFFSDR=y
diff --git a/arch/arm/configs/davinci_sonata_defconfig b/arch/arm/configs/davinci_sonata_defconfig
new file mode 100644
index 0000000..09ab4c2
--- /dev/null
+++ b/arch/arm/configs/davinci_sonata_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DAVINCI_SONATA=y
diff --git a/arch/arm/configs/devkit3250_defconfig b/arch/arm/configs/devkit3250_defconfig
new file mode 100644
index 0000000..13f198b
--- /dev/null
+++ b/arch/arm/configs/devkit3250_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DEVKIT3250=y
diff --git a/arch/arm/configs/devkit8000_defconfig b/arch/arm/configs/devkit8000_defconfig
new file mode 100644
index 0000000..8f61b1b
--- /dev/null
+++ b/arch/arm/configs/devkit8000_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_DEVKIT8000=y
diff --git a/arch/arm/configs/dig297_defconfig b/arch/arm/configs/dig297_defconfig
new file mode 100644
index 0000000..98de782
--- /dev/null
+++ b/arch/arm/configs/dig297_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DIG297=y
diff --git a/arch/arm/configs/dkb_defconfig b/arch/arm/configs/dkb_defconfig
new file mode 100644
index 0000000..fbb8b84
--- /dev/null
+++ b/arch/arm/configs/dkb_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DKB=y
diff --git a/arch/arm/configs/dns325_defconfig b/arch/arm/configs/dns325_defconfig
new file mode 100644
index 0000000..c1485ff
--- /dev/null
+++ b/arch/arm/configs/dns325_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DNS325=y
diff --git a/arch/arm/configs/dockstar_defconfig b/arch/arm/configs/dockstar_defconfig
new file mode 100644
index 0000000..77e9c46
--- /dev/null
+++ b/arch/arm/configs/dockstar_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DOCKSTAR=y
diff --git a/arch/arm/configs/dra7xx_evm_defconfig b/arch/arm/configs/dra7xx_evm_defconfig
new file mode 100644
index 0000000..e673a62
--- /dev/null
+++ b/arch/arm/configs/dra7xx_evm_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_DRA7XX_EVM=y
diff --git a/arch/arm/configs/dra7xx_evm_qspiboot_defconfig b/arch/arm/configs/dra7xx_evm_qspiboot_defconfig
new file mode 100644
index 0000000..446a01a
--- /dev/null
+++ b/arch/arm/configs/dra7xx_evm_qspiboot_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_DRA7XX_EVM_QSPIBOOT=y
diff --git a/arch/arm/configs/dra7xx_evm_uart3_defconfig b/arch/arm/configs/dra7xx_evm_uart3_defconfig
new file mode 100644
index 0000000..c646481
--- /dev/null
+++ b/arch/arm/configs/dra7xx_evm_uart3_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_DRA7XX_EVM_UART3=y
diff --git a/arch/arm/configs/draco_defconfig b/arch/arm/configs/draco_defconfig
new file mode 100644
index 0000000..77dacd3
--- /dev/null
+++ b/arch/arm/configs/draco_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_DRACO=y
diff --git a/arch/arm/configs/dreamplug_defconfig b/arch/arm/configs/dreamplug_defconfig
new file mode 100644
index 0000000..8f65503
--- /dev/null
+++ b/arch/arm/configs/dreamplug_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DREAMPLUG=y
diff --git a/arch/arm/configs/duovero_defconfig b/arch/arm/configs/duovero_defconfig
new file mode 100644
index 0000000..4687e62
--- /dev/null
+++ b/arch/arm/configs/duovero_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_DUOVERO=y
diff --git a/arch/arm/configs/dxr2_defconfig b/arch/arm/configs/dxr2_defconfig
new file mode 100644
index 0000000..07e70b2
--- /dev/null
+++ b/arch/arm/configs/dxr2_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_DXR2=y
diff --git a/arch/arm/configs/ea20_defconfig b/arch/arm/configs/ea20_defconfig
new file mode 100644
index 0000000..e415565
--- /dev/null
+++ b/arch/arm/configs/ea20_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EA20=y
diff --git a/arch/arm/configs/eb_cpux9k2_defconfig b/arch/arm/configs/eb_cpux9k2_defconfig
new file mode 100644
index 0000000..18a72ac
--- /dev/null
+++ b/arch/arm/configs/eb_cpux9k2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EB_CPUX9K2=y
diff --git a/arch/arm/configs/eb_cpux9k2_ram_defconfig b/arch/arm/configs/eb_cpux9k2_ram_defconfig
new file mode 100644
index 0000000..1efb84c
--- /dev/null
+++ b/arch/arm/configs/eb_cpux9k2_ram_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EB_CPUX9K2_RAM=y
diff --git a/arch/arm/configs/eco5pk_defconfig b/arch/arm/configs/eco5pk_defconfig
new file mode 100644
index 0000000..1e275ea
--- /dev/null
+++ b/arch/arm/configs/eco5pk_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_ECO5PK=y
diff --git a/arch/arm/configs/edminiv2_defconfig b/arch/arm/configs/edminiv2_defconfig
new file mode 100644
index 0000000..fd19da7
--- /dev/null
+++ b/arch/arm/configs/edminiv2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EDMINIV2=y
diff --git a/arch/arm/configs/enbw_cmc_defconfig b/arch/arm/configs/enbw_cmc_defconfig
new file mode 100644
index 0000000..32982dc
--- /dev/null
+++ b/arch/arm/configs/enbw_cmc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ENBW_CMC=y
diff --git a/arch/arm/configs/ethernut5_defconfig b/arch/arm/configs/ethernut5_defconfig
new file mode 100644
index 0000000..d651884
--- /dev/null
+++ b/arch/arm/configs/ethernut5_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ETHERNUT5=y
diff --git a/arch/arm/configs/flea3_defconfig b/arch/arm/configs/flea3_defconfig
new file mode 100644
index 0000000..7796b16
--- /dev/null
+++ b/arch/arm/configs/flea3_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_FLEA3=y
diff --git a/arch/arm/configs/goflexhome_defconfig b/arch/arm/configs/goflexhome_defconfig
new file mode 100644
index 0000000..fcda80b
--- /dev/null
+++ b/arch/arm/configs/goflexhome_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GOFLEXHOME=y
diff --git a/arch/arm/configs/gplugd_defconfig b/arch/arm/configs/gplugd_defconfig
new file mode 100644
index 0000000..b0bef7a
--- /dev/null
+++ b/arch/arm/configs/gplugd_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GPLUGD=y
diff --git a/arch/arm/configs/guruplug_defconfig b/arch/arm/configs/guruplug_defconfig
new file mode 100644
index 0000000..3d56f42
--- /dev/null
+++ b/arch/arm/configs/guruplug_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GURUPLUG=y
diff --git a/arch/arm/configs/gwventanadl1g_defconfig b/arch/arm/configs/gwventanadl1g_defconfig
new file mode 100644
index 0000000..a058969
--- /dev/null
+++ b/arch/arm/configs/gwventanadl1g_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GWVENTANADL1G=y
diff --git a/arch/arm/configs/gwventanadl_defconfig b/arch/arm/configs/gwventanadl_defconfig
new file mode 100644
index 0000000..d58de8d
--- /dev/null
+++ b/arch/arm/configs/gwventanadl_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GWVENTANADL=y
diff --git a/arch/arm/configs/gwventanaq1g_defconfig b/arch/arm/configs/gwventanaq1g_defconfig
new file mode 100644
index 0000000..fc980c2
--- /dev/null
+++ b/arch/arm/configs/gwventanaq1g_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GWVENTANAQ1G=y
diff --git a/arch/arm/configs/gwventanaq1gspi_defconfig b/arch/arm/configs/gwventanaq1gspi_defconfig
new file mode 100644
index 0000000..97dab18
--- /dev/null
+++ b/arch/arm/configs/gwventanaq1gspi_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GWVENTANAQ1GSPI=y
diff --git a/arch/arm/configs/gwventanaq_defconfig b/arch/arm/configs/gwventanaq_defconfig
new file mode 100644
index 0000000..5fe13dd
--- /dev/null
+++ b/arch/arm/configs/gwventanaq_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GWVENTANAQ=y
diff --git a/arch/arm/configs/h2200_defconfig b/arch/arm/configs/h2200_defconfig
new file mode 100644
index 0000000..1ae22f3
--- /dev/null
+++ b/arch/arm/configs/h2200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_H2200=y
diff --git a/arch/arm/configs/harmony_defconfig b/arch/arm/configs/harmony_defconfig
new file mode 100644
index 0000000..fe54f12
--- /dev/null
+++ b/arch/arm/configs/harmony_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_HARMONY=y
diff --git a/arch/arm/configs/hawkboard_defconfig b/arch/arm/configs/hawkboard_defconfig
new file mode 100644
index 0000000..5680c45
--- /dev/null
+++ b/arch/arm/configs/hawkboard_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_HAWKBOARD=y
diff --git a/arch/arm/configs/hawkboard_uart_defconfig b/arch/arm/configs/hawkboard_uart_defconfig
new file mode 100644
index 0000000..e0dcd66
--- /dev/null
+++ b/arch/arm/configs/hawkboard_uart_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_HAWKBOARD_UART=y
diff --git a/arch/arm/configs/highbank_defconfig b/arch/arm/configs/highbank_defconfig
new file mode 100644
index 0000000..3492463
--- /dev/null
+++ b/arch/arm/configs/highbank_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HIGHBANK=y
diff --git a/arch/arm/configs/hummingboard_solo_defconfig b/arch/arm/configs/hummingboard_solo_defconfig
new file mode 100644
index 0000000..1486be0
--- /dev/null
+++ b/arch/arm/configs/hummingboard_solo_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HUMMINGBOARD_SOLO=y
diff --git a/arch/arm/configs/ib62x0_defconfig b/arch/arm/configs/ib62x0_defconfig
new file mode 100644
index 0000000..6d4829d
--- /dev/null
+++ b/arch/arm/configs/ib62x0_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IB62X0=y
diff --git a/arch/arm/configs/iconnect_defconfig b/arch/arm/configs/iconnect_defconfig
new file mode 100644
index 0000000..6a621b6
--- /dev/null
+++ b/arch/arm/configs/iconnect_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ICONNECT=y
diff --git a/arch/arm/configs/igep0020_defconfig b/arch/arm/configs/igep0020_defconfig
new file mode 100644
index 0000000..72ba0b3
--- /dev/null
+++ b/arch/arm/configs/igep0020_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_IGEP0020=y
diff --git a/arch/arm/configs/igep0020_nand_defconfig b/arch/arm/configs/igep0020_nand_defconfig
new file mode 100644
index 0000000..c435c6d
--- /dev/null
+++ b/arch/arm/configs/igep0020_nand_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_IGEP0020_NAND=y
diff --git a/arch/arm/configs/igep0030_defconfig b/arch/arm/configs/igep0030_defconfig
new file mode 100644
index 0000000..d9b2f87
--- /dev/null
+++ b/arch/arm/configs/igep0030_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_IGEP0030=y
diff --git a/arch/arm/configs/igep0030_nand_defconfig b/arch/arm/configs/igep0030_nand_defconfig
new file mode 100644
index 0000000..5c87546
--- /dev/null
+++ b/arch/arm/configs/igep0030_nand_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_IGEP0030_NAND=y
diff --git a/arch/arm/configs/igep0032_defconfig b/arch/arm/configs/igep0032_defconfig
new file mode 100644
index 0000000..e777daa
--- /dev/null
+++ b/arch/arm/configs/igep0032_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_IGEP0032=y
diff --git a/arch/arm/configs/ima3-mx53_defconfig b/arch/arm/configs/ima3-mx53_defconfig
new file mode 100644
index 0000000..3387719
--- /dev/null
+++ b/arch/arm/configs/ima3-mx53_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IMA3_MX53=y
diff --git a/arch/arm/configs/imx27lite_defconfig b/arch/arm/configs/imx27lite_defconfig
new file mode 100644
index 0000000..99f26e3
--- /dev/null
+++ b/arch/arm/configs/imx27lite_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IMX27LITE=y
diff --git a/arch/arm/configs/imx31_litekit_defconfig b/arch/arm/configs/imx31_litekit_defconfig
new file mode 100644
index 0000000..869d013
--- /dev/null
+++ b/arch/arm/configs/imx31_litekit_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IMX31_LITEKIT=y
diff --git a/arch/arm/configs/imx31_phycore_defconfig b/arch/arm/configs/imx31_phycore_defconfig
new file mode 100644
index 0000000..e07bd30
--- /dev/null
+++ b/arch/arm/configs/imx31_phycore_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IMX31_PHYCORE=y
diff --git a/arch/arm/configs/imx31_phycore_eet_defconfig b/arch/arm/configs/imx31_phycore_eet_defconfig
new file mode 100644
index 0000000..d911c64
--- /dev/null
+++ b/arch/arm/configs/imx31_phycore_eet_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IMX31_PHYCORE_EET=y
diff --git a/arch/arm/configs/inetspace_v2_defconfig b/arch/arm/configs/inetspace_v2_defconfig
new file mode 100644
index 0000000..ecd8c62
--- /dev/null
+++ b/arch/arm/configs/inetspace_v2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INETSPACE_V2=y
diff --git a/arch/arm/configs/integratorap_cm720t_defconfig b/arch/arm/configs/integratorap_cm720t_defconfig
new file mode 100644
index 0000000..6c0e8b2
--- /dev/null
+++ b/arch/arm/configs/integratorap_cm720t_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INTEGRATORAP_CM720T=y
diff --git a/arch/arm/configs/integratorap_cm920t_defconfig b/arch/arm/configs/integratorap_cm920t_defconfig
new file mode 100644
index 0000000..ef65907
--- /dev/null
+++ b/arch/arm/configs/integratorap_cm920t_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INTEGRATORAP_CM920T=y
diff --git a/arch/arm/configs/integratorap_cm926ejs_defconfig b/arch/arm/configs/integratorap_cm926ejs_defconfig
new file mode 100644
index 0000000..2b1f76e
--- /dev/null
+++ b/arch/arm/configs/integratorap_cm926ejs_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INTEGRATORAP_CM926EJS=y
diff --git a/arch/arm/configs/integratorap_cm946es_defconfig b/arch/arm/configs/integratorap_cm946es_defconfig
new file mode 100644
index 0000000..f83a34d
--- /dev/null
+++ b/arch/arm/configs/integratorap_cm946es_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INTEGRATORAP_CM946ES=y
diff --git a/arch/arm/configs/integratorcp_cm1136_defconfig b/arch/arm/configs/integratorcp_cm1136_defconfig
new file mode 100644
index 0000000..3e20bec
--- /dev/null
+++ b/arch/arm/configs/integratorcp_cm1136_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INTEGRATORCP_CM1136=y
diff --git a/arch/arm/configs/integratorcp_cm920t_defconfig b/arch/arm/configs/integratorcp_cm920t_defconfig
new file mode 100644
index 0000000..0d39a07
--- /dev/null
+++ b/arch/arm/configs/integratorcp_cm920t_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INTEGRATORCP_CM920T=y
diff --git a/arch/arm/configs/integratorcp_cm926ejs_defconfig b/arch/arm/configs/integratorcp_cm926ejs_defconfig
new file mode 100644
index 0000000..dd956ed
--- /dev/null
+++ b/arch/arm/configs/integratorcp_cm926ejs_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INTEGRATORCP_CM926EJS=y
diff --git a/arch/arm/configs/integratorcp_cm946es_defconfig b/arch/arm/configs/integratorcp_cm946es_defconfig
new file mode 100644
index 0000000..25c4fce
--- /dev/null
+++ b/arch/arm/configs/integratorcp_cm946es_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INTEGRATORCP_CM946ES=y
diff --git a/arch/arm/configs/ipam390_defconfig b/arch/arm/configs/ipam390_defconfig
new file mode 100644
index 0000000..9d07e5f
--- /dev/null
+++ b/arch/arm/configs/ipam390_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_IPAM390=y
diff --git a/arch/arm/configs/jadecpu_defconfig b/arch/arm/configs/jadecpu_defconfig
new file mode 100644
index 0000000..28fd612
--- /dev/null
+++ b/arch/arm/configs/jadecpu_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_JADECPU=y
diff --git a/arch/arm/configs/jetson-tk1_defconfig b/arch/arm/configs/jetson-tk1_defconfig
new file mode 100644
index 0000000..7fc55a3
--- /dev/null
+++ b/arch/arm/configs/jetson-tk1_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_JETSON_TK1=y
diff --git a/arch/arm/configs/jornada_defconfig b/arch/arm/configs/jornada_defconfig
new file mode 100644
index 0000000..6bf37dd
--- /dev/null
+++ b/arch/arm/configs/jornada_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_JORNADA=y
diff --git a/arch/arm/configs/k2hk_evm_defconfig b/arch/arm/configs/k2hk_evm_defconfig
new file mode 100644
index 0000000..189a2d1
--- /dev/null
+++ b/arch/arm/configs/k2hk_evm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_K2HK_EVM=y
diff --git a/arch/arm/configs/km_kirkwood_128m16_defconfig b/arch/arm/configs/km_kirkwood_128m16_defconfig
new file mode 100644
index 0000000..256dcfd
--- /dev/null
+++ b/arch/arm/configs/km_kirkwood_128m16_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KM_KIRKWOOD_128M16=y
diff --git a/arch/arm/configs/km_kirkwood_defconfig b/arch/arm/configs/km_kirkwood_defconfig
new file mode 100644
index 0000000..f576667
--- /dev/null
+++ b/arch/arm/configs/km_kirkwood_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KM_KIRKWOOD=y
diff --git a/arch/arm/configs/km_kirkwood_pci_defconfig b/arch/arm/configs/km_kirkwood_pci_defconfig
new file mode 100644
index 0000000..ce418ad
--- /dev/null
+++ b/arch/arm/configs/km_kirkwood_pci_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KM_KIRKWOOD_PCI=y
diff --git a/arch/arm/configs/kmcoge5un_defconfig b/arch/arm/configs/kmcoge5un_defconfig
new file mode 100644
index 0000000..2b61a79
--- /dev/null
+++ b/arch/arm/configs/kmcoge5un_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMCOGE5UN=y
diff --git a/arch/arm/configs/kmnusa_defconfig b/arch/arm/configs/kmnusa_defconfig
new file mode 100644
index 0000000..94517a9
--- /dev/null
+++ b/arch/arm/configs/kmnusa_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMNUSA=y
diff --git a/arch/arm/configs/kmsugp1_defconfig b/arch/arm/configs/kmsugp1_defconfig
new file mode 100644
index 0000000..9ca40b1
--- /dev/null
+++ b/arch/arm/configs/kmsugp1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMSUGP1=y
diff --git a/arch/arm/configs/kmsuv31_defconfig b/arch/arm/configs/kmsuv31_defconfig
new file mode 100644
index 0000000..707f519
--- /dev/null
+++ b/arch/arm/configs/kmsuv31_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMSUV31=y
diff --git a/arch/arm/configs/koelsch_defconfig b/arch/arm/configs/koelsch_defconfig
new file mode 100644
index 0000000..45a0f8b
--- /dev/null
+++ b/arch/arm/configs/koelsch_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KOELSCH=y
diff --git a/arch/arm/configs/koelsch_nor_defconfig b/arch/arm/configs/koelsch_nor_defconfig
new file mode 100644
index 0000000..35a7d1a
--- /dev/null
+++ b/arch/arm/configs/koelsch_nor_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KOELSCH_NOR=y
diff --git a/arch/arm/configs/kwb_defconfig b/arch/arm/configs/kwb_defconfig
new file mode 100644
index 0000000..598f0ac
--- /dev/null
+++ b/arch/arm/configs/kwb_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_KWB=y
diff --git a/arch/arm/configs/kzm9g_defconfig b/arch/arm/configs/kzm9g_defconfig
new file mode 100644
index 0000000..f3ca1de
--- /dev/null
+++ b/arch/arm/configs/kzm9g_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KZM9G=y
diff --git a/arch/arm/configs/lager_defconfig b/arch/arm/configs/lager_defconfig
new file mode 100644
index 0000000..c2616ea
--- /dev/null
+++ b/arch/arm/configs/lager_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LAGER=y
diff --git a/arch/arm/configs/lager_nor_defconfig b/arch/arm/configs/lager_nor_defconfig
new file mode 100644
index 0000000..03b8fbf
--- /dev/null
+++ b/arch/arm/configs/lager_nor_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LAGER_NOR=y
diff --git a/arch/arm/configs/lp8x4x_defconfig b/arch/arm/configs/lp8x4x_defconfig
new file mode 100644
index 0000000..b4f3634
--- /dev/null
+++ b/arch/arm/configs/lp8x4x_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LP8X4X=y
diff --git a/arch/arm/configs/lschlv2_defconfig b/arch/arm/configs/lschlv2_defconfig
new file mode 100644
index 0000000..7c2c1dc
--- /dev/null
+++ b/arch/arm/configs/lschlv2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LSCHLV2=y
diff --git a/arch/arm/configs/lsxhl_defconfig b/arch/arm/configs/lsxhl_defconfig
new file mode 100644
index 0000000..3c3c105
--- /dev/null
+++ b/arch/arm/configs/lsxhl_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LSXHL=y
diff --git a/arch/arm/configs/m28evk_defconfig b/arch/arm/configs/m28evk_defconfig
new file mode 100644
index 0000000..6eab9b4
--- /dev/null
+++ b/arch/arm/configs/m28evk_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_M28EVK=y
diff --git a/arch/arm/configs/m53evk_defconfig b/arch/arm/configs/m53evk_defconfig
new file mode 100644
index 0000000..c7f4105
--- /dev/null
+++ b/arch/arm/configs/m53evk_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_M53EVK=y
diff --git a/arch/arm/configs/magnesium_defconfig b/arch/arm/configs/magnesium_defconfig
new file mode 100644
index 0000000..e7548be
--- /dev/null
+++ b/arch/arm/configs/magnesium_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MAGNESIUM=y
diff --git a/arch/arm/configs/marsboard_defconfig b/arch/arm/configs/marsboard_defconfig
new file mode 100644
index 0000000..e628e05
--- /dev/null
+++ b/arch/arm/configs/marsboard_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MARSBOARD=y
diff --git a/arch/arm/configs/mcx_defconfig b/arch/arm/configs/mcx_defconfig
new file mode 100644
index 0000000..788c0fd
--- /dev/null
+++ b/arch/arm/configs/mcx_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MCX=y
diff --git a/arch/arm/configs/medcom-wide_defconfig b/arch/arm/configs/medcom-wide_defconfig
new file mode 100644
index 0000000..3d46db8
--- /dev/null
+++ b/arch/arm/configs/medcom-wide_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MEDCOM_WIDE=y
diff --git a/arch/arm/configs/meesc_dataflash_defconfig b/arch/arm/configs/meesc_dataflash_defconfig
new file mode 100644
index 0000000..a8c6246
--- /dev/null
+++ b/arch/arm/configs/meesc_dataflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MEESC_DATAFLASH=y
diff --git a/arch/arm/configs/meesc_defconfig b/arch/arm/configs/meesc_defconfig
new file mode 100644
index 0000000..57764a4
--- /dev/null
+++ b/arch/arm/configs/meesc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MEESC=y
diff --git a/arch/arm/configs/mgcoge3un_defconfig b/arch/arm/configs/mgcoge3un_defconfig
new file mode 100644
index 0000000..67615f1
--- /dev/null
+++ b/arch/arm/configs/mgcoge3un_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MGCOGE3UN=y
diff --git a/arch/arm/configs/mt_ventoux_defconfig b/arch/arm/configs/mt_ventoux_defconfig
new file mode 100644
index 0000000..d86fc49
--- /dev/null
+++ b/arch/arm/configs/mt_ventoux_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MT_VENTOUX=y
diff --git a/arch/arm/configs/mv88f6281gtw_ge_defconfig b/arch/arm/configs/mv88f6281gtw_ge_defconfig
new file mode 100644
index 0000000..a4ff3ef
--- /dev/null
+++ b/arch/arm/configs/mv88f6281gtw_ge_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MV88F6281GTW_GE=y
diff --git a/arch/arm/configs/mx23_olinuxino_defconfig b/arch/arm/configs/mx23_olinuxino_defconfig
new file mode 100644
index 0000000..5628880
--- /dev/null
+++ b/arch/arm/configs/mx23_olinuxino_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MX23_OLINUXINO=y
diff --git a/arch/arm/configs/mx23evk_defconfig b/arch/arm/configs/mx23evk_defconfig
new file mode 100644
index 0000000..0499930
--- /dev/null
+++ b/arch/arm/configs/mx23evk_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MX23EVK=y
diff --git a/arch/arm/configs/mx25pdk_defconfig b/arch/arm/configs/mx25pdk_defconfig
new file mode 100644
index 0000000..763099d
--- /dev/null
+++ b/arch/arm/configs/mx25pdk_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX25PDK=y
diff --git a/arch/arm/configs/mx28evk_auart_console_defconfig b/arch/arm/configs/mx28evk_auart_console_defconfig
new file mode 100644
index 0000000..f988740
--- /dev/null
+++ b/arch/arm/configs/mx28evk_auart_console_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MX28EVK_AUART_CONSOLE=y
diff --git a/arch/arm/configs/mx28evk_defconfig b/arch/arm/configs/mx28evk_defconfig
new file mode 100644
index 0000000..fe08bde
--- /dev/null
+++ b/arch/arm/configs/mx28evk_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MX28EVK=y
diff --git a/arch/arm/configs/mx28evk_nand_defconfig b/arch/arm/configs/mx28evk_nand_defconfig
new file mode 100644
index 0000000..2bc6815
--- /dev/null
+++ b/arch/arm/configs/mx28evk_nand_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MX28EVK_NAND=y
diff --git a/arch/arm/configs/mx31ads_defconfig b/arch/arm/configs/mx31ads_defconfig
new file mode 100644
index 0000000..2d881f4
--- /dev/null
+++ b/arch/arm/configs/mx31ads_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX31ADS=y
diff --git a/arch/arm/configs/mx31pdk_defconfig b/arch/arm/configs/mx31pdk_defconfig
new file mode 100644
index 0000000..2ac7d01
--- /dev/null
+++ b/arch/arm/configs/mx31pdk_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MX31PDK=y
diff --git a/arch/arm/configs/mx35pdk_defconfig b/arch/arm/configs/mx35pdk_defconfig
new file mode 100644
index 0000000..b668d78
--- /dev/null
+++ b/arch/arm/configs/mx35pdk_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX35PDK=y
diff --git a/arch/arm/configs/mx51_efikamx_defconfig b/arch/arm/configs/mx51_efikamx_defconfig
new file mode 100644
index 0000000..f8f5fa1
--- /dev/null
+++ b/arch/arm/configs/mx51_efikamx_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX51_EFIKAMX=y
diff --git a/arch/arm/configs/mx51_efikasb_defconfig b/arch/arm/configs/mx51_efikasb_defconfig
new file mode 100644
index 0000000..577c22f
--- /dev/null
+++ b/arch/arm/configs/mx51_efikasb_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX51_EFIKASB=y
diff --git a/arch/arm/configs/mx51evk_defconfig b/arch/arm/configs/mx51evk_defconfig
new file mode 100644
index 0000000..fa6d0e9
--- /dev/null
+++ b/arch/arm/configs/mx51evk_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX51EVK=y
diff --git a/arch/arm/configs/mx53ard_defconfig b/arch/arm/configs/mx53ard_defconfig
new file mode 100644
index 0000000..bcf3724
--- /dev/null
+++ b/arch/arm/configs/mx53ard_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX53ARD=y
diff --git a/arch/arm/configs/mx53evk_defconfig b/arch/arm/configs/mx53evk_defconfig
new file mode 100644
index 0000000..68d13b7
--- /dev/null
+++ b/arch/arm/configs/mx53evk_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX53EVK=y
diff --git a/arch/arm/configs/mx53loco_defconfig b/arch/arm/configs/mx53loco_defconfig
new file mode 100644
index 0000000..fea8b07
--- /dev/null
+++ b/arch/arm/configs/mx53loco_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX53LOCO=y
diff --git a/arch/arm/configs/mx53smd_defconfig b/arch/arm/configs/mx53smd_defconfig
new file mode 100644
index 0000000..a35ae05
--- /dev/null
+++ b/arch/arm/configs/mx53smd_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX53SMD=y
diff --git a/arch/arm/configs/mx6dlsabresd_defconfig b/arch/arm/configs/mx6dlsabresd_defconfig
new file mode 100644
index 0000000..f74b6a5
--- /dev/null
+++ b/arch/arm/configs/mx6dlsabresd_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX6DLSABRESD=y
diff --git a/arch/arm/configs/mx6qarm2_defconfig b/arch/arm/configs/mx6qarm2_defconfig
new file mode 100644
index 0000000..2cb19e3
--- /dev/null
+++ b/arch/arm/configs/mx6qarm2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX6QARM2=y
diff --git a/arch/arm/configs/mx6qsabreauto_defconfig b/arch/arm/configs/mx6qsabreauto_defconfig
new file mode 100644
index 0000000..8798856
--- /dev/null
+++ b/arch/arm/configs/mx6qsabreauto_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX6QSABREAUTO=y
diff --git a/arch/arm/configs/mx6qsabrelite_defconfig b/arch/arm/configs/mx6qsabrelite_defconfig
new file mode 100644
index 0000000..195279d
--- /dev/null
+++ b/arch/arm/configs/mx6qsabrelite_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX6QSABRELITE=y
diff --git a/arch/arm/configs/mx6qsabresd_defconfig b/arch/arm/configs/mx6qsabresd_defconfig
new file mode 100644
index 0000000..23bbb30
--- /dev/null
+++ b/arch/arm/configs/mx6qsabresd_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX6QSABRESD=y
diff --git a/arch/arm/configs/mx6slevk_defconfig b/arch/arm/configs/mx6slevk_defconfig
new file mode 100644
index 0000000..5390502
--- /dev/null
+++ b/arch/arm/configs/mx6slevk_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MX6SLEVK=y
diff --git a/arch/arm/configs/net2big_v2_defconfig b/arch/arm/configs/net2big_v2_defconfig
new file mode 100644
index 0000000..d4b1850
--- /dev/null
+++ b/arch/arm/configs/net2big_v2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NET2BIG_V2=y
diff --git a/arch/arm/configs/netspace_lite_v2_defconfig b/arch/arm/configs/netspace_lite_v2_defconfig
new file mode 100644
index 0000000..32605bd
--- /dev/null
+++ b/arch/arm/configs/netspace_lite_v2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETSPACE_LITE_V2=y
diff --git a/arch/arm/configs/netspace_max_v2_defconfig b/arch/arm/configs/netspace_max_v2_defconfig
new file mode 100644
index 0000000..d97897d
--- /dev/null
+++ b/arch/arm/configs/netspace_max_v2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETSPACE_MAX_V2=y
diff --git a/arch/arm/configs/netspace_mini_v2_defconfig b/arch/arm/configs/netspace_mini_v2_defconfig
new file mode 100644
index 0000000..64f5d07
--- /dev/null
+++ b/arch/arm/configs/netspace_mini_v2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETSPACE_MINI_V2=y
diff --git a/arch/arm/configs/netspace_v2_defconfig b/arch/arm/configs/netspace_v2_defconfig
new file mode 100644
index 0000000..cc7e6e7
--- /dev/null
+++ b/arch/arm/configs/netspace_v2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETSPACE_V2=y
diff --git a/arch/arm/configs/nhk8815_defconfig b/arch/arm/configs/nhk8815_defconfig
new file mode 100644
index 0000000..fc3e56d
--- /dev/null
+++ b/arch/arm/configs/nhk8815_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NHK8815=y
diff --git a/arch/arm/configs/nhk8815_onenand_defconfig b/arch/arm/configs/nhk8815_onenand_defconfig
new file mode 100644
index 0000000..307fea7
--- /dev/null
+++ b/arch/arm/configs/nhk8815_onenand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NHK8815_ONENAND=y
diff --git a/arch/arm/configs/nitrogen6dl2g_defconfig b/arch/arm/configs/nitrogen6dl2g_defconfig
new file mode 100644
index 0000000..50a5cbf
--- /dev/null
+++ b/arch/arm/configs/nitrogen6dl2g_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NITROGEN6DL2G=y
diff --git a/arch/arm/configs/nitrogen6dl_defconfig b/arch/arm/configs/nitrogen6dl_defconfig
new file mode 100644
index 0000000..ea1b491
--- /dev/null
+++ b/arch/arm/configs/nitrogen6dl_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NITROGEN6DL=y
diff --git a/arch/arm/configs/nitrogen6q2g_defconfig b/arch/arm/configs/nitrogen6q2g_defconfig
new file mode 100644
index 0000000..48fbd1a
--- /dev/null
+++ b/arch/arm/configs/nitrogen6q2g_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NITROGEN6Q2G=y
diff --git a/arch/arm/configs/nitrogen6q_defconfig b/arch/arm/configs/nitrogen6q_defconfig
new file mode 100644
index 0000000..e80878a
--- /dev/null
+++ b/arch/arm/configs/nitrogen6q_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NITROGEN6Q=y
diff --git a/arch/arm/configs/nitrogen6s1g_defconfig b/arch/arm/configs/nitrogen6s1g_defconfig
new file mode 100644
index 0000000..daaea6e
--- /dev/null
+++ b/arch/arm/configs/nitrogen6s1g_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NITROGEN6S1G=y
diff --git a/arch/arm/configs/nitrogen6s_defconfig b/arch/arm/configs/nitrogen6s_defconfig
new file mode 100644
index 0000000..a402dd1
--- /dev/null
+++ b/arch/arm/configs/nitrogen6s_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NITROGEN6S=y
diff --git a/arch/arm/configs/nokia_rx51_defconfig b/arch/arm/configs/nokia_rx51_defconfig
new file mode 100644
index 0000000..f8ca49f
--- /dev/null
+++ b/arch/arm/configs/nokia_rx51_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NOKIA_RX51=y
diff --git a/arch/arm/configs/omap3_beagle_defconfig b/arch/arm/configs/omap3_beagle_defconfig
new file mode 100644
index 0000000..1e5296f
--- /dev/null
+++ b/arch/arm/configs/omap3_beagle_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_OMAP3_BEAGLE=y
diff --git a/arch/arm/configs/omap3_evm_defconfig b/arch/arm/configs/omap3_evm_defconfig
new file mode 100644
index 0000000..9f10632
--- /dev/null
+++ b/arch/arm/configs/omap3_evm_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_OMAP3_EVM=y
diff --git a/arch/arm/configs/omap3_evm_quick_mmc_defconfig b/arch/arm/configs/omap3_evm_quick_mmc_defconfig
new file mode 100644
index 0000000..93d1ef6
--- /dev/null
+++ b/arch/arm/configs/omap3_evm_quick_mmc_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_OMAP3_EVM_QUICK_MMC=y
diff --git a/arch/arm/configs/omap3_evm_quick_nand_defconfig b/arch/arm/configs/omap3_evm_quick_nand_defconfig
new file mode 100644
index 0000000..cfe63f8
--- /dev/null
+++ b/arch/arm/configs/omap3_evm_quick_nand_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_OMAP3_EVM_QUICK_NAND=y
diff --git a/arch/arm/configs/omap3_ha_defconfig b/arch/arm/configs/omap3_ha_defconfig
new file mode 100644
index 0000000..8797611
--- /dev/null
+++ b/arch/arm/configs/omap3_ha_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_OMAP3_HA=y
diff --git a/arch/arm/configs/omap3_logic_defconfig b/arch/arm/configs/omap3_logic_defconfig
new file mode 100644
index 0000000..fc423b2
--- /dev/null
+++ b/arch/arm/configs/omap3_logic_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OMAP3_LOGIC=y
diff --git a/arch/arm/configs/omap3_mvblx_defconfig b/arch/arm/configs/omap3_mvblx_defconfig
new file mode 100644
index 0000000..e283982
--- /dev/null
+++ b/arch/arm/configs/omap3_mvblx_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OMAP3_MVBLX=y
diff --git a/arch/arm/configs/omap3_overo_defconfig b/arch/arm/configs/omap3_overo_defconfig
new file mode 100644
index 0000000..ba15f5c
--- /dev/null
+++ b/arch/arm/configs/omap3_overo_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_OMAP3_OVERO=y
diff --git a/arch/arm/configs/omap3_pandora_defconfig b/arch/arm/configs/omap3_pandora_defconfig
new file mode 100644
index 0000000..9e09b39
--- /dev/null
+++ b/arch/arm/configs/omap3_pandora_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OMAP3_PANDORA=y
diff --git a/arch/arm/configs/omap3_sdp3430_defconfig b/arch/arm/configs/omap3_sdp3430_defconfig
new file mode 100644
index 0000000..955912b
--- /dev/null
+++ b/arch/arm/configs/omap3_sdp3430_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OMAP3_SDP3430=y
diff --git a/arch/arm/configs/omap3_zoom1_defconfig b/arch/arm/configs/omap3_zoom1_defconfig
new file mode 100644
index 0000000..78ca486
--- /dev/null
+++ b/arch/arm/configs/omap3_zoom1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OMAP3_ZOOM1=y
diff --git a/arch/arm/configs/omap4_panda_defconfig b/arch/arm/configs/omap4_panda_defconfig
new file mode 100644
index 0000000..c736c23
--- /dev/null
+++ b/arch/arm/configs/omap4_panda_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_OMAP4_PANDA=y
diff --git a/arch/arm/configs/omap4_sdp4430_defconfig b/arch/arm/configs/omap4_sdp4430_defconfig
new file mode 100644
index 0000000..38a1d02
--- /dev/null
+++ b/arch/arm/configs/omap4_sdp4430_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_OMAP4_SDP4430=y
diff --git a/arch/arm/configs/omap5912osk_defconfig b/arch/arm/configs/omap5912osk_defconfig
new file mode 100644
index 0000000..b9f5071
--- /dev/null
+++ b/arch/arm/configs/omap5912osk_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OMAP5912OSK=y
diff --git a/arch/arm/configs/omap5_uevm_defconfig b/arch/arm/configs/omap5_uevm_defconfig
new file mode 100644
index 0000000..5380de5
--- /dev/null
+++ b/arch/arm/configs/omap5_uevm_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_OMAP5_UEVM=y
diff --git a/arch/arm/configs/openrd_base_defconfig b/arch/arm/configs/openrd_base_defconfig
new file mode 100644
index 0000000..6bd0e89
--- /dev/null
+++ b/arch/arm/configs/openrd_base_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OPENRD_BASE=y
diff --git a/arch/arm/configs/openrd_client_defconfig b/arch/arm/configs/openrd_client_defconfig
new file mode 100644
index 0000000..e0b6169
--- /dev/null
+++ b/arch/arm/configs/openrd_client_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OPENRD_CLIENT=y
diff --git a/arch/arm/configs/openrd_ultimate_defconfig b/arch/arm/configs/openrd_ultimate_defconfig
new file mode 100644
index 0000000..ad4b279
--- /dev/null
+++ b/arch/arm/configs/openrd_ultimate_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OPENRD_ULTIMATE=y
diff --git a/arch/arm/configs/origen_defconfig b/arch/arm/configs/origen_defconfig
new file mode 100644
index 0000000..0c3b73b
--- /dev/null
+++ b/arch/arm/configs/origen_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_ORIGEN=y
diff --git a/arch/arm/configs/otc570_dataflash_defconfig b/arch/arm/configs/otc570_dataflash_defconfig
new file mode 100644
index 0000000..362d6c2
--- /dev/null
+++ b/arch/arm/configs/otc570_dataflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OTC570_DATAFLASH=y
diff --git a/arch/arm/configs/otc570_defconfig b/arch/arm/configs/otc570_defconfig
new file mode 100644
index 0000000..9515077
--- /dev/null
+++ b/arch/arm/configs/otc570_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OTC570=y
diff --git a/arch/arm/configs/palmld_defconfig b/arch/arm/configs/palmld_defconfig
new file mode 100644
index 0000000..d57a550
--- /dev/null
+++ b/arch/arm/configs/palmld_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PALMLD=y
diff --git a/arch/arm/configs/palmtc_defconfig b/arch/arm/configs/palmtc_defconfig
new file mode 100644
index 0000000..75d8475
--- /dev/null
+++ b/arch/arm/configs/palmtc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PALMTC=y
diff --git a/arch/arm/configs/palmtreo680_defconfig b/arch/arm/configs/palmtreo680_defconfig
new file mode 100644
index 0000000..51d1d81
--- /dev/null
+++ b/arch/arm/configs/palmtreo680_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_PALMTREO680=y
diff --git a/arch/arm/configs/paz00_defconfig b/arch/arm/configs/paz00_defconfig
new file mode 100644
index 0000000..537c03f
--- /dev/null
+++ b/arch/arm/configs/paz00_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_PAZ00=y
diff --git a/arch/arm/configs/pcm051_rev1_defconfig b/arch/arm/configs/pcm051_rev1_defconfig
new file mode 100644
index 0000000..d8833c2
--- /dev/null
+++ b/arch/arm/configs/pcm051_rev1_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_PCM051_REV1=y
diff --git a/arch/arm/configs/pcm051_rev3_defconfig b/arch/arm/configs/pcm051_rev3_defconfig
new file mode 100644
index 0000000..163cb8a
--- /dev/null
+++ b/arch/arm/configs/pcm051_rev3_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_PCM051_REV3=y
diff --git a/arch/arm/configs/pengwyn_defconfig b/arch/arm/configs/pengwyn_defconfig
new file mode 100644
index 0000000..f9c9be5
--- /dev/null
+++ b/arch/arm/configs/pengwyn_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_PENGWYN=y
diff --git a/arch/arm/configs/pepper_defconfig b/arch/arm/configs/pepper_defconfig
new file mode 100644
index 0000000..466e0d5
--- /dev/null
+++ b/arch/arm/configs/pepper_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_PEPPER=y
diff --git a/arch/arm/configs/plutux_defconfig b/arch/arm/configs/plutux_defconfig
new file mode 100644
index 0000000..5e0bd38
--- /dev/null
+++ b/arch/arm/configs/plutux_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_PLUTUX=y
diff --git a/arch/arm/configs/pm9261_defconfig b/arch/arm/configs/pm9261_defconfig
new file mode 100644
index 0000000..120a8a0
--- /dev/null
+++ b/arch/arm/configs/pm9261_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM9261=y
diff --git a/arch/arm/configs/pm9263_defconfig b/arch/arm/configs/pm9263_defconfig
new file mode 100644
index 0000000..226f599
--- /dev/null
+++ b/arch/arm/configs/pm9263_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM9263=y
diff --git a/arch/arm/configs/pm9g45_defconfig b/arch/arm/configs/pm9g45_defconfig
new file mode 100644
index 0000000..edab583
--- /dev/null
+++ b/arch/arm/configs/pm9g45_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM9G45=y
diff --git a/arch/arm/configs/pogo_e02_defconfig b/arch/arm/configs/pogo_e02_defconfig
new file mode 100644
index 0000000..4bee39c
--- /dev/null
+++ b/arch/arm/configs/pogo_e02_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_POGO_E02=y
diff --git a/arch/arm/configs/polaris_defconfig b/arch/arm/configs/polaris_defconfig
new file mode 100644
index 0000000..c29e4a7
--- /dev/null
+++ b/arch/arm/configs/polaris_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_POLARIS=y
diff --git a/arch/arm/configs/portl2_defconfig b/arch/arm/configs/portl2_defconfig
new file mode 100644
index 0000000..aea4146
--- /dev/null
+++ b/arch/arm/configs/portl2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PORTL2=y
diff --git a/arch/arm/configs/portuxg20_defconfig b/arch/arm/configs/portuxg20_defconfig
new file mode 100644
index 0000000..7034463
--- /dev/null
+++ b/arch/arm/configs/portuxg20_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PORTUXG20=y
diff --git a/arch/arm/configs/pxa255_idp_defconfig b/arch/arm/configs/pxa255_idp_defconfig
new file mode 100644
index 0000000..515b90d
--- /dev/null
+++ b/arch/arm/configs/pxa255_idp_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PXA255_IDP=y
diff --git a/arch/arm/configs/pxm2_defconfig b/arch/arm/configs/pxm2_defconfig
new file mode 100644
index 0000000..72da446
--- /dev/null
+++ b/arch/arm/configs/pxm2_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_PXM2=y
diff --git a/arch/arm/configs/qong_defconfig b/arch/arm/configs/qong_defconfig
new file mode 100644
index 0000000..f8e2bf3
--- /dev/null
+++ b/arch/arm/configs/qong_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QONG=y
diff --git a/arch/arm/configs/rd6281a_defconfig b/arch/arm/configs/rd6281a_defconfig
new file mode 100644
index 0000000..642349a
--- /dev/null
+++ b/arch/arm/configs/rd6281a_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RD6281A=y
diff --git a/arch/arm/configs/riotboard_defconfig b/arch/arm/configs/riotboard_defconfig
new file mode 100644
index 0000000..3a7c6eb
--- /dev/null
+++ b/arch/arm/configs/riotboard_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RIOTBOARD=y
diff --git a/arch/arm/configs/rpi_b_defconfig b/arch/arm/configs/rpi_b_defconfig
new file mode 100644
index 0000000..fc69123
--- /dev/null
+++ b/arch/arm/configs/rpi_b_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RPI_B=y
diff --git a/arch/arm/configs/rut_defconfig b/arch/arm/configs/rut_defconfig
new file mode 100644
index 0000000..f710c4a
--- /dev/null
+++ b/arch/arm/configs/rut_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_RUT=y
diff --git a/arch/arm/configs/s5p_goni_defconfig b/arch/arm/configs/s5p_goni_defconfig
new file mode 100644
index 0000000..d8891b5
--- /dev/null
+++ b/arch/arm/configs/s5p_goni_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_S5P_GONI=y
diff --git a/arch/arm/configs/s5pc210_universal_defconfig b/arch/arm/configs/s5pc210_universal_defconfig
new file mode 100644
index 0000000..06155fe
--- /dev/null
+++ b/arch/arm/configs/s5pc210_universal_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_S5PC210_UNIVERSAL=y
diff --git a/arch/arm/configs/sama5d3_xplained_mmc_defconfig b/arch/arm/configs/sama5d3_xplained_mmc_defconfig
new file mode 100644
index 0000000..42175d7
--- /dev/null
+++ b/arch/arm/configs/sama5d3_xplained_mmc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SAMA5D3_XPLAINED_MMC=y
diff --git a/arch/arm/configs/sama5d3_xplained_nandflash_defconfig b/arch/arm/configs/sama5d3_xplained_nandflash_defconfig
new file mode 100644
index 0000000..0443ee2
--- /dev/null
+++ b/arch/arm/configs/sama5d3_xplained_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SAMA5D3_XPLAINED_NANDFLASH=y
diff --git a/arch/arm/configs/sama5d3xek_mmc_defconfig b/arch/arm/configs/sama5d3xek_mmc_defconfig
new file mode 100644
index 0000000..55543a7
--- /dev/null
+++ b/arch/arm/configs/sama5d3xek_mmc_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SAMA5D3XEK_MMC=y
diff --git a/arch/arm/configs/sama5d3xek_nandflash_defconfig b/arch/arm/configs/sama5d3xek_nandflash_defconfig
new file mode 100644
index 0000000..870f3b0
--- /dev/null
+++ b/arch/arm/configs/sama5d3xek_nandflash_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SAMA5D3XEK_NANDFLASH=y
diff --git a/arch/arm/configs/sama5d3xek_spiflash_defconfig b/arch/arm/configs/sama5d3xek_spiflash_defconfig
new file mode 100644
index 0000000..20d8998
--- /dev/null
+++ b/arch/arm/configs/sama5d3xek_spiflash_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SAMA5D3XEK_SPIFLASH=y
diff --git a/arch/arm/configs/sansa_fuze_plus_defconfig b/arch/arm/configs/sansa_fuze_plus_defconfig
new file mode 100644
index 0000000..83a8cbc
--- /dev/null
+++ b/arch/arm/configs/sansa_fuze_plus_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SANSA_FUZE_PLUS=y
diff --git a/arch/arm/configs/sbc35_a9g20_eeprom_defconfig b/arch/arm/configs/sbc35_a9g20_eeprom_defconfig
new file mode 100644
index 0000000..609de8b
--- /dev/null
+++ b/arch/arm/configs/sbc35_a9g20_eeprom_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC35_A9G20_EEPROM=y
diff --git a/arch/arm/configs/sbc35_a9g20_nandflash_defconfig b/arch/arm/configs/sbc35_a9g20_nandflash_defconfig
new file mode 100644
index 0000000..4cdec64
--- /dev/null
+++ b/arch/arm/configs/sbc35_a9g20_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC35_A9G20_NANDFLASH=y
diff --git a/arch/arm/configs/sc_sps_1_defconfig b/arch/arm/configs/sc_sps_1_defconfig
new file mode 100644
index 0000000..41bd28d
--- /dev/null
+++ b/arch/arm/configs/sc_sps_1_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SC_SPS_1=y
diff --git a/arch/arm/configs/scb9328_defconfig b/arch/arm/configs/scb9328_defconfig
new file mode 100644
index 0000000..2110d3e
--- /dev/null
+++ b/arch/arm/configs/scb9328_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SCB9328=y
diff --git a/arch/arm/configs/seaboard_defconfig b/arch/arm/configs/seaboard_defconfig
new file mode 100644
index 0000000..73a22f9
--- /dev/null
+++ b/arch/arm/configs/seaboard_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SEABOARD=y
diff --git a/arch/arm/configs/sheevaplug_defconfig b/arch/arm/configs/sheevaplug_defconfig
new file mode 100644
index 0000000..3c25ffc
--- /dev/null
+++ b/arch/arm/configs/sheevaplug_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SHEEVAPLUG=y
diff --git a/arch/arm/configs/smdk2410_defconfig b/arch/arm/configs/smdk2410_defconfig
new file mode 100644
index 0000000..43f61fd
--- /dev/null
+++ b/arch/arm/configs/smdk2410_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SMDK2410=y
diff --git a/arch/arm/configs/smdk5250_defconfig b/arch/arm/configs/smdk5250_defconfig
new file mode 100644
index 0000000..81363ff
--- /dev/null
+++ b/arch/arm/configs/smdk5250_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SMDK5250=y
diff --git a/arch/arm/configs/smdk5420_defconfig b/arch/arm/configs/smdk5420_defconfig
new file mode 100644
index 0000000..0c3b08a
--- /dev/null
+++ b/arch/arm/configs/smdk5420_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SMDK5420=y
diff --git a/arch/arm/configs/smdkc100_defconfig b/arch/arm/configs/smdkc100_defconfig
new file mode 100644
index 0000000..5f8d13b
--- /dev/null
+++ b/arch/arm/configs/smdkc100_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SMDKC100=y
diff --git a/arch/arm/configs/smdkv310_defconfig b/arch/arm/configs/smdkv310_defconfig
new file mode 100644
index 0000000..4ead289
--- /dev/null
+++ b/arch/arm/configs/smdkv310_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SMDKV310=y
diff --git a/arch/arm/configs/snapper9260_defconfig b/arch/arm/configs/snapper9260_defconfig
new file mode 100644
index 0000000..4336b24
--- /dev/null
+++ b/arch/arm/configs/snapper9260_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SNAPPER9260=y
diff --git a/arch/arm/configs/snapper9g20_defconfig b/arch/arm/configs/snapper9g20_defconfig
new file mode 100644
index 0000000..3a74ae9
--- /dev/null
+++ b/arch/arm/configs/snapper9g20_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SNAPPER9G20=y
diff --git a/arch/arm/configs/snow_defconfig b/arch/arm/configs/snow_defconfig
new file mode 100644
index 0000000..6f0e0bb
--- /dev/null
+++ b/arch/arm/configs/snow_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SNOW=y
diff --git a/arch/arm/configs/snowball_defconfig b/arch/arm/configs/snowball_defconfig
new file mode 100644
index 0000000..84182b1
--- /dev/null
+++ b/arch/arm/configs/snowball_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SNOWBALL=y
diff --git a/arch/arm/configs/socfpga_cyclone5_defconfig b/arch/arm/configs/socfpga_cyclone5_defconfig
new file mode 100644
index 0000000..c8686ec
--- /dev/null
+++ b/arch/arm/configs/socfpga_cyclone5_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_SOCFPGA_CYCLONE5=y
diff --git a/arch/arm/configs/spear300_defconfig b/arch/arm/configs/spear300_defconfig
new file mode 100644
index 0000000..459e683
--- /dev/null
+++ b/arch/arm/configs/spear300_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR300=y
diff --git a/arch/arm/configs/spear300_nand_defconfig b/arch/arm/configs/spear300_nand_defconfig
new file mode 100644
index 0000000..d05431d
--- /dev/null
+++ b/arch/arm/configs/spear300_nand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR300_NAND=y
diff --git a/arch/arm/configs/spear300_usbtty_defconfig b/arch/arm/configs/spear300_usbtty_defconfig
new file mode 100644
index 0000000..efac3a4
--- /dev/null
+++ b/arch/arm/configs/spear300_usbtty_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR300_USBTTY=y
diff --git a/arch/arm/configs/spear300_usbtty_nand_defconfig b/arch/arm/configs/spear300_usbtty_nand_defconfig
new file mode 100644
index 0000000..8aaff80
--- /dev/null
+++ b/arch/arm/configs/spear300_usbtty_nand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR300_USBTTY_NAND=y
diff --git a/arch/arm/configs/spear310_defconfig b/arch/arm/configs/spear310_defconfig
new file mode 100644
index 0000000..d9bed5d
--- /dev/null
+++ b/arch/arm/configs/spear310_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR310=y
diff --git a/arch/arm/configs/spear310_nand_defconfig b/arch/arm/configs/spear310_nand_defconfig
new file mode 100644
index 0000000..bcb9263
--- /dev/null
+++ b/arch/arm/configs/spear310_nand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR310_NAND=y
diff --git a/arch/arm/configs/spear310_pnor_defconfig b/arch/arm/configs/spear310_pnor_defconfig
new file mode 100644
index 0000000..9cfe992
--- /dev/null
+++ b/arch/arm/configs/spear310_pnor_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR310_PNOR=y
diff --git a/arch/arm/configs/spear310_usbtty_defconfig b/arch/arm/configs/spear310_usbtty_defconfig
new file mode 100644
index 0000000..e30ea5f
--- /dev/null
+++ b/arch/arm/configs/spear310_usbtty_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR310_USBTTY=y
diff --git a/arch/arm/configs/spear310_usbtty_nand_defconfig b/arch/arm/configs/spear310_usbtty_nand_defconfig
new file mode 100644
index 0000000..b8a208a
--- /dev/null
+++ b/arch/arm/configs/spear310_usbtty_nand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR310_USBTTY_NAND=y
diff --git a/arch/arm/configs/spear310_usbtty_pnor_defconfig b/arch/arm/configs/spear310_usbtty_pnor_defconfig
new file mode 100644
index 0000000..d54c87a
--- /dev/null
+++ b/arch/arm/configs/spear310_usbtty_pnor_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR310_USBTTY_PNOR=y
diff --git a/arch/arm/configs/spear320_defconfig b/arch/arm/configs/spear320_defconfig
new file mode 100644
index 0000000..674bdba
--- /dev/null
+++ b/arch/arm/configs/spear320_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR320=y
diff --git a/arch/arm/configs/spear320_nand_defconfig b/arch/arm/configs/spear320_nand_defconfig
new file mode 100644
index 0000000..8c96a22
--- /dev/null
+++ b/arch/arm/configs/spear320_nand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR320_NAND=y
diff --git a/arch/arm/configs/spear320_pnor_defconfig b/arch/arm/configs/spear320_pnor_defconfig
new file mode 100644
index 0000000..383a9e8
--- /dev/null
+++ b/arch/arm/configs/spear320_pnor_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR320_PNOR=y
diff --git a/arch/arm/configs/spear320_usbtty_defconfig b/arch/arm/configs/spear320_usbtty_defconfig
new file mode 100644
index 0000000..23f46f2
--- /dev/null
+++ b/arch/arm/configs/spear320_usbtty_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR320_USBTTY=y
diff --git a/arch/arm/configs/spear320_usbtty_nand_defconfig b/arch/arm/configs/spear320_usbtty_nand_defconfig
new file mode 100644
index 0000000..6ff08eb
--- /dev/null
+++ b/arch/arm/configs/spear320_usbtty_nand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR320_USBTTY_NAND=y
diff --git a/arch/arm/configs/spear320_usbtty_pnor_defconfig b/arch/arm/configs/spear320_usbtty_pnor_defconfig
new file mode 100644
index 0000000..bc45e75
--- /dev/null
+++ b/arch/arm/configs/spear320_usbtty_pnor_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR320_USBTTY_PNOR=y
diff --git a/arch/arm/configs/spear600_defconfig b/arch/arm/configs/spear600_defconfig
new file mode 100644
index 0000000..902f325
--- /dev/null
+++ b/arch/arm/configs/spear600_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR600=y
diff --git a/arch/arm/configs/spear600_nand_defconfig b/arch/arm/configs/spear600_nand_defconfig
new file mode 100644
index 0000000..9443fc9
--- /dev/null
+++ b/arch/arm/configs/spear600_nand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR600_NAND=y
diff --git a/arch/arm/configs/spear600_usbtty_defconfig b/arch/arm/configs/spear600_usbtty_defconfig
new file mode 100644
index 0000000..84a8520
--- /dev/null
+++ b/arch/arm/configs/spear600_usbtty_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR600_USBTTY=y
diff --git a/arch/arm/configs/spear600_usbtty_nand_defconfig b/arch/arm/configs/spear600_usbtty_nand_defconfig
new file mode 100644
index 0000000..6947695
--- /dev/null
+++ b/arch/arm/configs/spear600_usbtty_nand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPEAR600_USBTTY_NAND=y
diff --git a/arch/arm/configs/stamp9g20_defconfig b/arch/arm/configs/stamp9g20_defconfig
new file mode 100644
index 0000000..92d2fca
--- /dev/null
+++ b/arch/arm/configs/stamp9g20_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_STAMP9G20=y
diff --git a/arch/arm/configs/tao3530_defconfig b/arch/arm/configs/tao3530_defconfig
new file mode 100644
index 0000000..8726fc5
--- /dev/null
+++ b/arch/arm/configs/tao3530_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TAO3530=y
diff --git a/arch/arm/configs/taurus_defconfig b/arch/arm/configs/taurus_defconfig
new file mode 100644
index 0000000..37c4160
--- /dev/null
+++ b/arch/arm/configs/taurus_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TAURUS=y
diff --git a/arch/arm/configs/tec-ng_defconfig b/arch/arm/configs/tec-ng_defconfig
new file mode 100644
index 0000000..943f3b1
--- /dev/null
+++ b/arch/arm/configs/tec-ng_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TEC_NG=y
diff --git a/arch/arm/configs/tec_defconfig b/arch/arm/configs/tec_defconfig
new file mode 100644
index 0000000..b17d4b7
--- /dev/null
+++ b/arch/arm/configs/tec_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TEC=y
diff --git a/arch/arm/configs/ti814x_evm_defconfig b/arch/arm/configs/ti814x_evm_defconfig
new file mode 100644
index 0000000..39bf779
--- /dev/null
+++ b/arch/arm/configs/ti814x_evm_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TI814X_EVM=y
diff --git a/arch/arm/configs/ti816x_evm_defconfig b/arch/arm/configs/ti816x_evm_defconfig
new file mode 100644
index 0000000..0290c28
--- /dev/null
+++ b/arch/arm/configs/ti816x_evm_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TI816X_EVM=y
diff --git a/arch/arm/configs/titanium_defconfig b/arch/arm/configs/titanium_defconfig
new file mode 100644
index 0000000..0488041
--- /dev/null
+++ b/arch/arm/configs/titanium_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TITANIUM=y
diff --git a/arch/arm/configs/tk71_defconfig b/arch/arm/configs/tk71_defconfig
new file mode 100644
index 0000000..65fe8f0
--- /dev/null
+++ b/arch/arm/configs/tk71_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TK71=y
diff --git a/arch/arm/configs/tnetv107x_evm_defconfig b/arch/arm/configs/tnetv107x_evm_defconfig
new file mode 100644
index 0000000..364bfb4
--- /dev/null
+++ b/arch/arm/configs/tnetv107x_evm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TNETV107X_EVM=y
diff --git a/arch/arm/configs/tny_a9260_eeprom_defconfig b/arch/arm/configs/tny_a9260_eeprom_defconfig
new file mode 100644
index 0000000..7b10db5
--- /dev/null
+++ b/arch/arm/configs/tny_a9260_eeprom_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TNY_A9260_EEPROM=y
diff --git a/arch/arm/configs/tny_a9260_nandflash_defconfig b/arch/arm/configs/tny_a9260_nandflash_defconfig
new file mode 100644
index 0000000..dd82e20
--- /dev/null
+++ b/arch/arm/configs/tny_a9260_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TNY_A9260_NANDFLASH=y
diff --git a/arch/arm/configs/tny_a9g20_eeprom_defconfig b/arch/arm/configs/tny_a9g20_eeprom_defconfig
new file mode 100644
index 0000000..51e7bf7
--- /dev/null
+++ b/arch/arm/configs/tny_a9g20_eeprom_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TNY_A9G20_EEPROM=y
diff --git a/arch/arm/configs/tny_a9g20_nandflash_defconfig b/arch/arm/configs/tny_a9g20_nandflash_defconfig
new file mode 100644
index 0000000..6a6edc6
--- /dev/null
+++ b/arch/arm/configs/tny_a9g20_nandflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TNY_A9G20_NANDFLASH=y
diff --git a/arch/arm/configs/top9000eval_xe_defconfig b/arch/arm/configs/top9000eval_xe_defconfig
new file mode 100644
index 0000000..1e17cf1
--- /dev/null
+++ b/arch/arm/configs/top9000eval_xe_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TOP9000EVAL_XE=y
diff --git a/arch/arm/configs/top9000su_xe_defconfig b/arch/arm/configs/top9000su_xe_defconfig
new file mode 100644
index 0000000..077907b
--- /dev/null
+++ b/arch/arm/configs/top9000su_xe_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TOP9000SU_XE=y
diff --git a/arch/arm/configs/trats2_defconfig b/arch/arm/configs/trats2_defconfig
new file mode 100644
index 0000000..29a0a40
--- /dev/null
+++ b/arch/arm/configs/trats2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TRATS2=y
diff --git a/arch/arm/configs/trats_defconfig b/arch/arm/configs/trats_defconfig
new file mode 100644
index 0000000..bd8c844
--- /dev/null
+++ b/arch/arm/configs/trats_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TRATS=y
diff --git a/arch/arm/configs/tricorder_defconfig b/arch/arm/configs/tricorder_defconfig
new file mode 100644
index 0000000..23bac46
--- /dev/null
+++ b/arch/arm/configs/tricorder_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TRICORDER=y
diff --git a/arch/arm/configs/tricorder_flash_defconfig b/arch/arm/configs/tricorder_flash_defconfig
new file mode 100644
index 0000000..75c6d18
--- /dev/null
+++ b/arch/arm/configs/tricorder_flash_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TRICORDER_FLASH=y
diff --git a/arch/arm/configs/trimslice_defconfig b/arch/arm/configs/trimslice_defconfig
new file mode 100644
index 0000000..b801bcb
--- /dev/null
+++ b/arch/arm/configs/trimslice_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TRIMSLICE=y
diff --git a/arch/arm/configs/trizepsiv_defconfig b/arch/arm/configs/trizepsiv_defconfig
new file mode 100644
index 0000000..dcd0a4b
--- /dev/null
+++ b/arch/arm/configs/trizepsiv_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TRIZEPSIV=y
diff --git a/arch/arm/configs/tseries_mmc_defconfig b/arch/arm/configs/tseries_mmc_defconfig
new file mode 100644
index 0000000..3c08890
--- /dev/null
+++ b/arch/arm/configs/tseries_mmc_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TSERIES_MMC=y
diff --git a/arch/arm/configs/tseries_nand_defconfig b/arch/arm/configs/tseries_nand_defconfig
new file mode 100644
index 0000000..aa02987
--- /dev/null
+++ b/arch/arm/configs/tseries_nand_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TSERIES_NAND=y
diff --git a/arch/arm/configs/tseries_spi_defconfig b/arch/arm/configs/tseries_spi_defconfig
new file mode 100644
index 0000000..5020db2
--- /dev/null
+++ b/arch/arm/configs/tseries_spi_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TSERIES_SPI=y
diff --git a/arch/arm/configs/tt01_defconfig b/arch/arm/configs/tt01_defconfig
new file mode 100644
index 0000000..fd4adae
--- /dev/null
+++ b/arch/arm/configs/tt01_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TT01=y
diff --git a/arch/arm/configs/twister_defconfig b/arch/arm/configs/twister_defconfig
new file mode 100644
index 0000000..a07a729
--- /dev/null
+++ b/arch/arm/configs/twister_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TWISTER=y
diff --git a/arch/arm/configs/tx25_defconfig b/arch/arm/configs/tx25_defconfig
new file mode 100644
index 0000000..064fc80
--- /dev/null
+++ b/arch/arm/configs/tx25_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_TX25=y
diff --git a/arch/arm/configs/u8500_href_defconfig b/arch/arm/configs/u8500_href_defconfig
new file mode 100644
index 0000000..a76886c
--- /dev/null
+++ b/arch/arm/configs/u8500_href_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_U8500_HREF=y
diff --git a/arch/arm/configs/udoo_quad_defconfig b/arch/arm/configs/udoo_quad_defconfig
new file mode 100644
index 0000000..4642ed5
--- /dev/null
+++ b/arch/arm/configs/udoo_quad_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_UDOO_QUAD=y
diff --git a/arch/arm/configs/usb_a9263_dataflash_defconfig b/arch/arm/configs/usb_a9263_dataflash_defconfig
new file mode 100644
index 0000000..a010201
--- /dev/null
+++ b/arch/arm/configs/usb_a9263_dataflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_USB_A9263_DATAFLASH=y
diff --git a/arch/arm/configs/venice2_defconfig b/arch/arm/configs/venice2_defconfig
new file mode 100644
index 0000000..514b399
--- /dev/null
+++ b/arch/arm/configs/venice2_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_VENICE2=y
diff --git a/arch/arm/configs/ventana_defconfig b/arch/arm/configs/ventana_defconfig
new file mode 100644
index 0000000..3163069
--- /dev/null
+++ b/arch/arm/configs/ventana_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_VENTANA=y
diff --git a/arch/arm/configs/versatileab_defconfig b/arch/arm/configs/versatileab_defconfig
new file mode 100644
index 0000000..08e166a
--- /dev/null
+++ b/arch/arm/configs/versatileab_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VERSATILEAB=y
diff --git a/arch/arm/configs/versatilepb_defconfig b/arch/arm/configs/versatilepb_defconfig
new file mode 100644
index 0000000..47377fd
--- /dev/null
+++ b/arch/arm/configs/versatilepb_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VERSATILEPB=y
diff --git a/arch/arm/configs/versatileqemu_defconfig b/arch/arm/configs/versatileqemu_defconfig
new file mode 100644
index 0000000..6cdcb8a
--- /dev/null
+++ b/arch/arm/configs/versatileqemu_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VERSATILEQEMU=y
diff --git a/arch/arm/configs/vexpress_aemv8a_defconfig b/arch/arm/configs/vexpress_aemv8a_defconfig
new file mode 100644
index 0000000..b96d896
--- /dev/null
+++ b/arch/arm/configs/vexpress_aemv8a_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VEXPRESS_AEMV8A=y
diff --git a/arch/arm/configs/vexpress_ca15_tc2_defconfig b/arch/arm/configs/vexpress_ca15_tc2_defconfig
new file mode 100644
index 0000000..b1202a1
--- /dev/null
+++ b/arch/arm/configs/vexpress_ca15_tc2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VEXPRESS_CA15_TC2=y
diff --git a/arch/arm/configs/vexpress_ca5x2_defconfig b/arch/arm/configs/vexpress_ca5x2_defconfig
new file mode 100644
index 0000000..8c0c027
--- /dev/null
+++ b/arch/arm/configs/vexpress_ca5x2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VEXPRESS_CA5X2=y
diff --git a/arch/arm/configs/vexpress_ca9x4_defconfig b/arch/arm/configs/vexpress_ca9x4_defconfig
new file mode 100644
index 0000000..6f8d81f
--- /dev/null
+++ b/arch/arm/configs/vexpress_ca9x4_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VEXPRESS_CA9X4=y
diff --git a/arch/arm/configs/vf610twr_defconfig b/arch/arm/configs/vf610twr_defconfig
new file mode 100644
index 0000000..e23dc40
--- /dev/null
+++ b/arch/arm/configs/vf610twr_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VF610TWR=y
diff --git a/arch/arm/configs/vision2_defconfig b/arch/arm/configs/vision2_defconfig
new file mode 100644
index 0000000..7f4f0d9
--- /dev/null
+++ b/arch/arm/configs/vision2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VISION2=y
diff --git a/arch/arm/configs/vl_ma2sc_defconfig b/arch/arm/configs/vl_ma2sc_defconfig
new file mode 100644
index 0000000..7bd0499
--- /dev/null
+++ b/arch/arm/configs/vl_ma2sc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VL_MA2SC=y
diff --git a/arch/arm/configs/vl_ma2sc_ram_defconfig b/arch/arm/configs/vl_ma2sc_ram_defconfig
new file mode 100644
index 0000000..28ca4a2
--- /dev/null
+++ b/arch/arm/configs/vl_ma2sc_ram_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VL_MA2SC_RAM=y
diff --git a/arch/arm/configs/vpac270_nor_128_defconfig b/arch/arm/configs/vpac270_nor_128_defconfig
new file mode 100644
index 0000000..3cae0fa
--- /dev/null
+++ b/arch/arm/configs/vpac270_nor_128_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VPAC270_NOR_128=y
diff --git a/arch/arm/configs/vpac270_nor_256_defconfig b/arch/arm/configs/vpac270_nor_256_defconfig
new file mode 100644
index 0000000..309d293
--- /dev/null
+++ b/arch/arm/configs/vpac270_nor_256_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VPAC270_NOR_256=y
diff --git a/arch/arm/configs/vpac270_ond_256_defconfig b/arch/arm/configs/vpac270_ond_256_defconfig
new file mode 100644
index 0000000..8fa1e47
--- /dev/null
+++ b/arch/arm/configs/vpac270_ond_256_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_VPAC270_OND_256=y
diff --git a/arch/arm/configs/wandboard_dl_defconfig b/arch/arm/configs/wandboard_dl_defconfig
new file mode 100644
index 0000000..96f2563
--- /dev/null
+++ b/arch/arm/configs/wandboard_dl_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_WANDBOARD_DL=y
diff --git a/arch/arm/configs/wandboard_quad_defconfig b/arch/arm/configs/wandboard_quad_defconfig
new file mode 100644
index 0000000..c89cb68
--- /dev/null
+++ b/arch/arm/configs/wandboard_quad_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_WANDBOARD_QUAD=y
diff --git a/arch/arm/configs/wandboard_solo_defconfig b/arch/arm/configs/wandboard_solo_defconfig
new file mode 100644
index 0000000..0b0ca7b
--- /dev/null
+++ b/arch/arm/configs/wandboard_solo_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_WANDBOARD_SOLO=y
diff --git a/arch/arm/configs/whistler_defconfig b/arch/arm/configs/whistler_defconfig
new file mode 100644
index 0000000..1990cf6
--- /dev/null
+++ b/arch/arm/configs/whistler_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_WHISTLER=y
diff --git a/arch/arm/configs/wireless_space_defconfig b/arch/arm/configs/wireless_space_defconfig
new file mode 100644
index 0000000..e7a43ed
--- /dev/null
+++ b/arch/arm/configs/wireless_space_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_WIRELESS_SPACE=y
diff --git a/arch/arm/configs/woodburn_defconfig b/arch/arm/configs/woodburn_defconfig
new file mode 100644
index 0000000..778dd27
--- /dev/null
+++ b/arch/arm/configs/woodburn_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_WOODBURN=y
diff --git a/arch/arm/configs/woodburn_sd_defconfig b/arch/arm/configs/woodburn_sd_defconfig
new file mode 100644
index 0000000..2219866
--- /dev/null
+++ b/arch/arm/configs/woodburn_sd_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_WOODBURN_SD=y
diff --git a/arch/arm/configs/x600_defconfig b/arch/arm/configs/x600_defconfig
new file mode 100644
index 0000000..8e21d85
--- /dev/null
+++ b/arch/arm/configs/x600_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_X600=y
diff --git a/arch/arm/configs/xaeniax_defconfig b/arch/arm/configs/xaeniax_defconfig
new file mode 100644
index 0000000..8c50327
--- /dev/null
+++ b/arch/arm/configs/xaeniax_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_XAENIAX=y
diff --git a/arch/arm/configs/xfi3_defconfig b/arch/arm/configs/xfi3_defconfig
new file mode 100644
index 0000000..7f8d343
--- /dev/null
+++ b/arch/arm/configs/xfi3_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_XFI3=y
diff --git a/arch/arm/configs/zipitz2_defconfig b/arch/arm/configs/zipitz2_defconfig
new file mode 100644
index 0000000..d0298ae
--- /dev/null
+++ b/arch/arm/configs/zipitz2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ZIPITZ2=y
diff --git a/arch/arm/configs/zmx25_defconfig b/arch/arm/configs/zmx25_defconfig
new file mode 100644
index 0000000..34ca5b5
--- /dev/null
+++ b/arch/arm/configs/zmx25_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ZMX25=y
diff --git a/arch/arm/configs/zynq_microzed_defconfig b/arch/arm/configs/zynq_microzed_defconfig
new file mode 100644
index 0000000..3abe9bf
--- /dev/null
+++ b/arch/arm/configs/zynq_microzed_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_ZYNQ_MICROZED=y
diff --git a/arch/arm/configs/zynq_zc70x_defconfig b/arch/arm/configs/zynq_zc70x_defconfig
new file mode 100644
index 0000000..3cb4d5d
--- /dev/null
+++ b/arch/arm/configs/zynq_zc70x_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_ZYNQ_ZC70X=y
diff --git a/arch/arm/configs/zynq_zc770_xm010_defconfig b/arch/arm/configs/zynq_zc770_xm010_defconfig
new file mode 100644
index 0000000..93628f7
--- /dev/null
+++ b/arch/arm/configs/zynq_zc770_xm010_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_ZYNQ_ZC770_XM010=y
diff --git a/arch/arm/configs/zynq_zc770_xm012_defconfig b/arch/arm/configs/zynq_zc770_xm012_defconfig
new file mode 100644
index 0000000..290aa73
--- /dev/null
+++ b/arch/arm/configs/zynq_zc770_xm012_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_ZYNQ_ZC770_XM012=y
diff --git a/arch/arm/configs/zynq_zc770_xm013_defconfig b/arch/arm/configs/zynq_zc770_xm013_defconfig
new file mode 100644
index 0000000..396bf77
--- /dev/null
+++ b/arch/arm/configs/zynq_zc770_xm013_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_ZYNQ_ZC770_XM013=y
diff --git a/arch/arm/configs/zynq_zed_defconfig b/arch/arm/configs/zynq_zed_defconfig
new file mode 100644
index 0000000..e8f8171
--- /dev/null
+++ b/arch/arm/configs/zynq_zed_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_ZYNQ_ZED=y
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
new file mode 100644
index 0000000..9bfb7cd
--- /dev/null
+++ b/arch/avr32/Kconfig
@@ -0,0 +1,50 @@
+config AVR32
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "avr32"
+
+choice
+	prompt "Target select"
+
+config TARGET_ATNGW100
+	bool "Support atngw100"
+
+config TARGET_ATNGW100MKII
+	bool "Support atngw100mkii"
+
+config TARGET_ATSTK1002
+	bool "Support atstk1002"
+
+config TARGET_ATSTK1003
+	bool "Support atstk1003"
+
+config TARGET_ATSTK1004
+	bool "Support atstk1004"
+
+config TARGET_ATSTK1006
+	bool "Support atstk1006"
+
+config TARGET_FAVR_32_EZKIT
+	bool "Support favr-32-ezkit"
+
+config TARGET_GRASSHOPPER
+	bool "Support grasshopper"
+
+config TARGET_MIMC200
+	bool "Support mimc200"
+
+config TARGET_HAMMERHEAD
+	bool "Support hammerhead"
+
+endchoice
+
+source "board/atmel/atngw100/Kconfig"
+source "board/atmel/atngw100mkii/Kconfig"
+source "board/atmel/atstk1000/Kconfig"
+source "board/earthlcd/favr-32-ezkit/Kconfig"
+source "board/in-circuit/grasshopper/Kconfig"
+source "board/mimc/mimc200/Kconfig"
+source "board/miromico/hammerhead/Kconfig"
diff --git a/arch/avr32/configs/atngw100_defconfig b/arch/avr32/configs/atngw100_defconfig
new file mode 100644
index 0000000..e30b0e1
--- /dev/null
+++ b/arch/avr32/configs/atngw100_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ATNGW100=y
diff --git a/arch/avr32/configs/atngw100mkii_defconfig b/arch/avr32/configs/atngw100mkii_defconfig
new file mode 100644
index 0000000..7270dc8
--- /dev/null
+++ b/arch/avr32/configs/atngw100mkii_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ATNGW100MKII=y
diff --git a/arch/avr32/configs/atstk1002_defconfig b/arch/avr32/configs/atstk1002_defconfig
new file mode 100644
index 0000000..7e59631
--- /dev/null
+++ b/arch/avr32/configs/atstk1002_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ATSTK1002=y
diff --git a/arch/avr32/configs/atstk1003_defconfig b/arch/avr32/configs/atstk1003_defconfig
new file mode 100644
index 0000000..913b908
--- /dev/null
+++ b/arch/avr32/configs/atstk1003_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ATSTK1003=y
diff --git a/arch/avr32/configs/atstk1004_defconfig b/arch/avr32/configs/atstk1004_defconfig
new file mode 100644
index 0000000..b2ce1b5
--- /dev/null
+++ b/arch/avr32/configs/atstk1004_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ATSTK1004=y
diff --git a/arch/avr32/configs/atstk1006_defconfig b/arch/avr32/configs/atstk1006_defconfig
new file mode 100644
index 0000000..f93f4c5
--- /dev/null
+++ b/arch/avr32/configs/atstk1006_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ATSTK1006=y
diff --git a/arch/avr32/configs/favr-32-ezkit_defconfig b/arch/avr32/configs/favr-32-ezkit_defconfig
new file mode 100644
index 0000000..d097102
--- /dev/null
+++ b/arch/avr32/configs/favr-32-ezkit_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_FAVR_32_EZKIT=y
diff --git a/arch/avr32/configs/grasshopper_defconfig b/arch/avr32/configs/grasshopper_defconfig
new file mode 100644
index 0000000..3f42611
--- /dev/null
+++ b/arch/avr32/configs/grasshopper_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GRASSHOPPER=y
diff --git a/arch/avr32/configs/hammerhead_defconfig b/arch/avr32/configs/hammerhead_defconfig
new file mode 100644
index 0000000..607cebf
--- /dev/null
+++ b/arch/avr32/configs/hammerhead_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HAMMERHEAD=y
diff --git a/arch/avr32/configs/mimc200_defconfig b/arch/avr32/configs/mimc200_defconfig
new file mode 100644
index 0000000..00a53a6
--- /dev/null
+++ b/arch/avr32/configs/mimc200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MIMC200=y
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
new file mode 100644
index 0000000..1d5c71f
--- /dev/null
+++ b/arch/blackfin/Kconfig
@@ -0,0 +1,152 @@
+config BLACKFIN
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "blackfin"
+
+choice
+	prompt "Target select"
+
+config TARGET_BCT_BRETTL2
+	bool "Support bct-brettl2"
+
+config TARGET_BF506F_EZKIT
+	bool "Support bf506f-ezkit"
+
+config TARGET_BF518F_EZBRD
+	bool "Support bf518f-ezbrd"
+
+config TARGET_BF525_UCR2
+	bool "Support bf525-ucr2"
+
+config TARGET_BF526_EZBRD
+	bool "Support bf526-ezbrd"
+
+config TARGET_BF527_AD7160_EVAL
+	bool "Support bf527-ad7160-eval"
+
+config TARGET_BF527_EZKIT
+	bool "Support bf527-ezkit"
+
+config TARGET_BF527_SDP
+	bool "Support bf527-sdp"
+
+config TARGET_BF533_EZKIT
+	bool "Support bf533-ezkit"
+
+config TARGET_BF533_STAMP
+	bool "Support bf533-stamp"
+
+config TARGET_BF537_MINOTAUR
+	bool "Support bf537-minotaur"
+
+config TARGET_BF537_PNAV
+	bool "Support bf537-pnav"
+
+config TARGET_BF537_SRV1
+	bool "Support bf537-srv1"
+
+config TARGET_BF537_STAMP
+	bool "Support bf537-stamp"
+
+config TARGET_BF538F_EZKIT
+	bool "Support bf538f-ezkit"
+
+config TARGET_BF548_EZKIT
+	bool "Support bf548-ezkit"
+
+config TARGET_BF561_ACVILON
+	bool "Support bf561-acvilon"
+
+config TARGET_BF561_EZKIT
+	bool "Support bf561-ezkit"
+
+config TARGET_BF609_EZKIT
+	bool "Support bf609-ezkit"
+
+config TARGET_BLACKSTAMP
+	bool "Support blackstamp"
+
+config TARGET_BLACKVME
+	bool "Support blackvme"
+
+config TARGET_BR4
+	bool "Support br4"
+
+config TARGET_CM_BF527
+	bool "Support cm-bf527"
+
+config TARGET_CM_BF533
+	bool "Support cm-bf533"
+
+config TARGET_CM_BF537E
+	bool "Support cm-bf537e"
+
+config TARGET_CM_BF537U
+	bool "Support cm-bf537u"
+
+config TARGET_CM_BF548
+	bool "Support cm-bf548"
+
+config TARGET_CM_BF561
+	bool "Support cm-bf561"
+
+config TARGET_DNP5370
+	bool "Support dnp5370"
+
+config TARGET_IBF_DSP561
+	bool "Support ibf-dsp561"
+
+config TARGET_IP04
+	bool "Support ip04"
+
+config TARGET_PR1
+	bool "Support pr1"
+
+config TARGET_TCM_BF518
+	bool "Support tcm-bf518"
+
+config TARGET_TCM_BF537
+	bool "Support tcm-bf537"
+
+config TARGET_BF527_EZKIT_V2
+	bool "Support bf527-ezkit-v2"
+
+endchoice
+
+source "board/bct-brettl2/Kconfig"
+source "board/bf506f-ezkit/Kconfig"
+source "board/bf518f-ezbrd/Kconfig"
+source "board/bf525-ucr2/Kconfig"
+source "board/bf526-ezbrd/Kconfig"
+source "board/bf527-ad7160-eval/Kconfig"
+source "board/bf527-ezkit/Kconfig"
+source "board/bf527-sdp/Kconfig"
+source "board/bf533-ezkit/Kconfig"
+source "board/bf533-stamp/Kconfig"
+source "board/bf537-minotaur/Kconfig"
+source "board/bf537-pnav/Kconfig"
+source "board/bf537-srv1/Kconfig"
+source "board/bf537-stamp/Kconfig"
+source "board/bf538f-ezkit/Kconfig"
+source "board/bf548-ezkit/Kconfig"
+source "board/bf561-acvilon/Kconfig"
+source "board/bf561-ezkit/Kconfig"
+source "board/bf609-ezkit/Kconfig"
+source "board/blackstamp/Kconfig"
+source "board/blackvme/Kconfig"
+source "board/br4/Kconfig"
+source "board/cm-bf527/Kconfig"
+source "board/cm-bf533/Kconfig"
+source "board/cm-bf537e/Kconfig"
+source "board/cm-bf537u/Kconfig"
+source "board/cm-bf548/Kconfig"
+source "board/cm-bf561/Kconfig"
+source "board/dnp5370/Kconfig"
+source "board/ibf-dsp561/Kconfig"
+source "board/ip04/Kconfig"
+source "board/pr1/Kconfig"
+source "board/tcm-bf518/Kconfig"
+source "board/tcm-bf537/Kconfig"
diff --git a/arch/blackfin/configs/bct-brettl2_defconfig b/arch/blackfin/configs/bct-brettl2_defconfig
new file mode 100644
index 0000000..8f7eaa4
--- /dev/null
+++ b/arch/blackfin/configs/bct-brettl2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BCT_BRETTL2=y
diff --git a/arch/blackfin/configs/bf506f-ezkit_defconfig b/arch/blackfin/configs/bf506f-ezkit_defconfig
new file mode 100644
index 0000000..083cdb0
--- /dev/null
+++ b/arch/blackfin/configs/bf506f-ezkit_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF506F_EZKIT=y
diff --git a/arch/blackfin/configs/bf518f-ezbrd_defconfig b/arch/blackfin/configs/bf518f-ezbrd_defconfig
new file mode 100644
index 0000000..a92fe64
--- /dev/null
+++ b/arch/blackfin/configs/bf518f-ezbrd_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF518F_EZBRD=y
diff --git a/arch/blackfin/configs/bf525-ucr2_defconfig b/arch/blackfin/configs/bf525-ucr2_defconfig
new file mode 100644
index 0000000..9c788b8
--- /dev/null
+++ b/arch/blackfin/configs/bf525-ucr2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF525_UCR2=y
diff --git a/arch/blackfin/configs/bf526-ezbrd_defconfig b/arch/blackfin/configs/bf526-ezbrd_defconfig
new file mode 100644
index 0000000..fed701d
--- /dev/null
+++ b/arch/blackfin/configs/bf526-ezbrd_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF526_EZBRD=y
diff --git a/arch/blackfin/configs/bf527-ad7160-eval_defconfig b/arch/blackfin/configs/bf527-ad7160-eval_defconfig
new file mode 100644
index 0000000..f872dc6
--- /dev/null
+++ b/arch/blackfin/configs/bf527-ad7160-eval_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF527_AD7160_EVAL=y
diff --git a/arch/blackfin/configs/bf527-ezkit-v2_defconfig b/arch/blackfin/configs/bf527-ezkit-v2_defconfig
new file mode 100644
index 0000000..cc17c85
--- /dev/null
+++ b/arch/blackfin/configs/bf527-ezkit-v2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF527_EZKIT_V2=y
diff --git a/arch/blackfin/configs/bf527-ezkit_defconfig b/arch/blackfin/configs/bf527-ezkit_defconfig
new file mode 100644
index 0000000..44cd9ba
--- /dev/null
+++ b/arch/blackfin/configs/bf527-ezkit_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF527_EZKIT=y
diff --git a/arch/blackfin/configs/bf527-sdp_defconfig b/arch/blackfin/configs/bf527-sdp_defconfig
new file mode 100644
index 0000000..053ec4d
--- /dev/null
+++ b/arch/blackfin/configs/bf527-sdp_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF527_SDP=y
diff --git a/arch/blackfin/configs/bf533-ezkit_defconfig b/arch/blackfin/configs/bf533-ezkit_defconfig
new file mode 100644
index 0000000..dcc7cba
--- /dev/null
+++ b/arch/blackfin/configs/bf533-ezkit_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF533_EZKIT=y
diff --git a/arch/blackfin/configs/bf533-stamp_defconfig b/arch/blackfin/configs/bf533-stamp_defconfig
new file mode 100644
index 0000000..8b9f4a5
--- /dev/null
+++ b/arch/blackfin/configs/bf533-stamp_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF533_STAMP=y
diff --git a/arch/blackfin/configs/bf537-minotaur_defconfig b/arch/blackfin/configs/bf537-minotaur_defconfig
new file mode 100644
index 0000000..2e5dba6
--- /dev/null
+++ b/arch/blackfin/configs/bf537-minotaur_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF537_MINOTAUR=y
diff --git a/arch/blackfin/configs/bf537-pnav_defconfig b/arch/blackfin/configs/bf537-pnav_defconfig
new file mode 100644
index 0000000..6fe288d
--- /dev/null
+++ b/arch/blackfin/configs/bf537-pnav_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF537_PNAV=y
diff --git a/arch/blackfin/configs/bf537-srv1_defconfig b/arch/blackfin/configs/bf537-srv1_defconfig
new file mode 100644
index 0000000..8f3ebde
--- /dev/null
+++ b/arch/blackfin/configs/bf537-srv1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF537_SRV1=y
diff --git a/arch/blackfin/configs/bf537-stamp_defconfig b/arch/blackfin/configs/bf537-stamp_defconfig
new file mode 100644
index 0000000..b658e5c
--- /dev/null
+++ b/arch/blackfin/configs/bf537-stamp_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF537_STAMP=y
diff --git a/arch/blackfin/configs/bf538f-ezkit_defconfig b/arch/blackfin/configs/bf538f-ezkit_defconfig
new file mode 100644
index 0000000..75b582f
--- /dev/null
+++ b/arch/blackfin/configs/bf538f-ezkit_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF538F_EZKIT=y
diff --git a/arch/blackfin/configs/bf548-ezkit_defconfig b/arch/blackfin/configs/bf548-ezkit_defconfig
new file mode 100644
index 0000000..45d01c1
--- /dev/null
+++ b/arch/blackfin/configs/bf548-ezkit_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF548_EZKIT=y
diff --git a/arch/blackfin/configs/bf561-acvilon_defconfig b/arch/blackfin/configs/bf561-acvilon_defconfig
new file mode 100644
index 0000000..203f345
--- /dev/null
+++ b/arch/blackfin/configs/bf561-acvilon_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF561_ACVILON=y
diff --git a/arch/blackfin/configs/bf561-ezkit_defconfig b/arch/blackfin/configs/bf561-ezkit_defconfig
new file mode 100644
index 0000000..72dc52a
--- /dev/null
+++ b/arch/blackfin/configs/bf561-ezkit_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF561_EZKIT=y
diff --git a/arch/blackfin/configs/bf609-ezkit_defconfig b/arch/blackfin/configs/bf609-ezkit_defconfig
new file mode 100644
index 0000000..cf7b00c
--- /dev/null
+++ b/arch/blackfin/configs/bf609-ezkit_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BF609_EZKIT=y
diff --git a/arch/blackfin/configs/blackstamp_defconfig b/arch/blackfin/configs/blackstamp_defconfig
new file mode 100644
index 0000000..18c62ab
--- /dev/null
+++ b/arch/blackfin/configs/blackstamp_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BLACKSTAMP=y
diff --git a/arch/blackfin/configs/blackvme_defconfig b/arch/blackfin/configs/blackvme_defconfig
new file mode 100644
index 0000000..4fe805a
--- /dev/null
+++ b/arch/blackfin/configs/blackvme_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BLACKVME=y
diff --git a/arch/blackfin/configs/br4_defconfig b/arch/blackfin/configs/br4_defconfig
new file mode 100644
index 0000000..a894e79
--- /dev/null
+++ b/arch/blackfin/configs/br4_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BR4=y
diff --git a/arch/blackfin/configs/cm-bf527_defconfig b/arch/blackfin/configs/cm-bf527_defconfig
new file mode 100644
index 0000000..214b214
--- /dev/null
+++ b/arch/blackfin/configs/cm-bf527_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CM_BF527=y
diff --git a/arch/blackfin/configs/cm-bf533_defconfig b/arch/blackfin/configs/cm-bf533_defconfig
new file mode 100644
index 0000000..1a0ee25
--- /dev/null
+++ b/arch/blackfin/configs/cm-bf533_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CM_BF533=y
diff --git a/arch/blackfin/configs/cm-bf537e_defconfig b/arch/blackfin/configs/cm-bf537e_defconfig
new file mode 100644
index 0000000..0f38448
--- /dev/null
+++ b/arch/blackfin/configs/cm-bf537e_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CM_BF537E=y
diff --git a/arch/blackfin/configs/cm-bf537u_defconfig b/arch/blackfin/configs/cm-bf537u_defconfig
new file mode 100644
index 0000000..4d43097
--- /dev/null
+++ b/arch/blackfin/configs/cm-bf537u_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CM_BF537U=y
diff --git a/arch/blackfin/configs/cm-bf548_defconfig b/arch/blackfin/configs/cm-bf548_defconfig
new file mode 100644
index 0000000..dc38c6f
--- /dev/null
+++ b/arch/blackfin/configs/cm-bf548_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CM_BF548=y
diff --git a/arch/blackfin/configs/cm-bf561_defconfig b/arch/blackfin/configs/cm-bf561_defconfig
new file mode 100644
index 0000000..4bfcc39
--- /dev/null
+++ b/arch/blackfin/configs/cm-bf561_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CM_BF561=y
diff --git a/arch/blackfin/configs/dnp5370_defconfig b/arch/blackfin/configs/dnp5370_defconfig
new file mode 100644
index 0000000..5fdbf10
--- /dev/null
+++ b/arch/blackfin/configs/dnp5370_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DNP5370=y
diff --git a/arch/blackfin/configs/ibf-dsp561_defconfig b/arch/blackfin/configs/ibf-dsp561_defconfig
new file mode 100644
index 0000000..1be5449
--- /dev/null
+++ b/arch/blackfin/configs/ibf-dsp561_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IBF_DSP561=y
diff --git a/arch/blackfin/configs/ip04_defconfig b/arch/blackfin/configs/ip04_defconfig
new file mode 100644
index 0000000..649d887
--- /dev/null
+++ b/arch/blackfin/configs/ip04_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IP04=y
diff --git a/arch/blackfin/configs/pr1_defconfig b/arch/blackfin/configs/pr1_defconfig
new file mode 100644
index 0000000..dee6175
--- /dev/null
+++ b/arch/blackfin/configs/pr1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PR1=y
diff --git a/arch/blackfin/configs/tcm-bf518_defconfig b/arch/blackfin/configs/tcm-bf518_defconfig
new file mode 100644
index 0000000..f7725ce
--- /dev/null
+++ b/arch/blackfin/configs/tcm-bf518_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TCM_BF518=y
diff --git a/arch/blackfin/configs/tcm-bf537_defconfig b/arch/blackfin/configs/tcm-bf537_defconfig
new file mode 100644
index 0000000..55e21de
--- /dev/null
+++ b/arch/blackfin/configs/tcm-bf537_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TCM_BF537=y
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
new file mode 100644
index 0000000..16bbec8
--- /dev/null
+++ b/arch/m68k/Kconfig
@@ -0,0 +1,178 @@
+config M68K
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "m68k"
+
+choice
+	prompt "Target select"
+
+config TARGET_M52277EVB
+	bool "Support M52277EVB"
+
+config TARGET_M52277EVB_STMICRO
+	bool "Support M52277EVB_stmicro"
+
+config TARGET_M5235EVB
+	bool "Support M5235EVB"
+
+config TARGET_M5235EVB_FLASH32
+	bool "Support M5235EVB_Flash32"
+
+config TARGET_COBRA5272
+	bool "Support cobra5272"
+
+config TARGET_EB_CPU5282
+	bool "Support eb_cpu5282"
+
+config TARGET_EB_CPU5282_INTERNAL
+	bool "Support eb_cpu5282_internal"
+
+config TARGET_TASREG
+	bool "Support TASREG"
+
+config TARGET_M5208EVBE
+	bool "Support M5208EVBE"
+
+config TARGET_M5249EVB
+	bool "Support M5249EVB"
+
+config TARGET_M5253DEMO
+	bool "Support M5253DEMO"
+
+config TARGET_M5253EVBE
+	bool "Support M5253EVBE"
+
+config TARGET_M5272C3
+	bool "Support M5272C3"
+
+config TARGET_M5275EVB
+	bool "Support M5275EVB"
+
+config TARGET_M5282EVB
+	bool "Support M5282EVB"
+
+config TARGET_ASTRO_MCF5373L
+	bool "Support astro_mcf5373l"
+
+config TARGET_M53017EVB
+	bool "Support M53017EVB"
+
+config TARGET_M5329AFEE
+	bool "Support M5329AFEE"
+
+config TARGET_M5329BFEE
+	bool "Support M5329BFEE"
+
+config TARGET_M5373EVB
+	bool "Support M5373EVB"
+
+config TARGET_M54418TWR
+	bool "Support M54418TWR"
+
+config TARGET_M54418TWR_NAND_MII
+	bool "Support M54418TWR_nand_mii"
+
+config TARGET_M54418TWR_NAND_RMII
+	bool "Support M54418TWR_nand_rmii"
+
+config TARGET_M54418TWR_NAND_RMII_LOWFREQ
+	bool "Support M54418TWR_nand_rmii_lowfreq"
+
+config TARGET_M54418TWR_SERIAL_MII
+	bool "Support M54418TWR_serial_mii"
+
+config TARGET_M54418TWR_SERIAL_RMII
+	bool "Support M54418TWR_serial_rmii"
+
+config TARGET_M54451EVB
+	bool "Support M54451EVB"
+
+config TARGET_M54451EVB_STMICRO
+	bool "Support M54451EVB_stmicro"
+
+config TARGET_M54455EVB
+	bool "Support M54455EVB"
+
+config TARGET_M54455EVB_A66
+	bool "Support M54455EVB_a66"
+
+config TARGET_M54455EVB_I66
+	bool "Support M54455EVB_i66"
+
+config TARGET_M54455EVB_INTEL
+	bool "Support M54455EVB_intel"
+
+config TARGET_M54455EVB_STM33
+	bool "Support M54455EVB_stm33"
+
+config TARGET_M5475AFE
+	bool "Support M5475AFE"
+
+config TARGET_M5475BFE
+	bool "Support M5475BFE"
+
+config TARGET_M5475CFE
+	bool "Support M5475CFE"
+
+config TARGET_M5475DFE
+	bool "Support M5475DFE"
+
+config TARGET_M5475EFE
+	bool "Support M5475EFE"
+
+config TARGET_M5475FFE
+	bool "Support M5475FFE"
+
+config TARGET_M5475GFE
+	bool "Support M5475GFE"
+
+config TARGET_M5485AFE
+	bool "Support M5485AFE"
+
+config TARGET_M5485BFE
+	bool "Support M5485BFE"
+
+config TARGET_M5485CFE
+	bool "Support M5485CFE"
+
+config TARGET_M5485DFE
+	bool "Support M5485DFE"
+
+config TARGET_M5485EFE
+	bool "Support M5485EFE"
+
+config TARGET_M5485FFE
+	bool "Support M5485FFE"
+
+config TARGET_M5485GFE
+	bool "Support M5485GFE"
+
+config TARGET_M5485HFE
+	bool "Support M5485HFE"
+
+endchoice
+
+source "board/BuS/eb_cpu5282/Kconfig"
+source "board/astro/mcf5373l/Kconfig"
+source "board/cobra5272/Kconfig"
+source "board/esd/tasreg/Kconfig"
+source "board/freescale/m5208evbe/Kconfig"
+source "board/freescale/m52277evb/Kconfig"
+source "board/freescale/m5235evb/Kconfig"
+source "board/freescale/m5249evb/Kconfig"
+source "board/freescale/m5253demo/Kconfig"
+source "board/freescale/m5253evbe/Kconfig"
+source "board/freescale/m5272c3/Kconfig"
+source "board/freescale/m5275evb/Kconfig"
+source "board/freescale/m5282evb/Kconfig"
+source "board/freescale/m53017evb/Kconfig"
+source "board/freescale/m5329evb/Kconfig"
+source "board/freescale/m5373evb/Kconfig"
+source "board/freescale/m54418twr/Kconfig"
+source "board/freescale/m54451evb/Kconfig"
+source "board/freescale/m54455evb/Kconfig"
+source "board/freescale/m547xevb/Kconfig"
+source "board/freescale/m548xevb/Kconfig"
diff --git a/arch/m68k/configs/M5208EVBE_defconfig b/arch/m68k/configs/M5208EVBE_defconfig
new file mode 100644
index 0000000..bf23f2e
--- /dev/null
+++ b/arch/m68k/configs/M5208EVBE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5208EVBE=y
diff --git a/arch/m68k/configs/M52277EVB_defconfig b/arch/m68k/configs/M52277EVB_defconfig
new file mode 100644
index 0000000..6483746
--- /dev/null
+++ b/arch/m68k/configs/M52277EVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M52277EVB=y
diff --git a/arch/m68k/configs/M52277EVB_stmicro_defconfig b/arch/m68k/configs/M52277EVB_stmicro_defconfig
new file mode 100644
index 0000000..90218d4
--- /dev/null
+++ b/arch/m68k/configs/M52277EVB_stmicro_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M52277EVB_STMICRO=y
diff --git a/arch/m68k/configs/M5235EVB_Flash32_defconfig b/arch/m68k/configs/M5235EVB_Flash32_defconfig
new file mode 100644
index 0000000..007aaa2
--- /dev/null
+++ b/arch/m68k/configs/M5235EVB_Flash32_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5235EVB_FLASH32=y
diff --git a/arch/m68k/configs/M5235EVB_defconfig b/arch/m68k/configs/M5235EVB_defconfig
new file mode 100644
index 0000000..62e8de5
--- /dev/null
+++ b/arch/m68k/configs/M5235EVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5235EVB=y
diff --git a/arch/m68k/configs/M5249EVB_defconfig b/arch/m68k/configs/M5249EVB_defconfig
new file mode 100644
index 0000000..948e075
--- /dev/null
+++ b/arch/m68k/configs/M5249EVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5249EVB=y
diff --git a/arch/m68k/configs/M5253DEMO_defconfig b/arch/m68k/configs/M5253DEMO_defconfig
new file mode 100644
index 0000000..c03b341
--- /dev/null
+++ b/arch/m68k/configs/M5253DEMO_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5253DEMO=y
diff --git a/arch/m68k/configs/M5253EVBE_defconfig b/arch/m68k/configs/M5253EVBE_defconfig
new file mode 100644
index 0000000..87dd718
--- /dev/null
+++ b/arch/m68k/configs/M5253EVBE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5253EVBE=y
diff --git a/arch/m68k/configs/M5272C3_defconfig b/arch/m68k/configs/M5272C3_defconfig
new file mode 100644
index 0000000..4de20b4
--- /dev/null
+++ b/arch/m68k/configs/M5272C3_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5272C3=y
diff --git a/arch/m68k/configs/M5275EVB_defconfig b/arch/m68k/configs/M5275EVB_defconfig
new file mode 100644
index 0000000..b5db7f3
--- /dev/null
+++ b/arch/m68k/configs/M5275EVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5275EVB=y
diff --git a/arch/m68k/configs/M5282EVB_defconfig b/arch/m68k/configs/M5282EVB_defconfig
new file mode 100644
index 0000000..b6e4000
--- /dev/null
+++ b/arch/m68k/configs/M5282EVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5282EVB=y
diff --git a/arch/m68k/configs/M53017EVB_defconfig b/arch/m68k/configs/M53017EVB_defconfig
new file mode 100644
index 0000000..fdc0194
--- /dev/null
+++ b/arch/m68k/configs/M53017EVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M53017EVB=y
diff --git a/arch/m68k/configs/M5329AFEE_defconfig b/arch/m68k/configs/M5329AFEE_defconfig
new file mode 100644
index 0000000..25a9aa1
--- /dev/null
+++ b/arch/m68k/configs/M5329AFEE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5329AFEE=y
diff --git a/arch/m68k/configs/M5329BFEE_defconfig b/arch/m68k/configs/M5329BFEE_defconfig
new file mode 100644
index 0000000..16cd759
--- /dev/null
+++ b/arch/m68k/configs/M5329BFEE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5329BFEE=y
diff --git a/arch/m68k/configs/M5373EVB_defconfig b/arch/m68k/configs/M5373EVB_defconfig
new file mode 100644
index 0000000..bb47387
--- /dev/null
+++ b/arch/m68k/configs/M5373EVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5373EVB=y
diff --git a/arch/m68k/configs/M54418TWR_defconfig b/arch/m68k/configs/M54418TWR_defconfig
new file mode 100644
index 0000000..40fa4eb
--- /dev/null
+++ b/arch/m68k/configs/M54418TWR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54418TWR=y
diff --git a/arch/m68k/configs/M54418TWR_nand_mii_defconfig b/arch/m68k/configs/M54418TWR_nand_mii_defconfig
new file mode 100644
index 0000000..18e93df
--- /dev/null
+++ b/arch/m68k/configs/M54418TWR_nand_mii_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54418TWR_NAND_MII=y
diff --git a/arch/m68k/configs/M54418TWR_nand_rmii_defconfig b/arch/m68k/configs/M54418TWR_nand_rmii_defconfig
new file mode 100644
index 0000000..0035af3
--- /dev/null
+++ b/arch/m68k/configs/M54418TWR_nand_rmii_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54418TWR_NAND_RMII=y
diff --git a/arch/m68k/configs/M54418TWR_nand_rmii_lowfreq_defconfig b/arch/m68k/configs/M54418TWR_nand_rmii_lowfreq_defconfig
new file mode 100644
index 0000000..9eae5af
--- /dev/null
+++ b/arch/m68k/configs/M54418TWR_nand_rmii_lowfreq_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54418TWR_NAND_RMII_LOWFREQ=y
diff --git a/arch/m68k/configs/M54418TWR_serial_mii_defconfig b/arch/m68k/configs/M54418TWR_serial_mii_defconfig
new file mode 100644
index 0000000..8d9b0fc
--- /dev/null
+++ b/arch/m68k/configs/M54418TWR_serial_mii_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54418TWR_SERIAL_MII=y
diff --git a/arch/m68k/configs/M54418TWR_serial_rmii_defconfig b/arch/m68k/configs/M54418TWR_serial_rmii_defconfig
new file mode 100644
index 0000000..fdabf8f
--- /dev/null
+++ b/arch/m68k/configs/M54418TWR_serial_rmii_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54418TWR_SERIAL_RMII=y
diff --git a/arch/m68k/configs/M54451EVB_defconfig b/arch/m68k/configs/M54451EVB_defconfig
new file mode 100644
index 0000000..5113232
--- /dev/null
+++ b/arch/m68k/configs/M54451EVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54451EVB=y
diff --git a/arch/m68k/configs/M54451EVB_stmicro_defconfig b/arch/m68k/configs/M54451EVB_stmicro_defconfig
new file mode 100644
index 0000000..16c0531
--- /dev/null
+++ b/arch/m68k/configs/M54451EVB_stmicro_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54451EVB_STMICRO=y
diff --git a/arch/m68k/configs/M54455EVB_a66_defconfig b/arch/m68k/configs/M54455EVB_a66_defconfig
new file mode 100644
index 0000000..cf3ac3f
--- /dev/null
+++ b/arch/m68k/configs/M54455EVB_a66_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54455EVB_A66=y
diff --git a/arch/m68k/configs/M54455EVB_defconfig b/arch/m68k/configs/M54455EVB_defconfig
new file mode 100644
index 0000000..ff98e6d
--- /dev/null
+++ b/arch/m68k/configs/M54455EVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54455EVB=y
diff --git a/arch/m68k/configs/M54455EVB_i66_defconfig b/arch/m68k/configs/M54455EVB_i66_defconfig
new file mode 100644
index 0000000..12954a2
--- /dev/null
+++ b/arch/m68k/configs/M54455EVB_i66_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54455EVB_I66=y
diff --git a/arch/m68k/configs/M54455EVB_intel_defconfig b/arch/m68k/configs/M54455EVB_intel_defconfig
new file mode 100644
index 0000000..7438732
--- /dev/null
+++ b/arch/m68k/configs/M54455EVB_intel_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54455EVB_INTEL=y
diff --git a/arch/m68k/configs/M54455EVB_stm33_defconfig b/arch/m68k/configs/M54455EVB_stm33_defconfig
new file mode 100644
index 0000000..1d06ed2
--- /dev/null
+++ b/arch/m68k/configs/M54455EVB_stm33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M54455EVB_STM33=y
diff --git a/arch/m68k/configs/M5475AFE_defconfig b/arch/m68k/configs/M5475AFE_defconfig
new file mode 100644
index 0000000..ce51ddf
--- /dev/null
+++ b/arch/m68k/configs/M5475AFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5475AFE=y
diff --git a/arch/m68k/configs/M5475BFE_defconfig b/arch/m68k/configs/M5475BFE_defconfig
new file mode 100644
index 0000000..bbd4c97
--- /dev/null
+++ b/arch/m68k/configs/M5475BFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5475BFE=y
diff --git a/arch/m68k/configs/M5475CFE_defconfig b/arch/m68k/configs/M5475CFE_defconfig
new file mode 100644
index 0000000..75e7416
--- /dev/null
+++ b/arch/m68k/configs/M5475CFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5475CFE=y
diff --git a/arch/m68k/configs/M5475DFE_defconfig b/arch/m68k/configs/M5475DFE_defconfig
new file mode 100644
index 0000000..575468e
--- /dev/null
+++ b/arch/m68k/configs/M5475DFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5475DFE=y
diff --git a/arch/m68k/configs/M5475EFE_defconfig b/arch/m68k/configs/M5475EFE_defconfig
new file mode 100644
index 0000000..1cb5a2c
--- /dev/null
+++ b/arch/m68k/configs/M5475EFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5475EFE=y
diff --git a/arch/m68k/configs/M5475FFE_defconfig b/arch/m68k/configs/M5475FFE_defconfig
new file mode 100644
index 0000000..337de82
--- /dev/null
+++ b/arch/m68k/configs/M5475FFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5475FFE=y
diff --git a/arch/m68k/configs/M5475GFE_defconfig b/arch/m68k/configs/M5475GFE_defconfig
new file mode 100644
index 0000000..7baf734
--- /dev/null
+++ b/arch/m68k/configs/M5475GFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5475GFE=y
diff --git a/arch/m68k/configs/M5485AFE_defconfig b/arch/m68k/configs/M5485AFE_defconfig
new file mode 100644
index 0000000..968ee7d
--- /dev/null
+++ b/arch/m68k/configs/M5485AFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5485AFE=y
diff --git a/arch/m68k/configs/M5485BFE_defconfig b/arch/m68k/configs/M5485BFE_defconfig
new file mode 100644
index 0000000..03d0de8
--- /dev/null
+++ b/arch/m68k/configs/M5485BFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5485BFE=y
diff --git a/arch/m68k/configs/M5485CFE_defconfig b/arch/m68k/configs/M5485CFE_defconfig
new file mode 100644
index 0000000..4b84003
--- /dev/null
+++ b/arch/m68k/configs/M5485CFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5485CFE=y
diff --git a/arch/m68k/configs/M5485DFE_defconfig b/arch/m68k/configs/M5485DFE_defconfig
new file mode 100644
index 0000000..97bae34
--- /dev/null
+++ b/arch/m68k/configs/M5485DFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5485DFE=y
diff --git a/arch/m68k/configs/M5485EFE_defconfig b/arch/m68k/configs/M5485EFE_defconfig
new file mode 100644
index 0000000..c316641
--- /dev/null
+++ b/arch/m68k/configs/M5485EFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5485EFE=y
diff --git a/arch/m68k/configs/M5485FFE_defconfig b/arch/m68k/configs/M5485FFE_defconfig
new file mode 100644
index 0000000..fae242f
--- /dev/null
+++ b/arch/m68k/configs/M5485FFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5485FFE=y
diff --git a/arch/m68k/configs/M5485GFE_defconfig b/arch/m68k/configs/M5485GFE_defconfig
new file mode 100644
index 0000000..332cc7f
--- /dev/null
+++ b/arch/m68k/configs/M5485GFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5485GFE=y
diff --git a/arch/m68k/configs/M5485HFE_defconfig b/arch/m68k/configs/M5485HFE_defconfig
new file mode 100644
index 0000000..8a62037
--- /dev/null
+++ b/arch/m68k/configs/M5485HFE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_M5485HFE=y
diff --git a/arch/m68k/configs/TASREG_defconfig b/arch/m68k/configs/TASREG_defconfig
new file mode 100644
index 0000000..4a87056
--- /dev/null
+++ b/arch/m68k/configs/TASREG_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TASREG=y
diff --git a/arch/m68k/configs/astro_mcf5373l_defconfig b/arch/m68k/configs/astro_mcf5373l_defconfig
new file mode 100644
index 0000000..cbd9a9d
--- /dev/null
+++ b/arch/m68k/configs/astro_mcf5373l_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ASTRO_MCF5373L=y
diff --git a/arch/m68k/configs/cobra5272_defconfig b/arch/m68k/configs/cobra5272_defconfig
new file mode 100644
index 0000000..a32a1a9
--- /dev/null
+++ b/arch/m68k/configs/cobra5272_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_COBRA5272=y
diff --git a/arch/m68k/configs/eb_cpu5282_defconfig b/arch/m68k/configs/eb_cpu5282_defconfig
new file mode 100644
index 0000000..4b77239
--- /dev/null
+++ b/arch/m68k/configs/eb_cpu5282_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EB_CPU5282=y
diff --git a/arch/m68k/configs/eb_cpu5282_internal_defconfig b/arch/m68k/configs/eb_cpu5282_internal_defconfig
new file mode 100644
index 0000000..68d2a75
--- /dev/null
+++ b/arch/m68k/configs/eb_cpu5282_internal_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EB_CPU5282_INTERNAL=y
diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
new file mode 100644
index 0000000..3077de9
--- /dev/null
+++ b/arch/microblaze/Kconfig
@@ -0,0 +1,17 @@
+config MICROBLAZE
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "microblaze"
+
+choice
+	prompt "Target select"
+
+config TARGET_MICROBLAZE_GENERIC
+	bool "Support microblaze-generic"
+
+endchoice
+
+source "board/xilinx/microblaze-generic/Kconfig"
diff --git a/arch/microblaze/configs/microblaze-generic_defconfig b/arch/microblaze/configs/microblaze-generic_defconfig
new file mode 100644
index 0000000..e525b50
--- /dev/null
+++ b/arch/microblaze/configs/microblaze-generic_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MICROBLAZE_GENERIC=y
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
new file mode 100644
index 0000000..cb46cd7
--- /dev/null
+++ b/arch/mips/Kconfig
@@ -0,0 +1,90 @@
+config MIPS
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "mips"
+
+choice
+	prompt "Target select"
+
+config TARGET_QEMU_MIPS
+	bool "Support qemu_mips"
+
+config TARGET_QEMU_MIPSEL
+	bool "Support qemu_mipsel"
+
+config TARGET_MALTA
+	bool "Support malta"
+
+config TARGET_MALTAEL
+	bool "Support maltael"
+
+config TARGET_VCT_PLATINUM
+	bool "Support vct_platinum"
+
+config TARGET_VCT_PLATINUM_ONENAND
+	bool "Support vct_platinum_onenand"
+
+config TARGET_VCT_PLATINUM_ONENAND_SMALL
+	bool "Support vct_platinum_onenand_small"
+
+config TARGET_VCT_PLATINUM_SMALL
+	bool "Support vct_platinum_small"
+
+config TARGET_VCT_PLATINUMAVC
+	bool "Support vct_platinumavc"
+
+config TARGET_VCT_PLATINUMAVC_ONENAND
+	bool "Support vct_platinumavc_onenand"
+
+config TARGET_VCT_PLATINUMAVC_ONENAND_SMALL
+	bool "Support vct_platinumavc_onenand_small"
+
+config TARGET_VCT_PLATINUMAVC_SMALL
+	bool "Support vct_platinumavc_small"
+
+config TARGET_VCT_PREMIUM
+	bool "Support vct_premium"
+
+config TARGET_VCT_PREMIUM_ONENAND
+	bool "Support vct_premium_onenand"
+
+config TARGET_VCT_PREMIUM_ONENAND_SMALL
+	bool "Support vct_premium_onenand_small"
+
+config TARGET_VCT_PREMIUM_SMALL
+	bool "Support vct_premium_small"
+
+config TARGET_DBAU1000
+	bool "Support dbau1000"
+
+config TARGET_DBAU1100
+	bool "Support dbau1100"
+
+config TARGET_DBAU1500
+	bool "Support dbau1500"
+
+config TARGET_DBAU1550
+	bool "Support dbau1550"
+
+config TARGET_DBAU1550_EL
+	bool "Support dbau1550_el"
+
+config TARGET_PB1000
+	bool "Support pb1000"
+
+config TARGET_QEMU_MIPS64
+	bool "Support qemu_mips64"
+
+config TARGET_QEMU_MIPS64EL
+	bool "Support qemu_mips64el"
+
+endchoice
+
+source "board/dbau1x00/Kconfig"
+source "board/imgtec/malta/Kconfig"
+source "board/micronas/vct/Kconfig"
+source "board/pb1x00/Kconfig"
+source "board/qemu-mips/Kconfig"
diff --git a/arch/mips/configs/dbau1000_defconfig b/arch/mips/configs/dbau1000_defconfig
new file mode 100644
index 0000000..571f730
--- /dev/null
+++ b/arch/mips/configs/dbau1000_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DBAU1000=y
diff --git a/arch/mips/configs/dbau1100_defconfig b/arch/mips/configs/dbau1100_defconfig
new file mode 100644
index 0000000..09c40c8
--- /dev/null
+++ b/arch/mips/configs/dbau1100_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DBAU1100=y
diff --git a/arch/mips/configs/dbau1500_defconfig b/arch/mips/configs/dbau1500_defconfig
new file mode 100644
index 0000000..22c3a00
--- /dev/null
+++ b/arch/mips/configs/dbau1500_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DBAU1500=y
diff --git a/arch/mips/configs/dbau1550_defconfig b/arch/mips/configs/dbau1550_defconfig
new file mode 100644
index 0000000..16584d4
--- /dev/null
+++ b/arch/mips/configs/dbau1550_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DBAU1550=y
diff --git a/arch/mips/configs/dbau1550_el_defconfig b/arch/mips/configs/dbau1550_el_defconfig
new file mode 100644
index 0000000..f89d541
--- /dev/null
+++ b/arch/mips/configs/dbau1550_el_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DBAU1550_EL=y
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig
new file mode 100644
index 0000000..f77fc26
--- /dev/null
+++ b/arch/mips/configs/malta_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MALTA=y
diff --git a/arch/mips/configs/maltael_defconfig b/arch/mips/configs/maltael_defconfig
new file mode 100644
index 0000000..ed4995a
--- /dev/null
+++ b/arch/mips/configs/maltael_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MALTAEL=y
diff --git a/arch/mips/configs/pb1000_defconfig b/arch/mips/configs/pb1000_defconfig
new file mode 100644
index 0000000..2c5e428
--- /dev/null
+++ b/arch/mips/configs/pb1000_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PB1000=y
diff --git a/arch/mips/configs/qemu_mips64_defconfig b/arch/mips/configs/qemu_mips64_defconfig
new file mode 100644
index 0000000..20f5b7c
--- /dev/null
+++ b/arch/mips/configs/qemu_mips64_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QEMU_MIPS64=y
diff --git a/arch/mips/configs/qemu_mips64el_defconfig b/arch/mips/configs/qemu_mips64el_defconfig
new file mode 100644
index 0000000..d446bd9
--- /dev/null
+++ b/arch/mips/configs/qemu_mips64el_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QEMU_MIPS64EL=y
diff --git a/arch/mips/configs/qemu_mips_defconfig b/arch/mips/configs/qemu_mips_defconfig
new file mode 100644
index 0000000..68a9020
--- /dev/null
+++ b/arch/mips/configs/qemu_mips_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QEMU_MIPS=y
diff --git a/arch/mips/configs/qemu_mipsel_defconfig b/arch/mips/configs/qemu_mipsel_defconfig
new file mode 100644
index 0000000..eb10827
--- /dev/null
+++ b/arch/mips/configs/qemu_mipsel_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QEMU_MIPSEL=y
diff --git a/arch/mips/configs/vct_platinum_defconfig b/arch/mips/configs/vct_platinum_defconfig
new file mode 100644
index 0000000..9f5730b
--- /dev/null
+++ b/arch/mips/configs/vct_platinum_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PLATINUM=y
diff --git a/arch/mips/configs/vct_platinum_onenand_defconfig b/arch/mips/configs/vct_platinum_onenand_defconfig
new file mode 100644
index 0000000..f50b659
--- /dev/null
+++ b/arch/mips/configs/vct_platinum_onenand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PLATINUM_ONENAND=y
diff --git a/arch/mips/configs/vct_platinum_onenand_small_defconfig b/arch/mips/configs/vct_platinum_onenand_small_defconfig
new file mode 100644
index 0000000..8d970ea
--- /dev/null
+++ b/arch/mips/configs/vct_platinum_onenand_small_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PLATINUM_ONENAND_SMALL=y
diff --git a/arch/mips/configs/vct_platinum_small_defconfig b/arch/mips/configs/vct_platinum_small_defconfig
new file mode 100644
index 0000000..898e526
--- /dev/null
+++ b/arch/mips/configs/vct_platinum_small_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PLATINUM_SMALL=y
diff --git a/arch/mips/configs/vct_platinumavc_defconfig b/arch/mips/configs/vct_platinumavc_defconfig
new file mode 100644
index 0000000..5e04489
--- /dev/null
+++ b/arch/mips/configs/vct_platinumavc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PLATINUMAVC=y
diff --git a/arch/mips/configs/vct_platinumavc_onenand_defconfig b/arch/mips/configs/vct_platinumavc_onenand_defconfig
new file mode 100644
index 0000000..86ab79a
--- /dev/null
+++ b/arch/mips/configs/vct_platinumavc_onenand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PLATINUMAVC_ONENAND=y
diff --git a/arch/mips/configs/vct_platinumavc_onenand_small_defconfig b/arch/mips/configs/vct_platinumavc_onenand_small_defconfig
new file mode 100644
index 0000000..a217ef5
--- /dev/null
+++ b/arch/mips/configs/vct_platinumavc_onenand_small_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PLATINUMAVC_ONENAND_SMALL=y
diff --git a/arch/mips/configs/vct_platinumavc_small_defconfig b/arch/mips/configs/vct_platinumavc_small_defconfig
new file mode 100644
index 0000000..691f593
--- /dev/null
+++ b/arch/mips/configs/vct_platinumavc_small_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PLATINUMAVC_SMALL=y
diff --git a/arch/mips/configs/vct_premium_defconfig b/arch/mips/configs/vct_premium_defconfig
new file mode 100644
index 0000000..a14c4ea
--- /dev/null
+++ b/arch/mips/configs/vct_premium_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PREMIUM=y
diff --git a/arch/mips/configs/vct_premium_onenand_defconfig b/arch/mips/configs/vct_premium_onenand_defconfig
new file mode 100644
index 0000000..bb2fe43
--- /dev/null
+++ b/arch/mips/configs/vct_premium_onenand_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PREMIUM_ONENAND=y
diff --git a/arch/mips/configs/vct_premium_onenand_small_defconfig b/arch/mips/configs/vct_premium_onenand_small_defconfig
new file mode 100644
index 0000000..9f4fb39
--- /dev/null
+++ b/arch/mips/configs/vct_premium_onenand_small_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PREMIUM_ONENAND_SMALL=y
diff --git a/arch/mips/configs/vct_premium_small_defconfig b/arch/mips/configs/vct_premium_small_defconfig
new file mode 100644
index 0000000..0d5c6c5
--- /dev/null
+++ b/arch/mips/configs/vct_premium_small_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VCT_PREMIUM_SMALL=y
diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig
new file mode 100644
index 0000000..2ddbf21
--- /dev/null
+++ b/arch/nds32/Kconfig
@@ -0,0 +1,25 @@
+config NDS32
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "nds32"
+
+choice
+	prompt "Target select"
+
+config TARGET_ADP_AG101
+	bool "Support adp-ag101"
+
+config TARGET_ADP_AG101P
+	bool "Support adp-ag101p"
+
+config TARGET_ADP_AG102
+	bool "Support adp-ag102"
+
+endchoice
+
+source "board/AndesTech/adp-ag101/Kconfig"
+source "board/AndesTech/adp-ag101p/Kconfig"
+source "board/AndesTech/adp-ag102/Kconfig"
diff --git a/arch/nds32/configs/adp-ag101_defconfig b/arch/nds32/configs/adp-ag101_defconfig
new file mode 100644
index 0000000..f962282
--- /dev/null
+++ b/arch/nds32/configs/adp-ag101_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ADP_AG101=y
diff --git a/arch/nds32/configs/adp-ag101p_defconfig b/arch/nds32/configs/adp-ag101p_defconfig
new file mode 100644
index 0000000..702186e
--- /dev/null
+++ b/arch/nds32/configs/adp-ag101p_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ADP_AG101P=y
diff --git a/arch/nds32/configs/adp-ag102_defconfig b/arch/nds32/configs/adp-ag102_defconfig
new file mode 100644
index 0000000..ab4374a
--- /dev/null
+++ b/arch/nds32/configs/adp-ag102_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ADP_AG102=y
diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
new file mode 100644
index 0000000..0735385
--- /dev/null
+++ b/arch/nios2/Kconfig
@@ -0,0 +1,25 @@
+config NIOS2
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "nios2"
+
+choice
+	prompt "Target select"
+
+config TARGET_NIOS2_GENERIC
+	bool "Support nios2-generic"
+
+config TARGET_PCI5441
+	bool "Support PCI5441"
+
+config TARGET_PK1C20
+	bool "Support PK1C20"
+
+endchoice
+
+source "board/altera/nios2-generic/Kconfig"
+source "board/psyent/pci5441/Kconfig"
+source "board/psyent/pk1c20/Kconfig"
diff --git a/arch/nios2/configs/PCI5441_defconfig b/arch/nios2/configs/PCI5441_defconfig
new file mode 100644
index 0000000..23678bc
--- /dev/null
+++ b/arch/nios2/configs/PCI5441_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PCI5441=y
diff --git a/arch/nios2/configs/PK1C20_defconfig b/arch/nios2/configs/PK1C20_defconfig
new file mode 100644
index 0000000..1a42c6b
--- /dev/null
+++ b/arch/nios2/configs/PK1C20_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PK1C20=y
diff --git a/arch/nios2/configs/nios2-generic_defconfig b/arch/nios2/configs/nios2-generic_defconfig
new file mode 100644
index 0000000..69d1b81
--- /dev/null
+++ b/arch/nios2/configs/nios2-generic_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NIOS2_GENERIC=y
diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
new file mode 100644
index 0000000..292e5b6
--- /dev/null
+++ b/arch/openrisc/Kconfig
@@ -0,0 +1,17 @@
+config OPENRISC
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "openrisc"
+
+choice
+	prompt "Target select"
+
+config TARGET_OPENRISC_GENERIC
+	bool "Support openrisc-generic"
+
+endchoice
+
+source "board/openrisc/openrisc-generic/Kconfig"
diff --git a/arch/openrisc/configs/openrisc-generic_defconfig b/arch/openrisc/configs/openrisc-generic_defconfig
new file mode 100644
index 0000000..dd13730
--- /dev/null
+++ b/arch/openrisc/configs/openrisc-generic_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OPENRISC_GENERIC=y
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
new file mode 100644
index 0000000..b270c96
--- /dev/null
+++ b/arch/powerpc/Kconfig
@@ -0,0 +1,2348 @@
+config PPC
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "powerpc"
+
+choice
+	prompt "Target select"
+
+config TARGET_PPMC7XX
+	bool "Support ppmc7xx"
+
+config TARGET_P3G4
+	bool "Support P3G4"
+
+config TARGET_ZUMA
+	bool "Support ZUMA"
+
+config TARGET_ELPPC
+	bool "Support ELPPC"
+
+config TARGET_CPCI750
+	bool "Support CPCI750"
+
+config TARGET_MPC7448HPC2
+	bool "Support mpc7448hpc2"
+
+config TARGET_DB64360
+	bool "Support DB64360"
+
+config TARGET_DB64460
+	bool "Support DB64460"
+
+config TARGET_P3M7448
+	bool "Support p3m7448"
+
+config TARGET_P3M750
+	bool "Support p3m750"
+
+config TARGET_PDM360NG
+	bool "Support pdm360ng"
+
+config TARGET_ARIA
+	bool "Support aria"
+
+config TARGET_MECP5123
+	bool "Support mecp5123"
+
+config TARGET_MPC5121ADS
+	bool "Support mpc5121ads"
+
+config TARGET_MPC5121ADS_REV2
+	bool "Support mpc5121ads_rev2"
+
+config TARGET_AC14XX
+	bool "Support ac14xx"
+
+config TARGET_CMI_MPC5XX
+	bool "Support cmi_mpc5xx"
+
+config TARGET_PATI
+	bool "Support PATI"
+
+config TARGET_CANMB
+	bool "Support canmb"
+
+config TARGET_CM5200
+	bool "Support cm5200"
+
+config TARGET_INKA4X0
+	bool "Support inka4x0"
+
+config TARGET_IPEK01
+	bool "Support ipek01"
+
+config TARGET_JUPITER
+	bool "Support jupiter"
+
+config TARGET_MOTIONPRO
+	bool "Support motionpro"
+
+config TARGET_MUNICES
+	bool "Support munices"
+
+config TARGET_V38B
+	bool "Support v38b"
+
+config TARGET_A3M071
+	bool "Support a3m071"
+
+config TARGET_A4M2K
+	bool "Support a4m2k"
+
+config TARGET_A4M072
+	bool "Support a4m072"
+
+config TARGET_BC3450
+	bool "Support BC3450"
+
+config TARGET_GALAXY5200
+	bool "Support galaxy5200"
+
+config TARGET_GALAXY5200_LOWBOOT
+	bool "Support galaxy5200_LOWBOOT"
+
+config TARGET_ICECUBE_5200
+	bool "Support icecube_5200"
+
+config TARGET_ICECUBE_5200_DDR
+	bool "Support icecube_5200_DDR"
+
+config TARGET_ICECUBE_5200_DDR_LOWBOOT
+	bool "Support icecube_5200_DDR_LOWBOOT"
+
+config TARGET_ICECUBE_5200_DDR_LOWBOOT08
+	bool "Support icecube_5200_DDR_LOWBOOT08"
+
+config TARGET_ICECUBE_5200_LOWBOOT
+	bool "Support icecube_5200_LOWBOOT"
+
+config TARGET_ICECUBE_5200_LOWBOOT08
+	bool "Support icecube_5200_LOWBOOT08"
+
+config TARGET_LITE5200
+	bool "Support Lite5200"
+
+config TARGET_LITE5200_LOWBOOT
+	bool "Support Lite5200_LOWBOOT"
+
+config TARGET_LITE5200_LOWBOOT08
+	bool "Support Lite5200_LOWBOOT08"
+
+config TARGET_LITE5200B
+	bool "Support lite5200b"
+
+config TARGET_LITE5200B_LOWBOOT
+	bool "Support lite5200b_LOWBOOT"
+
+config TARGET_LITE5200B_PM
+	bool "Support lite5200b_PM"
+
+config TARGET_MCC200
+	bool "Support mcc200"
+
+config TARGET_MCC200_COM12
+	bool "Support mcc200_COM12"
+
+config TARGET_MCC200_COM12_HIGHBOOT
+	bool "Support mcc200_COM12_highboot"
+
+config TARGET_MCC200_COM12_HIGHBOOT_SDRAM
+	bool "Support mcc200_COM12_highboot_SDRAM"
+
+config TARGET_MCC200_COM12_SDRAM
+	bool "Support mcc200_COM12_SDRAM"
+
+config TARGET_MCC200_HIGHBOOT
+	bool "Support mcc200_highboot"
+
+config TARGET_MCC200_HIGHBOOT_SDRAM
+	bool "Support mcc200_highboot_SDRAM"
+
+config TARGET_MCC200_SDRAM
+	bool "Support mcc200_SDRAM"
+
+config TARGET_PRS200
+	bool "Support prs200"
+
+config TARGET_PRS200_DDR
+	bool "Support prs200_DDR"
+
+config TARGET_PRS200_HIGHBOOT
+	bool "Support prs200_highboot"
+
+config TARGET_PRS200_HIGHBOOT_DDR
+	bool "Support prs200_highboot_DDR"
+
+config TARGET_PM520
+	bool "Support PM520"
+
+config TARGET_PM520_DDR
+	bool "Support PM520_DDR"
+
+config TARGET_PM520_ROMBOOT
+	bool "Support PM520_ROMBOOT"
+
+config TARGET_PM520_ROMBOOT_DDR
+	bool "Support PM520_ROMBOOT_DDR"
+
+config TARGET_TOTAL5200
+	bool "Support Total5200"
+
+config TARGET_TOTAL5200_LOWBOOT
+	bool "Support Total5200_lowboot"
+
+config TARGET_TOTAL5200_REV2
+	bool "Support Total5200_Rev2"
+
+config TARGET_TOTAL5200_REV2_LOWBOOT
+	bool "Support Total5200_Rev2_lowboot"
+
+config TARGET_EVAL5200
+	bool "Support EVAL5200"
+
+config TARGET_MINI5200
+	bool "Support MINI5200"
+
+config TARGET_TOP5200
+	bool "Support TOP5200"
+
+config TARGET_CPCI5200
+	bool "Support cpci5200"
+
+config TARGET_MECP5200
+	bool "Support mecp5200"
+
+config TARGET_PF5200
+	bool "Support pf5200"
+
+config TARGET_O2D
+	bool "Support O2D"
+
+config TARGET_O2D300
+	bool "Support O2D300"
+
+config TARGET_O2DNT2
+	bool "Support O2DNT2"
+
+config TARGET_O2DNT2_RAMBOOT
+	bool "Support O2DNT2_RAMBOOT"
+
+config TARGET_O2I
+	bool "Support O2I"
+
+config TARGET_O2MNT
+	bool "Support O2MNT"
+
+config TARGET_O2MNT_O2M110
+	bool "Support O2MNT_O2M110"
+
+config TARGET_O2MNT_O2M112
+	bool "Support O2MNT_O2M112"
+
+config TARGET_O2MNT_O2M113
+	bool "Support O2MNT_O2M113"
+
+config TARGET_O3DNT
+	bool "Support O3DNT"
+
+config TARGET_DIGSY_MTC
+	bool "Support digsy_mtc"
+
+config TARGET_DIGSY_MTC_RAMBOOT
+	bool "Support digsy_mtc_RAMBOOT"
+
+config TARGET_DIGSY_MTC_REV5
+	bool "Support digsy_mtc_rev5"
+
+config TARGET_DIGSY_MTC_REV5_RAMBOOT
+	bool "Support digsy_mtc_rev5_RAMBOOT"
+
+config TARGET_HMI1001
+	bool "Support hmi1001"
+
+config TARGET_MUCMC52
+	bool "Support mucmc52"
+
+config TARGET_UC101
+	bool "Support uc101"
+
+config TARGET_MVBC_P
+	bool "Support MVBC_P"
+
+config TARGET_MVSMR
+	bool "Support MVSMR"
+
+config TARGET_PCM030
+	bool "Support pcm030"
+
+config TARGET_PCM030_LOWBOOT
+	bool "Support pcm030_LOWBOOT"
+
+config TARGET_AEV
+	bool "Support aev"
+
+config TARGET_CAM5200
+	bool "Support cam5200"
+
+config TARGET_CAM5200_NIOSFLASH
+	bool "Support cam5200_niosflash"
+
+config TARGET_CHARON
+	bool "Support charon"
+
+config TARGET_FO300
+	bool "Support fo300"
+
+config TARGET_MINIFAP
+	bool "Support MiniFAP"
+
+config TARGET_TB5200
+	bool "Support TB5200"
+
+config TARGET_TB5200_B
+	bool "Support TB5200_B"
+
+config TARGET_TQM5200
+	bool "Support TQM5200"
+
+config TARGET_TQM5200_B
+	bool "Support TQM5200_B"
+
+config TARGET_TQM5200_B_HIGHBOOT
+	bool "Support TQM5200_B_HIGHBOOT"
+
+config TARGET_TQM5200_STK100
+	bool "Support TQM5200_STK100"
+
+config TARGET_TQM5200S
+	bool "Support TQM5200S"
+
+config TARGET_TQM5200S_HIGHBOOT
+	bool "Support TQM5200S_HIGHBOOT"
+
+config TARGET_UTX8245
+	bool "Support utx8245"
+
+config TARGET_A3000
+	bool "Support A3000"
+
+config TARGET_CPC45
+	bool "Support CPC45"
+
+config TARGET_CPC45_ROMBOOT
+	bool "Support CPC45_ROMBOOT"
+
+config TARGET_CU824
+	bool "Support CU824"
+
+config TARGET_EXALION
+	bool "Support eXalion"
+
+config TARGET_HIDDEN_DRAGON
+	bool "Support HIDDEN_DRAGON"
+
+config TARGET_MUSENKI
+	bool "Support MUSENKI"
+
+config TARGET_MVBLUE
+	bool "Support MVBLUE"
+
+config TARGET_SANDPOINT8240
+	bool "Support Sandpoint8240"
+
+config TARGET_SANDPOINT8245
+	bool "Support Sandpoint8245"
+
+config TARGET_DEBRIS
+	bool "Support debris"
+
+config TARGET_KVME080
+	bool "Support kvme080"
+
+config TARGET_ATC
+	bool "Support atc"
+
+config TARGET_EP8260
+	bool "Support ep8260"
+
+config TARGET_EP82XXM
+	bool "Support ep82xxm"
+
+config TARGET_GW8260
+	bool "Support gw8260"
+
+config TARGET_HYMOD
+	bool "Support hymod"
+
+config TARGET_PPMC8260
+	bool "Support ppmc8260"
+
+config TARGET_SACSNG
+	bool "Support sacsng"
+
+config TARGET_COGENT_MPC8260
+	bool "Support cogent_mpc8260"
+
+config TARGET_CPU86
+	bool "Support CPU86"
+
+config TARGET_CPU86_ROMBOOT
+	bool "Support CPU86_ROMBOOT"
+
+config TARGET_CPU87
+	bool "Support CPU87"
+
+config TARGET_CPU87_ROMBOOT
+	bool "Support CPU87_ROMBOOT"
+
+config TARGET_EP8248
+	bool "Support ep8248"
+
+config TARGET_IPHASE4539
+	bool "Support IPHASE4539"
+
+config TARGET_ISPAN
+	bool "Support ISPAN"
+
+config TARGET_ISPAN_REVB
+	bool "Support ISPAN_REVB"
+
+config TARGET_MUAS3001
+	bool "Support muas3001"
+
+config TARGET_MUAS3001_DEV
+	bool "Support muas3001_dev"
+
+config TARGET_PM825
+	bool "Support PM825"
+
+config TARGET_PM825_BIGFLASH
+	bool "Support PM825_BIGFLASH"
+
+config TARGET_PM825_ROMBOOT
+	bool "Support PM825_ROMBOOT"
+
+config TARGET_PM825_ROMBOOT_BIGFLASH
+	bool "Support PM825_ROMBOOT_BIGFLASH"
+
+config TARGET_PM826
+	bool "Support PM826"
+
+config TARGET_PM826_BIGFLASH
+	bool "Support PM826_BIGFLASH"
+
+config TARGET_PM826_ROMBOOT
+	bool "Support PM826_ROMBOOT"
+
+config TARGET_PM826_ROMBOOT_BIGFLASH
+	bool "Support PM826_ROMBOOT_BIGFLASH"
+
+config TARGET_PM828
+	bool "Support PM828"
+
+config TARGET_PM828_PCI
+	bool "Support PM828_PCI"
+
+config TARGET_PM828_ROMBOOT
+	bool "Support PM828_ROMBOOT"
+
+config TARGET_PM828_ROMBOOT_PCI
+	bool "Support PM828_ROMBOOT_PCI"
+
+config TARGET_RATTLER
+	bool "Support Rattler"
+
+config TARGET_RATTLER8248
+	bool "Support Rattler8248"
+
+config TARGET_ZPC1900
+	bool "Support ZPC1900"
+
+config TARGET_MPC8260ADS
+	bool "Support MPC8260ADS"
+
+config TARGET_MPC8260ADS_33MHZ
+	bool "Support MPC8260ADS_33MHz"
+
+config TARGET_MPC8260ADS_33MHZ_LOWBOOT
+	bool "Support MPC8260ADS_33MHz_lowboot"
+
+config TARGET_MPC8260ADS_40MHZ
+	bool "Support MPC8260ADS_40MHz"
+
+config TARGET_MPC8260ADS_40MHZ_LOWBOOT
+	bool "Support MPC8260ADS_40MHz_lowboot"
+
+config TARGET_MPC8260ADS_LOWBOOT
+	bool "Support MPC8260ADS_lowboot"
+
+config TARGET_MPC8272ADS
+	bool "Support MPC8272ADS"
+
+config TARGET_MPC8272ADS_LOWBOOT
+	bool "Support MPC8272ADS_lowboot"
+
+config TARGET_PQ2FADS
+	bool "Support PQ2FADS"
+
+config TARGET_PQ2FADS_VR
+	bool "Support PQ2FADS-VR"
+
+config TARGET_PQ2FADS_VR_LOWBOOT
+	bool "Support PQ2FADS-VR_lowboot"
+
+config TARGET_PQ2FADS_ZU
+	bool "Support PQ2FADS-ZU"
+
+config TARGET_PQ2FADS_ZU_66MHZ
+	bool "Support PQ2FADS-ZU_66MHz"
+
+config TARGET_PQ2FADS_ZU_66MHZ_LOWBOOT
+	bool "Support PQ2FADS-ZU_66MHz_lowboot"
+
+config TARGET_PQ2FADS_ZU_LOWBOOT
+	bool "Support PQ2FADS-ZU_lowboot"
+
+config TARGET_PQ2FADS_LOWBOOT
+	bool "Support PQ2FADS_lowboot"
+
+config TARGET_MPC8266ADS
+	bool "Support MPC8266ADS"
+
+config TARGET_VOVPN_GW_66MHZ
+	bool "Support VoVPN-GW_66MHz"
+
+config TARGET_IDS8247
+	bool "Support IDS8247"
+
+config TARGET_MGCOGE
+	bool "Support mgcoge"
+
+config TARGET_MGCOGE3NE
+	bool "Support mgcoge3ne"
+
+config TARGET_TQM8255_AA
+	bool "Support TQM8255_AA"
+
+config TARGET_TQM8260_AA
+	bool "Support TQM8260_AA"
+
+config TARGET_TQM8260_AB
+	bool "Support TQM8260_AB"
+
+config TARGET_TQM8260_AC
+	bool "Support TQM8260_AC"
+
+config TARGET_TQM8260_AD
+	bool "Support TQM8260_AD"
+
+config TARGET_TQM8260_AE
+	bool "Support TQM8260_AE"
+
+config TARGET_TQM8260_AF
+	bool "Support TQM8260_AF"
+
+config TARGET_TQM8260_AG
+	bool "Support TQM8260_AG"
+
+config TARGET_TQM8260_AH
+	bool "Support TQM8260_AH"
+
+config TARGET_TQM8260_AI
+	bool "Support TQM8260_AI"
+
+config TARGET_TQM8265_AA
+	bool "Support TQM8265_AA"
+
+config TARGET_TQM8272
+	bool "Support TQM8272"
+
+config TARGET_MPC8308_P1M
+	bool "Support mpc8308_p1m"
+
+config TARGET_SBC8349
+	bool "Support sbc8349"
+
+config TARGET_SBC8349_PCI_33
+	bool "Support sbc8349_PCI_33"
+
+config TARGET_SBC8349_PCI_66
+	bool "Support sbc8349_PCI_66"
+
+config TARGET_VE8313
+	bool "Support ve8313"
+
+config TARGET_CADDY2
+	bool "Support caddy2"
+
+config TARGET_VME8349
+	bool "Support vme8349"
+
+config TARGET_MPC8308RDB
+	bool "Support MPC8308RDB"
+
+config TARGET_MPC8313ERDB_33
+	bool "Support MPC8313ERDB_33"
+
+config TARGET_MPC8313ERDB_66
+	bool "Support MPC8313ERDB_66"
+
+config TARGET_MPC8313ERDB_NAND_33
+	bool "Support MPC8313ERDB_NAND_33"
+
+config TARGET_MPC8313ERDB_NAND_66
+	bool "Support MPC8313ERDB_NAND_66"
+
+config TARGET_MPC8315ERDB
+	bool "Support MPC8315ERDB"
+
+config TARGET_MPC8315ERDB_NAND
+	bool "Support MPC8315ERDB_NAND"
+
+config TARGET_MPC8323ERDB
+	bool "Support MPC8323ERDB"
+
+config TARGET_MPC832XEMDS
+	bool "Support MPC832XEMDS"
+
+config TARGET_MPC832XEMDS_ATM
+	bool "Support MPC832XEMDS_ATM"
+
+config TARGET_MPC832XEMDS_HOST_33
+	bool "Support MPC832XEMDS_HOST_33"
+
+config TARGET_MPC832XEMDS_HOST_66
+	bool "Support MPC832XEMDS_HOST_66"
+
+config TARGET_MPC832XEMDS_SLAVE
+	bool "Support MPC832XEMDS_SLAVE"
+
+config TARGET_MPC8349EMDS
+	bool "Support MPC8349EMDS"
+
+config TARGET_MPC8349ITX
+	bool "Support MPC8349ITX"
+
+config TARGET_MPC8349ITX_LOWBOOT
+	bool "Support MPC8349ITX_LOWBOOT"
+
+config TARGET_MPC8349ITXGP
+	bool "Support MPC8349ITXGP"
+
+config TARGET_MPC8360EMDS_33
+	bool "Support MPC8360EMDS_33"
+
+config TARGET_MPC8360EMDS_33_ATM
+	bool "Support MPC8360EMDS_33_ATM"
+
+config TARGET_MPC8360EMDS_33_HOST_33
+	bool "Support MPC8360EMDS_33_HOST_33"
+
+config TARGET_MPC8360EMDS_33_HOST_66
+	bool "Support MPC8360EMDS_33_HOST_66"
+
+config TARGET_MPC8360EMDS_33_SLAVE
+	bool "Support MPC8360EMDS_33_SLAVE"
+
+config TARGET_MPC8360EMDS_66
+	bool "Support MPC8360EMDS_66"
+
+config TARGET_MPC8360EMDS_66_ATM
+	bool "Support MPC8360EMDS_66_ATM"
+
+config TARGET_MPC8360EMDS_66_HOST_33
+	bool "Support MPC8360EMDS_66_HOST_33"
+
+config TARGET_MPC8360EMDS_66_HOST_66
+	bool "Support MPC8360EMDS_66_HOST_66"
+
+config TARGET_MPC8360EMDS_66_SLAVE
+	bool "Support MPC8360EMDS_66_SLAVE"
+
+config TARGET_MPC8360ERDK
+	bool "Support MPC8360ERDK"
+
+config TARGET_MPC8360ERDK_33
+	bool "Support MPC8360ERDK_33"
+
+config TARGET_MPC837XEMDS
+	bool "Support MPC837XEMDS"
+
+config TARGET_MPC837XEMDS_HOST
+	bool "Support MPC837XEMDS_HOST"
+
+config TARGET_MPC837XERDB
+	bool "Support MPC837XERDB"
+
+config TARGET_IDS8313
+	bool "Support ids8313"
+
+config TARGET_KMCOGE5NE
+	bool "Support kmcoge5ne"
+
+config TARGET_KMETER1
+	bool "Support kmeter1"
+
+config TARGET_KMOPTI2
+	bool "Support kmopti2"
+
+config TARGET_KMSUPX5
+	bool "Support kmsupx5"
+
+config TARGET_KMVECT1
+	bool "Support kmvect1"
+
+config TARGET_SUVD3
+	bool "Support suvd3"
+
+config TARGET_TUGE1
+	bool "Support tuge1"
+
+config TARGET_TUXX1
+	bool "Support tuxx1"
+
+config TARGET_MERGERBOX
+	bool "Support MERGERBOX"
+
+config TARGET_MVBLM7
+	bool "Support MVBLM7"
+
+config TARGET_SIMPC8313_LP
+	bool "Support SIMPC8313_LP"
+
+config TARGET_SIMPC8313_SP
+	bool "Support SIMPC8313_SP"
+
+config TARGET_TQM834X
+	bool "Support TQM834x"
+
+config TARGET_SBC8548
+	bool "Support sbc8548"
+
+config TARGET_SBC8548_PCI_33
+	bool "Support sbc8548_PCI_33"
+
+config TARGET_SBC8548_PCI_33_PCIE
+	bool "Support sbc8548_PCI_33_PCIE"
+
+config TARGET_SBC8548_PCI_66
+	bool "Support sbc8548_PCI_66"
+
+config TARGET_SBC8548_PCI_66_PCIE
+	bool "Support sbc8548_PCI_66_PCIE"
+
+config TARGET_SOCRATES
+	bool "Support socrates"
+
+config TARGET_HWW1U1A
+	bool "Support HWW1U1A"
+
+config TARGET_B4420QDS
+	bool "Support B4420QDS"
+
+config TARGET_B4420QDS_NAND
+	bool "Support B4420QDS_NAND"
+
+config TARGET_B4420QDS_SPIFLASH
+	bool "Support B4420QDS_SPIFLASH"
+
+config TARGET_B4860QDS
+	bool "Support B4860QDS"
+
+config TARGET_B4860QDS_NAND
+	bool "Support B4860QDS_NAND"
+
+config TARGET_B4860QDS_SECURE_BOOT
+	bool "Support B4860QDS_SECURE_BOOT"
+
+config TARGET_B4860QDS_SPIFLASH
+	bool "Support B4860QDS_SPIFLASH"
+
+config TARGET_B4860QDS_SRIO_PCIE_BOOT
+	bool "Support B4860QDS_SRIO_PCIE_BOOT"
+
+config TARGET_BSC9131RDB_NAND
+	bool "Support BSC9131RDB_NAND"
+
+config TARGET_BSC9131RDB_NAND_SYSCLK100
+	bool "Support BSC9131RDB_NAND_SYSCLK100"
+
+config TARGET_BSC9131RDB_SPIFLASH
+	bool "Support BSC9131RDB_SPIFLASH"
+
+config TARGET_BSC9131RDB_SPIFLASH_SYSCLK100
+	bool "Support BSC9131RDB_SPIFLASH_SYSCLK100"
+
+config TARGET_BSC9132QDS_NAND_DDRCLK100
+	bool "Support BSC9132QDS_NAND_DDRCLK100"
+
+config TARGET_BSC9132QDS_NAND_DDRCLK100_SECURE
+	bool "Support BSC9132QDS_NAND_DDRCLK100_SECURE"
+
+config TARGET_BSC9132QDS_NAND_DDRCLK133
+	bool "Support BSC9132QDS_NAND_DDRCLK133"
+
+config TARGET_BSC9132QDS_NAND_DDRCLK133_SECURE
+	bool "Support BSC9132QDS_NAND_DDRCLK133_SECURE"
+
+config TARGET_BSC9132QDS_NOR_DDRCLK100
+	bool "Support BSC9132QDS_NOR_DDRCLK100"
+
+config TARGET_BSC9132QDS_NOR_DDRCLK100_SECURE
+	bool "Support BSC9132QDS_NOR_DDRCLK100_SECURE"
+
+config TARGET_BSC9132QDS_NOR_DDRCLK133
+	bool "Support BSC9132QDS_NOR_DDRCLK133"
+
+config TARGET_BSC9132QDS_NOR_DDRCLK133_SECURE
+	bool "Support BSC9132QDS_NOR_DDRCLK133_SECURE"
+
+config TARGET_BSC9132QDS_SDCARD_DDRCLK100
+	bool "Support BSC9132QDS_SDCARD_DDRCLK100"
+
+config TARGET_BSC9132QDS_SDCARD_DDRCLK100_SECURE
+	bool "Support BSC9132QDS_SDCARD_DDRCLK100_SECURE"
+
+config TARGET_BSC9132QDS_SDCARD_DDRCLK133
+	bool "Support BSC9132QDS_SDCARD_DDRCLK133"
+
+config TARGET_BSC9132QDS_SDCARD_DDRCLK133_SECURE
+	bool "Support BSC9132QDS_SDCARD_DDRCLK133_SECURE"
+
+config TARGET_BSC9132QDS_SPIFLASH_DDRCLK100
+	bool "Support BSC9132QDS_SPIFLASH_DDRCLK100"
+
+config TARGET_BSC9132QDS_SPIFLASH_DDRCLK100_SECURE
+	bool "Support BSC9132QDS_SPIFLASH_DDRCLK100_SECURE"
+
+config TARGET_BSC9132QDS_SPIFLASH_DDRCLK133
+	bool "Support BSC9132QDS_SPIFLASH_DDRCLK133"
+
+config TARGET_BSC9132QDS_SPIFLASH_DDRCLK133_SECURE
+	bool "Support BSC9132QDS_SPIFLASH_DDRCLK133_SECURE"
+
+config TARGET_C29XPCIE
+	bool "Support C29XPCIE"
+
+config TARGET_C29XPCIE_NAND
+	bool "Support C29XPCIE_NAND"
+
+config TARGET_C29XPCIE_SPIFLASH
+	bool "Support C29XPCIE_SPIFLASH"
+
+config TARGET_P3041DS
+	bool "Support P3041DS"
+
+config TARGET_P3041DS_NAND
+	bool "Support P3041DS_NAND"
+
+config TARGET_P3041DS_SDCARD
+	bool "Support P3041DS_SDCARD"
+
+config TARGET_P3041DS_SECURE_BOOT
+	bool "Support P3041DS_SECURE_BOOT"
+
+config TARGET_P3041DS_SPIFLASH
+	bool "Support P3041DS_SPIFLASH"
+
+config TARGET_P3041DS_SRIO_PCIE_BOOT
+	bool "Support P3041DS_SRIO_PCIE_BOOT"
+
+config TARGET_P4080DS
+	bool "Support P4080DS"
+
+config TARGET_P4080DS_SDCARD
+	bool "Support P4080DS_SDCARD"
+
+config TARGET_P4080DS_SECURE_BOOT
+	bool "Support P4080DS_SECURE_BOOT"
+
+config TARGET_P4080DS_SPIFLASH
+	bool "Support P4080DS_SPIFLASH"
+
+config TARGET_P4080DS_SRIO_PCIE_BOOT
+	bool "Support P4080DS_SRIO_PCIE_BOOT"
+
+config TARGET_P5020DS
+	bool "Support P5020DS"
+
+config TARGET_P5020DS_NAND
+	bool "Support P5020DS_NAND"
+
+config TARGET_P5020DS_SDCARD
+	bool "Support P5020DS_SDCARD"
+
+config TARGET_P5020DS_SECURE_BOOT
+	bool "Support P5020DS_SECURE_BOOT"
+
+config TARGET_P5020DS_SPIFLASH
+	bool "Support P5020DS_SPIFLASH"
+
+config TARGET_P5020DS_SRIO_PCIE_BOOT
+	bool "Support P5020DS_SRIO_PCIE_BOOT"
+
+config TARGET_P5040DS
+	bool "Support P5040DS"
+
+config TARGET_P5040DS_NAND
+	bool "Support P5040DS_NAND"
+
+config TARGET_P5040DS_SDCARD
+	bool "Support P5040DS_SDCARD"
+
+config TARGET_P5040DS_SPIFLASH
+	bool "Support P5040DS_SPIFLASH"
+
+config TARGET_MPC8536DS
+	bool "Support MPC8536DS"
+
+config TARGET_MPC8536DS_36BIT
+	bool "Support MPC8536DS_36BIT"
+
+config TARGET_MPC8536DS_NAND
+	bool "Support MPC8536DS_NAND"
+
+config TARGET_MPC8536DS_SDCARD
+	bool "Support MPC8536DS_SDCARD"
+
+config TARGET_MPC8536DS_SPIFLASH
+	bool "Support MPC8536DS_SPIFLASH"
+
+config TARGET_MPC8540ADS
+	bool "Support MPC8540ADS"
+
+config TARGET_MPC8541CDS
+	bool "Support MPC8541CDS"
+
+config TARGET_MPC8541CDS_LEGACY
+	bool "Support MPC8541CDS_legacy"
+
+config TARGET_MPC8544DS
+	bool "Support MPC8544DS"
+
+config TARGET_MPC8548CDS
+	bool "Support MPC8548CDS"
+
+config TARGET_MPC8548CDS_36BIT
+	bool "Support MPC8548CDS_36BIT"
+
+config TARGET_MPC8548CDS_LEGACY
+	bool "Support MPC8548CDS_legacy"
+
+config TARGET_MPC8555CDS
+	bool "Support MPC8555CDS"
+
+config TARGET_MPC8555CDS_LEGACY
+	bool "Support MPC8555CDS_legacy"
+
+config TARGET_MPC8560ADS
+	bool "Support MPC8560ADS"
+
+config TARGET_MPC8568MDS
+	bool "Support MPC8568MDS"
+
+config TARGET_MPC8569MDS
+	bool "Support MPC8569MDS"
+
+config TARGET_MPC8569MDS_ATM
+	bool "Support MPC8569MDS_ATM"
+
+config TARGET_MPC8569MDS_NAND
+	bool "Support MPC8569MDS_NAND"
+
+config TARGET_MPC8572DS
+	bool "Support MPC8572DS"
+
+config TARGET_MPC8572DS_36BIT
+	bool "Support MPC8572DS_36BIT"
+
+config TARGET_MPC8572DS_NAND
+	bool "Support MPC8572DS_NAND"
+
+config TARGET_P1010RDB_PA_36BIT_NAND
+	bool "Support P1010RDB-PA_36BIT_NAND"
+
+config TARGET_P1010RDB_PA_36BIT_NAND_SECBOOT
+	bool "Support P1010RDB-PA_36BIT_NAND_SECBOOT"
+
+config TARGET_P1010RDB_PA_36BIT_NOR
+	bool "Support P1010RDB-PA_36BIT_NOR"
+
+config TARGET_P1010RDB_PA_36BIT_NOR_SECBOOT
+	bool "Support P1010RDB-PA_36BIT_NOR_SECBOOT"
+
+config TARGET_P1010RDB_PA_36BIT_SDCARD
+	bool "Support P1010RDB-PA_36BIT_SDCARD"
+
+config TARGET_P1010RDB_PA_36BIT_SPIFLASH
+	bool "Support P1010RDB-PA_36BIT_SPIFLASH"
+
+config TARGET_P1010RDB_PA_36BIT_SPIFLASH_SECBOOT
+	bool "Support P1010RDB-PA_36BIT_SPIFLASH_SECBOOT"
+
+config TARGET_P1010RDB_PA_NAND
+	bool "Support P1010RDB-PA_NAND"
+
+config TARGET_P1010RDB_PA_NAND_SECBOOT
+	bool "Support P1010RDB-PA_NAND_SECBOOT"
+
+config TARGET_P1010RDB_PA_NOR
+	bool "Support P1010RDB-PA_NOR"
+
+config TARGET_P1010RDB_PA_NOR_SECBOOT
+	bool "Support P1010RDB-PA_NOR_SECBOOT"
+
+config TARGET_P1010RDB_PA_SDCARD
+	bool "Support P1010RDB-PA_SDCARD"
+
+config TARGET_P1010RDB_PA_SPIFLASH
+	bool "Support P1010RDB-PA_SPIFLASH"
+
+config TARGET_P1010RDB_PA_SPIFLASH_SECBOOT
+	bool "Support P1010RDB-PA_SPIFLASH_SECBOOT"
+
+config TARGET_P1010RDB_PB_36BIT_NAND
+	bool "Support P1010RDB-PB_36BIT_NAND"
+
+config TARGET_P1010RDB_PB_36BIT_NAND_SECBOOT
+	bool "Support P1010RDB-PB_36BIT_NAND_SECBOOT"
+
+config TARGET_P1010RDB_PB_36BIT_NOR
+	bool "Support P1010RDB-PB_36BIT_NOR"
+
+config TARGET_P1010RDB_PB_36BIT_NOR_SECBOOT
+	bool "Support P1010RDB-PB_36BIT_NOR_SECBOOT"
+
+config TARGET_P1010RDB_PB_36BIT_SDCARD
+	bool "Support P1010RDB-PB_36BIT_SDCARD"
+
+config TARGET_P1010RDB_PB_36BIT_SPIFLASH
+	bool "Support P1010RDB-PB_36BIT_SPIFLASH"
+
+config TARGET_P1010RDB_PB_36BIT_SPIFLASH_SECBOOT
+	bool "Support P1010RDB-PB_36BIT_SPIFLASH_SECBOOT"
+
+config TARGET_P1010RDB_PB_NAND
+	bool "Support P1010RDB-PB_NAND"
+
+config TARGET_P1010RDB_PB_NAND_SECBOOT
+	bool "Support P1010RDB-PB_NAND_SECBOOT"
+
+config TARGET_P1010RDB_PB_NOR
+	bool "Support P1010RDB-PB_NOR"
+
+config TARGET_P1010RDB_PB_NOR_SECBOOT
+	bool "Support P1010RDB-PB_NOR_SECBOOT"
+
+config TARGET_P1010RDB_PB_SDCARD
+	bool "Support P1010RDB-PB_SDCARD"
+
+config TARGET_P1010RDB_PB_SPIFLASH
+	bool "Support P1010RDB-PB_SPIFLASH"
+
+config TARGET_P1010RDB_PB_SPIFLASH_SECBOOT
+	bool "Support P1010RDB-PB_SPIFLASH_SECBOOT"
+
+config TARGET_P1022DS
+	bool "Support P1022DS"
+
+config TARGET_P1022DS_36BIT
+	bool "Support P1022DS_36BIT"
+
+config TARGET_P1022DS_36BIT_NAND
+	bool "Support P1022DS_36BIT_NAND"
+
+config TARGET_P1022DS_36BIT_SDCARD
+	bool "Support P1022DS_36BIT_SDCARD"
+
+config TARGET_P1022DS_36BIT_SPIFLASH
+	bool "Support P1022DS_36BIT_SPIFLASH"
+
+config TARGET_P1022DS_NAND
+	bool "Support P1022DS_NAND"
+
+config TARGET_P1022DS_SDCARD
+	bool "Support P1022DS_SDCARD"
+
+config TARGET_P1022DS_SPIFLASH
+	bool "Support P1022DS_SPIFLASH"
+
+config TARGET_P1023RDB
+	bool "Support P1023RDB"
+
+config TARGET_P1023RDS
+	bool "Support P1023RDS"
+
+config TARGET_P1023RDS_NAND
+	bool "Support P1023RDS_NAND"
+
+config TARGET_P1011RDB
+	bool "Support P1011RDB"
+
+config TARGET_P1011RDB_36BIT
+	bool "Support P1011RDB_36BIT"
+
+config TARGET_P1011RDB_36BIT_SDCARD
+	bool "Support P1011RDB_36BIT_SDCARD"
+
+config TARGET_P1011RDB_36BIT_SPIFLASH
+	bool "Support P1011RDB_36BIT_SPIFLASH"
+
+config TARGET_P1011RDB_NAND
+	bool "Support P1011RDB_NAND"
+
+config TARGET_P1011RDB_SDCARD
+	bool "Support P1011RDB_SDCARD"
+
+config TARGET_P1011RDB_SPIFLASH
+	bool "Support P1011RDB_SPIFLASH"
+
+config TARGET_P1020RDB
+	bool "Support P1020RDB"
+
+config TARGET_P1020RDB_36BIT
+	bool "Support P1020RDB_36BIT"
+
+config TARGET_P1020RDB_36BIT_SDCARD
+	bool "Support P1020RDB_36BIT_SDCARD"
+
+config TARGET_P1020RDB_36BIT_SPIFLASH
+	bool "Support P1020RDB_36BIT_SPIFLASH"
+
+config TARGET_P1020RDB_NAND
+	bool "Support P1020RDB_NAND"
+
+config TARGET_P1020RDB_SDCARD
+	bool "Support P1020RDB_SDCARD"
+
+config TARGET_P1020RDB_SPIFLASH
+	bool "Support P1020RDB_SPIFLASH"
+
+config TARGET_P2010RDB
+	bool "Support P2010RDB"
+
+config TARGET_P2010RDB_36BIT
+	bool "Support P2010RDB_36BIT"
+
+config TARGET_P2010RDB_36BIT_SDCARD
+	bool "Support P2010RDB_36BIT_SDCARD"
+
+config TARGET_P2010RDB_36BIT_SPIFLASH
+	bool "Support P2010RDB_36BIT_SPIFLASH"
+
+config TARGET_P2010RDB_NAND
+	bool "Support P2010RDB_NAND"
+
+config TARGET_P2010RDB_SDCARD
+	bool "Support P2010RDB_SDCARD"
+
+config TARGET_P2010RDB_SPIFLASH
+	bool "Support P2010RDB_SPIFLASH"
+
+config TARGET_P2020RDB
+	bool "Support P2020RDB"
+
+config TARGET_P2020RDB_36BIT
+	bool "Support P2020RDB_36BIT"
+
+config TARGET_P2020RDB_36BIT_SDCARD
+	bool "Support P2020RDB_36BIT_SDCARD"
+
+config TARGET_P2020RDB_36BIT_SPIFLASH
+	bool "Support P2020RDB_36BIT_SPIFLASH"
+
+config TARGET_P2020RDB_NAND
+	bool "Support P2020RDB_NAND"
+
+config TARGET_P2020RDB_SDCARD
+	bool "Support P2020RDB_SDCARD"
+
+config TARGET_P2020RDB_SPIFLASH
+	bool "Support P2020RDB_SPIFLASH"
+
+config TARGET_P1020MBG_PC
+	bool "Support P1020MBG-PC"
+
+config TARGET_P1020MBG_PC_36BIT
+	bool "Support P1020MBG-PC_36BIT"
+
+config TARGET_P1020MBG_PC_36BIT_SDCARD
+	bool "Support P1020MBG-PC_36BIT_SDCARD"
+
+config TARGET_P1020MBG_PC_SDCARD
+	bool "Support P1020MBG-PC_SDCARD"
+
+config TARGET_P1020RDB_PC
+	bool "Support P1020RDB-PC"
+
+config TARGET_P1020RDB_PC_36BIT
+	bool "Support P1020RDB-PC_36BIT"
+
+config TARGET_P1020RDB_PC_36BIT_NAND
+	bool "Support P1020RDB-PC_36BIT_NAND"
+
+config TARGET_P1020RDB_PC_36BIT_SDCARD
+	bool "Support P1020RDB-PC_36BIT_SDCARD"
+
+config TARGET_P1020RDB_PC_36BIT_SPIFLASH
+	bool "Support P1020RDB-PC_36BIT_SPIFLASH"
+
+config TARGET_P1020RDB_PC_NAND
+	bool "Support P1020RDB-PC_NAND"
+
+config TARGET_P1020RDB_PC_SDCARD
+	bool "Support P1020RDB-PC_SDCARD"
+
+config TARGET_P1020RDB_PC_SPIFLASH
+	bool "Support P1020RDB-PC_SPIFLASH"
+
+config TARGET_P1020RDB_PD
+	bool "Support P1020RDB-PD"
+
+config TARGET_P1020RDB_PD_NAND
+	bool "Support P1020RDB-PD_NAND"
+
+config TARGET_P1020RDB_PD_SDCARD
+	bool "Support P1020RDB-PD_SDCARD"
+
+config TARGET_P1020RDB_PD_SPIFLASH
+	bool "Support P1020RDB-PD_SPIFLASH"
+
+config TARGET_P1020UTM_PC
+	bool "Support P1020UTM-PC"
+
+config TARGET_P1020UTM_PC_36BIT
+	bool "Support P1020UTM-PC_36BIT"
+
+config TARGET_P1020UTM_PC_36BIT_SDCARD
+	bool "Support P1020UTM-PC_36BIT_SDCARD"
+
+config TARGET_P1020UTM_PC_SDCARD
+	bool "Support P1020UTM-PC_SDCARD"
+
+config TARGET_P1021RDB_PC
+	bool "Support P1021RDB-PC"
+
+config TARGET_P1021RDB_PC_36BIT
+	bool "Support P1021RDB-PC_36BIT"
+
+config TARGET_P1021RDB_PC_36BIT_NAND
+	bool "Support P1021RDB-PC_36BIT_NAND"
+
+config TARGET_P1021RDB_PC_36BIT_SDCARD
+	bool "Support P1021RDB-PC_36BIT_SDCARD"
+
+config TARGET_P1021RDB_PC_36BIT_SPIFLASH
+	bool "Support P1021RDB-PC_36BIT_SPIFLASH"
+
+config TARGET_P1021RDB_PC_NAND
+	bool "Support P1021RDB-PC_NAND"
+
+config TARGET_P1021RDB_PC_SDCARD
+	bool "Support P1021RDB-PC_SDCARD"
+
+config TARGET_P1021RDB_PC_SPIFLASH
+	bool "Support P1021RDB-PC_SPIFLASH"
+
+config TARGET_P1024RDB
+	bool "Support P1024RDB"
+
+config TARGET_P1024RDB_36BIT
+	bool "Support P1024RDB_36BIT"
+
+config TARGET_P1024RDB_NAND
+	bool "Support P1024RDB_NAND"
+
+config TARGET_P1024RDB_SDCARD
+	bool "Support P1024RDB_SDCARD"
+
+config TARGET_P1024RDB_SPIFLASH
+	bool "Support P1024RDB_SPIFLASH"
+
+config TARGET_P1025RDB
+	bool "Support P1025RDB"
+
+config TARGET_P1025RDB_36BIT
+	bool "Support P1025RDB_36BIT"
+
+config TARGET_P1025RDB_NAND
+	bool "Support P1025RDB_NAND"
+
+config TARGET_P1025RDB_SDCARD
+	bool "Support P1025RDB_SDCARD"
+
+config TARGET_P1025RDB_SPIFLASH
+	bool "Support P1025RDB_SPIFLASH"
+
+config TARGET_P2020RDB_PC
+	bool "Support P2020RDB-PC"
+
+config TARGET_P2020RDB_PC_36BIT
+	bool "Support P2020RDB-PC_36BIT"
+
+config TARGET_P2020RDB_PC_36BIT_NAND
+	bool "Support P2020RDB-PC_36BIT_NAND"
+
+config TARGET_P2020RDB_PC_36BIT_SDCARD
+	bool "Support P2020RDB-PC_36BIT_SDCARD"
+
+config TARGET_P2020RDB_PC_36BIT_SPIFLASH
+	bool "Support P2020RDB-PC_36BIT_SPIFLASH"
+
+config TARGET_P2020RDB_PC_NAND
+	bool "Support P2020RDB-PC_NAND"
+
+config TARGET_P2020RDB_PC_SDCARD
+	bool "Support P2020RDB-PC_SDCARD"
+
+config TARGET_P2020RDB_PC_SPIFLASH
+	bool "Support P2020RDB-PC_SPIFLASH"
+
+config TARGET_TWR_P1025
+	bool "Support TWR-P1025"
+
+config TARGET_P2020COME_SDCARD
+	bool "Support P2020COME_SDCARD"
+
+config TARGET_P2020COME_SPIFLASH
+	bool "Support P2020COME_SPIFLASH"
+
+config TARGET_P2020DS
+	bool "Support P2020DS"
+
+config TARGET_P2020DS_36BIT
+	bool "Support P2020DS_36BIT"
+
+config TARGET_P2020DS_DDR2
+	bool "Support P2020DS_DDR2"
+
+config TARGET_P2020DS_SDCARD
+	bool "Support P2020DS_SDCARD"
+
+config TARGET_P2020DS_SPIFLASH
+	bool "Support P2020DS_SPIFLASH"
+
+config TARGET_P2041RDB
+	bool "Support P2041RDB"
+
+config TARGET_P2041RDB_NAND
+	bool "Support P2041RDB_NAND"
+
+config TARGET_P2041RDB_SDCARD
+	bool "Support P2041RDB_SDCARD"
+
+config TARGET_P2041RDB_SECURE_BOOT
+	bool "Support P2041RDB_SECURE_BOOT"
+
+config TARGET_P2041RDB_SPIFLASH
+	bool "Support P2041RDB_SPIFLASH"
+
+config TARGET_P2041RDB_SRIO_PCIE_BOOT
+	bool "Support P2041RDB_SRIO_PCIE_BOOT"
+
+config TARGET_QEMU_PPCE500
+	bool "Support qemu-ppce500"
+
+config TARGET_T1040QDS
+	bool "Support T1040QDS"
+
+config TARGET_T1040QDS_D4
+	bool "Support T1040QDS_D4"
+
+config TARGET_T1040QDS_SECURE_BOOT
+	bool "Support T1040QDS_SECURE_BOOT"
+
+config TARGET_T1040RDB
+	bool "Support T1040RDB"
+
+config TARGET_T1040RDB_NAND
+	bool "Support T1040RDB_NAND"
+
+config TARGET_T1040RDB_SDCARD
+	bool "Support T1040RDB_SDCARD"
+
+config TARGET_T1040RDB_SECURE_BOOT
+	bool "Support T1040RDB_SECURE_BOOT"
+
+config TARGET_T1040RDB_SPIFLASH
+	bool "Support T1040RDB_SPIFLASH"
+
+config TARGET_T1042RDB_PI
+	bool "Support T1042RDB_PI"
+
+config TARGET_T1042RDB_PI_NAND
+	bool "Support T1042RDB_PI_NAND"
+
+config TARGET_T1042RDB_PI_SDCARD
+	bool "Support T1042RDB_PI_SDCARD"
+
+config TARGET_T1042RDB_PI_SPIFLASH
+	bool "Support T1042RDB_PI_SPIFLASH"
+
+config TARGET_T2080QDS
+	bool "Support T2080QDS"
+
+config TARGET_T2080QDS_NAND
+	bool "Support T2080QDS_NAND"
+
+config TARGET_T2080QDS_SDCARD
+	bool "Support T2080QDS_SDCARD"
+
+config TARGET_T2080QDS_SECURE_BOOT
+	bool "Support T2080QDS_SECURE_BOOT"
+
+config TARGET_T2080QDS_SPIFLASH
+	bool "Support T2080QDS_SPIFLASH"
+
+config TARGET_T2080QDS_SRIO_PCIE_BOOT
+	bool "Support T2080QDS_SRIO_PCIE_BOOT"
+
+config TARGET_T2081QDS
+	bool "Support T2081QDS"
+
+config TARGET_T2081QDS_NAND
+	bool "Support T2081QDS_NAND"
+
+config TARGET_T2081QDS_SDCARD
+	bool "Support T2081QDS_SDCARD"
+
+config TARGET_T2081QDS_SPIFLASH
+	bool "Support T2081QDS_SPIFLASH"
+
+config TARGET_T2081QDS_SRIO_PCIE_BOOT
+	bool "Support T2081QDS_SRIO_PCIE_BOOT"
+
+config TARGET_T2080RDB
+	bool "Support T2080RDB"
+
+config TARGET_T2080RDB_NAND
+	bool "Support T2080RDB_NAND"
+
+config TARGET_T2080RDB_SDCARD
+	bool "Support T2080RDB_SDCARD"
+
+config TARGET_T2080RDB_SECURE_BOOT
+	bool "Support T2080RDB_SECURE_BOOT"
+
+config TARGET_T2080RDB_SPIFLASH
+	bool "Support T2080RDB_SPIFLASH"
+
+config TARGET_T2080RDB_SRIO_PCIE_BOOT
+	bool "Support T2080RDB_SRIO_PCIE_BOOT"
+
+config TARGET_T4160QDS
+	bool "Support T4160QDS"
+
+config TARGET_T4160QDS_NAND
+	bool "Support T4160QDS_NAND"
+
+config TARGET_T4160QDS_SDCARD
+	bool "Support T4160QDS_SDCARD"
+
+config TARGET_T4160QDS_SECURE_BOOT
+	bool "Support T4160QDS_SECURE_BOOT"
+
+config TARGET_T4160QDS_SPIFLASH
+	bool "Support T4160QDS_SPIFLASH"
+
+config TARGET_T4240EMU
+	bool "Support T4240EMU"
+
+config TARGET_T4240QDS
+	bool "Support T4240QDS"
+
+config TARGET_T4240QDS_NAND
+	bool "Support T4240QDS_NAND"
+
+config TARGET_T4240QDS_SDCARD
+	bool "Support T4240QDS_SDCARD"
+
+config TARGET_T4240QDS_SECURE_BOOT
+	bool "Support T4240QDS_SECURE_BOOT"
+
+config TARGET_T4240QDS_SPIFLASH
+	bool "Support T4240QDS_SPIFLASH"
+
+config TARGET_T4240QDS_SRIO_PCIE_BOOT
+	bool "Support T4240QDS_SRIO_PCIE_BOOT"
+
+config TARGET_T4160RDB
+	bool "Support T4160RDB"
+
+config TARGET_T4240RDB
+	bool "Support T4240RDB"
+
+config TARGET_CONTROLCENTERD_36BIT_SDCARD
+	bool "Support controlcenterd_36BIT_SDCARD"
+
+config TARGET_CONTROLCENTERD_36BIT_SDCARD_DEVELOP
+	bool "Support controlcenterd_36BIT_SDCARD_DEVELOP"
+
+config TARGET_CONTROLCENTERD_TRAILBLAZER
+	bool "Support controlcenterd_TRAILBLAZER"
+
+config TARGET_CONTROLCENTERD_TRAILBLAZER_DEVELOP
+	bool "Support controlcenterd_TRAILBLAZER_DEVELOP"
+
+config TARGET_KMCOGE4
+	bool "Support kmcoge4"
+
+config TARGET_KMLION1
+	bool "Support kmlion1"
+
+config TARGET_STXGP3
+	bool "Support stxgp3"
+
+config TARGET_STXSSA
+	bool "Support stxssa"
+
+config TARGET_STXSSA_4M
+	bool "Support stxssa_4M"
+
+config TARGET_XPEDITE520X
+	bool "Support xpedite520x"
+
+config TARGET_XPEDITE537X
+	bool "Support xpedite537x"
+
+config TARGET_XPEDITE550X
+	bool "Support xpedite550x"
+
+config TARGET_SBC8641D
+	bool "Support sbc8641d"
+
+config TARGET_MPC8610HPCD
+	bool "Support MPC8610HPCD"
+
+config TARGET_MPC8641HPCN
+	bool "Support MPC8641HPCN"
+
+config TARGET_MPC8641HPCN_36BIT
+	bool "Support MPC8641HPCN_36BIT"
+
+config TARGET_XPEDITE517X
+	bool "Support xpedite517x"
+
+config TARGET_HERMES
+	bool "Support hermes"
+
+config TARGET_LWMON
+	bool "Support lwmon"
+
+config TARGET_QUANTUM
+	bool "Support quantum"
+
+config TARGET_RRVISION
+	bool "Support RRvision"
+
+config TARGET_SPC1920
+	bool "Support spc1920"
+
+config TARGET_SVM_SC8XX
+	bool "Support svm_sc8xx"
+
+config TARGET_V37
+	bool "Support v37"
+
+config TARGET_ADDER
+	bool "Support Adder"
+
+config TARGET_ADDERII
+	bool "Support AdderII"
+
+config TARGET_COGENT_MPC8XX
+	bool "Support cogent_mpc8xx"
+
+config TARGET_ESTEEM192E
+	bool "Support ESTEEM192E"
+
+config TARGET_MPC86XADS
+	bool "Support MPC86xADS"
+
+config TARGET_MPC885ADS
+	bool "Support MPC885ADS"
+
+config TARGET_FLAGADM
+	bool "Support FLAGADM"
+
+config TARGET_GEN860T
+	bool "Support GEN860T"
+
+config TARGET_GEN860T_SC
+	bool "Support GEN860T_SC"
+
+config TARGET_ICU862
+	bool "Support ICU862"
+
+config TARGET_ICU862_100MHZ
+	bool "Support ICU862_100MHz"
+
+config TARGET_IP860
+	bool "Support IP860"
+
+config TARGET_IVML24
+	bool "Support IVML24"
+
+config TARGET_IVML24_128
+	bool "Support IVML24_128"
+
+config TARGET_IVML24_256
+	bool "Support IVML24_256"
+
+config TARGET_IVMS8
+	bool "Support IVMS8"
+
+config TARGET_IVMS8_128
+	bool "Support IVMS8_128"
+
+config TARGET_IVMS8_256
+	bool "Support IVMS8_256"
+
+config TARGET_NETPHONE
+	bool "Support NETPHONE"
+
+config TARGET_NETPHONE_V2
+	bool "Support NETPHONE_V2"
+
+config TARGET_NETTA
+	bool "Support NETTA"
+
+config TARGET_NETTA_6412
+	bool "Support NETTA_6412"
+
+config TARGET_NETTA_6412_SWAPHOOK
+	bool "Support NETTA_6412_SWAPHOOK"
+
+config TARGET_NETTA_ISDN
+	bool "Support NETTA_ISDN"
+
+config TARGET_NETTA_ISDN_6412
+	bool "Support NETTA_ISDN_6412"
+
+config TARGET_NETTA_ISDN_6412_SWAPHOOK
+	bool "Support NETTA_ISDN_6412_SWAPHOOK"
+
+config TARGET_NETTA_ISDN_SWAPHOOK
+	bool "Support NETTA_ISDN_SWAPHOOK"
+
+config TARGET_NETTA_SWAPHOOK
+	bool "Support NETTA_SWAPHOOK"
+
+config TARGET_NETTA2
+	bool "Support NETTA2"
+
+config TARGET_NETTA2_V2
+	bool "Support NETTA2_V2"
+
+config TARGET_NETVIA
+	bool "Support NETVIA"
+
+config TARGET_NETVIA_V2
+	bool "Support NETVIA_V2"
+
+config TARGET_R360MPI
+	bool "Support R360MPI"
+
+config TARGET_RBC823
+	bool "Support RBC823"
+
+config TARGET_RPXLITE_DW
+	bool "Support RPXlite_DW"
+
+config TARGET_RPXLITE_DW_64
+	bool "Support RPXlite_DW_64"
+
+config TARGET_RPXLITE_DW_64_LCD
+	bool "Support RPXlite_DW_64_LCD"
+
+config TARGET_RPXLITE_DW_LCD
+	bool "Support RPXlite_DW_LCD"
+
+config TARGET_RPXLITE_DW_NVRAM
+	bool "Support RPXlite_DW_NVRAM"
+
+config TARGET_RPXLITE_DW_NVRAM_64
+	bool "Support RPXlite_DW_NVRAM_64"
+
+config TARGET_RPXLITE_DW_NVRAM_64_LCD
+	bool "Support RPXlite_DW_NVRAM_64_LCD"
+
+config TARGET_RPXLITE_DW_NVRAM_LCD
+	bool "Support RPXlite_DW_NVRAM_LCD"
+
+config TARGET_RRVISION_LCD
+	bool "Support RRvision_LCD"
+
+config TARGET_SXNI855T
+	bool "Support SXNI855T"
+
+config TARGET_SPD823TS
+	bool "Support SPD823TS"
+
+config TARGET_MHPC
+	bool "Support MHPC"
+
+config TARGET_TOP860
+	bool "Support TOP860"
+
+config TARGET_KUP4K
+	bool "Support KUP4K"
+
+config TARGET_KUP4X
+	bool "Support KUP4X"
+
+config TARGET_ELPT860
+	bool "Support ELPT860"
+
+config TARGET_UC100
+	bool "Support uc100"
+
+config TARGET_QS823
+	bool "Support QS823"
+
+config TARGET_QS850
+	bool "Support QS850"
+
+config TARGET_QS860T
+	bool "Support QS860T"
+
+config TARGET_STXXTC
+	bool "Support stxxtc"
+
+config TARGET_FPS850L
+	bool "Support FPS850L"
+
+config TARGET_FPS860L
+	bool "Support FPS860L"
+
+config TARGET_NSCU
+	bool "Support NSCU"
+
+config TARGET_SM850
+	bool "Support SM850"
+
+config TARGET_TK885D
+	bool "Support TK885D"
+
+config TARGET_TQM823L
+	bool "Support TQM823L"
+
+config TARGET_TQM823L_LCD
+	bool "Support TQM823L_LCD"
+
+config TARGET_TQM823M
+	bool "Support TQM823M"
+
+config TARGET_TQM850L
+	bool "Support TQM850L"
+
+config TARGET_TQM850M
+	bool "Support TQM850M"
+
+config TARGET_TQM855L
+	bool "Support TQM855L"
+
+config TARGET_TQM855M
+	bool "Support TQM855M"
+
+config TARGET_TQM860L
+	bool "Support TQM860L"
+
+config TARGET_TQM860M
+	bool "Support TQM860M"
+
+config TARGET_TQM862L
+	bool "Support TQM862L"
+
+config TARGET_TQM862M
+	bool "Support TQM862M"
+
+config TARGET_TQM866M
+	bool "Support TQM866M"
+
+config TARGET_TQM885D
+	bool "Support TQM885D"
+
+config TARGET_TTTECH
+	bool "Support TTTech"
+
+config TARGET_VIRTLAB2
+	bool "Support virtlab2"
+
+config TARGET_WTK
+	bool "Support wtk"
+
+config TARGET_CSB272
+	bool "Support csb272"
+
+config TARGET_CSB472
+	bool "Support csb472"
+
+config TARGET_KORAT
+	bool "Support korat"
+
+config TARGET_LWMON5
+	bool "Support lwmon5"
+
+config TARGET_PCS440EP
+	bool "Support pcs440ep"
+
+config TARGET_QUAD100HD
+	bool "Support quad100hd"
+
+config TARGET_SBC405
+	bool "Support sbc405"
+
+config TARGET_SC3
+	bool "Support sc3"
+
+config TARGET_T3CORP
+	bool "Support t3corp"
+
+config TARGET_ZEUS
+	bool "Support zeus"
+
+config TARGET_G2000
+	bool "Support G2000"
+
+config TARGET_JSE
+	bool "Support JSE"
+
+config TARGET_KORAT_PERM
+	bool "Support korat_perm"
+
+config TARGET_LCD4_LWMON5
+	bool "Support lcd4_lwmon5"
+
+config TARGET_W7OLMC
+	bool "Support W7OLMC"
+
+config TARGET_W7OLMG
+	bool "Support W7OLMG"
+
+config TARGET_ACADIA
+	bool "Support acadia"
+
+config TARGET_BAMBOO
+	bool "Support bamboo"
+
+config TARGET_BLUESTONE
+	bool "Support bluestone"
+
+config TARGET_BUBINGA
+	bool "Support bubinga"
+
+config TARGET_EBONY
+	bool "Support ebony"
+
+config TARGET_KATMAI
+	bool "Support katmai"
+
+config TARGET_LUAN
+	bool "Support luan"
+
+config TARGET_MAKALU
+	bool "Support makalu"
+
+config TARGET_OCOTEA
+	bool "Support ocotea"
+
+config TARGET_REDWOOD
+	bool "Support redwood"
+
+config TARGET_TAIHU
+	bool "Support taihu"
+
+config TARGET_TAISHAN
+	bool "Support taishan"
+
+config TARGET_YUCCA
+	bool "Support yucca"
+
+config TARGET_ARCHES
+	bool "Support arches"
+
+config TARGET_CANYONLANDS
+	bool "Support canyonlands"
+
+config TARGET_GLACIER
+	bool "Support glacier"
+
+config TARGET_HALEAKALA
+	bool "Support haleakala"
+
+config TARGET_KILAUEA
+	bool "Support kilauea"
+
+config TARGET_RAINIER
+	bool "Support rainier"
+
+config TARGET_RAINIER_RAMBOOT
+	bool "Support rainier_ramboot"
+
+config TARGET_SEQUOIA
+	bool "Support sequoia"
+
+config TARGET_SEQUOIA_RAMBOOT
+	bool "Support sequoia_ramboot"
+
+config TARGET_SYCAMORE
+	bool "Support sycamore"
+
+config TARGET_WALNUT
+	bool "Support walnut"
+
+config TARGET_YELLOWSTONE
+	bool "Support yellowstone"
+
+config TARGET_YOSEMITE
+	bool "Support yosemite"
+
+config TARGET_FX12MM
+	bool "Support fx12mm"
+
+config TARGET_FX12MM_FLASH
+	bool "Support fx12mm_flash"
+
+config TARGET_V5FX30TEVAL
+	bool "Support v5fx30teval"
+
+config TARGET_V5FX30TEVAL_FLASH
+	bool "Support v5fx30teval_flash"
+
+config TARGET_CRAYL1
+	bool "Support CRAYL1"
+
+config TARGET_CATCENTER
+	bool "Support CATcenter"
+
+config TARGET_CATCENTER_25
+	bool "Support CATcenter_25"
+
+config TARGET_CATCENTER_33
+	bool "Support CATcenter_33"
+
+config TARGET_PPCHAMELEONEVB
+	bool "Support PPChameleonEVB"
+
+config TARGET_PPCHAMELEONEVB_BA_25
+	bool "Support PPChameleonEVB_BA_25"
+
+config TARGET_PPCHAMELEONEVB_BA_33
+	bool "Support PPChameleonEVB_BA_33"
+
+config TARGET_PPCHAMELEONEVB_HI_25
+	bool "Support PPChameleonEVB_HI_25"
+
+config TARGET_PPCHAMELEONEVB_HI_33
+	bool "Support PPChameleonEVB_HI_33"
+
+config TARGET_PPCHAMELEONEVB_ME_25
+	bool "Support PPChameleonEVB_ME_25"
+
+config TARGET_PPCHAMELEONEVB_ME_33
+	bool "Support PPChameleonEVB_ME_33"
+
+config TARGET_APC405
+	bool "Support APC405"
+
+config TARGET_AR405
+	bool "Support AR405"
+
+config TARGET_ASH405
+	bool "Support ASH405"
+
+config TARGET_CMS700
+	bool "Support CMS700"
+
+config TARGET_CPCI2DP
+	bool "Support CPCI2DP"
+
+config TARGET_CPCI405
+	bool "Support CPCI405"
+
+config TARGET_CPCI4052
+	bool "Support CPCI4052"
+
+config TARGET_CPCI405AB
+	bool "Support CPCI405AB"
+
+config TARGET_CPCI405DT
+	bool "Support CPCI405DT"
+
+config TARGET_CPCIISER4
+	bool "Support CPCIISER4"
+
+config TARGET_DP405
+	bool "Support DP405"
+
+config TARGET_DU405
+	bool "Support DU405"
+
+config TARGET_DU440
+	bool "Support DU440"
+
+config TARGET_HH405
+	bool "Support HH405"
+
+config TARGET_HUB405
+	bool "Support HUB405"
+
+config TARGET_OCRTC
+	bool "Support OCRTC"
+
+config TARGET_PCI405
+	bool "Support PCI405"
+
+config TARGET_PLU405
+	bool "Support PLU405"
+
+config TARGET_PMC405
+	bool "Support PMC405"
+
+config TARGET_PMC405DE
+	bool "Support PMC405DE"
+
+config TARGET_PMC440
+	bool "Support PMC440"
+
+config TARGET_VOH405
+	bool "Support VOH405"
+
+config TARGET_VOM405
+	bool "Support VOM405"
+
+config TARGET_WUH405
+	bool "Support WUH405"
+
+config TARGET_DLVISION
+	bool "Support dlvision"
+
+config TARGET_GDPPC440ETX
+	bool "Support gdppc440etx"
+
+config TARGET_DLVISION_10G
+	bool "Support dlvision-10g"
+
+config TARGET_IO
+	bool "Support io"
+
+config TARGET_IOCON
+	bool "Support iocon"
+
+config TARGET_NEO
+	bool "Support neo"
+
+config TARGET_IO64
+	bool "Support io64"
+
+config TARGET_DEVCONCENTER
+	bool "Support devconcenter"
+
+config TARGET_INTIP
+	bool "Support intip"
+
+config TARGET_ICON
+	bool "Support icon"
+
+config TARGET_MIP405
+	bool "Support MIP405"
+
+config TARGET_MIP405T
+	bool "Support MIP405T"
+
+config TARGET_PIP405
+	bool "Support PIP405"
+
+config TARGET_ALPR
+	bool "Support alpr"
+
+config TARGET_P3P440
+	bool "Support p3p440"
+
+config TARGET_KAREF
+	bool "Support KAREF"
+
+config TARGET_METROBOX
+	bool "Support METROBOX"
+
+config TARGET_XPEDITE1000
+	bool "Support xpedite1000"
+
+config TARGET_ML507
+	bool "Support ml507"
+
+config TARGET_ML507_FLASH
+	bool "Support ml507_flash"
+
+config TARGET_XILINX_PPC405_GENERIC
+	bool "Support xilinx-ppc405-generic"
+
+config TARGET_XILINX_PPC405_GENERIC_FLASH
+	bool "Support xilinx-ppc405-generic_flash"
+
+config TARGET_XILINX_PPC440_GENERIC
+	bool "Support xilinx-ppc440-generic"
+
+config TARGET_XILINX_PPC440_GENERIC_FLASH
+	bool "Support xilinx-ppc440-generic_flash"
+
+endchoice
+
+source "board/LEOX/elpt860/Kconfig"
+source "board/Marvell/db64360/Kconfig"
+source "board/Marvell/db64460/Kconfig"
+source "board/RPXlite_dw/Kconfig"
+source "board/RRvision/Kconfig"
+source "board/a3000/Kconfig"
+source "board/a3m071/Kconfig"
+source "board/a4m072/Kconfig"
+source "board/adder/Kconfig"
+source "board/amcc/acadia/Kconfig"
+source "board/amcc/bamboo/Kconfig"
+source "board/amcc/bluestone/Kconfig"
+source "board/amcc/bubinga/Kconfig"
+source "board/amcc/canyonlands/Kconfig"
+source "board/amcc/ebony/Kconfig"
+source "board/amcc/katmai/Kconfig"
+source "board/amcc/kilauea/Kconfig"
+source "board/amcc/luan/Kconfig"
+source "board/amcc/makalu/Kconfig"
+source "board/amcc/ocotea/Kconfig"
+source "board/amcc/redwood/Kconfig"
+source "board/amcc/sequoia/Kconfig"
+source "board/amcc/taihu/Kconfig"
+source "board/amcc/taishan/Kconfig"
+source "board/amcc/walnut/Kconfig"
+source "board/amcc/yosemite/Kconfig"
+source "board/amcc/yucca/Kconfig"
+source "board/atc/Kconfig"
+source "board/avnet/fx12mm/Kconfig"
+source "board/avnet/v5fx30teval/Kconfig"
+source "board/bc3450/Kconfig"
+source "board/canmb/Kconfig"
+source "board/cm5200/Kconfig"
+source "board/cmi/Kconfig"
+source "board/cogent/Kconfig"
+source "board/cpc45/Kconfig"
+source "board/cpu86/Kconfig"
+source "board/cpu87/Kconfig"
+source "board/cray/L1/Kconfig"
+source "board/csb272/Kconfig"
+source "board/csb472/Kconfig"
+source "board/cu824/Kconfig"
+source "board/dave/PPChameleonEVB/Kconfig"
+source "board/davedenx/aria/Kconfig"
+source "board/eXalion/Kconfig"
+source "board/eltec/elppc/Kconfig"
+source "board/eltec/mhpc/Kconfig"
+source "board/emk/top5200/Kconfig"
+source "board/emk/top860/Kconfig"
+source "board/ep8248/Kconfig"
+source "board/ep8260/Kconfig"
+source "board/ep82xxm/Kconfig"
+source "board/esd/apc405/Kconfig"
+source "board/esd/ar405/Kconfig"
+source "board/esd/ash405/Kconfig"
+source "board/esd/cms700/Kconfig"
+source "board/esd/cpci2dp/Kconfig"
+source "board/esd/cpci405/Kconfig"
+source "board/esd/cpci5200/Kconfig"
+source "board/esd/cpci750/Kconfig"
+source "board/esd/cpciiser4/Kconfig"
+source "board/esd/dp405/Kconfig"
+source "board/esd/du405/Kconfig"
+source "board/esd/du440/Kconfig"
+source "board/esd/hh405/Kconfig"
+source "board/esd/hub405/Kconfig"
+source "board/esd/mecp5123/Kconfig"
+source "board/esd/mecp5200/Kconfig"
+source "board/esd/ocrtc/Kconfig"
+source "board/esd/pci405/Kconfig"
+source "board/esd/pf5200/Kconfig"
+source "board/esd/plu405/Kconfig"
+source "board/esd/pmc405/Kconfig"
+source "board/esd/pmc405de/Kconfig"
+source "board/esd/pmc440/Kconfig"
+source "board/esd/vme8349/Kconfig"
+source "board/esd/voh405/Kconfig"
+source "board/esd/vom405/Kconfig"
+source "board/esd/wuh405/Kconfig"
+source "board/esteem192e/Kconfig"
+source "board/etin/debris/Kconfig"
+source "board/etin/kvme080/Kconfig"
+source "board/evb64260/Kconfig"
+source "board/exmeritus/hww1u1a/Kconfig"
+source "board/fads/Kconfig"
+source "board/flagadm/Kconfig"
+source "board/freescale/b4860qds/Kconfig"
+source "board/freescale/bsc9131rdb/Kconfig"
+source "board/freescale/bsc9132qds/Kconfig"
+source "board/freescale/c29xpcie/Kconfig"
+source "board/freescale/corenet_ds/Kconfig"
+source "board/freescale/mpc5121ads/Kconfig"
+source "board/freescale/mpc7448hpc2/Kconfig"
+source "board/freescale/mpc8260ads/Kconfig"
+source "board/freescale/mpc8266ads/Kconfig"
+source "board/freescale/mpc8308rdb/Kconfig"
+source "board/freescale/mpc8313erdb/Kconfig"
+source "board/freescale/mpc8315erdb/Kconfig"
+source "board/freescale/mpc8323erdb/Kconfig"
+source "board/freescale/mpc832xemds/Kconfig"
+source "board/freescale/mpc8349emds/Kconfig"
+source "board/freescale/mpc8349itx/Kconfig"
+source "board/freescale/mpc8360emds/Kconfig"
+source "board/freescale/mpc8360erdk/Kconfig"
+source "board/freescale/mpc837xemds/Kconfig"
+source "board/freescale/mpc837xerdb/Kconfig"
+source "board/freescale/mpc8536ds/Kconfig"
+source "board/freescale/mpc8540ads/Kconfig"
+source "board/freescale/mpc8541cds/Kconfig"
+source "board/freescale/mpc8544ds/Kconfig"
+source "board/freescale/mpc8548cds/Kconfig"
+source "board/freescale/mpc8555cds/Kconfig"
+source "board/freescale/mpc8560ads/Kconfig"
+source "board/freescale/mpc8568mds/Kconfig"
+source "board/freescale/mpc8569mds/Kconfig"
+source "board/freescale/mpc8572ds/Kconfig"
+source "board/freescale/mpc8610hpcd/Kconfig"
+source "board/freescale/mpc8641hpcn/Kconfig"
+source "board/freescale/p1010rdb/Kconfig"
+source "board/freescale/p1022ds/Kconfig"
+source "board/freescale/p1023rdb/Kconfig"
+source "board/freescale/p1023rds/Kconfig"
+source "board/freescale/p1_p2_rdb/Kconfig"
+source "board/freescale/p1_p2_rdb_pc/Kconfig"
+source "board/freescale/p1_twr/Kconfig"
+source "board/freescale/p2020come/Kconfig"
+source "board/freescale/p2020ds/Kconfig"
+source "board/freescale/p2041rdb/Kconfig"
+source "board/freescale/qemu-ppce500/Kconfig"
+source "board/freescale/t1040qds/Kconfig"
+source "board/freescale/t104xrdb/Kconfig"
+source "board/freescale/t208xqds/Kconfig"
+source "board/freescale/t208xrdb/Kconfig"
+source "board/freescale/t4qds/Kconfig"
+source "board/freescale/t4rdb/Kconfig"
+source "board/funkwerk/vovpn-gw/Kconfig"
+source "board/g2000/Kconfig"
+source "board/galaxy5200/Kconfig"
+source "board/gdsys/405ep/Kconfig"
+source "board/gdsys/405ex/Kconfig"
+source "board/gdsys/dlvision/Kconfig"
+source "board/gdsys/gdppc440etx/Kconfig"
+source "board/gdsys/intip/Kconfig"
+source "board/gdsys/p1022/Kconfig"
+source "board/gen860t/Kconfig"
+source "board/gw8260/Kconfig"
+source "board/hermes/Kconfig"
+source "board/hidden_dragon/Kconfig"
+source "board/hymod/Kconfig"
+source "board/icecube/Kconfig"
+source "board/icu862/Kconfig"
+source "board/ids/ids8247/Kconfig"
+source "board/ids/ids8313/Kconfig"
+source "board/ifm/ac14xx/Kconfig"
+source "board/ifm/o2dnt2/Kconfig"
+source "board/inka4x0/Kconfig"
+source "board/intercontrol/digsy_mtc/Kconfig"
+source "board/ip860/Kconfig"
+source "board/ipek01/Kconfig"
+source "board/iphase4539/Kconfig"
+source "board/ispan/Kconfig"
+source "board/ivm/Kconfig"
+source "board/jse/Kconfig"
+source "board/jupiter/Kconfig"
+source "board/keymile/km82xx/Kconfig"
+source "board/keymile/km83xx/Kconfig"
+source "board/keymile/kmp204x/Kconfig"
+source "board/korat/Kconfig"
+source "board/kup/kup4k/Kconfig"
+source "board/kup/kup4x/Kconfig"
+source "board/lwmon/Kconfig"
+source "board/lwmon5/Kconfig"
+source "board/manroland/hmi1001/Kconfig"
+source "board/manroland/mucmc52/Kconfig"
+source "board/manroland/uc100/Kconfig"
+source "board/manroland/uc101/Kconfig"
+source "board/matrix_vision/mergerbox/Kconfig"
+source "board/matrix_vision/mvbc_p/Kconfig"
+source "board/matrix_vision/mvblm7/Kconfig"
+source "board/matrix_vision/mvsmr/Kconfig"
+source "board/mcc200/Kconfig"
+source "board/mosaixtech/icon/Kconfig"
+source "board/motionpro/Kconfig"
+source "board/mpc8308_p1m/Kconfig"
+source "board/mpl/mip405/Kconfig"
+source "board/mpl/pati/Kconfig"
+source "board/mpl/pip405/Kconfig"
+source "board/muas3001/Kconfig"
+source "board/munices/Kconfig"
+source "board/musenki/Kconfig"
+source "board/mvblue/Kconfig"
+source "board/netphone/Kconfig"
+source "board/netta/Kconfig"
+source "board/netta2/Kconfig"
+source "board/netvia/Kconfig"
+source "board/pcs440ep/Kconfig"
+source "board/pdm360ng/Kconfig"
+source "board/phytec/pcm030/Kconfig"
+source "board/pm520/Kconfig"
+source "board/pm826/Kconfig"
+source "board/pm828/Kconfig"
+source "board/ppmc7xx/Kconfig"
+source "board/ppmc8260/Kconfig"
+source "board/prodrive/alpr/Kconfig"
+source "board/prodrive/p3mx/Kconfig"
+source "board/prodrive/p3p440/Kconfig"
+source "board/quad100hd/Kconfig"
+source "board/quantum/Kconfig"
+source "board/r360mpi/Kconfig"
+source "board/rattler/Kconfig"
+source "board/rbc823/Kconfig"
+source "board/sacsng/Kconfig"
+source "board/sandburst/karef/Kconfig"
+source "board/sandburst/metrobox/Kconfig"
+source "board/sandpoint/Kconfig"
+source "board/sbc405/Kconfig"
+source "board/sbc8349/Kconfig"
+source "board/sbc8548/Kconfig"
+source "board/sbc8641d/Kconfig"
+source "board/sc3/Kconfig"
+source "board/sheldon/simpc8313/Kconfig"
+source "board/sixnet/Kconfig"
+source "board/snmc/qs850/Kconfig"
+source "board/snmc/qs860t/Kconfig"
+source "board/socrates/Kconfig"
+source "board/spc1920/Kconfig"
+source "board/spd8xx/Kconfig"
+source "board/stx/stxgp3/Kconfig"
+source "board/stx/stxssa/Kconfig"
+source "board/stx/stxxtc/Kconfig"
+source "board/svm_sc8xx/Kconfig"
+source "board/t3corp/Kconfig"
+source "board/total5200/Kconfig"
+source "board/tqc/tqm5200/Kconfig"
+source "board/tqc/tqm8260/Kconfig"
+source "board/tqc/tqm8272/Kconfig"
+source "board/tqc/tqm834x/Kconfig"
+source "board/tqc/tqm8xx/Kconfig"
+source "board/utx8245/Kconfig"
+source "board/v37/Kconfig"
+source "board/v38b/Kconfig"
+source "board/ve8313/Kconfig"
+source "board/w7o/Kconfig"
+source "board/xes/xpedite1000/Kconfig"
+source "board/xes/xpedite517x/Kconfig"
+source "board/xes/xpedite520x/Kconfig"
+source "board/xes/xpedite537x/Kconfig"
+source "board/xes/xpedite550x/Kconfig"
+source "board/xilinx/ml507/Kconfig"
+source "board/xilinx/ppc405-generic/Kconfig"
+source "board/xilinx/ppc440-generic/Kconfig"
+source "board/zeus/Kconfig"
+source "board/zpc1900/Kconfig"
diff --git a/arch/powerpc/configs/A3000_defconfig b/arch/powerpc/configs/A3000_defconfig
new file mode 100644
index 0000000..f68a831
--- /dev/null
+++ b/arch/powerpc/configs/A3000_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_A3000=y
diff --git a/arch/powerpc/configs/APC405_defconfig b/arch/powerpc/configs/APC405_defconfig
new file mode 100644
index 0000000..d13b55d
--- /dev/null
+++ b/arch/powerpc/configs/APC405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_APC405=y
diff --git a/arch/powerpc/configs/AR405_defconfig b/arch/powerpc/configs/AR405_defconfig
new file mode 100644
index 0000000..5301d8a
--- /dev/null
+++ b/arch/powerpc/configs/AR405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AR405=y
diff --git a/arch/powerpc/configs/ASH405_defconfig b/arch/powerpc/configs/ASH405_defconfig
new file mode 100644
index 0000000..2061768
--- /dev/null
+++ b/arch/powerpc/configs/ASH405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ASH405=y
diff --git a/arch/powerpc/configs/AdderII_defconfig b/arch/powerpc/configs/AdderII_defconfig
new file mode 100644
index 0000000..bce932b
--- /dev/null
+++ b/arch/powerpc/configs/AdderII_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ADDERII=y
diff --git a/arch/powerpc/configs/Adder_defconfig b/arch/powerpc/configs/Adder_defconfig
new file mode 100644
index 0000000..c05febe
--- /dev/null
+++ b/arch/powerpc/configs/Adder_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ADDER=y
diff --git a/arch/powerpc/configs/B4420QDS_NAND_defconfig b/arch/powerpc/configs/B4420QDS_NAND_defconfig
new file mode 100644
index 0000000..f44e297
--- /dev/null
+++ b/arch/powerpc/configs/B4420QDS_NAND_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_B4420QDS_NAND=y
diff --git a/arch/powerpc/configs/B4420QDS_SPIFLASH_defconfig b/arch/powerpc/configs/B4420QDS_SPIFLASH_defconfig
new file mode 100644
index 0000000..a43101f
--- /dev/null
+++ b/arch/powerpc/configs/B4420QDS_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_B4420QDS_SPIFLASH=y
diff --git a/arch/powerpc/configs/B4420QDS_defconfig b/arch/powerpc/configs/B4420QDS_defconfig
new file mode 100644
index 0000000..06a5471
--- /dev/null
+++ b/arch/powerpc/configs/B4420QDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_B4420QDS=y
diff --git a/arch/powerpc/configs/B4860QDS_NAND_defconfig b/arch/powerpc/configs/B4860QDS_NAND_defconfig
new file mode 100644
index 0000000..1351f7b
--- /dev/null
+++ b/arch/powerpc/configs/B4860QDS_NAND_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_B4860QDS_NAND=y
diff --git a/arch/powerpc/configs/B4860QDS_SECURE_BOOT_defconfig b/arch/powerpc/configs/B4860QDS_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..004f575
--- /dev/null
+++ b/arch/powerpc/configs/B4860QDS_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_B4860QDS_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/B4860QDS_SPIFLASH_defconfig b/arch/powerpc/configs/B4860QDS_SPIFLASH_defconfig
new file mode 100644
index 0000000..0a93009
--- /dev/null
+++ b/arch/powerpc/configs/B4860QDS_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_B4860QDS_SPIFLASH=y
diff --git a/arch/powerpc/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig b/arch/powerpc/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
new file mode 100644
index 0000000..3f7b8b6
--- /dev/null
+++ b/arch/powerpc/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_B4860QDS_SRIO_PCIE_BOOT=y
diff --git a/arch/powerpc/configs/B4860QDS_defconfig b/arch/powerpc/configs/B4860QDS_defconfig
new file mode 100644
index 0000000..6c2fa50
--- /dev/null
+++ b/arch/powerpc/configs/B4860QDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_B4860QDS=y
diff --git a/arch/powerpc/configs/BC3450_defconfig b/arch/powerpc/configs/BC3450_defconfig
new file mode 100644
index 0000000..024fdeb
--- /dev/null
+++ b/arch/powerpc/configs/BC3450_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BC3450=y
diff --git a/arch/powerpc/configs/BSC9131RDB_NAND_SYSCLK100_defconfig b/arch/powerpc/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
new file mode 100644
index 0000000..f4839ca
--- /dev/null
+++ b/arch/powerpc/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_BSC9131RDB_NAND_SYSCLK100=y
diff --git a/arch/powerpc/configs/BSC9131RDB_NAND_defconfig b/arch/powerpc/configs/BSC9131RDB_NAND_defconfig
new file mode 100644
index 0000000..8d8019c
--- /dev/null
+++ b/arch/powerpc/configs/BSC9131RDB_NAND_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_BSC9131RDB_NAND=y
diff --git a/arch/powerpc/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig b/arch/powerpc/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
new file mode 100644
index 0000000..1d5457c
--- /dev/null
+++ b/arch/powerpc/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9131RDB_SPIFLASH_SYSCLK100=y
diff --git a/arch/powerpc/configs/BSC9131RDB_SPIFLASH_defconfig b/arch/powerpc/configs/BSC9131RDB_SPIFLASH_defconfig
new file mode 100644
index 0000000..2223401
--- /dev/null
+++ b/arch/powerpc/configs/BSC9131RDB_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9131RDB_SPIFLASH=y
diff --git a/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
new file mode 100644
index 0000000..cdfb7fd
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_NAND_DDRCLK100_SECURE=y
diff --git a/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_defconfig b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
new file mode 100644
index 0000000..eb78d6d
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_BSC9132QDS_NAND_DDRCLK100=y
diff --git a/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
new file mode 100644
index 0000000..3277b17
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_NAND_DDRCLK133_SECURE=y
diff --git a/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_defconfig b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
new file mode 100644
index 0000000..217a435
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_BSC9132QDS_NAND_DDRCLK133=y
diff --git a/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig b/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
new file mode 100644
index 0000000..26e5232
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_NOR_DDRCLK100_SECURE=y
diff --git a/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK100_defconfig b/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
new file mode 100644
index 0000000..e63fbaf
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_NOR_DDRCLK100=y
diff --git a/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig b/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
new file mode 100644
index 0000000..4e46345
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_NOR_DDRCLK133_SECURE=y
diff --git a/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK133_defconfig b/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
new file mode 100644
index 0000000..ff2e2af
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_NOR_DDRCLK133=y
diff --git a/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig b/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
new file mode 100644
index 0000000..006a715
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_SDCARD_DDRCLK100_SECURE=y
diff --git a/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig b/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
new file mode 100644
index 0000000..c5e324d
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_SDCARD_DDRCLK100=y
diff --git a/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig b/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
new file mode 100644
index 0000000..c95afcb
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_SDCARD_DDRCLK133_SECURE=y
diff --git a/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig b/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
new file mode 100644
index 0000000..58a86d3
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_SDCARD_DDRCLK133=y
diff --git a/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig b/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
new file mode 100644
index 0000000..9e76559
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_SPIFLASH_DDRCLK100_SECURE=y
diff --git a/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig b/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
new file mode 100644
index 0000000..2bdfb40
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_SPIFLASH_DDRCLK100=y
diff --git a/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig b/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
new file mode 100644
index 0000000..f11bf92
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_SPIFLASH_DDRCLK133_SECURE=y
diff --git a/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig b/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
new file mode 100644
index 0000000..bd7c312
--- /dev/null
+++ b/arch/powerpc/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BSC9132QDS_SPIFLASH_DDRCLK133=y
diff --git a/arch/powerpc/configs/C29XPCIE_NAND_defconfig b/arch/powerpc/configs/C29XPCIE_NAND_defconfig
new file mode 100644
index 0000000..f2a3776
--- /dev/null
+++ b/arch/powerpc/configs/C29XPCIE_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_C29XPCIE_NAND=y
diff --git a/arch/powerpc/configs/C29XPCIE_SPIFLASH_defconfig b/arch/powerpc/configs/C29XPCIE_SPIFLASH_defconfig
new file mode 100644
index 0000000..7781bca
--- /dev/null
+++ b/arch/powerpc/configs/C29XPCIE_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_C29XPCIE_SPIFLASH=y
diff --git a/arch/powerpc/configs/C29XPCIE_defconfig b/arch/powerpc/configs/C29XPCIE_defconfig
new file mode 100644
index 0000000..ead158a
--- /dev/null
+++ b/arch/powerpc/configs/C29XPCIE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_C29XPCIE=y
diff --git a/arch/powerpc/configs/CATcenter_25_defconfig b/arch/powerpc/configs/CATcenter_25_defconfig
new file mode 100644
index 0000000..386c6a6
--- /dev/null
+++ b/arch/powerpc/configs/CATcenter_25_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CATCENTER_25=y
diff --git a/arch/powerpc/configs/CATcenter_33_defconfig b/arch/powerpc/configs/CATcenter_33_defconfig
new file mode 100644
index 0000000..ada835e
--- /dev/null
+++ b/arch/powerpc/configs/CATcenter_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CATCENTER_33=y
diff --git a/arch/powerpc/configs/CATcenter_defconfig b/arch/powerpc/configs/CATcenter_defconfig
new file mode 100644
index 0000000..3e9ae83
--- /dev/null
+++ b/arch/powerpc/configs/CATcenter_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CATCENTER=y
diff --git a/arch/powerpc/configs/CMS700_defconfig b/arch/powerpc/configs/CMS700_defconfig
new file mode 100644
index 0000000..2e9c81f
--- /dev/null
+++ b/arch/powerpc/configs/CMS700_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CMS700=y
diff --git a/arch/powerpc/configs/CPC45_ROMBOOT_defconfig b/arch/powerpc/configs/CPC45_ROMBOOT_defconfig
new file mode 100644
index 0000000..a24e455
--- /dev/null
+++ b/arch/powerpc/configs/CPC45_ROMBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPC45_ROMBOOT=y
diff --git a/arch/powerpc/configs/CPC45_defconfig b/arch/powerpc/configs/CPC45_defconfig
new file mode 100644
index 0000000..d0e1a0a
--- /dev/null
+++ b/arch/powerpc/configs/CPC45_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPC45=y
diff --git a/arch/powerpc/configs/CPCI2DP_defconfig b/arch/powerpc/configs/CPCI2DP_defconfig
new file mode 100644
index 0000000..b5b552a
--- /dev/null
+++ b/arch/powerpc/configs/CPCI2DP_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPCI2DP=y
diff --git a/arch/powerpc/configs/CPCI4052_defconfig b/arch/powerpc/configs/CPCI4052_defconfig
new file mode 100644
index 0000000..ac6ab09
--- /dev/null
+++ b/arch/powerpc/configs/CPCI4052_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPCI4052=y
diff --git a/arch/powerpc/configs/CPCI405AB_defconfig b/arch/powerpc/configs/CPCI405AB_defconfig
new file mode 100644
index 0000000..ae65c65
--- /dev/null
+++ b/arch/powerpc/configs/CPCI405AB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPCI405AB=y
diff --git a/arch/powerpc/configs/CPCI405DT_defconfig b/arch/powerpc/configs/CPCI405DT_defconfig
new file mode 100644
index 0000000..6df7187
--- /dev/null
+++ b/arch/powerpc/configs/CPCI405DT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPCI405DT=y
diff --git a/arch/powerpc/configs/CPCI405_defconfig b/arch/powerpc/configs/CPCI405_defconfig
new file mode 100644
index 0000000..5ba9381
--- /dev/null
+++ b/arch/powerpc/configs/CPCI405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPCI405=y
diff --git a/arch/powerpc/configs/CPCI750_defconfig b/arch/powerpc/configs/CPCI750_defconfig
new file mode 100644
index 0000000..e32479e
--- /dev/null
+++ b/arch/powerpc/configs/CPCI750_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPCI750=y
diff --git a/arch/powerpc/configs/CPCIISER4_defconfig b/arch/powerpc/configs/CPCIISER4_defconfig
new file mode 100644
index 0000000..2ba61b4
--- /dev/null
+++ b/arch/powerpc/configs/CPCIISER4_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPCIISER4=y
diff --git a/arch/powerpc/configs/CPU86_ROMBOOT_defconfig b/arch/powerpc/configs/CPU86_ROMBOOT_defconfig
new file mode 100644
index 0000000..70f24de
--- /dev/null
+++ b/arch/powerpc/configs/CPU86_ROMBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU86_ROMBOOT=y
diff --git a/arch/powerpc/configs/CPU86_defconfig b/arch/powerpc/configs/CPU86_defconfig
new file mode 100644
index 0000000..e26742a
--- /dev/null
+++ b/arch/powerpc/configs/CPU86_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU86=y
diff --git a/arch/powerpc/configs/CPU87_ROMBOOT_defconfig b/arch/powerpc/configs/CPU87_ROMBOOT_defconfig
new file mode 100644
index 0000000..41c49cd
--- /dev/null
+++ b/arch/powerpc/configs/CPU87_ROMBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU87_ROMBOOT=y
diff --git a/arch/powerpc/configs/CPU87_defconfig b/arch/powerpc/configs/CPU87_defconfig
new file mode 100644
index 0000000..2125495
--- /dev/null
+++ b/arch/powerpc/configs/CPU87_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPU87=y
diff --git a/arch/powerpc/configs/CRAYL1_defconfig b/arch/powerpc/configs/CRAYL1_defconfig
new file mode 100644
index 0000000..3c19815
--- /dev/null
+++ b/arch/powerpc/configs/CRAYL1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CRAYL1=y
diff --git a/arch/powerpc/configs/CU824_defconfig b/arch/powerpc/configs/CU824_defconfig
new file mode 100644
index 0000000..5816161
--- /dev/null
+++ b/arch/powerpc/configs/CU824_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CU824=y
diff --git a/arch/powerpc/configs/DB64360_defconfig b/arch/powerpc/configs/DB64360_defconfig
new file mode 100644
index 0000000..38940c1
--- /dev/null
+++ b/arch/powerpc/configs/DB64360_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DB64360=y
diff --git a/arch/powerpc/configs/DB64460_defconfig b/arch/powerpc/configs/DB64460_defconfig
new file mode 100644
index 0000000..0019c26
--- /dev/null
+++ b/arch/powerpc/configs/DB64460_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DB64460=y
diff --git a/arch/powerpc/configs/DP405_defconfig b/arch/powerpc/configs/DP405_defconfig
new file mode 100644
index 0000000..6606312
--- /dev/null
+++ b/arch/powerpc/configs/DP405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DP405=y
diff --git a/arch/powerpc/configs/DU405_defconfig b/arch/powerpc/configs/DU405_defconfig
new file mode 100644
index 0000000..d889189
--- /dev/null
+++ b/arch/powerpc/configs/DU405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DU405=y
diff --git a/arch/powerpc/configs/DU440_defconfig b/arch/powerpc/configs/DU440_defconfig
new file mode 100644
index 0000000..823425e
--- /dev/null
+++ b/arch/powerpc/configs/DU440_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DU440=y
diff --git a/arch/powerpc/configs/ELPPC_defconfig b/arch/powerpc/configs/ELPPC_defconfig
new file mode 100644
index 0000000..b29766d
--- /dev/null
+++ b/arch/powerpc/configs/ELPPC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ELPPC=y
diff --git a/arch/powerpc/configs/ELPT860_defconfig b/arch/powerpc/configs/ELPT860_defconfig
new file mode 100644
index 0000000..b718e6f
--- /dev/null
+++ b/arch/powerpc/configs/ELPT860_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ELPT860=y
diff --git a/arch/powerpc/configs/ESTEEM192E_defconfig b/arch/powerpc/configs/ESTEEM192E_defconfig
new file mode 100644
index 0000000..df5bd3e
--- /dev/null
+++ b/arch/powerpc/configs/ESTEEM192E_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ESTEEM192E=y
diff --git a/arch/powerpc/configs/EVAL5200_defconfig b/arch/powerpc/configs/EVAL5200_defconfig
new file mode 100644
index 0000000..0eccbdd
--- /dev/null
+++ b/arch/powerpc/configs/EVAL5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EVAL5200=y
diff --git a/arch/powerpc/configs/FLAGADM_defconfig b/arch/powerpc/configs/FLAGADM_defconfig
new file mode 100644
index 0000000..f176486
--- /dev/null
+++ b/arch/powerpc/configs/FLAGADM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_FLAGADM=y
diff --git a/arch/powerpc/configs/FPS850L_defconfig b/arch/powerpc/configs/FPS850L_defconfig
new file mode 100644
index 0000000..9751cc7
--- /dev/null
+++ b/arch/powerpc/configs/FPS850L_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_FPS850L=y
diff --git a/arch/powerpc/configs/FPS860L_defconfig b/arch/powerpc/configs/FPS860L_defconfig
new file mode 100644
index 0000000..ddc26fe
--- /dev/null
+++ b/arch/powerpc/configs/FPS860L_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_FPS860L=y
diff --git a/arch/powerpc/configs/G2000_defconfig b/arch/powerpc/configs/G2000_defconfig
new file mode 100644
index 0000000..45e0b6f
--- /dev/null
+++ b/arch/powerpc/configs/G2000_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_G2000=y
diff --git a/arch/powerpc/configs/GEN860T_SC_defconfig b/arch/powerpc/configs/GEN860T_SC_defconfig
new file mode 100644
index 0000000..a4a22d9
--- /dev/null
+++ b/arch/powerpc/configs/GEN860T_SC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GEN860T_SC=y
diff --git a/arch/powerpc/configs/GEN860T_defconfig b/arch/powerpc/configs/GEN860T_defconfig
new file mode 100644
index 0000000..06a9432
--- /dev/null
+++ b/arch/powerpc/configs/GEN860T_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GEN860T=y
diff --git a/arch/powerpc/configs/HH405_defconfig b/arch/powerpc/configs/HH405_defconfig
new file mode 100644
index 0000000..f75285f
--- /dev/null
+++ b/arch/powerpc/configs/HH405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HH405=y
diff --git a/arch/powerpc/configs/HIDDEN_DRAGON_defconfig b/arch/powerpc/configs/HIDDEN_DRAGON_defconfig
new file mode 100644
index 0000000..ec8d598
--- /dev/null
+++ b/arch/powerpc/configs/HIDDEN_DRAGON_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HIDDEN_DRAGON=y
diff --git a/arch/powerpc/configs/HUB405_defconfig b/arch/powerpc/configs/HUB405_defconfig
new file mode 100644
index 0000000..b6c8734
--- /dev/null
+++ b/arch/powerpc/configs/HUB405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HUB405=y
diff --git a/arch/powerpc/configs/HWW1U1A_defconfig b/arch/powerpc/configs/HWW1U1A_defconfig
new file mode 100644
index 0000000..d5c0cbf
--- /dev/null
+++ b/arch/powerpc/configs/HWW1U1A_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HWW1U1A=y
diff --git a/arch/powerpc/configs/ICU862_100MHz_defconfig b/arch/powerpc/configs/ICU862_100MHz_defconfig
new file mode 100644
index 0000000..58463d5
--- /dev/null
+++ b/arch/powerpc/configs/ICU862_100MHz_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ICU862_100MHZ=y
diff --git a/arch/powerpc/configs/ICU862_defconfig b/arch/powerpc/configs/ICU862_defconfig
new file mode 100644
index 0000000..efa8f25
--- /dev/null
+++ b/arch/powerpc/configs/ICU862_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ICU862=y
diff --git a/arch/powerpc/configs/IDS8247_defconfig b/arch/powerpc/configs/IDS8247_defconfig
new file mode 100644
index 0000000..74f89bf
--- /dev/null
+++ b/arch/powerpc/configs/IDS8247_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IDS8247=y
diff --git a/arch/powerpc/configs/IP860_defconfig b/arch/powerpc/configs/IP860_defconfig
new file mode 100644
index 0000000..9056981
--- /dev/null
+++ b/arch/powerpc/configs/IP860_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IP860=y
diff --git a/arch/powerpc/configs/IPHASE4539_defconfig b/arch/powerpc/configs/IPHASE4539_defconfig
new file mode 100644
index 0000000..f538010
--- /dev/null
+++ b/arch/powerpc/configs/IPHASE4539_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IPHASE4539=y
diff --git a/arch/powerpc/configs/ISPAN_REVB_defconfig b/arch/powerpc/configs/ISPAN_REVB_defconfig
new file mode 100644
index 0000000..656a9ed
--- /dev/null
+++ b/arch/powerpc/configs/ISPAN_REVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ISPAN_REVB=y
diff --git a/arch/powerpc/configs/ISPAN_defconfig b/arch/powerpc/configs/ISPAN_defconfig
new file mode 100644
index 0000000..b2e9f6a
--- /dev/null
+++ b/arch/powerpc/configs/ISPAN_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ISPAN=y
diff --git a/arch/powerpc/configs/IVML24_128_defconfig b/arch/powerpc/configs/IVML24_128_defconfig
new file mode 100644
index 0000000..6add6f2
--- /dev/null
+++ b/arch/powerpc/configs/IVML24_128_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IVML24_128=y
diff --git a/arch/powerpc/configs/IVML24_256_defconfig b/arch/powerpc/configs/IVML24_256_defconfig
new file mode 100644
index 0000000..9628b30
--- /dev/null
+++ b/arch/powerpc/configs/IVML24_256_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IVML24_256=y
diff --git a/arch/powerpc/configs/IVML24_defconfig b/arch/powerpc/configs/IVML24_defconfig
new file mode 100644
index 0000000..5afe593
--- /dev/null
+++ b/arch/powerpc/configs/IVML24_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IVML24=y
diff --git a/arch/powerpc/configs/IVMS8_128_defconfig b/arch/powerpc/configs/IVMS8_128_defconfig
new file mode 100644
index 0000000..e649141
--- /dev/null
+++ b/arch/powerpc/configs/IVMS8_128_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IVMS8_128=y
diff --git a/arch/powerpc/configs/IVMS8_256_defconfig b/arch/powerpc/configs/IVMS8_256_defconfig
new file mode 100644
index 0000000..6f29a0c
--- /dev/null
+++ b/arch/powerpc/configs/IVMS8_256_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IVMS8_256=y
diff --git a/arch/powerpc/configs/IVMS8_defconfig b/arch/powerpc/configs/IVMS8_defconfig
new file mode 100644
index 0000000..08764a4
--- /dev/null
+++ b/arch/powerpc/configs/IVMS8_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IVMS8=y
diff --git a/arch/powerpc/configs/JSE_defconfig b/arch/powerpc/configs/JSE_defconfig
new file mode 100644
index 0000000..289882b
--- /dev/null
+++ b/arch/powerpc/configs/JSE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_JSE=y
diff --git a/arch/powerpc/configs/KAREF_defconfig b/arch/powerpc/configs/KAREF_defconfig
new file mode 100644
index 0000000..64fd12d
--- /dev/null
+++ b/arch/powerpc/configs/KAREF_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KAREF=y
diff --git a/arch/powerpc/configs/KUP4K_defconfig b/arch/powerpc/configs/KUP4K_defconfig
new file mode 100644
index 0000000..52e82c3
--- /dev/null
+++ b/arch/powerpc/configs/KUP4K_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KUP4K=y
diff --git a/arch/powerpc/configs/KUP4X_defconfig b/arch/powerpc/configs/KUP4X_defconfig
new file mode 100644
index 0000000..a9a40bb
--- /dev/null
+++ b/arch/powerpc/configs/KUP4X_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KUP4X=y
diff --git a/arch/powerpc/configs/Lite5200_LOWBOOT08_defconfig b/arch/powerpc/configs/Lite5200_LOWBOOT08_defconfig
new file mode 100644
index 0000000..33f33c1
--- /dev/null
+++ b/arch/powerpc/configs/Lite5200_LOWBOOT08_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LITE5200_LOWBOOT08=y
diff --git a/arch/powerpc/configs/Lite5200_LOWBOOT_defconfig b/arch/powerpc/configs/Lite5200_LOWBOOT_defconfig
new file mode 100644
index 0000000..76354b4
--- /dev/null
+++ b/arch/powerpc/configs/Lite5200_LOWBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LITE5200_LOWBOOT=y
diff --git a/arch/powerpc/configs/Lite5200_defconfig b/arch/powerpc/configs/Lite5200_defconfig
new file mode 100644
index 0000000..4f136c8
--- /dev/null
+++ b/arch/powerpc/configs/Lite5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LITE5200=y
diff --git a/arch/powerpc/configs/MERGERBOX_defconfig b/arch/powerpc/configs/MERGERBOX_defconfig
new file mode 100644
index 0000000..036a4f9
--- /dev/null
+++ b/arch/powerpc/configs/MERGERBOX_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MERGERBOX=y
diff --git a/arch/powerpc/configs/METROBOX_defconfig b/arch/powerpc/configs/METROBOX_defconfig
new file mode 100644
index 0000000..ec7d3fd
--- /dev/null
+++ b/arch/powerpc/configs/METROBOX_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_METROBOX=y
diff --git a/arch/powerpc/configs/MHPC_defconfig b/arch/powerpc/configs/MHPC_defconfig
new file mode 100644
index 0000000..1f7901a
--- /dev/null
+++ b/arch/powerpc/configs/MHPC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MHPC=y
diff --git a/arch/powerpc/configs/MINI5200_defconfig b/arch/powerpc/configs/MINI5200_defconfig
new file mode 100644
index 0000000..2b3a649
--- /dev/null
+++ b/arch/powerpc/configs/MINI5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MINI5200=y
diff --git a/arch/powerpc/configs/MIP405T_defconfig b/arch/powerpc/configs/MIP405T_defconfig
new file mode 100644
index 0000000..cbf9113
--- /dev/null
+++ b/arch/powerpc/configs/MIP405T_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MIP405T=y
diff --git a/arch/powerpc/configs/MIP405_defconfig b/arch/powerpc/configs/MIP405_defconfig
new file mode 100644
index 0000000..6645b4b
--- /dev/null
+++ b/arch/powerpc/configs/MIP405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MIP405=y
diff --git a/arch/powerpc/configs/MPC8260ADS_33MHz_defconfig b/arch/powerpc/configs/MPC8260ADS_33MHz_defconfig
new file mode 100644
index 0000000..7f327dd
--- /dev/null
+++ b/arch/powerpc/configs/MPC8260ADS_33MHz_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8260ADS_33MHZ=y
diff --git a/arch/powerpc/configs/MPC8260ADS_33MHz_lowboot_defconfig b/arch/powerpc/configs/MPC8260ADS_33MHz_lowboot_defconfig
new file mode 100644
index 0000000..1fd529a
--- /dev/null
+++ b/arch/powerpc/configs/MPC8260ADS_33MHz_lowboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8260ADS_33MHZ_LOWBOOT=y
diff --git a/arch/powerpc/configs/MPC8260ADS_40MHz_defconfig b/arch/powerpc/configs/MPC8260ADS_40MHz_defconfig
new file mode 100644
index 0000000..fa87e64
--- /dev/null
+++ b/arch/powerpc/configs/MPC8260ADS_40MHz_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8260ADS_40MHZ=y
diff --git a/arch/powerpc/configs/MPC8260ADS_40MHz_lowboot_defconfig b/arch/powerpc/configs/MPC8260ADS_40MHz_lowboot_defconfig
new file mode 100644
index 0000000..f9e1807
--- /dev/null
+++ b/arch/powerpc/configs/MPC8260ADS_40MHz_lowboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8260ADS_40MHZ_LOWBOOT=y
diff --git a/arch/powerpc/configs/MPC8260ADS_defconfig b/arch/powerpc/configs/MPC8260ADS_defconfig
new file mode 100644
index 0000000..fe5a2e4
--- /dev/null
+++ b/arch/powerpc/configs/MPC8260ADS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8260ADS=y
diff --git a/arch/powerpc/configs/MPC8260ADS_lowboot_defconfig b/arch/powerpc/configs/MPC8260ADS_lowboot_defconfig
new file mode 100644
index 0000000..455c8e7
--- /dev/null
+++ b/arch/powerpc/configs/MPC8260ADS_lowboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8260ADS_LOWBOOT=y
diff --git a/arch/powerpc/configs/MPC8266ADS_defconfig b/arch/powerpc/configs/MPC8266ADS_defconfig
new file mode 100644
index 0000000..7a108ce
--- /dev/null
+++ b/arch/powerpc/configs/MPC8266ADS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8266ADS=y
diff --git a/arch/powerpc/configs/MPC8272ADS_defconfig b/arch/powerpc/configs/MPC8272ADS_defconfig
new file mode 100644
index 0000000..fc64edc
--- /dev/null
+++ b/arch/powerpc/configs/MPC8272ADS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8272ADS=y
diff --git a/arch/powerpc/configs/MPC8272ADS_lowboot_defconfig b/arch/powerpc/configs/MPC8272ADS_lowboot_defconfig
new file mode 100644
index 0000000..cf34868
--- /dev/null
+++ b/arch/powerpc/configs/MPC8272ADS_lowboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8272ADS_LOWBOOT=y
diff --git a/arch/powerpc/configs/MPC8308RDB_defconfig b/arch/powerpc/configs/MPC8308RDB_defconfig
new file mode 100644
index 0000000..1e0eb34
--- /dev/null
+++ b/arch/powerpc/configs/MPC8308RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8308RDB=y
diff --git a/arch/powerpc/configs/MPC8313ERDB_33_defconfig b/arch/powerpc/configs/MPC8313ERDB_33_defconfig
new file mode 100644
index 0000000..6dbfb06
--- /dev/null
+++ b/arch/powerpc/configs/MPC8313ERDB_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8313ERDB_33=y
diff --git a/arch/powerpc/configs/MPC8313ERDB_66_defconfig b/arch/powerpc/configs/MPC8313ERDB_66_defconfig
new file mode 100644
index 0000000..23c7718
--- /dev/null
+++ b/arch/powerpc/configs/MPC8313ERDB_66_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8313ERDB_66=y
diff --git a/arch/powerpc/configs/MPC8313ERDB_NAND_33_defconfig b/arch/powerpc/configs/MPC8313ERDB_NAND_33_defconfig
new file mode 100644
index 0000000..8372a04
--- /dev/null
+++ b/arch/powerpc/configs/MPC8313ERDB_NAND_33_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MPC8313ERDB_NAND_33=y
diff --git a/arch/powerpc/configs/MPC8313ERDB_NAND_66_defconfig b/arch/powerpc/configs/MPC8313ERDB_NAND_66_defconfig
new file mode 100644
index 0000000..ff7bf73
--- /dev/null
+++ b/arch/powerpc/configs/MPC8313ERDB_NAND_66_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_MPC8313ERDB_NAND_66=y
diff --git a/arch/powerpc/configs/MPC8315ERDB_NAND_defconfig b/arch/powerpc/configs/MPC8315ERDB_NAND_defconfig
new file mode 100644
index 0000000..633c920
--- /dev/null
+++ b/arch/powerpc/configs/MPC8315ERDB_NAND_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8315ERDB_NAND=y
diff --git a/arch/powerpc/configs/MPC8315ERDB_defconfig b/arch/powerpc/configs/MPC8315ERDB_defconfig
new file mode 100644
index 0000000..7777a94
--- /dev/null
+++ b/arch/powerpc/configs/MPC8315ERDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8315ERDB=y
diff --git a/arch/powerpc/configs/MPC8323ERDB_defconfig b/arch/powerpc/configs/MPC8323ERDB_defconfig
new file mode 100644
index 0000000..e7bf7af
--- /dev/null
+++ b/arch/powerpc/configs/MPC8323ERDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8323ERDB=y
diff --git a/arch/powerpc/configs/MPC832XEMDS_ATM_defconfig b/arch/powerpc/configs/MPC832XEMDS_ATM_defconfig
new file mode 100644
index 0000000..c9e5f63
--- /dev/null
+++ b/arch/powerpc/configs/MPC832XEMDS_ATM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC832XEMDS_ATM=y
diff --git a/arch/powerpc/configs/MPC832XEMDS_HOST_33_defconfig b/arch/powerpc/configs/MPC832XEMDS_HOST_33_defconfig
new file mode 100644
index 0000000..c7045f9
--- /dev/null
+++ b/arch/powerpc/configs/MPC832XEMDS_HOST_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC832XEMDS_HOST_33=y
diff --git a/arch/powerpc/configs/MPC832XEMDS_HOST_66_defconfig b/arch/powerpc/configs/MPC832XEMDS_HOST_66_defconfig
new file mode 100644
index 0000000..5dd78fb
--- /dev/null
+++ b/arch/powerpc/configs/MPC832XEMDS_HOST_66_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC832XEMDS_HOST_66=y
diff --git a/arch/powerpc/configs/MPC832XEMDS_SLAVE_defconfig b/arch/powerpc/configs/MPC832XEMDS_SLAVE_defconfig
new file mode 100644
index 0000000..8949b33
--- /dev/null
+++ b/arch/powerpc/configs/MPC832XEMDS_SLAVE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC832XEMDS_SLAVE=y
diff --git a/arch/powerpc/configs/MPC832XEMDS_defconfig b/arch/powerpc/configs/MPC832XEMDS_defconfig
new file mode 100644
index 0000000..a96fbbe
--- /dev/null
+++ b/arch/powerpc/configs/MPC832XEMDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC832XEMDS=y
diff --git a/arch/powerpc/configs/MPC8349EMDS_defconfig b/arch/powerpc/configs/MPC8349EMDS_defconfig
new file mode 100644
index 0000000..4403197
--- /dev/null
+++ b/arch/powerpc/configs/MPC8349EMDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8349EMDS=y
diff --git a/arch/powerpc/configs/MPC8349ITXGP_defconfig b/arch/powerpc/configs/MPC8349ITXGP_defconfig
new file mode 100644
index 0000000..5630801
--- /dev/null
+++ b/arch/powerpc/configs/MPC8349ITXGP_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8349ITXGP=y
diff --git a/arch/powerpc/configs/MPC8349ITX_LOWBOOT_defconfig b/arch/powerpc/configs/MPC8349ITX_LOWBOOT_defconfig
new file mode 100644
index 0000000..07ac8bc
--- /dev/null
+++ b/arch/powerpc/configs/MPC8349ITX_LOWBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8349ITX_LOWBOOT=y
diff --git a/arch/powerpc/configs/MPC8349ITX_defconfig b/arch/powerpc/configs/MPC8349ITX_defconfig
new file mode 100644
index 0000000..fd92dee
--- /dev/null
+++ b/arch/powerpc/configs/MPC8349ITX_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8349ITX=y
diff --git a/arch/powerpc/configs/MPC8360EMDS_33_ATM_defconfig b/arch/powerpc/configs/MPC8360EMDS_33_ATM_defconfig
new file mode 100644
index 0000000..2496f4e
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360EMDS_33_ATM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360EMDS_33_ATM=y
diff --git a/arch/powerpc/configs/MPC8360EMDS_33_HOST_33_defconfig b/arch/powerpc/configs/MPC8360EMDS_33_HOST_33_defconfig
new file mode 100644
index 0000000..705694f
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360EMDS_33_HOST_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360EMDS_33_HOST_33=y
diff --git a/arch/powerpc/configs/MPC8360EMDS_33_HOST_66_defconfig b/arch/powerpc/configs/MPC8360EMDS_33_HOST_66_defconfig
new file mode 100644
index 0000000..1dd5e42
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360EMDS_33_HOST_66_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360EMDS_33_HOST_66=y
diff --git a/arch/powerpc/configs/MPC8360EMDS_33_SLAVE_defconfig b/arch/powerpc/configs/MPC8360EMDS_33_SLAVE_defconfig
new file mode 100644
index 0000000..8018946
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360EMDS_33_SLAVE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360EMDS_33_SLAVE=y
diff --git a/arch/powerpc/configs/MPC8360EMDS_33_defconfig b/arch/powerpc/configs/MPC8360EMDS_33_defconfig
new file mode 100644
index 0000000..435151e
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360EMDS_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360EMDS_33=y
diff --git a/arch/powerpc/configs/MPC8360EMDS_66_ATM_defconfig b/arch/powerpc/configs/MPC8360EMDS_66_ATM_defconfig
new file mode 100644
index 0000000..ff2e49a
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360EMDS_66_ATM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360EMDS_66_ATM=y
diff --git a/arch/powerpc/configs/MPC8360EMDS_66_HOST_33_defconfig b/arch/powerpc/configs/MPC8360EMDS_66_HOST_33_defconfig
new file mode 100644
index 0000000..83a71ab
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360EMDS_66_HOST_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360EMDS_66_HOST_33=y
diff --git a/arch/powerpc/configs/MPC8360EMDS_66_HOST_66_defconfig b/arch/powerpc/configs/MPC8360EMDS_66_HOST_66_defconfig
new file mode 100644
index 0000000..f91a4dd
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360EMDS_66_HOST_66_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360EMDS_66_HOST_66=y
diff --git a/arch/powerpc/configs/MPC8360EMDS_66_SLAVE_defconfig b/arch/powerpc/configs/MPC8360EMDS_66_SLAVE_defconfig
new file mode 100644
index 0000000..86cc0cb
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360EMDS_66_SLAVE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360EMDS_66_SLAVE=y
diff --git a/arch/powerpc/configs/MPC8360EMDS_66_defconfig b/arch/powerpc/configs/MPC8360EMDS_66_defconfig
new file mode 100644
index 0000000..24aae57
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360EMDS_66_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360EMDS_66=y
diff --git a/arch/powerpc/configs/MPC8360ERDK_33_defconfig b/arch/powerpc/configs/MPC8360ERDK_33_defconfig
new file mode 100644
index 0000000..76deade
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360ERDK_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360ERDK_33=y
diff --git a/arch/powerpc/configs/MPC8360ERDK_defconfig b/arch/powerpc/configs/MPC8360ERDK_defconfig
new file mode 100644
index 0000000..44bbf69
--- /dev/null
+++ b/arch/powerpc/configs/MPC8360ERDK_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8360ERDK=y
diff --git a/arch/powerpc/configs/MPC837XEMDS_HOST_defconfig b/arch/powerpc/configs/MPC837XEMDS_HOST_defconfig
new file mode 100644
index 0000000..d86ec80
--- /dev/null
+++ b/arch/powerpc/configs/MPC837XEMDS_HOST_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC837XEMDS_HOST=y
diff --git a/arch/powerpc/configs/MPC837XEMDS_defconfig b/arch/powerpc/configs/MPC837XEMDS_defconfig
new file mode 100644
index 0000000..fa97d55
--- /dev/null
+++ b/arch/powerpc/configs/MPC837XEMDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC837XEMDS=y
diff --git a/arch/powerpc/configs/MPC837XERDB_defconfig b/arch/powerpc/configs/MPC837XERDB_defconfig
new file mode 100644
index 0000000..884d8ef
--- /dev/null
+++ b/arch/powerpc/configs/MPC837XERDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC837XERDB=y
diff --git a/arch/powerpc/configs/MPC8536DS_36BIT_defconfig b/arch/powerpc/configs/MPC8536DS_36BIT_defconfig
new file mode 100644
index 0000000..f39556b
--- /dev/null
+++ b/arch/powerpc/configs/MPC8536DS_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8536DS_36BIT=y
diff --git a/arch/powerpc/configs/MPC8536DS_NAND_defconfig b/arch/powerpc/configs/MPC8536DS_NAND_defconfig
new file mode 100644
index 0000000..8603050
--- /dev/null
+++ b/arch/powerpc/configs/MPC8536DS_NAND_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8536DS_NAND=y
diff --git a/arch/powerpc/configs/MPC8536DS_SDCARD_defconfig b/arch/powerpc/configs/MPC8536DS_SDCARD_defconfig
new file mode 100644
index 0000000..5d9b921
--- /dev/null
+++ b/arch/powerpc/configs/MPC8536DS_SDCARD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8536DS_SDCARD=y
diff --git a/arch/powerpc/configs/MPC8536DS_SPIFLASH_defconfig b/arch/powerpc/configs/MPC8536DS_SPIFLASH_defconfig
new file mode 100644
index 0000000..3a954b4
--- /dev/null
+++ b/arch/powerpc/configs/MPC8536DS_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8536DS_SPIFLASH=y
diff --git a/arch/powerpc/configs/MPC8536DS_defconfig b/arch/powerpc/configs/MPC8536DS_defconfig
new file mode 100644
index 0000000..ba9a005
--- /dev/null
+++ b/arch/powerpc/configs/MPC8536DS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8536DS=y
diff --git a/arch/powerpc/configs/MPC8540ADS_defconfig b/arch/powerpc/configs/MPC8540ADS_defconfig
new file mode 100644
index 0000000..dc2dd16
--- /dev/null
+++ b/arch/powerpc/configs/MPC8540ADS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8540ADS=y
diff --git a/arch/powerpc/configs/MPC8541CDS_defconfig b/arch/powerpc/configs/MPC8541CDS_defconfig
new file mode 100644
index 0000000..cb9ed77
--- /dev/null
+++ b/arch/powerpc/configs/MPC8541CDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8541CDS=y
diff --git a/arch/powerpc/configs/MPC8541CDS_legacy_defconfig b/arch/powerpc/configs/MPC8541CDS_legacy_defconfig
new file mode 100644
index 0000000..16f72f0
--- /dev/null
+++ b/arch/powerpc/configs/MPC8541CDS_legacy_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8541CDS_LEGACY=y
diff --git a/arch/powerpc/configs/MPC8544DS_defconfig b/arch/powerpc/configs/MPC8544DS_defconfig
new file mode 100644
index 0000000..d0af607
--- /dev/null
+++ b/arch/powerpc/configs/MPC8544DS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8544DS=y
diff --git a/arch/powerpc/configs/MPC8548CDS_36BIT_defconfig b/arch/powerpc/configs/MPC8548CDS_36BIT_defconfig
new file mode 100644
index 0000000..25d4e3f
--- /dev/null
+++ b/arch/powerpc/configs/MPC8548CDS_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8548CDS_36BIT=y
diff --git a/arch/powerpc/configs/MPC8548CDS_defconfig b/arch/powerpc/configs/MPC8548CDS_defconfig
new file mode 100644
index 0000000..9599c9e
--- /dev/null
+++ b/arch/powerpc/configs/MPC8548CDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8548CDS=y
diff --git a/arch/powerpc/configs/MPC8548CDS_legacy_defconfig b/arch/powerpc/configs/MPC8548CDS_legacy_defconfig
new file mode 100644
index 0000000..226cf53
--- /dev/null
+++ b/arch/powerpc/configs/MPC8548CDS_legacy_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8548CDS_LEGACY=y
diff --git a/arch/powerpc/configs/MPC8555CDS_defconfig b/arch/powerpc/configs/MPC8555CDS_defconfig
new file mode 100644
index 0000000..5fd37c3
--- /dev/null
+++ b/arch/powerpc/configs/MPC8555CDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8555CDS=y
diff --git a/arch/powerpc/configs/MPC8555CDS_legacy_defconfig b/arch/powerpc/configs/MPC8555CDS_legacy_defconfig
new file mode 100644
index 0000000..31efb64
--- /dev/null
+++ b/arch/powerpc/configs/MPC8555CDS_legacy_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8555CDS_LEGACY=y
diff --git a/arch/powerpc/configs/MPC8560ADS_defconfig b/arch/powerpc/configs/MPC8560ADS_defconfig
new file mode 100644
index 0000000..9161d21
--- /dev/null
+++ b/arch/powerpc/configs/MPC8560ADS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8560ADS=y
diff --git a/arch/powerpc/configs/MPC8568MDS_defconfig b/arch/powerpc/configs/MPC8568MDS_defconfig
new file mode 100644
index 0000000..81e8134
--- /dev/null
+++ b/arch/powerpc/configs/MPC8568MDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8568MDS=y
diff --git a/arch/powerpc/configs/MPC8569MDS_ATM_defconfig b/arch/powerpc/configs/MPC8569MDS_ATM_defconfig
new file mode 100644
index 0000000..3da7794
--- /dev/null
+++ b/arch/powerpc/configs/MPC8569MDS_ATM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8569MDS_ATM=y
diff --git a/arch/powerpc/configs/MPC8569MDS_NAND_defconfig b/arch/powerpc/configs/MPC8569MDS_NAND_defconfig
new file mode 100644
index 0000000..60b5a26
--- /dev/null
+++ b/arch/powerpc/configs/MPC8569MDS_NAND_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8569MDS_NAND=y
diff --git a/arch/powerpc/configs/MPC8569MDS_defconfig b/arch/powerpc/configs/MPC8569MDS_defconfig
new file mode 100644
index 0000000..f04744e
--- /dev/null
+++ b/arch/powerpc/configs/MPC8569MDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8569MDS=y
diff --git a/arch/powerpc/configs/MPC8572DS_36BIT_defconfig b/arch/powerpc/configs/MPC8572DS_36BIT_defconfig
new file mode 100644
index 0000000..5667715
--- /dev/null
+++ b/arch/powerpc/configs/MPC8572DS_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8572DS_36BIT=y
diff --git a/arch/powerpc/configs/MPC8572DS_NAND_defconfig b/arch/powerpc/configs/MPC8572DS_NAND_defconfig
new file mode 100644
index 0000000..32065f7
--- /dev/null
+++ b/arch/powerpc/configs/MPC8572DS_NAND_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8572DS_NAND=y
diff --git a/arch/powerpc/configs/MPC8572DS_defconfig b/arch/powerpc/configs/MPC8572DS_defconfig
new file mode 100644
index 0000000..0c05a87
--- /dev/null
+++ b/arch/powerpc/configs/MPC8572DS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8572DS=y
diff --git a/arch/powerpc/configs/MPC8610HPCD_defconfig b/arch/powerpc/configs/MPC8610HPCD_defconfig
new file mode 100644
index 0000000..f38e0a9
--- /dev/null
+++ b/arch/powerpc/configs/MPC8610HPCD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8610HPCD=y
diff --git a/arch/powerpc/configs/MPC8641HPCN_36BIT_defconfig b/arch/powerpc/configs/MPC8641HPCN_36BIT_defconfig
new file mode 100644
index 0000000..698e0be
--- /dev/null
+++ b/arch/powerpc/configs/MPC8641HPCN_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8641HPCN_36BIT=y
diff --git a/arch/powerpc/configs/MPC8641HPCN_defconfig b/arch/powerpc/configs/MPC8641HPCN_defconfig
new file mode 100644
index 0000000..cc13623
--- /dev/null
+++ b/arch/powerpc/configs/MPC8641HPCN_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8641HPCN=y
diff --git a/arch/powerpc/configs/MPC86xADS_defconfig b/arch/powerpc/configs/MPC86xADS_defconfig
new file mode 100644
index 0000000..a902b9e
--- /dev/null
+++ b/arch/powerpc/configs/MPC86xADS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC86XADS=y
diff --git a/arch/powerpc/configs/MPC885ADS_defconfig b/arch/powerpc/configs/MPC885ADS_defconfig
new file mode 100644
index 0000000..8a45920
--- /dev/null
+++ b/arch/powerpc/configs/MPC885ADS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC885ADS=y
diff --git a/arch/powerpc/configs/MUSENKI_defconfig b/arch/powerpc/configs/MUSENKI_defconfig
new file mode 100644
index 0000000..f7ace58
--- /dev/null
+++ b/arch/powerpc/configs/MUSENKI_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MUSENKI=y
diff --git a/arch/powerpc/configs/MVBC_P_defconfig b/arch/powerpc/configs/MVBC_P_defconfig
new file mode 100644
index 0000000..f9ccd84
--- /dev/null
+++ b/arch/powerpc/configs/MVBC_P_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MVBC_P=y
diff --git a/arch/powerpc/configs/MVBLM7_defconfig b/arch/powerpc/configs/MVBLM7_defconfig
new file mode 100644
index 0000000..288fa73
--- /dev/null
+++ b/arch/powerpc/configs/MVBLM7_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MVBLM7=y
diff --git a/arch/powerpc/configs/MVBLUE_defconfig b/arch/powerpc/configs/MVBLUE_defconfig
new file mode 100644
index 0000000..d1c9341
--- /dev/null
+++ b/arch/powerpc/configs/MVBLUE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MVBLUE=y
diff --git a/arch/powerpc/configs/MVSMR_defconfig b/arch/powerpc/configs/MVSMR_defconfig
new file mode 100644
index 0000000..e737661
--- /dev/null
+++ b/arch/powerpc/configs/MVSMR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MVSMR=y
diff --git a/arch/powerpc/configs/MiniFAP_defconfig b/arch/powerpc/configs/MiniFAP_defconfig
new file mode 100644
index 0000000..dada91e
--- /dev/null
+++ b/arch/powerpc/configs/MiniFAP_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MINIFAP=y
diff --git a/arch/powerpc/configs/NETPHONE_V2_defconfig b/arch/powerpc/configs/NETPHONE_V2_defconfig
new file mode 100644
index 0000000..9373b76
--- /dev/null
+++ b/arch/powerpc/configs/NETPHONE_V2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETPHONE_V2=y
diff --git a/arch/powerpc/configs/NETPHONE_defconfig b/arch/powerpc/configs/NETPHONE_defconfig
new file mode 100644
index 0000000..64c85ed
--- /dev/null
+++ b/arch/powerpc/configs/NETPHONE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETPHONE=y
diff --git a/arch/powerpc/configs/NETTA2_V2_defconfig b/arch/powerpc/configs/NETTA2_V2_defconfig
new file mode 100644
index 0000000..401ae02
--- /dev/null
+++ b/arch/powerpc/configs/NETTA2_V2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETTA2_V2=y
diff --git a/arch/powerpc/configs/NETTA2_defconfig b/arch/powerpc/configs/NETTA2_defconfig
new file mode 100644
index 0000000..da0ccec
--- /dev/null
+++ b/arch/powerpc/configs/NETTA2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETTA2=y
diff --git a/arch/powerpc/configs/NETTA_6412_SWAPHOOK_defconfig b/arch/powerpc/configs/NETTA_6412_SWAPHOOK_defconfig
new file mode 100644
index 0000000..9747f22
--- /dev/null
+++ b/arch/powerpc/configs/NETTA_6412_SWAPHOOK_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETTA_6412_SWAPHOOK=y
diff --git a/arch/powerpc/configs/NETTA_6412_defconfig b/arch/powerpc/configs/NETTA_6412_defconfig
new file mode 100644
index 0000000..09dea1f
--- /dev/null
+++ b/arch/powerpc/configs/NETTA_6412_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETTA_6412=y
diff --git a/arch/powerpc/configs/NETTA_ISDN_6412_SWAPHOOK_defconfig b/arch/powerpc/configs/NETTA_ISDN_6412_SWAPHOOK_defconfig
new file mode 100644
index 0000000..cfd4e2f
--- /dev/null
+++ b/arch/powerpc/configs/NETTA_ISDN_6412_SWAPHOOK_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETTA_ISDN_6412_SWAPHOOK=y
diff --git a/arch/powerpc/configs/NETTA_ISDN_6412_defconfig b/arch/powerpc/configs/NETTA_ISDN_6412_defconfig
new file mode 100644
index 0000000..c542ef4
--- /dev/null
+++ b/arch/powerpc/configs/NETTA_ISDN_6412_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETTA_ISDN_6412=y
diff --git a/arch/powerpc/configs/NETTA_ISDN_SWAPHOOK_defconfig b/arch/powerpc/configs/NETTA_ISDN_SWAPHOOK_defconfig
new file mode 100644
index 0000000..4bb75b5
--- /dev/null
+++ b/arch/powerpc/configs/NETTA_ISDN_SWAPHOOK_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETTA_ISDN_SWAPHOOK=y
diff --git a/arch/powerpc/configs/NETTA_ISDN_defconfig b/arch/powerpc/configs/NETTA_ISDN_defconfig
new file mode 100644
index 0000000..98c493e
--- /dev/null
+++ b/arch/powerpc/configs/NETTA_ISDN_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETTA_ISDN=y
diff --git a/arch/powerpc/configs/NETTA_SWAPHOOK_defconfig b/arch/powerpc/configs/NETTA_SWAPHOOK_defconfig
new file mode 100644
index 0000000..2938446
--- /dev/null
+++ b/arch/powerpc/configs/NETTA_SWAPHOOK_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETTA_SWAPHOOK=y
diff --git a/arch/powerpc/configs/NETTA_defconfig b/arch/powerpc/configs/NETTA_defconfig
new file mode 100644
index 0000000..30eef1b
--- /dev/null
+++ b/arch/powerpc/configs/NETTA_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETTA=y
diff --git a/arch/powerpc/configs/NETVIA_V2_defconfig b/arch/powerpc/configs/NETVIA_V2_defconfig
new file mode 100644
index 0000000..e1547e3
--- /dev/null
+++ b/arch/powerpc/configs/NETVIA_V2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETVIA_V2=y
diff --git a/arch/powerpc/configs/NETVIA_defconfig b/arch/powerpc/configs/NETVIA_defconfig
new file mode 100644
index 0000000..53775f7
--- /dev/null
+++ b/arch/powerpc/configs/NETVIA_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NETVIA=y
diff --git a/arch/powerpc/configs/NSCU_defconfig b/arch/powerpc/configs/NSCU_defconfig
new file mode 100644
index 0000000..ed8c84e
--- /dev/null
+++ b/arch/powerpc/configs/NSCU_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NSCU=y
diff --git a/arch/powerpc/configs/O2D300_defconfig b/arch/powerpc/configs/O2D300_defconfig
new file mode 100644
index 0000000..2e2d0d4
--- /dev/null
+++ b/arch/powerpc/configs/O2D300_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_O2D300=y
diff --git a/arch/powerpc/configs/O2DNT2_RAMBOOT_defconfig b/arch/powerpc/configs/O2DNT2_RAMBOOT_defconfig
new file mode 100644
index 0000000..4f38bb7
--- /dev/null
+++ b/arch/powerpc/configs/O2DNT2_RAMBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_O2DNT2_RAMBOOT=y
diff --git a/arch/powerpc/configs/O2DNT2_defconfig b/arch/powerpc/configs/O2DNT2_defconfig
new file mode 100644
index 0000000..d6eaf79
--- /dev/null
+++ b/arch/powerpc/configs/O2DNT2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_O2DNT2=y
diff --git a/arch/powerpc/configs/O2D_defconfig b/arch/powerpc/configs/O2D_defconfig
new file mode 100644
index 0000000..62beab2
--- /dev/null
+++ b/arch/powerpc/configs/O2D_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_O2D=y
diff --git a/arch/powerpc/configs/O2I_defconfig b/arch/powerpc/configs/O2I_defconfig
new file mode 100644
index 0000000..d3fc824
--- /dev/null
+++ b/arch/powerpc/configs/O2I_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_O2I=y
diff --git a/arch/powerpc/configs/O2MNT_O2M110_defconfig b/arch/powerpc/configs/O2MNT_O2M110_defconfig
new file mode 100644
index 0000000..0434e76
--- /dev/null
+++ b/arch/powerpc/configs/O2MNT_O2M110_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_O2MNT_O2M110=y
diff --git a/arch/powerpc/configs/O2MNT_O2M112_defconfig b/arch/powerpc/configs/O2MNT_O2M112_defconfig
new file mode 100644
index 0000000..a196389
--- /dev/null
+++ b/arch/powerpc/configs/O2MNT_O2M112_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_O2MNT_O2M112=y
diff --git a/arch/powerpc/configs/O2MNT_O2M113_defconfig b/arch/powerpc/configs/O2MNT_O2M113_defconfig
new file mode 100644
index 0000000..9325cba
--- /dev/null
+++ b/arch/powerpc/configs/O2MNT_O2M113_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_O2MNT_O2M113=y
diff --git a/arch/powerpc/configs/O2MNT_defconfig b/arch/powerpc/configs/O2MNT_defconfig
new file mode 100644
index 0000000..f821deb
--- /dev/null
+++ b/arch/powerpc/configs/O2MNT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_O2MNT=y
diff --git a/arch/powerpc/configs/O3DNT_defconfig b/arch/powerpc/configs/O3DNT_defconfig
new file mode 100644
index 0000000..7c35188
--- /dev/null
+++ b/arch/powerpc/configs/O3DNT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_O3DNT=y
diff --git a/arch/powerpc/configs/OCRTC_defconfig b/arch/powerpc/configs/OCRTC_defconfig
new file mode 100644
index 0000000..3f5858b
--- /dev/null
+++ b/arch/powerpc/configs/OCRTC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OCRTC=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
new file mode 100644
index 0000000..bb00532
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PA_36BIT_NAND_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_defconfig b/arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_defconfig
new file mode 100644
index 0000000..f02eba7
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1010RDB_PA_36BIT_NAND=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
new file mode 100644
index 0000000..399910b
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PA_36BIT_NOR_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_36BIT_NOR_defconfig b/arch/powerpc/configs/P1010RDB-PA_36BIT_NOR_defconfig
new file mode 100644
index 0000000..c2c0451
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_36BIT_NOR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PA_36BIT_NOR=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..298e782
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1010RDB_PA_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
new file mode 100644
index 0000000..a42777b
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PA_36BIT_SPIFLASH_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
new file mode 100644
index 0000000..057e705
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1010RDB_PA_36BIT_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_NAND_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
new file mode 100644
index 0000000..8c63c08
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PA_NAND_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_NAND_defconfig b/arch/powerpc/configs/P1010RDB-PA_NAND_defconfig
new file mode 100644
index 0000000..4e43488
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1010RDB_PA_NAND=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_NOR_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
new file mode 100644
index 0000000..7df7b40
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PA_NOR_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_NOR_defconfig b/arch/powerpc/configs/P1010RDB-PA_NOR_defconfig
new file mode 100644
index 0000000..76381a8
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_NOR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PA_NOR=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig b/arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig
new file mode 100644
index 0000000..6489e10
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1010RDB_PA_SDCARD=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
new file mode 100644
index 0000000..9af4db7
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PA_SPIFLASH_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig b/arch/powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig
new file mode 100644
index 0000000..3f89bed
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1010RDB_PA_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
new file mode 100644
index 0000000..f63319f
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PB_36BIT_NAND_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_defconfig b/arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_defconfig
new file mode 100644
index 0000000..c43f9fa
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1010RDB_PB_36BIT_NAND=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
new file mode 100644
index 0000000..164de26
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PB_36BIT_NOR_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_36BIT_NOR_defconfig b/arch/powerpc/configs/P1010RDB-PB_36BIT_NOR_defconfig
new file mode 100644
index 0000000..44c2db3
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_36BIT_NOR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PB_36BIT_NOR=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..2117163
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1010RDB_PB_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
new file mode 100644
index 0000000..959cd56
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PB_36BIT_SPIFLASH_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
new file mode 100644
index 0000000..dbe6261
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1010RDB_PB_36BIT_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_NAND_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
new file mode 100644
index 0000000..e70091c
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PB_NAND_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_NAND_defconfig b/arch/powerpc/configs/P1010RDB-PB_NAND_defconfig
new file mode 100644
index 0000000..380175a
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1010RDB_PB_NAND=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_NOR_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
new file mode 100644
index 0000000..7ed355b
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PB_NOR_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_NOR_defconfig b/arch/powerpc/configs/P1010RDB-PB_NOR_defconfig
new file mode 100644
index 0000000..1e1d0f8
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_NOR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PB_NOR=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig b/arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig
new file mode 100644
index 0000000..a9c3a62
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1010RDB_PB_SDCARD=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig b/arch/powerpc/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
new file mode 100644
index 0000000..89817e4
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1010RDB_PB_SPIFLASH_SECBOOT=y
diff --git a/arch/powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig b/arch/powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig
new file mode 100644
index 0000000..c86aaa6
--- /dev/null
+++ b/arch/powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1010RDB_PB_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1011RDB_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1011RDB_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..6076664
--- /dev/null
+++ b/arch/powerpc/configs/P1011RDB_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1011RDB_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P1011RDB_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1011RDB_36BIT_SPIFLASH_defconfig
new file mode 100644
index 0000000..8976d66
--- /dev/null
+++ b/arch/powerpc/configs/P1011RDB_36BIT_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1011RDB_36BIT_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1011RDB_36BIT_defconfig b/arch/powerpc/configs/P1011RDB_36BIT_defconfig
new file mode 100644
index 0000000..7305d59
--- /dev/null
+++ b/arch/powerpc/configs/P1011RDB_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1011RDB_36BIT=y
diff --git a/arch/powerpc/configs/P1011RDB_NAND_defconfig b/arch/powerpc/configs/P1011RDB_NAND_defconfig
new file mode 100644
index 0000000..5676274
--- /dev/null
+++ b/arch/powerpc/configs/P1011RDB_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1011RDB_NAND=y
diff --git a/arch/powerpc/configs/P1011RDB_SDCARD_defconfig b/arch/powerpc/configs/P1011RDB_SDCARD_defconfig
new file mode 100644
index 0000000..bb64c7d
--- /dev/null
+++ b/arch/powerpc/configs/P1011RDB_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1011RDB_SDCARD=y
diff --git a/arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig
new file mode 100644
index 0000000..c5883db
--- /dev/null
+++ b/arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1011RDB_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1011RDB_defconfig b/arch/powerpc/configs/P1011RDB_defconfig
new file mode 100644
index 0000000..3f85a4c
--- /dev/null
+++ b/arch/powerpc/configs/P1011RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1011RDB=y
diff --git a/arch/powerpc/configs/P1020MBG-PC_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..5b02726
--- /dev/null
+++ b/arch/powerpc/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020MBG_PC_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P1020MBG-PC_36BIT_defconfig b/arch/powerpc/configs/P1020MBG-PC_36BIT_defconfig
new file mode 100644
index 0000000..702add2
--- /dev/null
+++ b/arch/powerpc/configs/P1020MBG-PC_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1020MBG_PC_36BIT=y
diff --git a/arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig b/arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig
new file mode 100644
index 0000000..9f38502
--- /dev/null
+++ b/arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020MBG_PC_SDCARD=y
diff --git a/arch/powerpc/configs/P1020MBG-PC_defconfig b/arch/powerpc/configs/P1020MBG-PC_defconfig
new file mode 100644
index 0000000..10133bf
--- /dev/null
+++ b/arch/powerpc/configs/P1020MBG-PC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1020MBG_PC=y
diff --git a/arch/powerpc/configs/P1020RDB-PC_36BIT_NAND_defconfig b/arch/powerpc/configs/P1020RDB-PC_36BIT_NAND_defconfig
new file mode 100644
index 0000000..93045ac
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PC_36BIT_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1020RDB_PC_36BIT_NAND=y
diff --git a/arch/powerpc/configs/P1020RDB-PC_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..9db3175
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020RDB_PC_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
new file mode 100644
index 0000000..967aefc
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020RDB_PC_36BIT_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1020RDB-PC_36BIT_defconfig b/arch/powerpc/configs/P1020RDB-PC_36BIT_defconfig
new file mode 100644
index 0000000..c518896
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PC_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1020RDB_PC_36BIT=y
diff --git a/arch/powerpc/configs/P1020RDB-PC_NAND_defconfig b/arch/powerpc/configs/P1020RDB-PC_NAND_defconfig
new file mode 100644
index 0000000..fba5377
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PC_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1020RDB_PC_NAND=y
diff --git a/arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig b/arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig
new file mode 100644
index 0000000..dfa94ed
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020RDB_PC_SDCARD=y
diff --git a/arch/powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig b/arch/powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig
new file mode 100644
index 0000000..82abacb
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020RDB_PC_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1020RDB-PC_defconfig b/arch/powerpc/configs/P1020RDB-PC_defconfig
new file mode 100644
index 0000000..39b8c71
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1020RDB_PC=y
diff --git a/arch/powerpc/configs/P1020RDB-PD_NAND_defconfig b/arch/powerpc/configs/P1020RDB-PD_NAND_defconfig
new file mode 100644
index 0000000..a807f9c
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PD_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1020RDB_PD_NAND=y
diff --git a/arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig b/arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig
new file mode 100644
index 0000000..bdadec4
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020RDB_PD_SDCARD=y
diff --git a/arch/powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig b/arch/powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig
new file mode 100644
index 0000000..4b78ba2
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020RDB_PD_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1020RDB-PD_defconfig b/arch/powerpc/configs/P1020RDB-PD_defconfig
new file mode 100644
index 0000000..8d3ce04
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB-PD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1020RDB_PD=y
diff --git a/arch/powerpc/configs/P1020RDB_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1020RDB_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..47196d2
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020RDB_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P1020RDB_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1020RDB_36BIT_SPIFLASH_defconfig
new file mode 100644
index 0000000..3fc50fb
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB_36BIT_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020RDB_36BIT_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1020RDB_36BIT_defconfig b/arch/powerpc/configs/P1020RDB_36BIT_defconfig
new file mode 100644
index 0000000..999ba25
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1020RDB_36BIT=y
diff --git a/arch/powerpc/configs/P1020RDB_NAND_defconfig b/arch/powerpc/configs/P1020RDB_NAND_defconfig
new file mode 100644
index 0000000..ca7726f
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1020RDB_NAND=y
diff --git a/arch/powerpc/configs/P1020RDB_SDCARD_defconfig b/arch/powerpc/configs/P1020RDB_SDCARD_defconfig
new file mode 100644
index 0000000..ac425e0
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020RDB_SDCARD=y
diff --git a/arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig
new file mode 100644
index 0000000..0469d29
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020RDB_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1020RDB_defconfig b/arch/powerpc/configs/P1020RDB_defconfig
new file mode 100644
index 0000000..6ed56d3
--- /dev/null
+++ b/arch/powerpc/configs/P1020RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1020RDB=y
diff --git a/arch/powerpc/configs/P1020UTM-PC_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..cd8be1b
--- /dev/null
+++ b/arch/powerpc/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020UTM_PC_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P1020UTM-PC_36BIT_defconfig b/arch/powerpc/configs/P1020UTM-PC_36BIT_defconfig
new file mode 100644
index 0000000..df8448c
--- /dev/null
+++ b/arch/powerpc/configs/P1020UTM-PC_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1020UTM_PC_36BIT=y
diff --git a/arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig b/arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig
new file mode 100644
index 0000000..ce1272a
--- /dev/null
+++ b/arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1020UTM_PC_SDCARD=y
diff --git a/arch/powerpc/configs/P1020UTM-PC_defconfig b/arch/powerpc/configs/P1020UTM-PC_defconfig
new file mode 100644
index 0000000..43e93a9
--- /dev/null
+++ b/arch/powerpc/configs/P1020UTM-PC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1020UTM_PC=y
diff --git a/arch/powerpc/configs/P1021RDB-PC_36BIT_NAND_defconfig b/arch/powerpc/configs/P1021RDB-PC_36BIT_NAND_defconfig
new file mode 100644
index 0000000..3dec94d
--- /dev/null
+++ b/arch/powerpc/configs/P1021RDB-PC_36BIT_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1021RDB_PC_36BIT_NAND=y
diff --git a/arch/powerpc/configs/P1021RDB-PC_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..a580b29
--- /dev/null
+++ b/arch/powerpc/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1021RDB_PC_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
new file mode 100644
index 0000000..0294c49
--- /dev/null
+++ b/arch/powerpc/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1021RDB_PC_36BIT_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1021RDB-PC_36BIT_defconfig b/arch/powerpc/configs/P1021RDB-PC_36BIT_defconfig
new file mode 100644
index 0000000..1580f6a
--- /dev/null
+++ b/arch/powerpc/configs/P1021RDB-PC_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1021RDB_PC_36BIT=y
diff --git a/arch/powerpc/configs/P1021RDB-PC_NAND_defconfig b/arch/powerpc/configs/P1021RDB-PC_NAND_defconfig
new file mode 100644
index 0000000..a982820
--- /dev/null
+++ b/arch/powerpc/configs/P1021RDB-PC_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1021RDB_PC_NAND=y
diff --git a/arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig b/arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig
new file mode 100644
index 0000000..24f52f9
--- /dev/null
+++ b/arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1021RDB_PC_SDCARD=y
diff --git a/arch/powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig b/arch/powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig
new file mode 100644
index 0000000..50f2467
--- /dev/null
+++ b/arch/powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1021RDB_PC_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1021RDB-PC_defconfig b/arch/powerpc/configs/P1021RDB-PC_defconfig
new file mode 100644
index 0000000..f779715
--- /dev/null
+++ b/arch/powerpc/configs/P1021RDB-PC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1021RDB_PC=y
diff --git a/arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig b/arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig
new file mode 100644
index 0000000..9b8c9ab
--- /dev/null
+++ b/arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1022DS_36BIT_NAND=y
diff --git a/arch/powerpc/configs/P1022DS_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1022DS_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..98394e4
--- /dev/null
+++ b/arch/powerpc/configs/P1022DS_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1022DS_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P1022DS_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1022DS_36BIT_SPIFLASH_defconfig
new file mode 100644
index 0000000..1ba76c4
--- /dev/null
+++ b/arch/powerpc/configs/P1022DS_36BIT_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1022DS_36BIT_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1022DS_36BIT_defconfig b/arch/powerpc/configs/P1022DS_36BIT_defconfig
new file mode 100644
index 0000000..4650cb5
--- /dev/null
+++ b/arch/powerpc/configs/P1022DS_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1022DS_36BIT=y
diff --git a/arch/powerpc/configs/P1022DS_NAND_defconfig b/arch/powerpc/configs/P1022DS_NAND_defconfig
new file mode 100644
index 0000000..4c01b1e
--- /dev/null
+++ b/arch/powerpc/configs/P1022DS_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1022DS_NAND=y
diff --git a/arch/powerpc/configs/P1022DS_SDCARD_defconfig b/arch/powerpc/configs/P1022DS_SDCARD_defconfig
new file mode 100644
index 0000000..fe42766
--- /dev/null
+++ b/arch/powerpc/configs/P1022DS_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1022DS_SDCARD=y
diff --git a/arch/powerpc/configs/P1022DS_SPIFLASH_defconfig b/arch/powerpc/configs/P1022DS_SPIFLASH_defconfig
new file mode 100644
index 0000000..1efc008
--- /dev/null
+++ b/arch/powerpc/configs/P1022DS_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1022DS_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1022DS_defconfig b/arch/powerpc/configs/P1022DS_defconfig
new file mode 100644
index 0000000..76019fd
--- /dev/null
+++ b/arch/powerpc/configs/P1022DS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1022DS=y
diff --git a/arch/powerpc/configs/P1023RDB_defconfig b/arch/powerpc/configs/P1023RDB_defconfig
new file mode 100644
index 0000000..f772e02
--- /dev/null
+++ b/arch/powerpc/configs/P1023RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1023RDB=y
diff --git a/arch/powerpc/configs/P1023RDS_NAND_defconfig b/arch/powerpc/configs/P1023RDS_NAND_defconfig
new file mode 100644
index 0000000..5e9aa7f
--- /dev/null
+++ b/arch/powerpc/configs/P1023RDS_NAND_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1023RDS_NAND=y
diff --git a/arch/powerpc/configs/P1023RDS_defconfig b/arch/powerpc/configs/P1023RDS_defconfig
new file mode 100644
index 0000000..89be08f
--- /dev/null
+++ b/arch/powerpc/configs/P1023RDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1023RDS=y
diff --git a/arch/powerpc/configs/P1024RDB_36BIT_defconfig b/arch/powerpc/configs/P1024RDB_36BIT_defconfig
new file mode 100644
index 0000000..8f32840
--- /dev/null
+++ b/arch/powerpc/configs/P1024RDB_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1024RDB_36BIT=y
diff --git a/arch/powerpc/configs/P1024RDB_NAND_defconfig b/arch/powerpc/configs/P1024RDB_NAND_defconfig
new file mode 100644
index 0000000..fe12fa8
--- /dev/null
+++ b/arch/powerpc/configs/P1024RDB_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1024RDB_NAND=y
diff --git a/arch/powerpc/configs/P1024RDB_SDCARD_defconfig b/arch/powerpc/configs/P1024RDB_SDCARD_defconfig
new file mode 100644
index 0000000..4fae1d4
--- /dev/null
+++ b/arch/powerpc/configs/P1024RDB_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1024RDB_SDCARD=y
diff --git a/arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig
new file mode 100644
index 0000000..5ad0965
--- /dev/null
+++ b/arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1024RDB_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1024RDB_defconfig b/arch/powerpc/configs/P1024RDB_defconfig
new file mode 100644
index 0000000..f8aa344
--- /dev/null
+++ b/arch/powerpc/configs/P1024RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1024RDB=y
diff --git a/arch/powerpc/configs/P1025RDB_36BIT_defconfig b/arch/powerpc/configs/P1025RDB_36BIT_defconfig
new file mode 100644
index 0000000..b97249f
--- /dev/null
+++ b/arch/powerpc/configs/P1025RDB_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1025RDB_36BIT=y
diff --git a/arch/powerpc/configs/P1025RDB_NAND_defconfig b/arch/powerpc/configs/P1025RDB_NAND_defconfig
new file mode 100644
index 0000000..2efe2c7
--- /dev/null
+++ b/arch/powerpc/configs/P1025RDB_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P1025RDB_NAND=y
diff --git a/arch/powerpc/configs/P1025RDB_SDCARD_defconfig b/arch/powerpc/configs/P1025RDB_SDCARD_defconfig
new file mode 100644
index 0000000..b806ab7
--- /dev/null
+++ b/arch/powerpc/configs/P1025RDB_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1025RDB_SDCARD=y
diff --git a/arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig
new file mode 100644
index 0000000..8dbe8bd
--- /dev/null
+++ b/arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P1025RDB_SPIFLASH=y
diff --git a/arch/powerpc/configs/P1025RDB_defconfig b/arch/powerpc/configs/P1025RDB_defconfig
new file mode 100644
index 0000000..42fe857
--- /dev/null
+++ b/arch/powerpc/configs/P1025RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P1025RDB=y
diff --git a/arch/powerpc/configs/P2010RDB_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P2010RDB_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..1c19de0
--- /dev/null
+++ b/arch/powerpc/configs/P2010RDB_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2010RDB_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P2010RDB_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P2010RDB_36BIT_SPIFLASH_defconfig
new file mode 100644
index 0000000..7bae556
--- /dev/null
+++ b/arch/powerpc/configs/P2010RDB_36BIT_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2010RDB_36BIT_SPIFLASH=y
diff --git a/arch/powerpc/configs/P2010RDB_36BIT_defconfig b/arch/powerpc/configs/P2010RDB_36BIT_defconfig
new file mode 100644
index 0000000..15c7a88
--- /dev/null
+++ b/arch/powerpc/configs/P2010RDB_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2010RDB_36BIT=y
diff --git a/arch/powerpc/configs/P2010RDB_NAND_defconfig b/arch/powerpc/configs/P2010RDB_NAND_defconfig
new file mode 100644
index 0000000..993f4c1
--- /dev/null
+++ b/arch/powerpc/configs/P2010RDB_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P2010RDB_NAND=y
diff --git a/arch/powerpc/configs/P2010RDB_SDCARD_defconfig b/arch/powerpc/configs/P2010RDB_SDCARD_defconfig
new file mode 100644
index 0000000..8ff4349
--- /dev/null
+++ b/arch/powerpc/configs/P2010RDB_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2010RDB_SDCARD=y
diff --git a/arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig
new file mode 100644
index 0000000..ce733bf
--- /dev/null
+++ b/arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2010RDB_SPIFLASH=y
diff --git a/arch/powerpc/configs/P2010RDB_defconfig b/arch/powerpc/configs/P2010RDB_defconfig
new file mode 100644
index 0000000..f7d4893
--- /dev/null
+++ b/arch/powerpc/configs/P2010RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2010RDB=y
diff --git a/arch/powerpc/configs/P2020COME_SDCARD_defconfig b/arch/powerpc/configs/P2020COME_SDCARD_defconfig
new file mode 100644
index 0000000..4772fd0
--- /dev/null
+++ b/arch/powerpc/configs/P2020COME_SDCARD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020COME_SDCARD=y
diff --git a/arch/powerpc/configs/P2020COME_SPIFLASH_defconfig b/arch/powerpc/configs/P2020COME_SPIFLASH_defconfig
new file mode 100644
index 0000000..203408c
--- /dev/null
+++ b/arch/powerpc/configs/P2020COME_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020COME_SPIFLASH=y
diff --git a/arch/powerpc/configs/P2020DS_36BIT_defconfig b/arch/powerpc/configs/P2020DS_36BIT_defconfig
new file mode 100644
index 0000000..b7275b7
--- /dev/null
+++ b/arch/powerpc/configs/P2020DS_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020DS_36BIT=y
diff --git a/arch/powerpc/configs/P2020DS_DDR2_defconfig b/arch/powerpc/configs/P2020DS_DDR2_defconfig
new file mode 100644
index 0000000..7ecaa50
--- /dev/null
+++ b/arch/powerpc/configs/P2020DS_DDR2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020DS_DDR2=y
diff --git a/arch/powerpc/configs/P2020DS_SDCARD_defconfig b/arch/powerpc/configs/P2020DS_SDCARD_defconfig
new file mode 100644
index 0000000..2c52ce2
--- /dev/null
+++ b/arch/powerpc/configs/P2020DS_SDCARD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020DS_SDCARD=y
diff --git a/arch/powerpc/configs/P2020DS_SPIFLASH_defconfig b/arch/powerpc/configs/P2020DS_SPIFLASH_defconfig
new file mode 100644
index 0000000..0bceee8
--- /dev/null
+++ b/arch/powerpc/configs/P2020DS_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020DS_SPIFLASH=y
diff --git a/arch/powerpc/configs/P2020DS_defconfig b/arch/powerpc/configs/P2020DS_defconfig
new file mode 100644
index 0000000..34ed6db
--- /dev/null
+++ b/arch/powerpc/configs/P2020DS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020DS=y
diff --git a/arch/powerpc/configs/P2020RDB-PC_36BIT_NAND_defconfig b/arch/powerpc/configs/P2020RDB-PC_36BIT_NAND_defconfig
new file mode 100644
index 0000000..a3ce8ec
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB-PC_36BIT_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P2020RDB_PC_36BIT_NAND=y
diff --git a/arch/powerpc/configs/P2020RDB-PC_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..de562f4
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2020RDB_PC_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
new file mode 100644
index 0000000..5b92d80
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2020RDB_PC_36BIT_SPIFLASH=y
diff --git a/arch/powerpc/configs/P2020RDB-PC_36BIT_defconfig b/arch/powerpc/configs/P2020RDB-PC_36BIT_defconfig
new file mode 100644
index 0000000..49d9404
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB-PC_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020RDB_PC_36BIT=y
diff --git a/arch/powerpc/configs/P2020RDB-PC_NAND_defconfig b/arch/powerpc/configs/P2020RDB-PC_NAND_defconfig
new file mode 100644
index 0000000..2777a9e
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB-PC_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P2020RDB_PC_NAND=y
diff --git a/arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig b/arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig
new file mode 100644
index 0000000..df6eac1
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2020RDB_PC_SDCARD=y
diff --git a/arch/powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig b/arch/powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig
new file mode 100644
index 0000000..0da2ae1
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2020RDB_PC_SPIFLASH=y
diff --git a/arch/powerpc/configs/P2020RDB-PC_defconfig b/arch/powerpc/configs/P2020RDB-PC_defconfig
new file mode 100644
index 0000000..a9f3a73
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB-PC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020RDB_PC=y
diff --git a/arch/powerpc/configs/P2020RDB_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P2020RDB_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..ec85289
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB_36BIT_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2020RDB_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/P2020RDB_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P2020RDB_36BIT_SPIFLASH_defconfig
new file mode 100644
index 0000000..0016176
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB_36BIT_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2020RDB_36BIT_SPIFLASH=y
diff --git a/arch/powerpc/configs/P2020RDB_36BIT_defconfig b/arch/powerpc/configs/P2020RDB_36BIT_defconfig
new file mode 100644
index 0000000..2be1e7c
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB_36BIT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020RDB_36BIT=y
diff --git a/arch/powerpc/configs/P2020RDB_NAND_defconfig b/arch/powerpc/configs/P2020RDB_NAND_defconfig
new file mode 100644
index 0000000..6af7ea3
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB_NAND_defconfig
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_TARGET_P2020RDB_NAND=y
diff --git a/arch/powerpc/configs/P2020RDB_SDCARD_defconfig b/arch/powerpc/configs/P2020RDB_SDCARD_defconfig
new file mode 100644
index 0000000..4b90e94
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2020RDB_SDCARD=y
diff --git a/arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig
new file mode 100644
index 0000000..2611540
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_P2020RDB_SPIFLASH=y
diff --git a/arch/powerpc/configs/P2020RDB_defconfig b/arch/powerpc/configs/P2020RDB_defconfig
new file mode 100644
index 0000000..362a8d8
--- /dev/null
+++ b/arch/powerpc/configs/P2020RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2020RDB=y
diff --git a/arch/powerpc/configs/P2041RDB_NAND_defconfig b/arch/powerpc/configs/P2041RDB_NAND_defconfig
new file mode 100644
index 0000000..5b16a04
--- /dev/null
+++ b/arch/powerpc/configs/P2041RDB_NAND_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2041RDB_NAND=y
diff --git a/arch/powerpc/configs/P2041RDB_SDCARD_defconfig b/arch/powerpc/configs/P2041RDB_SDCARD_defconfig
new file mode 100644
index 0000000..4ea8bc9
--- /dev/null
+++ b/arch/powerpc/configs/P2041RDB_SDCARD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2041RDB_SDCARD=y
diff --git a/arch/powerpc/configs/P2041RDB_SECURE_BOOT_defconfig b/arch/powerpc/configs/P2041RDB_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..6829b1b
--- /dev/null
+++ b/arch/powerpc/configs/P2041RDB_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2041RDB_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/P2041RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P2041RDB_SPIFLASH_defconfig
new file mode 100644
index 0000000..e02897a
--- /dev/null
+++ b/arch/powerpc/configs/P2041RDB_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2041RDB_SPIFLASH=y
diff --git a/arch/powerpc/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig b/arch/powerpc/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
new file mode 100644
index 0000000..51ef5f5
--- /dev/null
+++ b/arch/powerpc/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2041RDB_SRIO_PCIE_BOOT=y
diff --git a/arch/powerpc/configs/P2041RDB_defconfig b/arch/powerpc/configs/P2041RDB_defconfig
new file mode 100644
index 0000000..7132a58
--- /dev/null
+++ b/arch/powerpc/configs/P2041RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P2041RDB=y
diff --git a/arch/powerpc/configs/P3041DS_NAND_defconfig b/arch/powerpc/configs/P3041DS_NAND_defconfig
new file mode 100644
index 0000000..8daabc0
--- /dev/null
+++ b/arch/powerpc/configs/P3041DS_NAND_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P3041DS_NAND=y
diff --git a/arch/powerpc/configs/P3041DS_SDCARD_defconfig b/arch/powerpc/configs/P3041DS_SDCARD_defconfig
new file mode 100644
index 0000000..d3732ad
--- /dev/null
+++ b/arch/powerpc/configs/P3041DS_SDCARD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P3041DS_SDCARD=y
diff --git a/arch/powerpc/configs/P3041DS_SECURE_BOOT_defconfig b/arch/powerpc/configs/P3041DS_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..4652c80
--- /dev/null
+++ b/arch/powerpc/configs/P3041DS_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P3041DS_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/P3041DS_SPIFLASH_defconfig b/arch/powerpc/configs/P3041DS_SPIFLASH_defconfig
new file mode 100644
index 0000000..6b931f9
--- /dev/null
+++ b/arch/powerpc/configs/P3041DS_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P3041DS_SPIFLASH=y
diff --git a/arch/powerpc/configs/P3041DS_SRIO_PCIE_BOOT_defconfig b/arch/powerpc/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
new file mode 100644
index 0000000..b3552c9
--- /dev/null
+++ b/arch/powerpc/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P3041DS_SRIO_PCIE_BOOT=y
diff --git a/arch/powerpc/configs/P3041DS_defconfig b/arch/powerpc/configs/P3041DS_defconfig
new file mode 100644
index 0000000..1dc0dde
--- /dev/null
+++ b/arch/powerpc/configs/P3041DS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P3041DS=y
diff --git a/arch/powerpc/configs/P3G4_defconfig b/arch/powerpc/configs/P3G4_defconfig
new file mode 100644
index 0000000..e8ec9ea
--- /dev/null
+++ b/arch/powerpc/configs/P3G4_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P3G4=y
diff --git a/arch/powerpc/configs/P4080DS_SDCARD_defconfig b/arch/powerpc/configs/P4080DS_SDCARD_defconfig
new file mode 100644
index 0000000..c1f9273
--- /dev/null
+++ b/arch/powerpc/configs/P4080DS_SDCARD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P4080DS_SDCARD=y
diff --git a/arch/powerpc/configs/P4080DS_SECURE_BOOT_defconfig b/arch/powerpc/configs/P4080DS_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..817dc2d
--- /dev/null
+++ b/arch/powerpc/configs/P4080DS_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P4080DS_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/P4080DS_SPIFLASH_defconfig b/arch/powerpc/configs/P4080DS_SPIFLASH_defconfig
new file mode 100644
index 0000000..657c09c
--- /dev/null
+++ b/arch/powerpc/configs/P4080DS_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P4080DS_SPIFLASH=y
diff --git a/arch/powerpc/configs/P4080DS_SRIO_PCIE_BOOT_defconfig b/arch/powerpc/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
new file mode 100644
index 0000000..1e95d68
--- /dev/null
+++ b/arch/powerpc/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P4080DS_SRIO_PCIE_BOOT=y
diff --git a/arch/powerpc/configs/P4080DS_defconfig b/arch/powerpc/configs/P4080DS_defconfig
new file mode 100644
index 0000000..d2783be
--- /dev/null
+++ b/arch/powerpc/configs/P4080DS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P4080DS=y
diff --git a/arch/powerpc/configs/P5020DS_NAND_defconfig b/arch/powerpc/configs/P5020DS_NAND_defconfig
new file mode 100644
index 0000000..bbdbf2f
--- /dev/null
+++ b/arch/powerpc/configs/P5020DS_NAND_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P5020DS_NAND=y
diff --git a/arch/powerpc/configs/P5020DS_SDCARD_defconfig b/arch/powerpc/configs/P5020DS_SDCARD_defconfig
new file mode 100644
index 0000000..887b7d2
--- /dev/null
+++ b/arch/powerpc/configs/P5020DS_SDCARD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P5020DS_SDCARD=y
diff --git a/arch/powerpc/configs/P5020DS_SECURE_BOOT_defconfig b/arch/powerpc/configs/P5020DS_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..c51408c
--- /dev/null
+++ b/arch/powerpc/configs/P5020DS_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P5020DS_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/P5020DS_SPIFLASH_defconfig b/arch/powerpc/configs/P5020DS_SPIFLASH_defconfig
new file mode 100644
index 0000000..3bc333b
--- /dev/null
+++ b/arch/powerpc/configs/P5020DS_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P5020DS_SPIFLASH=y
diff --git a/arch/powerpc/configs/P5020DS_SRIO_PCIE_BOOT_defconfig b/arch/powerpc/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
new file mode 100644
index 0000000..64c10ae
--- /dev/null
+++ b/arch/powerpc/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P5020DS_SRIO_PCIE_BOOT=y
diff --git a/arch/powerpc/configs/P5020DS_defconfig b/arch/powerpc/configs/P5020DS_defconfig
new file mode 100644
index 0000000..deeef7a
--- /dev/null
+++ b/arch/powerpc/configs/P5020DS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P5020DS=y
diff --git a/arch/powerpc/configs/P5040DS_NAND_defconfig b/arch/powerpc/configs/P5040DS_NAND_defconfig
new file mode 100644
index 0000000..faa615c
--- /dev/null
+++ b/arch/powerpc/configs/P5040DS_NAND_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P5040DS_NAND=y
diff --git a/arch/powerpc/configs/P5040DS_SDCARD_defconfig b/arch/powerpc/configs/P5040DS_SDCARD_defconfig
new file mode 100644
index 0000000..13eb185
--- /dev/null
+++ b/arch/powerpc/configs/P5040DS_SDCARD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P5040DS_SDCARD=y
diff --git a/arch/powerpc/configs/P5040DS_SPIFLASH_defconfig b/arch/powerpc/configs/P5040DS_SPIFLASH_defconfig
new file mode 100644
index 0000000..fafb656
--- /dev/null
+++ b/arch/powerpc/configs/P5040DS_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P5040DS_SPIFLASH=y
diff --git a/arch/powerpc/configs/P5040DS_defconfig b/arch/powerpc/configs/P5040DS_defconfig
new file mode 100644
index 0000000..5106ae6
--- /dev/null
+++ b/arch/powerpc/configs/P5040DS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P5040DS=y
diff --git a/arch/powerpc/configs/PATI_defconfig b/arch/powerpc/configs/PATI_defconfig
new file mode 100644
index 0000000..d48c7c1
--- /dev/null
+++ b/arch/powerpc/configs/PATI_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PATI=y
diff --git a/arch/powerpc/configs/PCI405_defconfig b/arch/powerpc/configs/PCI405_defconfig
new file mode 100644
index 0000000..b1175df
--- /dev/null
+++ b/arch/powerpc/configs/PCI405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PCI405=y
diff --git a/arch/powerpc/configs/PIP405_defconfig b/arch/powerpc/configs/PIP405_defconfig
new file mode 100644
index 0000000..37e9147
--- /dev/null
+++ b/arch/powerpc/configs/PIP405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PIP405=y
diff --git a/arch/powerpc/configs/PLU405_defconfig b/arch/powerpc/configs/PLU405_defconfig
new file mode 100644
index 0000000..b4128d7
--- /dev/null
+++ b/arch/powerpc/configs/PLU405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PLU405=y
diff --git a/arch/powerpc/configs/PM520_DDR_defconfig b/arch/powerpc/configs/PM520_DDR_defconfig
new file mode 100644
index 0000000..c1a390a
--- /dev/null
+++ b/arch/powerpc/configs/PM520_DDR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM520_DDR=y
diff --git a/arch/powerpc/configs/PM520_ROMBOOT_DDR_defconfig b/arch/powerpc/configs/PM520_ROMBOOT_DDR_defconfig
new file mode 100644
index 0000000..a412ff3
--- /dev/null
+++ b/arch/powerpc/configs/PM520_ROMBOOT_DDR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM520_ROMBOOT_DDR=y
diff --git a/arch/powerpc/configs/PM520_ROMBOOT_defconfig b/arch/powerpc/configs/PM520_ROMBOOT_defconfig
new file mode 100644
index 0000000..8a4bd03
--- /dev/null
+++ b/arch/powerpc/configs/PM520_ROMBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM520_ROMBOOT=y
diff --git a/arch/powerpc/configs/PM520_defconfig b/arch/powerpc/configs/PM520_defconfig
new file mode 100644
index 0000000..d6493a7
--- /dev/null
+++ b/arch/powerpc/configs/PM520_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM520=y
diff --git a/arch/powerpc/configs/PM825_BIGFLASH_defconfig b/arch/powerpc/configs/PM825_BIGFLASH_defconfig
new file mode 100644
index 0000000..1ec3ed0
--- /dev/null
+++ b/arch/powerpc/configs/PM825_BIGFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM825_BIGFLASH=y
diff --git a/arch/powerpc/configs/PM825_ROMBOOT_BIGFLASH_defconfig b/arch/powerpc/configs/PM825_ROMBOOT_BIGFLASH_defconfig
new file mode 100644
index 0000000..2980161
--- /dev/null
+++ b/arch/powerpc/configs/PM825_ROMBOOT_BIGFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM825_ROMBOOT_BIGFLASH=y
diff --git a/arch/powerpc/configs/PM825_ROMBOOT_defconfig b/arch/powerpc/configs/PM825_ROMBOOT_defconfig
new file mode 100644
index 0000000..01e6e29
--- /dev/null
+++ b/arch/powerpc/configs/PM825_ROMBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM825_ROMBOOT=y
diff --git a/arch/powerpc/configs/PM825_defconfig b/arch/powerpc/configs/PM825_defconfig
new file mode 100644
index 0000000..afe15b3
--- /dev/null
+++ b/arch/powerpc/configs/PM825_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM825=y
diff --git a/arch/powerpc/configs/PM826_BIGFLASH_defconfig b/arch/powerpc/configs/PM826_BIGFLASH_defconfig
new file mode 100644
index 0000000..af756f4
--- /dev/null
+++ b/arch/powerpc/configs/PM826_BIGFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM826_BIGFLASH=y
diff --git a/arch/powerpc/configs/PM826_ROMBOOT_BIGFLASH_defconfig b/arch/powerpc/configs/PM826_ROMBOOT_BIGFLASH_defconfig
new file mode 100644
index 0000000..b112419
--- /dev/null
+++ b/arch/powerpc/configs/PM826_ROMBOOT_BIGFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM826_ROMBOOT_BIGFLASH=y
diff --git a/arch/powerpc/configs/PM826_ROMBOOT_defconfig b/arch/powerpc/configs/PM826_ROMBOOT_defconfig
new file mode 100644
index 0000000..012beec
--- /dev/null
+++ b/arch/powerpc/configs/PM826_ROMBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM826_ROMBOOT=y
diff --git a/arch/powerpc/configs/PM826_defconfig b/arch/powerpc/configs/PM826_defconfig
new file mode 100644
index 0000000..2df4f68
--- /dev/null
+++ b/arch/powerpc/configs/PM826_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM826=y
diff --git a/arch/powerpc/configs/PM828_PCI_defconfig b/arch/powerpc/configs/PM828_PCI_defconfig
new file mode 100644
index 0000000..403bc4b
--- /dev/null
+++ b/arch/powerpc/configs/PM828_PCI_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM828_PCI=y
diff --git a/arch/powerpc/configs/PM828_ROMBOOT_PCI_defconfig b/arch/powerpc/configs/PM828_ROMBOOT_PCI_defconfig
new file mode 100644
index 0000000..f9184eb
--- /dev/null
+++ b/arch/powerpc/configs/PM828_ROMBOOT_PCI_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM828_ROMBOOT_PCI=y
diff --git a/arch/powerpc/configs/PM828_ROMBOOT_defconfig b/arch/powerpc/configs/PM828_ROMBOOT_defconfig
new file mode 100644
index 0000000..b2ff1d9
--- /dev/null
+++ b/arch/powerpc/configs/PM828_ROMBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM828_ROMBOOT=y
diff --git a/arch/powerpc/configs/PM828_defconfig b/arch/powerpc/configs/PM828_defconfig
new file mode 100644
index 0000000..637f049
--- /dev/null
+++ b/arch/powerpc/configs/PM828_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PM828=y
diff --git a/arch/powerpc/configs/PMC405DE_defconfig b/arch/powerpc/configs/PMC405DE_defconfig
new file mode 100644
index 0000000..f534929
--- /dev/null
+++ b/arch/powerpc/configs/PMC405DE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PMC405DE=y
diff --git a/arch/powerpc/configs/PMC405_defconfig b/arch/powerpc/configs/PMC405_defconfig
new file mode 100644
index 0000000..ecf06ee
--- /dev/null
+++ b/arch/powerpc/configs/PMC405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PMC405=y
diff --git a/arch/powerpc/configs/PMC440_defconfig b/arch/powerpc/configs/PMC440_defconfig
new file mode 100644
index 0000000..6ea5bd6
--- /dev/null
+++ b/arch/powerpc/configs/PMC440_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PMC440=y
diff --git a/arch/powerpc/configs/PPChameleonEVB_BA_25_defconfig b/arch/powerpc/configs/PPChameleonEVB_BA_25_defconfig
new file mode 100644
index 0000000..0f51c60
--- /dev/null
+++ b/arch/powerpc/configs/PPChameleonEVB_BA_25_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PPCHAMELEONEVB_BA_25=y
diff --git a/arch/powerpc/configs/PPChameleonEVB_BA_33_defconfig b/arch/powerpc/configs/PPChameleonEVB_BA_33_defconfig
new file mode 100644
index 0000000..ebeb392
--- /dev/null
+++ b/arch/powerpc/configs/PPChameleonEVB_BA_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PPCHAMELEONEVB_BA_33=y
diff --git a/arch/powerpc/configs/PPChameleonEVB_HI_25_defconfig b/arch/powerpc/configs/PPChameleonEVB_HI_25_defconfig
new file mode 100644
index 0000000..a99a024
--- /dev/null
+++ b/arch/powerpc/configs/PPChameleonEVB_HI_25_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PPCHAMELEONEVB_HI_25=y
diff --git a/arch/powerpc/configs/PPChameleonEVB_HI_33_defconfig b/arch/powerpc/configs/PPChameleonEVB_HI_33_defconfig
new file mode 100644
index 0000000..c623918
--- /dev/null
+++ b/arch/powerpc/configs/PPChameleonEVB_HI_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PPCHAMELEONEVB_HI_33=y
diff --git a/arch/powerpc/configs/PPChameleonEVB_ME_25_defconfig b/arch/powerpc/configs/PPChameleonEVB_ME_25_defconfig
new file mode 100644
index 0000000..8446dc2
--- /dev/null
+++ b/arch/powerpc/configs/PPChameleonEVB_ME_25_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PPCHAMELEONEVB_ME_25=y
diff --git a/arch/powerpc/configs/PPChameleonEVB_ME_33_defconfig b/arch/powerpc/configs/PPChameleonEVB_ME_33_defconfig
new file mode 100644
index 0000000..6ea5768
--- /dev/null
+++ b/arch/powerpc/configs/PPChameleonEVB_ME_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PPCHAMELEONEVB_ME_33=y
diff --git a/arch/powerpc/configs/PPChameleonEVB_defconfig b/arch/powerpc/configs/PPChameleonEVB_defconfig
new file mode 100644
index 0000000..b619492
--- /dev/null
+++ b/arch/powerpc/configs/PPChameleonEVB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PPCHAMELEONEVB=y
diff --git a/arch/powerpc/configs/PQ2FADS-VR_defconfig b/arch/powerpc/configs/PQ2FADS-VR_defconfig
new file mode 100644
index 0000000..4874a19
--- /dev/null
+++ b/arch/powerpc/configs/PQ2FADS-VR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PQ2FADS_VR=y
diff --git a/arch/powerpc/configs/PQ2FADS-VR_lowboot_defconfig b/arch/powerpc/configs/PQ2FADS-VR_lowboot_defconfig
new file mode 100644
index 0000000..f777f29
--- /dev/null
+++ b/arch/powerpc/configs/PQ2FADS-VR_lowboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PQ2FADS_VR_LOWBOOT=y
diff --git a/arch/powerpc/configs/PQ2FADS-ZU_66MHz_defconfig b/arch/powerpc/configs/PQ2FADS-ZU_66MHz_defconfig
new file mode 100644
index 0000000..2204753
--- /dev/null
+++ b/arch/powerpc/configs/PQ2FADS-ZU_66MHz_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PQ2FADS_ZU_66MHZ=y
diff --git a/arch/powerpc/configs/PQ2FADS-ZU_66MHz_lowboot_defconfig b/arch/powerpc/configs/PQ2FADS-ZU_66MHz_lowboot_defconfig
new file mode 100644
index 0000000..d662bd4
--- /dev/null
+++ b/arch/powerpc/configs/PQ2FADS-ZU_66MHz_lowboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PQ2FADS_ZU_66MHZ_LOWBOOT=y
diff --git a/arch/powerpc/configs/PQ2FADS-ZU_defconfig b/arch/powerpc/configs/PQ2FADS-ZU_defconfig
new file mode 100644
index 0000000..8daf869
--- /dev/null
+++ b/arch/powerpc/configs/PQ2FADS-ZU_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PQ2FADS_ZU=y
diff --git a/arch/powerpc/configs/PQ2FADS-ZU_lowboot_defconfig b/arch/powerpc/configs/PQ2FADS-ZU_lowboot_defconfig
new file mode 100644
index 0000000..2324842
--- /dev/null
+++ b/arch/powerpc/configs/PQ2FADS-ZU_lowboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PQ2FADS_ZU_LOWBOOT=y
diff --git a/arch/powerpc/configs/PQ2FADS_defconfig b/arch/powerpc/configs/PQ2FADS_defconfig
new file mode 100644
index 0000000..286ca4b
--- /dev/null
+++ b/arch/powerpc/configs/PQ2FADS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PQ2FADS=y
diff --git a/arch/powerpc/configs/PQ2FADS_lowboot_defconfig b/arch/powerpc/configs/PQ2FADS_lowboot_defconfig
new file mode 100644
index 0000000..f040fbe
--- /dev/null
+++ b/arch/powerpc/configs/PQ2FADS_lowboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PQ2FADS_LOWBOOT=y
diff --git a/arch/powerpc/configs/QS823_defconfig b/arch/powerpc/configs/QS823_defconfig
new file mode 100644
index 0000000..e6a52be
--- /dev/null
+++ b/arch/powerpc/configs/QS823_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QS823=y
diff --git a/arch/powerpc/configs/QS850_defconfig b/arch/powerpc/configs/QS850_defconfig
new file mode 100644
index 0000000..15d6c78
--- /dev/null
+++ b/arch/powerpc/configs/QS850_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QS850=y
diff --git a/arch/powerpc/configs/QS860T_defconfig b/arch/powerpc/configs/QS860T_defconfig
new file mode 100644
index 0000000..1ce4b9c
--- /dev/null
+++ b/arch/powerpc/configs/QS860T_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QS860T=y
diff --git a/arch/powerpc/configs/R360MPI_defconfig b/arch/powerpc/configs/R360MPI_defconfig
new file mode 100644
index 0000000..9617c63
--- /dev/null
+++ b/arch/powerpc/configs/R360MPI_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_R360MPI=y
diff --git a/arch/powerpc/configs/RBC823_defconfig b/arch/powerpc/configs/RBC823_defconfig
new file mode 100644
index 0000000..d76ea7b
--- /dev/null
+++ b/arch/powerpc/configs/RBC823_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RBC823=y
diff --git a/arch/powerpc/configs/RPXlite_DW_64_LCD_defconfig b/arch/powerpc/configs/RPXlite_DW_64_LCD_defconfig
new file mode 100644
index 0000000..cc81019
--- /dev/null
+++ b/arch/powerpc/configs/RPXlite_DW_64_LCD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RPXLITE_DW_64_LCD=y
diff --git a/arch/powerpc/configs/RPXlite_DW_64_defconfig b/arch/powerpc/configs/RPXlite_DW_64_defconfig
new file mode 100644
index 0000000..9036388
--- /dev/null
+++ b/arch/powerpc/configs/RPXlite_DW_64_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RPXLITE_DW_64=y
diff --git a/arch/powerpc/configs/RPXlite_DW_LCD_defconfig b/arch/powerpc/configs/RPXlite_DW_LCD_defconfig
new file mode 100644
index 0000000..4f09a96
--- /dev/null
+++ b/arch/powerpc/configs/RPXlite_DW_LCD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RPXLITE_DW_LCD=y
diff --git a/arch/powerpc/configs/RPXlite_DW_NVRAM_64_LCD_defconfig b/arch/powerpc/configs/RPXlite_DW_NVRAM_64_LCD_defconfig
new file mode 100644
index 0000000..c4bb1bf
--- /dev/null
+++ b/arch/powerpc/configs/RPXlite_DW_NVRAM_64_LCD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RPXLITE_DW_NVRAM_64_LCD=y
diff --git a/arch/powerpc/configs/RPXlite_DW_NVRAM_64_defconfig b/arch/powerpc/configs/RPXlite_DW_NVRAM_64_defconfig
new file mode 100644
index 0000000..89ae42a
--- /dev/null
+++ b/arch/powerpc/configs/RPXlite_DW_NVRAM_64_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RPXLITE_DW_NVRAM_64=y
diff --git a/arch/powerpc/configs/RPXlite_DW_NVRAM_LCD_defconfig b/arch/powerpc/configs/RPXlite_DW_NVRAM_LCD_defconfig
new file mode 100644
index 0000000..7db7f70
--- /dev/null
+++ b/arch/powerpc/configs/RPXlite_DW_NVRAM_LCD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RPXLITE_DW_NVRAM_LCD=y
diff --git a/arch/powerpc/configs/RPXlite_DW_NVRAM_defconfig b/arch/powerpc/configs/RPXlite_DW_NVRAM_defconfig
new file mode 100644
index 0000000..791f1d4
--- /dev/null
+++ b/arch/powerpc/configs/RPXlite_DW_NVRAM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RPXLITE_DW_NVRAM=y
diff --git a/arch/powerpc/configs/RPXlite_DW_defconfig b/arch/powerpc/configs/RPXlite_DW_defconfig
new file mode 100644
index 0000000..ffed5e9
--- /dev/null
+++ b/arch/powerpc/configs/RPXlite_DW_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RPXLITE_DW=y
diff --git a/arch/powerpc/configs/RRvision_LCD_defconfig b/arch/powerpc/configs/RRvision_LCD_defconfig
new file mode 100644
index 0000000..4a3e5bf
--- /dev/null
+++ b/arch/powerpc/configs/RRvision_LCD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RRVISION_LCD=y
diff --git a/arch/powerpc/configs/RRvision_defconfig b/arch/powerpc/configs/RRvision_defconfig
new file mode 100644
index 0000000..b4085f7
--- /dev/null
+++ b/arch/powerpc/configs/RRvision_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RRVISION=y
diff --git a/arch/powerpc/configs/Rattler8248_defconfig b/arch/powerpc/configs/Rattler8248_defconfig
new file mode 100644
index 0000000..9f099b5
--- /dev/null
+++ b/arch/powerpc/configs/Rattler8248_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RATTLER8248=y
diff --git a/arch/powerpc/configs/Rattler_defconfig b/arch/powerpc/configs/Rattler_defconfig
new file mode 100644
index 0000000..46acc98
--- /dev/null
+++ b/arch/powerpc/configs/Rattler_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RATTLER=y
diff --git a/arch/powerpc/configs/SIMPC8313_LP_defconfig b/arch/powerpc/configs/SIMPC8313_LP_defconfig
new file mode 100644
index 0000000..0ca5244
--- /dev/null
+++ b/arch/powerpc/configs/SIMPC8313_LP_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SIMPC8313_LP=y
diff --git a/arch/powerpc/configs/SIMPC8313_SP_defconfig b/arch/powerpc/configs/SIMPC8313_SP_defconfig
new file mode 100644
index 0000000..2b65d08
--- /dev/null
+++ b/arch/powerpc/configs/SIMPC8313_SP_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SIMPC8313_SP=y
diff --git a/arch/powerpc/configs/SM850_defconfig b/arch/powerpc/configs/SM850_defconfig
new file mode 100644
index 0000000..c3aa1c6
--- /dev/null
+++ b/arch/powerpc/configs/SM850_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SM850=y
diff --git a/arch/powerpc/configs/SPD823TS_defconfig b/arch/powerpc/configs/SPD823TS_defconfig
new file mode 100644
index 0000000..ed040ee
--- /dev/null
+++ b/arch/powerpc/configs/SPD823TS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPD823TS=y
diff --git a/arch/powerpc/configs/SXNI855T_defconfig b/arch/powerpc/configs/SXNI855T_defconfig
new file mode 100644
index 0000000..a9c2382
--- /dev/null
+++ b/arch/powerpc/configs/SXNI855T_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SXNI855T=y
diff --git a/arch/powerpc/configs/Sandpoint8240_defconfig b/arch/powerpc/configs/Sandpoint8240_defconfig
new file mode 100644
index 0000000..0cac7c0
--- /dev/null
+++ b/arch/powerpc/configs/Sandpoint8240_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SANDPOINT8240=y
diff --git a/arch/powerpc/configs/Sandpoint8245_defconfig b/arch/powerpc/configs/Sandpoint8245_defconfig
new file mode 100644
index 0000000..16b6099
--- /dev/null
+++ b/arch/powerpc/configs/Sandpoint8245_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SANDPOINT8245=y
diff --git a/arch/powerpc/configs/T1040QDS_D4_defconfig b/arch/powerpc/configs/T1040QDS_D4_defconfig
new file mode 100644
index 0000000..d2fddf6
--- /dev/null
+++ b/arch/powerpc/configs/T1040QDS_D4_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T1040QDS_D4=y
diff --git a/arch/powerpc/configs/T1040QDS_SECURE_BOOT_defconfig b/arch/powerpc/configs/T1040QDS_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..4a463bb
--- /dev/null
+++ b/arch/powerpc/configs/T1040QDS_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T1040QDS_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/T1040QDS_defconfig b/arch/powerpc/configs/T1040QDS_defconfig
new file mode 100644
index 0000000..b73ae1f
--- /dev/null
+++ b/arch/powerpc/configs/T1040QDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T1040QDS=y
diff --git a/arch/powerpc/configs/T1040RDB_NAND_defconfig b/arch/powerpc/configs/T1040RDB_NAND_defconfig
new file mode 100644
index 0000000..3a1e5c1
--- /dev/null
+++ b/arch/powerpc/configs/T1040RDB_NAND_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T1040RDB_NAND=y
diff --git a/arch/powerpc/configs/T1040RDB_SDCARD_defconfig b/arch/powerpc/configs/T1040RDB_SDCARD_defconfig
new file mode 100644
index 0000000..7d23165
--- /dev/null
+++ b/arch/powerpc/configs/T1040RDB_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T1040RDB_SDCARD=y
diff --git a/arch/powerpc/configs/T1040RDB_SECURE_BOOT_defconfig b/arch/powerpc/configs/T1040RDB_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..53ab074
--- /dev/null
+++ b/arch/powerpc/configs/T1040RDB_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T1040RDB_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig b/arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig
new file mode 100644
index 0000000..8843c91
--- /dev/null
+++ b/arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T1040RDB_SPIFLASH=y
diff --git a/arch/powerpc/configs/T1040RDB_defconfig b/arch/powerpc/configs/T1040RDB_defconfig
new file mode 100644
index 0000000..4871a30
--- /dev/null
+++ b/arch/powerpc/configs/T1040RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T1040RDB=y
diff --git a/arch/powerpc/configs/T1042RDB_PI_NAND_defconfig b/arch/powerpc/configs/T1042RDB_PI_NAND_defconfig
new file mode 100644
index 0000000..afa44f4
--- /dev/null
+++ b/arch/powerpc/configs/T1042RDB_PI_NAND_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T1042RDB_PI_NAND=y
diff --git a/arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig b/arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig
new file mode 100644
index 0000000..2e67d78
--- /dev/null
+++ b/arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T1042RDB_PI_SDCARD=y
diff --git a/arch/powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig b/arch/powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig
new file mode 100644
index 0000000..c1e9086
--- /dev/null
+++ b/arch/powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T1042RDB_PI_SPIFLASH=y
diff --git a/arch/powerpc/configs/T1042RDB_PI_defconfig b/arch/powerpc/configs/T1042RDB_PI_defconfig
new file mode 100644
index 0000000..77c4180
--- /dev/null
+++ b/arch/powerpc/configs/T1042RDB_PI_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T1042RDB_PI=y
diff --git a/arch/powerpc/configs/T2080QDS_NAND_defconfig b/arch/powerpc/configs/T2080QDS_NAND_defconfig
new file mode 100644
index 0000000..3ea5f66
--- /dev/null
+++ b/arch/powerpc/configs/T2080QDS_NAND_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T2080QDS_NAND=y
diff --git a/arch/powerpc/configs/T2080QDS_SDCARD_defconfig b/arch/powerpc/configs/T2080QDS_SDCARD_defconfig
new file mode 100644
index 0000000..3854586
--- /dev/null
+++ b/arch/powerpc/configs/T2080QDS_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T2080QDS_SDCARD=y
diff --git a/arch/powerpc/configs/T2080QDS_SECURE_BOOT_defconfig b/arch/powerpc/configs/T2080QDS_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..f1f8df8
--- /dev/null
+++ b/arch/powerpc/configs/T2080QDS_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T2080QDS_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig b/arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig
new file mode 100644
index 0000000..95cb992
--- /dev/null
+++ b/arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T2080QDS_SPIFLASH=y
diff --git a/arch/powerpc/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig b/arch/powerpc/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
new file mode 100644
index 0000000..f9ac45a
--- /dev/null
+++ b/arch/powerpc/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T2080QDS_SRIO_PCIE_BOOT=y
diff --git a/arch/powerpc/configs/T2080QDS_defconfig b/arch/powerpc/configs/T2080QDS_defconfig
new file mode 100644
index 0000000..7ddb06c
--- /dev/null
+++ b/arch/powerpc/configs/T2080QDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T2080QDS=y
diff --git a/arch/powerpc/configs/T2080RDB_NAND_defconfig b/arch/powerpc/configs/T2080RDB_NAND_defconfig
new file mode 100644
index 0000000..a768ea4
--- /dev/null
+++ b/arch/powerpc/configs/T2080RDB_NAND_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T2080RDB_NAND=y
diff --git a/arch/powerpc/configs/T2080RDB_SDCARD_defconfig b/arch/powerpc/configs/T2080RDB_SDCARD_defconfig
new file mode 100644
index 0000000..c7bb202
--- /dev/null
+++ b/arch/powerpc/configs/T2080RDB_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T2080RDB_SDCARD=y
diff --git a/arch/powerpc/configs/T2080RDB_SECURE_BOOT_defconfig b/arch/powerpc/configs/T2080RDB_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..72516a4
--- /dev/null
+++ b/arch/powerpc/configs/T2080RDB_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T2080RDB_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig b/arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig
new file mode 100644
index 0000000..dc0119c
--- /dev/null
+++ b/arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T2080RDB_SPIFLASH=y
diff --git a/arch/powerpc/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig b/arch/powerpc/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
new file mode 100644
index 0000000..e68e6b5
--- /dev/null
+++ b/arch/powerpc/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T2080RDB_SRIO_PCIE_BOOT=y
diff --git a/arch/powerpc/configs/T2080RDB_defconfig b/arch/powerpc/configs/T2080RDB_defconfig
new file mode 100644
index 0000000..acb8fa4
--- /dev/null
+++ b/arch/powerpc/configs/T2080RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T2080RDB=y
diff --git a/arch/powerpc/configs/T2081QDS_NAND_defconfig b/arch/powerpc/configs/T2081QDS_NAND_defconfig
new file mode 100644
index 0000000..353c8fe
--- /dev/null
+++ b/arch/powerpc/configs/T2081QDS_NAND_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T2081QDS_NAND=y
diff --git a/arch/powerpc/configs/T2081QDS_SDCARD_defconfig b/arch/powerpc/configs/T2081QDS_SDCARD_defconfig
new file mode 100644
index 0000000..60b42aa
--- /dev/null
+++ b/arch/powerpc/configs/T2081QDS_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T2081QDS_SDCARD=y
diff --git a/arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig b/arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig
new file mode 100644
index 0000000..e8d37d1
--- /dev/null
+++ b/arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T2081QDS_SPIFLASH=y
diff --git a/arch/powerpc/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig b/arch/powerpc/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
new file mode 100644
index 0000000..ad16ffa
--- /dev/null
+++ b/arch/powerpc/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T2081QDS_SRIO_PCIE_BOOT=y
diff --git a/arch/powerpc/configs/T2081QDS_defconfig b/arch/powerpc/configs/T2081QDS_defconfig
new file mode 100644
index 0000000..a03f732
--- /dev/null
+++ b/arch/powerpc/configs/T2081QDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T2081QDS=y
diff --git a/arch/powerpc/configs/T4160QDS_NAND_defconfig b/arch/powerpc/configs/T4160QDS_NAND_defconfig
new file mode 100644
index 0000000..a31f929
--- /dev/null
+++ b/arch/powerpc/configs/T4160QDS_NAND_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T4160QDS_NAND=y
diff --git a/arch/powerpc/configs/T4160QDS_SDCARD_defconfig b/arch/powerpc/configs/T4160QDS_SDCARD_defconfig
new file mode 100644
index 0000000..e5c5a55
--- /dev/null
+++ b/arch/powerpc/configs/T4160QDS_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T4160QDS_SDCARD=y
diff --git a/arch/powerpc/configs/T4160QDS_SECURE_BOOT_defconfig b/arch/powerpc/configs/T4160QDS_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..909cc8c
--- /dev/null
+++ b/arch/powerpc/configs/T4160QDS_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T4160QDS_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/T4160QDS_SPIFLASH_defconfig b/arch/powerpc/configs/T4160QDS_SPIFLASH_defconfig
new file mode 100644
index 0000000..9078879
--- /dev/null
+++ b/arch/powerpc/configs/T4160QDS_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T4160QDS_SPIFLASH=y
diff --git a/arch/powerpc/configs/T4160QDS_defconfig b/arch/powerpc/configs/T4160QDS_defconfig
new file mode 100644
index 0000000..46b0279
--- /dev/null
+++ b/arch/powerpc/configs/T4160QDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T4160QDS=y
diff --git a/arch/powerpc/configs/T4160RDB_defconfig b/arch/powerpc/configs/T4160RDB_defconfig
new file mode 100644
index 0000000..42aaf11
--- /dev/null
+++ b/arch/powerpc/configs/T4160RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T4160RDB=y
diff --git a/arch/powerpc/configs/T4240EMU_defconfig b/arch/powerpc/configs/T4240EMU_defconfig
new file mode 100644
index 0000000..df57fd4
--- /dev/null
+++ b/arch/powerpc/configs/T4240EMU_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T4240EMU=y
diff --git a/arch/powerpc/configs/T4240QDS_NAND_defconfig b/arch/powerpc/configs/T4240QDS_NAND_defconfig
new file mode 100644
index 0000000..3d8b2f3
--- /dev/null
+++ b/arch/powerpc/configs/T4240QDS_NAND_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T4240QDS_NAND=y
diff --git a/arch/powerpc/configs/T4240QDS_SDCARD_defconfig b/arch/powerpc/configs/T4240QDS_SDCARD_defconfig
new file mode 100644
index 0000000..66be868
--- /dev/null
+++ b/arch/powerpc/configs/T4240QDS_SDCARD_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_T4240QDS_SDCARD=y
diff --git a/arch/powerpc/configs/T4240QDS_SECURE_BOOT_defconfig b/arch/powerpc/configs/T4240QDS_SECURE_BOOT_defconfig
new file mode 100644
index 0000000..810c2d8
--- /dev/null
+++ b/arch/powerpc/configs/T4240QDS_SECURE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T4240QDS_SECURE_BOOT=y
diff --git a/arch/powerpc/configs/T4240QDS_SPIFLASH_defconfig b/arch/powerpc/configs/T4240QDS_SPIFLASH_defconfig
new file mode 100644
index 0000000..b0472ce
--- /dev/null
+++ b/arch/powerpc/configs/T4240QDS_SPIFLASH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T4240QDS_SPIFLASH=y
diff --git a/arch/powerpc/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig b/arch/powerpc/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
new file mode 100644
index 0000000..c92359e
--- /dev/null
+++ b/arch/powerpc/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T4240QDS_SRIO_PCIE_BOOT=y
diff --git a/arch/powerpc/configs/T4240QDS_defconfig b/arch/powerpc/configs/T4240QDS_defconfig
new file mode 100644
index 0000000..2864372
--- /dev/null
+++ b/arch/powerpc/configs/T4240QDS_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T4240QDS=y
diff --git a/arch/powerpc/configs/T4240RDB_defconfig b/arch/powerpc/configs/T4240RDB_defconfig
new file mode 100644
index 0000000..c77c15a
--- /dev/null
+++ b/arch/powerpc/configs/T4240RDB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T4240RDB=y
diff --git a/arch/powerpc/configs/TB5200_B_defconfig b/arch/powerpc/configs/TB5200_B_defconfig
new file mode 100644
index 0000000..baf97cc
--- /dev/null
+++ b/arch/powerpc/configs/TB5200_B_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TB5200_B=y
diff --git a/arch/powerpc/configs/TB5200_defconfig b/arch/powerpc/configs/TB5200_defconfig
new file mode 100644
index 0000000..d5d777d
--- /dev/null
+++ b/arch/powerpc/configs/TB5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TB5200=y
diff --git a/arch/powerpc/configs/TK885D_defconfig b/arch/powerpc/configs/TK885D_defconfig
new file mode 100644
index 0000000..cc15f1b
--- /dev/null
+++ b/arch/powerpc/configs/TK885D_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TK885D=y
diff --git a/arch/powerpc/configs/TOP5200_defconfig b/arch/powerpc/configs/TOP5200_defconfig
new file mode 100644
index 0000000..b426347
--- /dev/null
+++ b/arch/powerpc/configs/TOP5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TOP5200=y
diff --git a/arch/powerpc/configs/TOP860_defconfig b/arch/powerpc/configs/TOP860_defconfig
new file mode 100644
index 0000000..2954234
--- /dev/null
+++ b/arch/powerpc/configs/TOP860_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TOP860=y
diff --git a/arch/powerpc/configs/TQM5200S_HIGHBOOT_defconfig b/arch/powerpc/configs/TQM5200S_HIGHBOOT_defconfig
new file mode 100644
index 0000000..cafbc7d
--- /dev/null
+++ b/arch/powerpc/configs/TQM5200S_HIGHBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM5200S_HIGHBOOT=y
diff --git a/arch/powerpc/configs/TQM5200S_defconfig b/arch/powerpc/configs/TQM5200S_defconfig
new file mode 100644
index 0000000..f4ae9d4
--- /dev/null
+++ b/arch/powerpc/configs/TQM5200S_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM5200S=y
diff --git a/arch/powerpc/configs/TQM5200_B_HIGHBOOT_defconfig b/arch/powerpc/configs/TQM5200_B_HIGHBOOT_defconfig
new file mode 100644
index 0000000..cd4a339
--- /dev/null
+++ b/arch/powerpc/configs/TQM5200_B_HIGHBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM5200_B_HIGHBOOT=y
diff --git a/arch/powerpc/configs/TQM5200_B_defconfig b/arch/powerpc/configs/TQM5200_B_defconfig
new file mode 100644
index 0000000..ad8a305
--- /dev/null
+++ b/arch/powerpc/configs/TQM5200_B_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM5200_B=y
diff --git a/arch/powerpc/configs/TQM5200_STK100_defconfig b/arch/powerpc/configs/TQM5200_STK100_defconfig
new file mode 100644
index 0000000..90d32d4
--- /dev/null
+++ b/arch/powerpc/configs/TQM5200_STK100_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM5200_STK100=y
diff --git a/arch/powerpc/configs/TQM5200_defconfig b/arch/powerpc/configs/TQM5200_defconfig
new file mode 100644
index 0000000..e219570
--- /dev/null
+++ b/arch/powerpc/configs/TQM5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM5200=y
diff --git a/arch/powerpc/configs/TQM823L_LCD_defconfig b/arch/powerpc/configs/TQM823L_LCD_defconfig
new file mode 100644
index 0000000..9f14563
--- /dev/null
+++ b/arch/powerpc/configs/TQM823L_LCD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM823L_LCD=y
diff --git a/arch/powerpc/configs/TQM823L_defconfig b/arch/powerpc/configs/TQM823L_defconfig
new file mode 100644
index 0000000..12f3fd5
--- /dev/null
+++ b/arch/powerpc/configs/TQM823L_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM823L=y
diff --git a/arch/powerpc/configs/TQM823M_defconfig b/arch/powerpc/configs/TQM823M_defconfig
new file mode 100644
index 0000000..4e59e3c
--- /dev/null
+++ b/arch/powerpc/configs/TQM823M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM823M=y
diff --git a/arch/powerpc/configs/TQM8255_AA_defconfig b/arch/powerpc/configs/TQM8255_AA_defconfig
new file mode 100644
index 0000000..253399e
--- /dev/null
+++ b/arch/powerpc/configs/TQM8255_AA_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8255_AA=y
diff --git a/arch/powerpc/configs/TQM8260_AA_defconfig b/arch/powerpc/configs/TQM8260_AA_defconfig
new file mode 100644
index 0000000..14f5f51
--- /dev/null
+++ b/arch/powerpc/configs/TQM8260_AA_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8260_AA=y
diff --git a/arch/powerpc/configs/TQM8260_AB_defconfig b/arch/powerpc/configs/TQM8260_AB_defconfig
new file mode 100644
index 0000000..537d28c
--- /dev/null
+++ b/arch/powerpc/configs/TQM8260_AB_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8260_AB=y
diff --git a/arch/powerpc/configs/TQM8260_AC_defconfig b/arch/powerpc/configs/TQM8260_AC_defconfig
new file mode 100644
index 0000000..768aee9
--- /dev/null
+++ b/arch/powerpc/configs/TQM8260_AC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8260_AC=y
diff --git a/arch/powerpc/configs/TQM8260_AD_defconfig b/arch/powerpc/configs/TQM8260_AD_defconfig
new file mode 100644
index 0000000..f2aab14
--- /dev/null
+++ b/arch/powerpc/configs/TQM8260_AD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8260_AD=y
diff --git a/arch/powerpc/configs/TQM8260_AE_defconfig b/arch/powerpc/configs/TQM8260_AE_defconfig
new file mode 100644
index 0000000..260bdb9
--- /dev/null
+++ b/arch/powerpc/configs/TQM8260_AE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8260_AE=y
diff --git a/arch/powerpc/configs/TQM8260_AF_defconfig b/arch/powerpc/configs/TQM8260_AF_defconfig
new file mode 100644
index 0000000..3af707e
--- /dev/null
+++ b/arch/powerpc/configs/TQM8260_AF_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8260_AF=y
diff --git a/arch/powerpc/configs/TQM8260_AG_defconfig b/arch/powerpc/configs/TQM8260_AG_defconfig
new file mode 100644
index 0000000..749e0fd
--- /dev/null
+++ b/arch/powerpc/configs/TQM8260_AG_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8260_AG=y
diff --git a/arch/powerpc/configs/TQM8260_AH_defconfig b/arch/powerpc/configs/TQM8260_AH_defconfig
new file mode 100644
index 0000000..72a85f7
--- /dev/null
+++ b/arch/powerpc/configs/TQM8260_AH_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8260_AH=y
diff --git a/arch/powerpc/configs/TQM8260_AI_defconfig b/arch/powerpc/configs/TQM8260_AI_defconfig
new file mode 100644
index 0000000..183a9d7
--- /dev/null
+++ b/arch/powerpc/configs/TQM8260_AI_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8260_AI=y
diff --git a/arch/powerpc/configs/TQM8265_AA_defconfig b/arch/powerpc/configs/TQM8265_AA_defconfig
new file mode 100644
index 0000000..5c6e43e
--- /dev/null
+++ b/arch/powerpc/configs/TQM8265_AA_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8265_AA=y
diff --git a/arch/powerpc/configs/TQM8272_defconfig b/arch/powerpc/configs/TQM8272_defconfig
new file mode 100644
index 0000000..5e830a0
--- /dev/null
+++ b/arch/powerpc/configs/TQM8272_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM8272=y
diff --git a/arch/powerpc/configs/TQM834x_defconfig b/arch/powerpc/configs/TQM834x_defconfig
new file mode 100644
index 0000000..39a2d6e
--- /dev/null
+++ b/arch/powerpc/configs/TQM834x_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM834X=y
diff --git a/arch/powerpc/configs/TQM850L_defconfig b/arch/powerpc/configs/TQM850L_defconfig
new file mode 100644
index 0000000..4be1ab2
--- /dev/null
+++ b/arch/powerpc/configs/TQM850L_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM850L=y
diff --git a/arch/powerpc/configs/TQM850M_defconfig b/arch/powerpc/configs/TQM850M_defconfig
new file mode 100644
index 0000000..eeaa5dc
--- /dev/null
+++ b/arch/powerpc/configs/TQM850M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM850M=y
diff --git a/arch/powerpc/configs/TQM855L_defconfig b/arch/powerpc/configs/TQM855L_defconfig
new file mode 100644
index 0000000..d8a7042
--- /dev/null
+++ b/arch/powerpc/configs/TQM855L_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM855L=y
diff --git a/arch/powerpc/configs/TQM855M_defconfig b/arch/powerpc/configs/TQM855M_defconfig
new file mode 100644
index 0000000..226d129
--- /dev/null
+++ b/arch/powerpc/configs/TQM855M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM855M=y
diff --git a/arch/powerpc/configs/TQM860L_defconfig b/arch/powerpc/configs/TQM860L_defconfig
new file mode 100644
index 0000000..e24b5d6
--- /dev/null
+++ b/arch/powerpc/configs/TQM860L_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM860L=y
diff --git a/arch/powerpc/configs/TQM860M_defconfig b/arch/powerpc/configs/TQM860M_defconfig
new file mode 100644
index 0000000..0ff28be
--- /dev/null
+++ b/arch/powerpc/configs/TQM860M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM860M=y
diff --git a/arch/powerpc/configs/TQM862L_defconfig b/arch/powerpc/configs/TQM862L_defconfig
new file mode 100644
index 0000000..1587719
--- /dev/null
+++ b/arch/powerpc/configs/TQM862L_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM862L=y
diff --git a/arch/powerpc/configs/TQM862M_defconfig b/arch/powerpc/configs/TQM862M_defconfig
new file mode 100644
index 0000000..f2f21ca
--- /dev/null
+++ b/arch/powerpc/configs/TQM862M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM862M=y
diff --git a/arch/powerpc/configs/TQM866M_defconfig b/arch/powerpc/configs/TQM866M_defconfig
new file mode 100644
index 0000000..d62ec50
--- /dev/null
+++ b/arch/powerpc/configs/TQM866M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM866M=y
diff --git a/arch/powerpc/configs/TQM885D_defconfig b/arch/powerpc/configs/TQM885D_defconfig
new file mode 100644
index 0000000..ed53e97
--- /dev/null
+++ b/arch/powerpc/configs/TQM885D_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TQM885D=y
diff --git a/arch/powerpc/configs/TTTech_defconfig b/arch/powerpc/configs/TTTech_defconfig
new file mode 100644
index 0000000..af91f72
--- /dev/null
+++ b/arch/powerpc/configs/TTTech_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TTTECH=y
diff --git a/arch/powerpc/configs/TWR-P1025_defconfig b/arch/powerpc/configs/TWR-P1025_defconfig
new file mode 100644
index 0000000..fa9c376
--- /dev/null
+++ b/arch/powerpc/configs/TWR-P1025_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TWR_P1025=y
diff --git a/arch/powerpc/configs/Total5200_Rev2_defconfig b/arch/powerpc/configs/Total5200_Rev2_defconfig
new file mode 100644
index 0000000..ebfefc9
--- /dev/null
+++ b/arch/powerpc/configs/Total5200_Rev2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TOTAL5200_REV2=y
diff --git a/arch/powerpc/configs/Total5200_Rev2_lowboot_defconfig b/arch/powerpc/configs/Total5200_Rev2_lowboot_defconfig
new file mode 100644
index 0000000..a17e462
--- /dev/null
+++ b/arch/powerpc/configs/Total5200_Rev2_lowboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TOTAL5200_REV2_LOWBOOT=y
diff --git a/arch/powerpc/configs/Total5200_defconfig b/arch/powerpc/configs/Total5200_defconfig
new file mode 100644
index 0000000..b2fe6a7
--- /dev/null
+++ b/arch/powerpc/configs/Total5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TOTAL5200=y
diff --git a/arch/powerpc/configs/Total5200_lowboot_defconfig b/arch/powerpc/configs/Total5200_lowboot_defconfig
new file mode 100644
index 0000000..907eba2
--- /dev/null
+++ b/arch/powerpc/configs/Total5200_lowboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TOTAL5200_LOWBOOT=y
diff --git a/arch/powerpc/configs/VOH405_defconfig b/arch/powerpc/configs/VOH405_defconfig
new file mode 100644
index 0000000..e7807e8
--- /dev/null
+++ b/arch/powerpc/configs/VOH405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VOH405=y
diff --git a/arch/powerpc/configs/VOM405_defconfig b/arch/powerpc/configs/VOM405_defconfig
new file mode 100644
index 0000000..f0285cb
--- /dev/null
+++ b/arch/powerpc/configs/VOM405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VOM405=y
diff --git a/arch/powerpc/configs/VoVPN-GW_66MHz_defconfig b/arch/powerpc/configs/VoVPN-GW_66MHz_defconfig
new file mode 100644
index 0000000..2e26445
--- /dev/null
+++ b/arch/powerpc/configs/VoVPN-GW_66MHz_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VOVPN_GW_66MHZ=y
diff --git a/arch/powerpc/configs/W7OLMC_defconfig b/arch/powerpc/configs/W7OLMC_defconfig
new file mode 100644
index 0000000..a16fa62
--- /dev/null
+++ b/arch/powerpc/configs/W7OLMC_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_W7OLMC=y
diff --git a/arch/powerpc/configs/W7OLMG_defconfig b/arch/powerpc/configs/W7OLMG_defconfig
new file mode 100644
index 0000000..72d58e4
--- /dev/null
+++ b/arch/powerpc/configs/W7OLMG_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_W7OLMG=y
diff --git a/arch/powerpc/configs/WUH405_defconfig b/arch/powerpc/configs/WUH405_defconfig
new file mode 100644
index 0000000..d9d6a97
--- /dev/null
+++ b/arch/powerpc/configs/WUH405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_WUH405=y
diff --git a/arch/powerpc/configs/ZPC1900_defconfig b/arch/powerpc/configs/ZPC1900_defconfig
new file mode 100644
index 0000000..4856cbb
--- /dev/null
+++ b/arch/powerpc/configs/ZPC1900_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ZPC1900=y
diff --git a/arch/powerpc/configs/ZUMA_defconfig b/arch/powerpc/configs/ZUMA_defconfig
new file mode 100644
index 0000000..62a2802
--- /dev/null
+++ b/arch/powerpc/configs/ZUMA_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ZUMA=y
diff --git a/arch/powerpc/configs/a3m071_defconfig b/arch/powerpc/configs/a3m071_defconfig
new file mode 100644
index 0000000..7fe1942
--- /dev/null
+++ b/arch/powerpc/configs/a3m071_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_A3M071=y
diff --git a/arch/powerpc/configs/a4m072_defconfig b/arch/powerpc/configs/a4m072_defconfig
new file mode 100644
index 0000000..4301b59
--- /dev/null
+++ b/arch/powerpc/configs/a4m072_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_A4M072=y
diff --git a/arch/powerpc/configs/a4m2k_defconfig b/arch/powerpc/configs/a4m2k_defconfig
new file mode 100644
index 0000000..d95d2a0
--- /dev/null
+++ b/arch/powerpc/configs/a4m2k_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_A4M2K=y
diff --git a/arch/powerpc/configs/ac14xx_defconfig b/arch/powerpc/configs/ac14xx_defconfig
new file mode 100644
index 0000000..4041acf
--- /dev/null
+++ b/arch/powerpc/configs/ac14xx_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AC14XX=y
diff --git a/arch/powerpc/configs/acadia_defconfig b/arch/powerpc/configs/acadia_defconfig
new file mode 100644
index 0000000..7bce485
--- /dev/null
+++ b/arch/powerpc/configs/acadia_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ACADIA=y
diff --git a/arch/powerpc/configs/aev_defconfig b/arch/powerpc/configs/aev_defconfig
new file mode 100644
index 0000000..842c6ff
--- /dev/null
+++ b/arch/powerpc/configs/aev_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AEV=y
diff --git a/arch/powerpc/configs/alpr_defconfig b/arch/powerpc/configs/alpr_defconfig
new file mode 100644
index 0000000..1dcf528
--- /dev/null
+++ b/arch/powerpc/configs/alpr_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ALPR=y
diff --git a/arch/powerpc/configs/arches_defconfig b/arch/powerpc/configs/arches_defconfig
new file mode 100644
index 0000000..cbe66ee
--- /dev/null
+++ b/arch/powerpc/configs/arches_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ARCHES=y
diff --git a/arch/powerpc/configs/aria_defconfig b/arch/powerpc/configs/aria_defconfig
new file mode 100644
index 0000000..a091b60
--- /dev/null
+++ b/arch/powerpc/configs/aria_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ARIA=y
diff --git a/arch/powerpc/configs/atc_defconfig b/arch/powerpc/configs/atc_defconfig
new file mode 100644
index 0000000..09c37dd
--- /dev/null
+++ b/arch/powerpc/configs/atc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ATC=y
diff --git a/arch/powerpc/configs/bamboo_defconfig b/arch/powerpc/configs/bamboo_defconfig
new file mode 100644
index 0000000..4c3a5c1
--- /dev/null
+++ b/arch/powerpc/configs/bamboo_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BAMBOO=y
diff --git a/arch/powerpc/configs/bluestone_defconfig b/arch/powerpc/configs/bluestone_defconfig
new file mode 100644
index 0000000..482ab5e
--- /dev/null
+++ b/arch/powerpc/configs/bluestone_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BLUESTONE=y
diff --git a/arch/powerpc/configs/bubinga_defconfig b/arch/powerpc/configs/bubinga_defconfig
new file mode 100644
index 0000000..d4371aa
--- /dev/null
+++ b/arch/powerpc/configs/bubinga_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_BUBINGA=y
diff --git a/arch/powerpc/configs/caddy2_defconfig b/arch/powerpc/configs/caddy2_defconfig
new file mode 100644
index 0000000..8ae87d9
--- /dev/null
+++ b/arch/powerpc/configs/caddy2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CADDY2=y
diff --git a/arch/powerpc/configs/cam5200_defconfig b/arch/powerpc/configs/cam5200_defconfig
new file mode 100644
index 0000000..c48246f
--- /dev/null
+++ b/arch/powerpc/configs/cam5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CAM5200=y
diff --git a/arch/powerpc/configs/cam5200_niosflash_defconfig b/arch/powerpc/configs/cam5200_niosflash_defconfig
new file mode 100644
index 0000000..17a1d57
--- /dev/null
+++ b/arch/powerpc/configs/cam5200_niosflash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CAM5200_NIOSFLASH=y
diff --git a/arch/powerpc/configs/canmb_defconfig b/arch/powerpc/configs/canmb_defconfig
new file mode 100644
index 0000000..f8ba67a
--- /dev/null
+++ b/arch/powerpc/configs/canmb_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CANMB=y
diff --git a/arch/powerpc/configs/canyonlands_defconfig b/arch/powerpc/configs/canyonlands_defconfig
new file mode 100644
index 0000000..ad21532
--- /dev/null
+++ b/arch/powerpc/configs/canyonlands_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CANYONLANDS=y
diff --git a/arch/powerpc/configs/charon_defconfig b/arch/powerpc/configs/charon_defconfig
new file mode 100644
index 0000000..1d0306a
--- /dev/null
+++ b/arch/powerpc/configs/charon_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CHARON=y
diff --git a/arch/powerpc/configs/cm5200_defconfig b/arch/powerpc/configs/cm5200_defconfig
new file mode 100644
index 0000000..a259ef2
--- /dev/null
+++ b/arch/powerpc/configs/cm5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CM5200=y
diff --git a/arch/powerpc/configs/cmi_mpc5xx_defconfig b/arch/powerpc/configs/cmi_mpc5xx_defconfig
new file mode 100644
index 0000000..46b5e19
--- /dev/null
+++ b/arch/powerpc/configs/cmi_mpc5xx_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CMI_MPC5XX=y
diff --git a/arch/powerpc/configs/cogent_mpc8260_defconfig b/arch/powerpc/configs/cogent_mpc8260_defconfig
new file mode 100644
index 0000000..62af538
--- /dev/null
+++ b/arch/powerpc/configs/cogent_mpc8260_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_COGENT_MPC8260=y
diff --git a/arch/powerpc/configs/cogent_mpc8xx_defconfig b/arch/powerpc/configs/cogent_mpc8xx_defconfig
new file mode 100644
index 0000000..4b25cee
--- /dev/null
+++ b/arch/powerpc/configs/cogent_mpc8xx_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_COGENT_MPC8XX=y
diff --git a/arch/powerpc/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig b/arch/powerpc/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
new file mode 100644
index 0000000..6597eaf
--- /dev/null
+++ b/arch/powerpc/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CONTROLCENTERD_36BIT_SDCARD_DEVELOP=y
diff --git a/arch/powerpc/configs/controlcenterd_36BIT_SDCARD_defconfig b/arch/powerpc/configs/controlcenterd_36BIT_SDCARD_defconfig
new file mode 100644
index 0000000..1b28302
--- /dev/null
+++ b/arch/powerpc/configs/controlcenterd_36BIT_SDCARD_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CONTROLCENTERD_36BIT_SDCARD=y
diff --git a/arch/powerpc/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig b/arch/powerpc/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
new file mode 100644
index 0000000..8717767
--- /dev/null
+++ b/arch/powerpc/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CONTROLCENTERD_TRAILBLAZER_DEVELOP=y
diff --git a/arch/powerpc/configs/controlcenterd_TRAILBLAZER_defconfig b/arch/powerpc/configs/controlcenterd_TRAILBLAZER_defconfig
new file mode 100644
index 0000000..df60c91
--- /dev/null
+++ b/arch/powerpc/configs/controlcenterd_TRAILBLAZER_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CONTROLCENTERD_TRAILBLAZER=y
diff --git a/arch/powerpc/configs/cpci5200_defconfig b/arch/powerpc/configs/cpci5200_defconfig
new file mode 100644
index 0000000..a2a3941
--- /dev/null
+++ b/arch/powerpc/configs/cpci5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CPCI5200=y
diff --git a/arch/powerpc/configs/csb272_defconfig b/arch/powerpc/configs/csb272_defconfig
new file mode 100644
index 0000000..0acbaca
--- /dev/null
+++ b/arch/powerpc/configs/csb272_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CSB272=y
diff --git a/arch/powerpc/configs/csb472_defconfig b/arch/powerpc/configs/csb472_defconfig
new file mode 100644
index 0000000..2d83317
--- /dev/null
+++ b/arch/powerpc/configs/csb472_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_CSB472=y
diff --git a/arch/powerpc/configs/debris_defconfig b/arch/powerpc/configs/debris_defconfig
new file mode 100644
index 0000000..aa649e5
--- /dev/null
+++ b/arch/powerpc/configs/debris_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DEBRIS=y
diff --git a/arch/powerpc/configs/devconcenter_defconfig b/arch/powerpc/configs/devconcenter_defconfig
new file mode 100644
index 0000000..983767d
--- /dev/null
+++ b/arch/powerpc/configs/devconcenter_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DEVCONCENTER=y
diff --git a/arch/powerpc/configs/digsy_mtc_RAMBOOT_defconfig b/arch/powerpc/configs/digsy_mtc_RAMBOOT_defconfig
new file mode 100644
index 0000000..290b15a
--- /dev/null
+++ b/arch/powerpc/configs/digsy_mtc_RAMBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DIGSY_MTC_RAMBOOT=y
diff --git a/arch/powerpc/configs/digsy_mtc_defconfig b/arch/powerpc/configs/digsy_mtc_defconfig
new file mode 100644
index 0000000..2196d49
--- /dev/null
+++ b/arch/powerpc/configs/digsy_mtc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DIGSY_MTC=y
diff --git a/arch/powerpc/configs/digsy_mtc_rev5_RAMBOOT_defconfig b/arch/powerpc/configs/digsy_mtc_rev5_RAMBOOT_defconfig
new file mode 100644
index 0000000..2f47765
--- /dev/null
+++ b/arch/powerpc/configs/digsy_mtc_rev5_RAMBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DIGSY_MTC_REV5_RAMBOOT=y
diff --git a/arch/powerpc/configs/digsy_mtc_rev5_defconfig b/arch/powerpc/configs/digsy_mtc_rev5_defconfig
new file mode 100644
index 0000000..cfb0e5f
--- /dev/null
+++ b/arch/powerpc/configs/digsy_mtc_rev5_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DIGSY_MTC_REV5=y
diff --git a/arch/powerpc/configs/dlvision-10g_defconfig b/arch/powerpc/configs/dlvision-10g_defconfig
new file mode 100644
index 0000000..6b5dcee
--- /dev/null
+++ b/arch/powerpc/configs/dlvision-10g_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DLVISION_10G=y
diff --git a/arch/powerpc/configs/dlvision_defconfig b/arch/powerpc/configs/dlvision_defconfig
new file mode 100644
index 0000000..7b605ff
--- /dev/null
+++ b/arch/powerpc/configs/dlvision_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_DLVISION=y
diff --git a/arch/powerpc/configs/eXalion_defconfig b/arch/powerpc/configs/eXalion_defconfig
new file mode 100644
index 0000000..381010c
--- /dev/null
+++ b/arch/powerpc/configs/eXalion_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EXALION=y
diff --git a/arch/powerpc/configs/ebony_defconfig b/arch/powerpc/configs/ebony_defconfig
new file mode 100644
index 0000000..5c5d4b6
--- /dev/null
+++ b/arch/powerpc/configs/ebony_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EBONY=y
diff --git a/arch/powerpc/configs/ep8248_defconfig b/arch/powerpc/configs/ep8248_defconfig
new file mode 100644
index 0000000..15325fa
--- /dev/null
+++ b/arch/powerpc/configs/ep8248_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EP8248=y
diff --git a/arch/powerpc/configs/ep8260_defconfig b/arch/powerpc/configs/ep8260_defconfig
new file mode 100644
index 0000000..40db661
--- /dev/null
+++ b/arch/powerpc/configs/ep8260_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EP8260=y
diff --git a/arch/powerpc/configs/ep82xxm_defconfig b/arch/powerpc/configs/ep82xxm_defconfig
new file mode 100644
index 0000000..13bc0c2
--- /dev/null
+++ b/arch/powerpc/configs/ep82xxm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_EP82XXM=y
diff --git a/arch/powerpc/configs/fo300_defconfig b/arch/powerpc/configs/fo300_defconfig
new file mode 100644
index 0000000..b89b71f
--- /dev/null
+++ b/arch/powerpc/configs/fo300_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_FO300=y
diff --git a/arch/powerpc/configs/fx12mm_defconfig b/arch/powerpc/configs/fx12mm_defconfig
new file mode 100644
index 0000000..48d7b29
--- /dev/null
+++ b/arch/powerpc/configs/fx12mm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_FX12MM=y
diff --git a/arch/powerpc/configs/fx12mm_flash_defconfig b/arch/powerpc/configs/fx12mm_flash_defconfig
new file mode 100644
index 0000000..61d9f56
--- /dev/null
+++ b/arch/powerpc/configs/fx12mm_flash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_FX12MM_FLASH=y
diff --git a/arch/powerpc/configs/galaxy5200_LOWBOOT_defconfig b/arch/powerpc/configs/galaxy5200_LOWBOOT_defconfig
new file mode 100644
index 0000000..de7e504
--- /dev/null
+++ b/arch/powerpc/configs/galaxy5200_LOWBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GALAXY5200_LOWBOOT=y
diff --git a/arch/powerpc/configs/galaxy5200_defconfig b/arch/powerpc/configs/galaxy5200_defconfig
new file mode 100644
index 0000000..6f9369c
--- /dev/null
+++ b/arch/powerpc/configs/galaxy5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GALAXY5200=y
diff --git a/arch/powerpc/configs/gdppc440etx_defconfig b/arch/powerpc/configs/gdppc440etx_defconfig
new file mode 100644
index 0000000..5df0329
--- /dev/null
+++ b/arch/powerpc/configs/gdppc440etx_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GDPPC440ETX=y
diff --git a/arch/powerpc/configs/glacier_defconfig b/arch/powerpc/configs/glacier_defconfig
new file mode 100644
index 0000000..b5e4267
--- /dev/null
+++ b/arch/powerpc/configs/glacier_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GLACIER=y
diff --git a/arch/powerpc/configs/gw8260_defconfig b/arch/powerpc/configs/gw8260_defconfig
new file mode 100644
index 0000000..1f5bd54
--- /dev/null
+++ b/arch/powerpc/configs/gw8260_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GW8260=y
diff --git a/arch/powerpc/configs/haleakala_defconfig b/arch/powerpc/configs/haleakala_defconfig
new file mode 100644
index 0000000..cb2b5ed
--- /dev/null
+++ b/arch/powerpc/configs/haleakala_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HALEAKALA=y
diff --git a/arch/powerpc/configs/hermes_defconfig b/arch/powerpc/configs/hermes_defconfig
new file mode 100644
index 0000000..589582c
--- /dev/null
+++ b/arch/powerpc/configs/hermes_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HERMES=y
diff --git a/arch/powerpc/configs/hmi1001_defconfig b/arch/powerpc/configs/hmi1001_defconfig
new file mode 100644
index 0000000..2809229
--- /dev/null
+++ b/arch/powerpc/configs/hmi1001_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HMI1001=y
diff --git a/arch/powerpc/configs/hymod_defconfig b/arch/powerpc/configs/hymod_defconfig
new file mode 100644
index 0000000..8a5ff98
--- /dev/null
+++ b/arch/powerpc/configs/hymod_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_HYMOD=y
diff --git a/arch/powerpc/configs/icecube_5200_DDR_LOWBOOT08_defconfig b/arch/powerpc/configs/icecube_5200_DDR_LOWBOOT08_defconfig
new file mode 100644
index 0000000..7a7804b
--- /dev/null
+++ b/arch/powerpc/configs/icecube_5200_DDR_LOWBOOT08_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ICECUBE_5200_DDR_LOWBOOT08=y
diff --git a/arch/powerpc/configs/icecube_5200_DDR_LOWBOOT_defconfig b/arch/powerpc/configs/icecube_5200_DDR_LOWBOOT_defconfig
new file mode 100644
index 0000000..6b3820a
--- /dev/null
+++ b/arch/powerpc/configs/icecube_5200_DDR_LOWBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ICECUBE_5200_DDR_LOWBOOT=y
diff --git a/arch/powerpc/configs/icecube_5200_DDR_defconfig b/arch/powerpc/configs/icecube_5200_DDR_defconfig
new file mode 100644
index 0000000..a91978f
--- /dev/null
+++ b/arch/powerpc/configs/icecube_5200_DDR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ICECUBE_5200_DDR=y
diff --git a/arch/powerpc/configs/icecube_5200_LOWBOOT08_defconfig b/arch/powerpc/configs/icecube_5200_LOWBOOT08_defconfig
new file mode 100644
index 0000000..ebcfd56
--- /dev/null
+++ b/arch/powerpc/configs/icecube_5200_LOWBOOT08_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ICECUBE_5200_LOWBOOT08=y
diff --git a/arch/powerpc/configs/icecube_5200_LOWBOOT_defconfig b/arch/powerpc/configs/icecube_5200_LOWBOOT_defconfig
new file mode 100644
index 0000000..969491d
--- /dev/null
+++ b/arch/powerpc/configs/icecube_5200_LOWBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ICECUBE_5200_LOWBOOT=y
diff --git a/arch/powerpc/configs/icecube_5200_defconfig b/arch/powerpc/configs/icecube_5200_defconfig
new file mode 100644
index 0000000..defbf8f
--- /dev/null
+++ b/arch/powerpc/configs/icecube_5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ICECUBE_5200=y
diff --git a/arch/powerpc/configs/icon_defconfig b/arch/powerpc/configs/icon_defconfig
new file mode 100644
index 0000000..d813da4
--- /dev/null
+++ b/arch/powerpc/configs/icon_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ICON=y
diff --git a/arch/powerpc/configs/ids8313_defconfig b/arch/powerpc/configs/ids8313_defconfig
new file mode 100644
index 0000000..93b0ece
--- /dev/null
+++ b/arch/powerpc/configs/ids8313_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IDS8313=y
diff --git a/arch/powerpc/configs/inka4x0_defconfig b/arch/powerpc/configs/inka4x0_defconfig
new file mode 100644
index 0000000..3230e35
--- /dev/null
+++ b/arch/powerpc/configs/inka4x0_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INKA4X0=y
diff --git a/arch/powerpc/configs/intip_defconfig b/arch/powerpc/configs/intip_defconfig
new file mode 100644
index 0000000..6ee1edc
--- /dev/null
+++ b/arch/powerpc/configs/intip_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_INTIP=y
diff --git a/arch/powerpc/configs/io64_defconfig b/arch/powerpc/configs/io64_defconfig
new file mode 100644
index 0000000..ce47e0c
--- /dev/null
+++ b/arch/powerpc/configs/io64_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IO64=y
diff --git a/arch/powerpc/configs/io_defconfig b/arch/powerpc/configs/io_defconfig
new file mode 100644
index 0000000..c412022
--- /dev/null
+++ b/arch/powerpc/configs/io_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IO=y
diff --git a/arch/powerpc/configs/iocon_defconfig b/arch/powerpc/configs/iocon_defconfig
new file mode 100644
index 0000000..9acea98
--- /dev/null
+++ b/arch/powerpc/configs/iocon_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IOCON=y
diff --git a/arch/powerpc/configs/ipek01_defconfig b/arch/powerpc/configs/ipek01_defconfig
new file mode 100644
index 0000000..08a2782
--- /dev/null
+++ b/arch/powerpc/configs/ipek01_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_IPEK01=y
diff --git a/arch/powerpc/configs/jupiter_defconfig b/arch/powerpc/configs/jupiter_defconfig
new file mode 100644
index 0000000..c7e9639
--- /dev/null
+++ b/arch/powerpc/configs/jupiter_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_JUPITER=y
diff --git a/arch/powerpc/configs/katmai_defconfig b/arch/powerpc/configs/katmai_defconfig
new file mode 100644
index 0000000..fce5b31
--- /dev/null
+++ b/arch/powerpc/configs/katmai_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KATMAI=y
diff --git a/arch/powerpc/configs/kilauea_defconfig b/arch/powerpc/configs/kilauea_defconfig
new file mode 100644
index 0000000..08e81d9
--- /dev/null
+++ b/arch/powerpc/configs/kilauea_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KILAUEA=y
diff --git a/arch/powerpc/configs/kmcoge4_defconfig b/arch/powerpc/configs/kmcoge4_defconfig
new file mode 100644
index 0000000..0ba5d88
--- /dev/null
+++ b/arch/powerpc/configs/kmcoge4_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMCOGE4=y
diff --git a/arch/powerpc/configs/kmcoge5ne_defconfig b/arch/powerpc/configs/kmcoge5ne_defconfig
new file mode 100644
index 0000000..bb73c97
--- /dev/null
+++ b/arch/powerpc/configs/kmcoge5ne_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMCOGE5NE=y
diff --git a/arch/powerpc/configs/kmeter1_defconfig b/arch/powerpc/configs/kmeter1_defconfig
new file mode 100644
index 0000000..9165fc8
--- /dev/null
+++ b/arch/powerpc/configs/kmeter1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMETER1=y
diff --git a/arch/powerpc/configs/kmlion1_defconfig b/arch/powerpc/configs/kmlion1_defconfig
new file mode 100644
index 0000000..bfc8812
--- /dev/null
+++ b/arch/powerpc/configs/kmlion1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMLION1=y
diff --git a/arch/powerpc/configs/kmopti2_defconfig b/arch/powerpc/configs/kmopti2_defconfig
new file mode 100644
index 0000000..7980f83
--- /dev/null
+++ b/arch/powerpc/configs/kmopti2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMOPTI2=y
diff --git a/arch/powerpc/configs/kmsupx5_defconfig b/arch/powerpc/configs/kmsupx5_defconfig
new file mode 100644
index 0000000..cb678d6
--- /dev/null
+++ b/arch/powerpc/configs/kmsupx5_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMSUPX5=y
diff --git a/arch/powerpc/configs/kmvect1_defconfig b/arch/powerpc/configs/kmvect1_defconfig
new file mode 100644
index 0000000..72a7205
--- /dev/null
+++ b/arch/powerpc/configs/kmvect1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KMVECT1=y
diff --git a/arch/powerpc/configs/korat_defconfig b/arch/powerpc/configs/korat_defconfig
new file mode 100644
index 0000000..5463314
--- /dev/null
+++ b/arch/powerpc/configs/korat_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KORAT=y
diff --git a/arch/powerpc/configs/korat_perm_defconfig b/arch/powerpc/configs/korat_perm_defconfig
new file mode 100644
index 0000000..1b720b1
--- /dev/null
+++ b/arch/powerpc/configs/korat_perm_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KORAT_PERM=y
diff --git a/arch/powerpc/configs/kvme080_defconfig b/arch/powerpc/configs/kvme080_defconfig
new file mode 100644
index 0000000..c547b23
--- /dev/null
+++ b/arch/powerpc/configs/kvme080_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_KVME080=y
diff --git a/arch/powerpc/configs/lcd4_lwmon5_defconfig b/arch/powerpc/configs/lcd4_lwmon5_defconfig
new file mode 100644
index 0000000..41e09fa
--- /dev/null
+++ b/arch/powerpc/configs/lcd4_lwmon5_defconfig
@@ -0,0 +1,2 @@
+CONFIG_SPL=y
+CONFIG_TARGET_LCD4_LWMON5=y
diff --git a/arch/powerpc/configs/lite5200b_LOWBOOT_defconfig b/arch/powerpc/configs/lite5200b_LOWBOOT_defconfig
new file mode 100644
index 0000000..4a8ae68
--- /dev/null
+++ b/arch/powerpc/configs/lite5200b_LOWBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LITE5200B_LOWBOOT=y
diff --git a/arch/powerpc/configs/lite5200b_PM_defconfig b/arch/powerpc/configs/lite5200b_PM_defconfig
new file mode 100644
index 0000000..750af35
--- /dev/null
+++ b/arch/powerpc/configs/lite5200b_PM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LITE5200B_PM=y
diff --git a/arch/powerpc/configs/lite5200b_defconfig b/arch/powerpc/configs/lite5200b_defconfig
new file mode 100644
index 0000000..ab06aa8
--- /dev/null
+++ b/arch/powerpc/configs/lite5200b_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LITE5200B=y
diff --git a/arch/powerpc/configs/luan_defconfig b/arch/powerpc/configs/luan_defconfig
new file mode 100644
index 0000000..c196303
--- /dev/null
+++ b/arch/powerpc/configs/luan_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LUAN=y
diff --git a/arch/powerpc/configs/lwmon5_defconfig b/arch/powerpc/configs/lwmon5_defconfig
new file mode 100644
index 0000000..c2660ac
--- /dev/null
+++ b/arch/powerpc/configs/lwmon5_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LWMON5=y
diff --git a/arch/powerpc/configs/lwmon_defconfig b/arch/powerpc/configs/lwmon_defconfig
new file mode 100644
index 0000000..5a151ec
--- /dev/null
+++ b/arch/powerpc/configs/lwmon_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_LWMON=y
diff --git a/arch/powerpc/configs/makalu_defconfig b/arch/powerpc/configs/makalu_defconfig
new file mode 100644
index 0000000..b71fa66
--- /dev/null
+++ b/arch/powerpc/configs/makalu_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MAKALU=y
diff --git a/arch/powerpc/configs/mcc200_COM12_SDRAM_defconfig b/arch/powerpc/configs/mcc200_COM12_SDRAM_defconfig
new file mode 100644
index 0000000..6076ba8
--- /dev/null
+++ b/arch/powerpc/configs/mcc200_COM12_SDRAM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MCC200_COM12_SDRAM=y
diff --git a/arch/powerpc/configs/mcc200_COM12_defconfig b/arch/powerpc/configs/mcc200_COM12_defconfig
new file mode 100644
index 0000000..5309b9e
--- /dev/null
+++ b/arch/powerpc/configs/mcc200_COM12_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MCC200_COM12=y
diff --git a/arch/powerpc/configs/mcc200_COM12_highboot_SDRAM_defconfig b/arch/powerpc/configs/mcc200_COM12_highboot_SDRAM_defconfig
new file mode 100644
index 0000000..3c0ed7f
--- /dev/null
+++ b/arch/powerpc/configs/mcc200_COM12_highboot_SDRAM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MCC200_COM12_HIGHBOOT_SDRAM=y
diff --git a/arch/powerpc/configs/mcc200_COM12_highboot_defconfig b/arch/powerpc/configs/mcc200_COM12_highboot_defconfig
new file mode 100644
index 0000000..90ad092
--- /dev/null
+++ b/arch/powerpc/configs/mcc200_COM12_highboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MCC200_COM12_HIGHBOOT=y
diff --git a/arch/powerpc/configs/mcc200_SDRAM_defconfig b/arch/powerpc/configs/mcc200_SDRAM_defconfig
new file mode 100644
index 0000000..32313eb
--- /dev/null
+++ b/arch/powerpc/configs/mcc200_SDRAM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MCC200_SDRAM=y
diff --git a/arch/powerpc/configs/mcc200_defconfig b/arch/powerpc/configs/mcc200_defconfig
new file mode 100644
index 0000000..7f330c2
--- /dev/null
+++ b/arch/powerpc/configs/mcc200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MCC200=y
diff --git a/arch/powerpc/configs/mcc200_highboot_SDRAM_defconfig b/arch/powerpc/configs/mcc200_highboot_SDRAM_defconfig
new file mode 100644
index 0000000..46536b4
--- /dev/null
+++ b/arch/powerpc/configs/mcc200_highboot_SDRAM_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MCC200_HIGHBOOT_SDRAM=y
diff --git a/arch/powerpc/configs/mcc200_highboot_defconfig b/arch/powerpc/configs/mcc200_highboot_defconfig
new file mode 100644
index 0000000..596ddd7
--- /dev/null
+++ b/arch/powerpc/configs/mcc200_highboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MCC200_HIGHBOOT=y
diff --git a/arch/powerpc/configs/mecp5123_defconfig b/arch/powerpc/configs/mecp5123_defconfig
new file mode 100644
index 0000000..4e1c02b
--- /dev/null
+++ b/arch/powerpc/configs/mecp5123_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MECP5123=y
diff --git a/arch/powerpc/configs/mecp5200_defconfig b/arch/powerpc/configs/mecp5200_defconfig
new file mode 100644
index 0000000..72707bb
--- /dev/null
+++ b/arch/powerpc/configs/mecp5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MECP5200=y
diff --git a/arch/powerpc/configs/mgcoge3ne_defconfig b/arch/powerpc/configs/mgcoge3ne_defconfig
new file mode 100644
index 0000000..69a5730
--- /dev/null
+++ b/arch/powerpc/configs/mgcoge3ne_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MGCOGE3NE=y
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig
new file mode 100644
index 0000000..c4ea911
--- /dev/null
+++ b/arch/powerpc/configs/mgcoge_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MGCOGE=y
diff --git a/arch/powerpc/configs/ml507_defconfig b/arch/powerpc/configs/ml507_defconfig
new file mode 100644
index 0000000..9900624
--- /dev/null
+++ b/arch/powerpc/configs/ml507_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ML507=y
diff --git a/arch/powerpc/configs/ml507_flash_defconfig b/arch/powerpc/configs/ml507_flash_defconfig
new file mode 100644
index 0000000..d6914f8
--- /dev/null
+++ b/arch/powerpc/configs/ml507_flash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ML507_FLASH=y
diff --git a/arch/powerpc/configs/motionpro_defconfig b/arch/powerpc/configs/motionpro_defconfig
new file mode 100644
index 0000000..9048df2
--- /dev/null
+++ b/arch/powerpc/configs/motionpro_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MOTIONPRO=y
diff --git a/arch/powerpc/configs/mpc5121ads_defconfig b/arch/powerpc/configs/mpc5121ads_defconfig
new file mode 100644
index 0000000..aa0ed7e
--- /dev/null
+++ b/arch/powerpc/configs/mpc5121ads_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC5121ADS=y
diff --git a/arch/powerpc/configs/mpc5121ads_rev2_defconfig b/arch/powerpc/configs/mpc5121ads_rev2_defconfig
new file mode 100644
index 0000000..dad29ec
--- /dev/null
+++ b/arch/powerpc/configs/mpc5121ads_rev2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC5121ADS_REV2=y
diff --git a/arch/powerpc/configs/mpc7448hpc2_defconfig b/arch/powerpc/configs/mpc7448hpc2_defconfig
new file mode 100644
index 0000000..8e9ed3d
--- /dev/null
+++ b/arch/powerpc/configs/mpc7448hpc2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC7448HPC2=y
diff --git a/arch/powerpc/configs/mpc8308_p1m_defconfig b/arch/powerpc/configs/mpc8308_p1m_defconfig
new file mode 100644
index 0000000..ee4f106
--- /dev/null
+++ b/arch/powerpc/configs/mpc8308_p1m_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPC8308_P1M=y
diff --git a/arch/powerpc/configs/muas3001_defconfig b/arch/powerpc/configs/muas3001_defconfig
new file mode 100644
index 0000000..c585d49
--- /dev/null
+++ b/arch/powerpc/configs/muas3001_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MUAS3001=y
diff --git a/arch/powerpc/configs/muas3001_dev_defconfig b/arch/powerpc/configs/muas3001_dev_defconfig
new file mode 100644
index 0000000..e7f7f74
--- /dev/null
+++ b/arch/powerpc/configs/muas3001_dev_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MUAS3001_DEV=y
diff --git a/arch/powerpc/configs/mucmc52_defconfig b/arch/powerpc/configs/mucmc52_defconfig
new file mode 100644
index 0000000..c60c08e
--- /dev/null
+++ b/arch/powerpc/configs/mucmc52_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MUCMC52=y
diff --git a/arch/powerpc/configs/munices_defconfig b/arch/powerpc/configs/munices_defconfig
new file mode 100644
index 0000000..d3f056c
--- /dev/null
+++ b/arch/powerpc/configs/munices_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MUNICES=y
diff --git a/arch/powerpc/configs/neo_defconfig b/arch/powerpc/configs/neo_defconfig
new file mode 100644
index 0000000..839a21a
--- /dev/null
+++ b/arch/powerpc/configs/neo_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_NEO=y
diff --git a/arch/powerpc/configs/ocotea_defconfig b/arch/powerpc/configs/ocotea_defconfig
new file mode 100644
index 0000000..fafdaf7
--- /dev/null
+++ b/arch/powerpc/configs/ocotea_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_OCOTEA=y
diff --git a/arch/powerpc/configs/p3m7448_defconfig b/arch/powerpc/configs/p3m7448_defconfig
new file mode 100644
index 0000000..73552cd
--- /dev/null
+++ b/arch/powerpc/configs/p3m7448_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P3M7448=y
diff --git a/arch/powerpc/configs/p3m750_defconfig b/arch/powerpc/configs/p3m750_defconfig
new file mode 100644
index 0000000..a8745a7
--- /dev/null
+++ b/arch/powerpc/configs/p3m750_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P3M750=y
diff --git a/arch/powerpc/configs/p3p440_defconfig b/arch/powerpc/configs/p3p440_defconfig
new file mode 100644
index 0000000..c9fcb2c
--- /dev/null
+++ b/arch/powerpc/configs/p3p440_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_P3P440=y
diff --git a/arch/powerpc/configs/pcm030_LOWBOOT_defconfig b/arch/powerpc/configs/pcm030_LOWBOOT_defconfig
new file mode 100644
index 0000000..ee257fa
--- /dev/null
+++ b/arch/powerpc/configs/pcm030_LOWBOOT_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PCM030_LOWBOOT=y
diff --git a/arch/powerpc/configs/pcm030_defconfig b/arch/powerpc/configs/pcm030_defconfig
new file mode 100644
index 0000000..104e5ad
--- /dev/null
+++ b/arch/powerpc/configs/pcm030_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PCM030=y
diff --git a/arch/powerpc/configs/pcs440ep_defconfig b/arch/powerpc/configs/pcs440ep_defconfig
new file mode 100644
index 0000000..47ea9a5
--- /dev/null
+++ b/arch/powerpc/configs/pcs440ep_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PCS440EP=y
diff --git a/arch/powerpc/configs/pdm360ng_defconfig b/arch/powerpc/configs/pdm360ng_defconfig
new file mode 100644
index 0000000..1bc5590
--- /dev/null
+++ b/arch/powerpc/configs/pdm360ng_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PDM360NG=y
diff --git a/arch/powerpc/configs/pf5200_defconfig b/arch/powerpc/configs/pf5200_defconfig
new file mode 100644
index 0000000..6008a54
--- /dev/null
+++ b/arch/powerpc/configs/pf5200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PF5200=y
diff --git a/arch/powerpc/configs/ppmc7xx_defconfig b/arch/powerpc/configs/ppmc7xx_defconfig
new file mode 100644
index 0000000..28e8fcb
--- /dev/null
+++ b/arch/powerpc/configs/ppmc7xx_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PPMC7XX=y
diff --git a/arch/powerpc/configs/ppmc8260_defconfig b/arch/powerpc/configs/ppmc8260_defconfig
new file mode 100644
index 0000000..ba3cfcc
--- /dev/null
+++ b/arch/powerpc/configs/ppmc8260_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PPMC8260=y
diff --git a/arch/powerpc/configs/prs200_DDR_defconfig b/arch/powerpc/configs/prs200_DDR_defconfig
new file mode 100644
index 0000000..de01850
--- /dev/null
+++ b/arch/powerpc/configs/prs200_DDR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PRS200_DDR=y
diff --git a/arch/powerpc/configs/prs200_defconfig b/arch/powerpc/configs/prs200_defconfig
new file mode 100644
index 0000000..609e1eb
--- /dev/null
+++ b/arch/powerpc/configs/prs200_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PRS200=y
diff --git a/arch/powerpc/configs/prs200_highboot_DDR_defconfig b/arch/powerpc/configs/prs200_highboot_DDR_defconfig
new file mode 100644
index 0000000..e783889
--- /dev/null
+++ b/arch/powerpc/configs/prs200_highboot_DDR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PRS200_HIGHBOOT_DDR=y
diff --git a/arch/powerpc/configs/prs200_highboot_defconfig b/arch/powerpc/configs/prs200_highboot_defconfig
new file mode 100644
index 0000000..8a7189a
--- /dev/null
+++ b/arch/powerpc/configs/prs200_highboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_PRS200_HIGHBOOT=y
diff --git a/arch/powerpc/configs/qemu-ppce500_defconfig b/arch/powerpc/configs/qemu-ppce500_defconfig
new file mode 100644
index 0000000..3b07221
--- /dev/null
+++ b/arch/powerpc/configs/qemu-ppce500_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QEMU_PPCE500=y
diff --git a/arch/powerpc/configs/quad100hd_defconfig b/arch/powerpc/configs/quad100hd_defconfig
new file mode 100644
index 0000000..7f497c7
--- /dev/null
+++ b/arch/powerpc/configs/quad100hd_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QUAD100HD=y
diff --git a/arch/powerpc/configs/quantum_defconfig b/arch/powerpc/configs/quantum_defconfig
new file mode 100644
index 0000000..b6f9aba
--- /dev/null
+++ b/arch/powerpc/configs/quantum_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_QUANTUM=y
diff --git a/arch/powerpc/configs/rainier_defconfig b/arch/powerpc/configs/rainier_defconfig
new file mode 100644
index 0000000..d1bc8ee
--- /dev/null
+++ b/arch/powerpc/configs/rainier_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RAINIER=y
diff --git a/arch/powerpc/configs/rainier_ramboot_defconfig b/arch/powerpc/configs/rainier_ramboot_defconfig
new file mode 100644
index 0000000..a513920
--- /dev/null
+++ b/arch/powerpc/configs/rainier_ramboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RAINIER_RAMBOOT=y
diff --git a/arch/powerpc/configs/redwood_defconfig b/arch/powerpc/configs/redwood_defconfig
new file mode 100644
index 0000000..38d9fc2
--- /dev/null
+++ b/arch/powerpc/configs/redwood_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_REDWOOD=y
diff --git a/arch/powerpc/configs/sacsng_defconfig b/arch/powerpc/configs/sacsng_defconfig
new file mode 100644
index 0000000..1584135
--- /dev/null
+++ b/arch/powerpc/configs/sacsng_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SACSNG=y
diff --git a/arch/powerpc/configs/sbc405_defconfig b/arch/powerpc/configs/sbc405_defconfig
new file mode 100644
index 0000000..cccd0ad
--- /dev/null
+++ b/arch/powerpc/configs/sbc405_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC405=y
diff --git a/arch/powerpc/configs/sbc8349_PCI_33_defconfig b/arch/powerpc/configs/sbc8349_PCI_33_defconfig
new file mode 100644
index 0000000..be74c8d
--- /dev/null
+++ b/arch/powerpc/configs/sbc8349_PCI_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC8349_PCI_33=y
diff --git a/arch/powerpc/configs/sbc8349_PCI_66_defconfig b/arch/powerpc/configs/sbc8349_PCI_66_defconfig
new file mode 100644
index 0000000..abe9b2e
--- /dev/null
+++ b/arch/powerpc/configs/sbc8349_PCI_66_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC8349_PCI_66=y
diff --git a/arch/powerpc/configs/sbc8349_defconfig b/arch/powerpc/configs/sbc8349_defconfig
new file mode 100644
index 0000000..4e5f3b9
--- /dev/null
+++ b/arch/powerpc/configs/sbc8349_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC8349=y
diff --git a/arch/powerpc/configs/sbc8548_PCI_33_PCIE_defconfig b/arch/powerpc/configs/sbc8548_PCI_33_PCIE_defconfig
new file mode 100644
index 0000000..5d67bb9
--- /dev/null
+++ b/arch/powerpc/configs/sbc8548_PCI_33_PCIE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC8548_PCI_33_PCIE=y
diff --git a/arch/powerpc/configs/sbc8548_PCI_33_defconfig b/arch/powerpc/configs/sbc8548_PCI_33_defconfig
new file mode 100644
index 0000000..6296cc1
--- /dev/null
+++ b/arch/powerpc/configs/sbc8548_PCI_33_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC8548_PCI_33=y
diff --git a/arch/powerpc/configs/sbc8548_PCI_66_PCIE_defconfig b/arch/powerpc/configs/sbc8548_PCI_66_PCIE_defconfig
new file mode 100644
index 0000000..4b91fee
--- /dev/null
+++ b/arch/powerpc/configs/sbc8548_PCI_66_PCIE_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC8548_PCI_66_PCIE=y
diff --git a/arch/powerpc/configs/sbc8548_PCI_66_defconfig b/arch/powerpc/configs/sbc8548_PCI_66_defconfig
new file mode 100644
index 0000000..1edbaf6
--- /dev/null
+++ b/arch/powerpc/configs/sbc8548_PCI_66_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC8548_PCI_66=y
diff --git a/arch/powerpc/configs/sbc8548_defconfig b/arch/powerpc/configs/sbc8548_defconfig
new file mode 100644
index 0000000..4fc3c8a
--- /dev/null
+++ b/arch/powerpc/configs/sbc8548_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC8548=y
diff --git a/arch/powerpc/configs/sbc8641d_defconfig b/arch/powerpc/configs/sbc8641d_defconfig
new file mode 100644
index 0000000..49bf623
--- /dev/null
+++ b/arch/powerpc/configs/sbc8641d_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SBC8641D=y
diff --git a/arch/powerpc/configs/sc3_defconfig b/arch/powerpc/configs/sc3_defconfig
new file mode 100644
index 0000000..7da5b66
--- /dev/null
+++ b/arch/powerpc/configs/sc3_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SC3=y
diff --git a/arch/powerpc/configs/sequoia_defconfig b/arch/powerpc/configs/sequoia_defconfig
new file mode 100644
index 0000000..1eb5c72
--- /dev/null
+++ b/arch/powerpc/configs/sequoia_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SEQUOIA=y
diff --git a/arch/powerpc/configs/sequoia_ramboot_defconfig b/arch/powerpc/configs/sequoia_ramboot_defconfig
new file mode 100644
index 0000000..8569a17
--- /dev/null
+++ b/arch/powerpc/configs/sequoia_ramboot_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SEQUOIA_RAMBOOT=y
diff --git a/arch/powerpc/configs/socrates_defconfig b/arch/powerpc/configs/socrates_defconfig
new file mode 100644
index 0000000..78235ac
--- /dev/null
+++ b/arch/powerpc/configs/socrates_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SOCRATES=y
diff --git a/arch/powerpc/configs/spc1920_defconfig b/arch/powerpc/configs/spc1920_defconfig
new file mode 100644
index 0000000..4819d04
--- /dev/null
+++ b/arch/powerpc/configs/spc1920_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SPC1920=y
diff --git a/arch/powerpc/configs/stxgp3_defconfig b/arch/powerpc/configs/stxgp3_defconfig
new file mode 100644
index 0000000..47ae715
--- /dev/null
+++ b/arch/powerpc/configs/stxgp3_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_STXGP3=y
diff --git a/arch/powerpc/configs/stxssa_4M_defconfig b/arch/powerpc/configs/stxssa_4M_defconfig
new file mode 100644
index 0000000..99e6000
--- /dev/null
+++ b/arch/powerpc/configs/stxssa_4M_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_STXSSA_4M=y
diff --git a/arch/powerpc/configs/stxssa_defconfig b/arch/powerpc/configs/stxssa_defconfig
new file mode 100644
index 0000000..193de1e
--- /dev/null
+++ b/arch/powerpc/configs/stxssa_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_STXSSA=y
diff --git a/arch/powerpc/configs/stxxtc_defconfig b/arch/powerpc/configs/stxxtc_defconfig
new file mode 100644
index 0000000..060da9e
--- /dev/null
+++ b/arch/powerpc/configs/stxxtc_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_STXXTC=y
diff --git a/arch/powerpc/configs/suvd3_defconfig b/arch/powerpc/configs/suvd3_defconfig
new file mode 100644
index 0000000..e741fa8
--- /dev/null
+++ b/arch/powerpc/configs/suvd3_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SUVD3=y
diff --git a/arch/powerpc/configs/svm_sc8xx_defconfig b/arch/powerpc/configs/svm_sc8xx_defconfig
new file mode 100644
index 0000000..4efd8dc
--- /dev/null
+++ b/arch/powerpc/configs/svm_sc8xx_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SVM_SC8XX=y
diff --git a/arch/powerpc/configs/sycamore_defconfig b/arch/powerpc/configs/sycamore_defconfig
new file mode 100644
index 0000000..0ab1fbf
--- /dev/null
+++ b/arch/powerpc/configs/sycamore_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SYCAMORE=y
diff --git a/arch/powerpc/configs/t3corp_defconfig b/arch/powerpc/configs/t3corp_defconfig
new file mode 100644
index 0000000..4ede69c
--- /dev/null
+++ b/arch/powerpc/configs/t3corp_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_T3CORP=y
diff --git a/arch/powerpc/configs/taihu_defconfig b/arch/powerpc/configs/taihu_defconfig
new file mode 100644
index 0000000..d825569
--- /dev/null
+++ b/arch/powerpc/configs/taihu_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TAIHU=y
diff --git a/arch/powerpc/configs/taishan_defconfig b/arch/powerpc/configs/taishan_defconfig
new file mode 100644
index 0000000..e98860a
--- /dev/null
+++ b/arch/powerpc/configs/taishan_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TAISHAN=y
diff --git a/arch/powerpc/configs/tuge1_defconfig b/arch/powerpc/configs/tuge1_defconfig
new file mode 100644
index 0000000..573176d
--- /dev/null
+++ b/arch/powerpc/configs/tuge1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TUGE1=y
diff --git a/arch/powerpc/configs/tuxx1_defconfig b/arch/powerpc/configs/tuxx1_defconfig
new file mode 100644
index 0000000..c6e9eea
--- /dev/null
+++ b/arch/powerpc/configs/tuxx1_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_TUXX1=y
diff --git a/arch/powerpc/configs/uc100_defconfig b/arch/powerpc/configs/uc100_defconfig
new file mode 100644
index 0000000..3f1c5ef
--- /dev/null
+++ b/arch/powerpc/configs/uc100_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_UC100=y
diff --git a/arch/powerpc/configs/uc101_defconfig b/arch/powerpc/configs/uc101_defconfig
new file mode 100644
index 0000000..cd805af
--- /dev/null
+++ b/arch/powerpc/configs/uc101_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_UC101=y
diff --git a/arch/powerpc/configs/utx8245_defconfig b/arch/powerpc/configs/utx8245_defconfig
new file mode 100644
index 0000000..610f6c1
--- /dev/null
+++ b/arch/powerpc/configs/utx8245_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_UTX8245=y
diff --git a/arch/powerpc/configs/v37_defconfig b/arch/powerpc/configs/v37_defconfig
new file mode 100644
index 0000000..a4554ff
--- /dev/null
+++ b/arch/powerpc/configs/v37_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_V37=y
diff --git a/arch/powerpc/configs/v38b_defconfig b/arch/powerpc/configs/v38b_defconfig
new file mode 100644
index 0000000..533c1db
--- /dev/null
+++ b/arch/powerpc/configs/v38b_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_V38B=y
diff --git a/arch/powerpc/configs/v5fx30teval_defconfig b/arch/powerpc/configs/v5fx30teval_defconfig
new file mode 100644
index 0000000..06d23d3
--- /dev/null
+++ b/arch/powerpc/configs/v5fx30teval_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_V5FX30TEVAL=y
diff --git a/arch/powerpc/configs/v5fx30teval_flash_defconfig b/arch/powerpc/configs/v5fx30teval_flash_defconfig
new file mode 100644
index 0000000..73a353a
--- /dev/null
+++ b/arch/powerpc/configs/v5fx30teval_flash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_V5FX30TEVAL_FLASH=y
diff --git a/arch/powerpc/configs/ve8313_defconfig b/arch/powerpc/configs/ve8313_defconfig
new file mode 100644
index 0000000..aaf1538
--- /dev/null
+++ b/arch/powerpc/configs/ve8313_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VE8313=y
diff --git a/arch/powerpc/configs/virtlab2_defconfig b/arch/powerpc/configs/virtlab2_defconfig
new file mode 100644
index 0000000..26cfa5a
--- /dev/null
+++ b/arch/powerpc/configs/virtlab2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VIRTLAB2=y
diff --git a/arch/powerpc/configs/vme8349_defconfig b/arch/powerpc/configs/vme8349_defconfig
new file mode 100644
index 0000000..4ad8ee5
--- /dev/null
+++ b/arch/powerpc/configs/vme8349_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_VME8349=y
diff --git a/arch/powerpc/configs/walnut_defconfig b/arch/powerpc/configs/walnut_defconfig
new file mode 100644
index 0000000..9295a64
--- /dev/null
+++ b/arch/powerpc/configs/walnut_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_WALNUT=y
diff --git a/arch/powerpc/configs/wtk_defconfig b/arch/powerpc/configs/wtk_defconfig
new file mode 100644
index 0000000..861c366
--- /dev/null
+++ b/arch/powerpc/configs/wtk_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_WTK=y
diff --git a/arch/powerpc/configs/xilinx-ppc405-generic_defconfig b/arch/powerpc/configs/xilinx-ppc405-generic_defconfig
new file mode 100644
index 0000000..5e2cba2
--- /dev/null
+++ b/arch/powerpc/configs/xilinx-ppc405-generic_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_XILINX_PPC405_GENERIC=y
diff --git a/arch/powerpc/configs/xilinx-ppc405-generic_flash_defconfig b/arch/powerpc/configs/xilinx-ppc405-generic_flash_defconfig
new file mode 100644
index 0000000..322d7f8
--- /dev/null
+++ b/arch/powerpc/configs/xilinx-ppc405-generic_flash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_XILINX_PPC405_GENERIC_FLASH=y
diff --git a/arch/powerpc/configs/xilinx-ppc440-generic_defconfig b/arch/powerpc/configs/xilinx-ppc440-generic_defconfig
new file mode 100644
index 0000000..a0c063b
--- /dev/null
+++ b/arch/powerpc/configs/xilinx-ppc440-generic_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_XILINX_PPC440_GENERIC=y
diff --git a/arch/powerpc/configs/xilinx-ppc440-generic_flash_defconfig b/arch/powerpc/configs/xilinx-ppc440-generic_flash_defconfig
new file mode 100644
index 0000000..bc4da53
--- /dev/null
+++ b/arch/powerpc/configs/xilinx-ppc440-generic_flash_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_XILINX_PPC440_GENERIC_FLASH=y
diff --git a/arch/powerpc/configs/xpedite1000_defconfig b/arch/powerpc/configs/xpedite1000_defconfig
new file mode 100644
index 0000000..ea421d1
--- /dev/null
+++ b/arch/powerpc/configs/xpedite1000_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_XPEDITE1000=y
diff --git a/arch/powerpc/configs/xpedite517x_defconfig b/arch/powerpc/configs/xpedite517x_defconfig
new file mode 100644
index 0000000..7611a1a
--- /dev/null
+++ b/arch/powerpc/configs/xpedite517x_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_XPEDITE517X=y
diff --git a/arch/powerpc/configs/xpedite520x_defconfig b/arch/powerpc/configs/xpedite520x_defconfig
new file mode 100644
index 0000000..0489ab8
--- /dev/null
+++ b/arch/powerpc/configs/xpedite520x_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_XPEDITE520X=y
diff --git a/arch/powerpc/configs/xpedite537x_defconfig b/arch/powerpc/configs/xpedite537x_defconfig
new file mode 100644
index 0000000..3faa1b8
--- /dev/null
+++ b/arch/powerpc/configs/xpedite537x_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_XPEDITE537X=y
diff --git a/arch/powerpc/configs/xpedite550x_defconfig b/arch/powerpc/configs/xpedite550x_defconfig
new file mode 100644
index 0000000..56554d5
--- /dev/null
+++ b/arch/powerpc/configs/xpedite550x_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_XPEDITE550X=y
diff --git a/arch/powerpc/configs/yellowstone_defconfig b/arch/powerpc/configs/yellowstone_defconfig
new file mode 100644
index 0000000..8d0339b
--- /dev/null
+++ b/arch/powerpc/configs/yellowstone_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_YELLOWSTONE=y
diff --git a/arch/powerpc/configs/yosemite_defconfig b/arch/powerpc/configs/yosemite_defconfig
new file mode 100644
index 0000000..e0bb106
--- /dev/null
+++ b/arch/powerpc/configs/yosemite_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_YOSEMITE=y
diff --git a/arch/powerpc/configs/yucca_defconfig b/arch/powerpc/configs/yucca_defconfig
new file mode 100644
index 0000000..0c38b85
--- /dev/null
+++ b/arch/powerpc/configs/yucca_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_YUCCA=y
diff --git a/arch/powerpc/configs/zeus_defconfig b/arch/powerpc/configs/zeus_defconfig
new file mode 100644
index 0000000..563af9f
--- /dev/null
+++ b/arch/powerpc/configs/zeus_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ZEUS=y
diff --git a/arch/sandbox/Kconfig b/arch/sandbox/Kconfig
new file mode 100644
index 0000000..e335bb4
--- /dev/null
+++ b/arch/sandbox/Kconfig
@@ -0,0 +1,19 @@
+config SANDBOX
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "sandbox"
+
+config SYS_CPU
+	string
+	default "sandbox"
+
+config SYS_BOARD
+	string
+	default "sandbox"
+
+config SYS_CONFIG_NAME
+	string
+	default "sandbox"
diff --git a/arch/sandbox/configs/sandbox_defconfig b/arch/sandbox/configs/sandbox_defconfig
new file mode 100644
index 0000000..e69de29
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
new file mode 100644
index 0000000..0a75c45
--- /dev/null
+++ b/arch/sh/Kconfig
@@ -0,0 +1,100 @@
+config SH
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "sh"
+
+choice
+	prompt "Target select"
+
+config TARGET_RSK7203
+	bool "Support rsk7203"
+
+config TARGET_RSK7264
+	bool "Support rsk7264"
+
+config TARGET_RSK7269
+	bool "Support rsk7269"
+
+config TARGET_MPR2
+	bool "Support mpr2"
+
+config TARGET_MS7720SE
+	bool "Support ms7720se"
+
+config TARGET_SHMIN
+	bool "Support shmin"
+
+config TARGET_ESPT
+	bool "Support espt"
+
+config TARGET_MS7722SE
+	bool "Support ms7722se"
+
+config TARGET_MS7750SE
+	bool "Support ms7750se"
+
+config TARGET_AP_SH4A_4A
+	bool "Support ap_sh4a_4a"
+
+config TARGET_AP325RXA
+	bool "Support ap325rxa"
+
+config TARGET_ECOVEC
+	bool "Support ecovec"
+
+config TARGET_MIGOR
+	bool "Support MigoR"
+
+config TARGET_R0P7734
+	bool "Support r0p7734"
+
+config TARGET_R2DPLUS
+	bool "Support r2dplus"
+
+config TARGET_R7780MP
+	bool "Support r7780mp"
+
+config TARGET_SH7752EVB
+	bool "Support sh7752evb"
+
+config TARGET_SH7753EVB
+	bool "Support sh7753evb"
+
+config TARGET_SH7757LCR
+	bool "Support sh7757lcr"
+
+config TARGET_SH7763RDP
+	bool "Support sh7763rdp"
+
+config TARGET_SH7785LCR
+	bool "Support sh7785lcr"
+
+config TARGET_SH7785LCR_32BIT
+	bool "Support sh7785lcr_32bit"
+
+endchoice
+
+source "board/alphaproject/ap_sh4a_4a/Kconfig"
+source "board/espt/Kconfig"
+source "board/mpr2/Kconfig"
+source "board/ms7720se/Kconfig"
+source "board/ms7722se/Kconfig"
+source "board/ms7750se/Kconfig"
+source "board/renesas/MigoR/Kconfig"
+source "board/renesas/ap325rxa/Kconfig"
+source "board/renesas/ecovec/Kconfig"
+source "board/renesas/r0p7734/Kconfig"
+source "board/renesas/r2dplus/Kconfig"
+source "board/renesas/r7780mp/Kconfig"
+source "board/renesas/rsk7203/Kconfig"
+source "board/renesas/rsk7264/Kconfig"
+source "board/renesas/rsk7269/Kconfig"
+source "board/renesas/sh7752evb/Kconfig"
+source "board/renesas/sh7753evb/Kconfig"
+source "board/renesas/sh7757lcr/Kconfig"
+source "board/renesas/sh7763rdp/Kconfig"
+source "board/renesas/sh7785lcr/Kconfig"
+source "board/shmin/Kconfig"
diff --git a/arch/sh/configs/MigoR_defconfig b/arch/sh/configs/MigoR_defconfig
new file mode 100644
index 0000000..15fbb9d
--- /dev/null
+++ b/arch/sh/configs/MigoR_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MIGOR=y
diff --git a/arch/sh/configs/ap325rxa_defconfig b/arch/sh/configs/ap325rxa_defconfig
new file mode 100644
index 0000000..d32804d
--- /dev/null
+++ b/arch/sh/configs/ap325rxa_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AP325RXA=y
diff --git a/arch/sh/configs/ap_sh4a_4a_defconfig b/arch/sh/configs/ap_sh4a_4a_defconfig
new file mode 100644
index 0000000..d102ba0
--- /dev/null
+++ b/arch/sh/configs/ap_sh4a_4a_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_AP_SH4A_4A=y
diff --git a/arch/sh/configs/ecovec_defconfig b/arch/sh/configs/ecovec_defconfig
new file mode 100644
index 0000000..4f49b34
--- /dev/null
+++ b/arch/sh/configs/ecovec_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ECOVEC=y
diff --git a/arch/sh/configs/espt_defconfig b/arch/sh/configs/espt_defconfig
new file mode 100644
index 0000000..bd35d0c
--- /dev/null
+++ b/arch/sh/configs/espt_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_ESPT=y
diff --git a/arch/sh/configs/mpr2_defconfig b/arch/sh/configs/mpr2_defconfig
new file mode 100644
index 0000000..a75200f
--- /dev/null
+++ b/arch/sh/configs/mpr2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MPR2=y
diff --git a/arch/sh/configs/ms7720se_defconfig b/arch/sh/configs/ms7720se_defconfig
new file mode 100644
index 0000000..3653c3e
--- /dev/null
+++ b/arch/sh/configs/ms7720se_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MS7720SE=y
diff --git a/arch/sh/configs/ms7722se_defconfig b/arch/sh/configs/ms7722se_defconfig
new file mode 100644
index 0000000..7291d9d
--- /dev/null
+++ b/arch/sh/configs/ms7722se_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MS7722SE=y
diff --git a/arch/sh/configs/ms7750se_defconfig b/arch/sh/configs/ms7750se_defconfig
new file mode 100644
index 0000000..a8d2e3e
--- /dev/null
+++ b/arch/sh/configs/ms7750se_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_MS7750SE=y
diff --git a/arch/sh/configs/r0p7734_defconfig b/arch/sh/configs/r0p7734_defconfig
new file mode 100644
index 0000000..6dad7ea
--- /dev/null
+++ b/arch/sh/configs/r0p7734_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_R0P7734=y
diff --git a/arch/sh/configs/r2dplus_defconfig b/arch/sh/configs/r2dplus_defconfig
new file mode 100644
index 0000000..4ef56c85
--- /dev/null
+++ b/arch/sh/configs/r2dplus_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_R2DPLUS=y
diff --git a/arch/sh/configs/r7780mp_defconfig b/arch/sh/configs/r7780mp_defconfig
new file mode 100644
index 0000000..105071b
--- /dev/null
+++ b/arch/sh/configs/r7780mp_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_R7780MP=y
diff --git a/arch/sh/configs/rsk7203_defconfig b/arch/sh/configs/rsk7203_defconfig
new file mode 100644
index 0000000..1b7a425
--- /dev/null
+++ b/arch/sh/configs/rsk7203_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RSK7203=y
diff --git a/arch/sh/configs/rsk7264_defconfig b/arch/sh/configs/rsk7264_defconfig
new file mode 100644
index 0000000..b03f0c0
--- /dev/null
+++ b/arch/sh/configs/rsk7264_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RSK7264=y
diff --git a/arch/sh/configs/rsk7269_defconfig b/arch/sh/configs/rsk7269_defconfig
new file mode 100644
index 0000000..70a96c5
--- /dev/null
+++ b/arch/sh/configs/rsk7269_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_RSK7269=y
diff --git a/arch/sh/configs/sh7752evb_defconfig b/arch/sh/configs/sh7752evb_defconfig
new file mode 100644
index 0000000..a2c8fa1
--- /dev/null
+++ b/arch/sh/configs/sh7752evb_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SH7752EVB=y
diff --git a/arch/sh/configs/sh7753evb_defconfig b/arch/sh/configs/sh7753evb_defconfig
new file mode 100644
index 0000000..1f5f995
--- /dev/null
+++ b/arch/sh/configs/sh7753evb_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SH7753EVB=y
diff --git a/arch/sh/configs/sh7757lcr_defconfig b/arch/sh/configs/sh7757lcr_defconfig
new file mode 100644
index 0000000..ff2143b
--- /dev/null
+++ b/arch/sh/configs/sh7757lcr_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SH7757LCR=y
diff --git a/arch/sh/configs/sh7763rdp_defconfig b/arch/sh/configs/sh7763rdp_defconfig
new file mode 100644
index 0000000..4324ed1
--- /dev/null
+++ b/arch/sh/configs/sh7763rdp_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SH7763RDP=y
diff --git a/arch/sh/configs/sh7785lcr_32bit_defconfig b/arch/sh/configs/sh7785lcr_32bit_defconfig
new file mode 100644
index 0000000..b639cbe
--- /dev/null
+++ b/arch/sh/configs/sh7785lcr_32bit_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SH7785LCR_32BIT=y
diff --git a/arch/sh/configs/sh7785lcr_defconfig b/arch/sh/configs/sh7785lcr_defconfig
new file mode 100644
index 0000000..dbffa59
--- /dev/null
+++ b/arch/sh/configs/sh7785lcr_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SH7785LCR=y
diff --git a/arch/sh/configs/shmin_defconfig b/arch/sh/configs/shmin_defconfig
new file mode 100644
index 0000000..c5974e8
--- /dev/null
+++ b/arch/sh/configs/shmin_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_SHMIN=y
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
new file mode 100644
index 0000000..6a74b52
--- /dev/null
+++ b/arch/sparc/Kconfig
@@ -0,0 +1,33 @@
+config SPARC
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "sparc"
+
+choice
+	prompt "Target select"
+
+config TARGET_GRSIM_LEON2
+	bool "Support grsim_leon2"
+
+config TARGET_GR_CPCI_AX2000
+	bool "Support gr_cpci_ax2000"
+
+config TARGET_GR_EP2S60
+	bool "Support gr_ep2s60"
+
+config TARGET_GR_XC3S_1500
+	bool "Support gr_xc3s_1500"
+
+config TARGET_GRSIM
+	bool "Support grsim"
+
+endchoice
+
+source "board/gaisler/gr_cpci_ax2000/Kconfig"
+source "board/gaisler/gr_ep2s60/Kconfig"
+source "board/gaisler/gr_xc3s_1500/Kconfig"
+source "board/gaisler/grsim/Kconfig"
+source "board/gaisler/grsim_leon2/Kconfig"
diff --git a/arch/sparc/configs/gr_cpci_ax2000_defconfig b/arch/sparc/configs/gr_cpci_ax2000_defconfig
new file mode 100644
index 0000000..555b7fe
--- /dev/null
+++ b/arch/sparc/configs/gr_cpci_ax2000_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GR_CPCI_AX2000=y
diff --git a/arch/sparc/configs/gr_ep2s60_defconfig b/arch/sparc/configs/gr_ep2s60_defconfig
new file mode 100644
index 0000000..bf56dc4
--- /dev/null
+++ b/arch/sparc/configs/gr_ep2s60_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GR_EP2S60=y
diff --git a/arch/sparc/configs/gr_xc3s_1500_defconfig b/arch/sparc/configs/gr_xc3s_1500_defconfig
new file mode 100644
index 0000000..5396105
--- /dev/null
+++ b/arch/sparc/configs/gr_xc3s_1500_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GR_XC3S_1500=y
diff --git a/arch/sparc/configs/grsim_defconfig b/arch/sparc/configs/grsim_defconfig
new file mode 100644
index 0000000..0ed0073
--- /dev/null
+++ b/arch/sparc/configs/grsim_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GRSIM=y
diff --git a/arch/sparc/configs/grsim_leon2_defconfig b/arch/sparc/configs/grsim_leon2_defconfig
new file mode 100644
index 0000000..c839c1a
--- /dev/null
+++ b/arch/sparc/configs/grsim_leon2_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_GRSIM_LEON2=y
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
new file mode 100644
index 0000000..1c698bb
--- /dev/null
+++ b/arch/x86/Kconfig
@@ -0,0 +1,17 @@
+config X86
+	bool
+	default y
+
+config SYS_ARCH
+	string
+	default "x86"
+
+choice
+	prompt "Target select"
+
+config TARGET_COREBOOT_X86
+	bool "Support coreboot-x86"
+
+endchoice
+
+source "board/chromebook-x86/coreboot/Kconfig"
diff --git a/arch/x86/configs/coreboot-x86_defconfig b/arch/x86/configs/coreboot-x86_defconfig
new file mode 100644
index 0000000..ad65da4
--- /dev/null
+++ b/arch/x86/configs/coreboot-x86_defconfig
@@ -0,0 +1 @@
+CONFIG_TARGET_COREBOOT_X86=y
diff --git a/board/8dtech/eco5pk/Kconfig b/board/8dtech/eco5pk/Kconfig
new file mode 100644
index 0000000..fb1b308
--- /dev/null
+++ b/board/8dtech/eco5pk/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ECO5PK
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "eco5pk"
+
+config SYS_VENDOR
+	string
+	default "8dtech"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "eco5pk"
+
+endif
diff --git a/board/AndesTech/adp-ag101/Kconfig b/board/AndesTech/adp-ag101/Kconfig
new file mode 100644
index 0000000..3567543
--- /dev/null
+++ b/board/AndesTech/adp-ag101/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ADP_AG101
+
+config SYS_CPU
+	string
+	default "n1213"
+
+config SYS_BOARD
+	string
+	default "adp-ag101"
+
+config SYS_VENDOR
+	string
+	default "AndesTech"
+
+config SYS_SOC
+	string
+	default "ag101"
+
+config SYS_CONFIG_NAME
+	string
+	default "adp-ag101"
+
+endif
diff --git a/board/AndesTech/adp-ag101p/Kconfig b/board/AndesTech/adp-ag101p/Kconfig
new file mode 100644
index 0000000..ee551a6
--- /dev/null
+++ b/board/AndesTech/adp-ag101p/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ADP_AG101P
+
+config SYS_CPU
+	string
+	default "n1213"
+
+config SYS_BOARD
+	string
+	default "adp-ag101p"
+
+config SYS_VENDOR
+	string
+	default "AndesTech"
+
+config SYS_SOC
+	string
+	default "ag101"
+
+config SYS_CONFIG_NAME
+	string
+	default "adp-ag101p"
+
+endif
diff --git a/board/AndesTech/adp-ag102/Kconfig b/board/AndesTech/adp-ag102/Kconfig
new file mode 100644
index 0000000..34566bd
--- /dev/null
+++ b/board/AndesTech/adp-ag102/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ADP_AG102
+
+config SYS_CPU
+	string
+	default "n1213"
+
+config SYS_BOARD
+	string
+	default "adp-ag102"
+
+config SYS_VENDOR
+	string
+	default "AndesTech"
+
+config SYS_SOC
+	string
+	default "ag102"
+
+config SYS_CONFIG_NAME
+	string
+	default "adp-ag102"
+
+endif
diff --git a/board/Barix/ipam390/Kconfig b/board/Barix/ipam390/Kconfig
new file mode 100644
index 0000000..a8134479
--- /dev/null
+++ b/board/Barix/ipam390/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_IPAM390
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "ipam390"
+
+config SYS_VENDOR
+	string
+	default "Barix"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "ipam390"
+
+endif
diff --git a/board/BuR/kwb/Kconfig b/board/BuR/kwb/Kconfig
new file mode 100644
index 0000000..521edf8
--- /dev/null
+++ b/board/BuR/kwb/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_KWB
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "kwb"
+
+config SYS_VENDOR
+	string
+	default "BuR"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "kwb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1"
+
+endif
diff --git a/board/BuR/tseries/Kconfig b/board/BuR/tseries/Kconfig
new file mode 100644
index 0000000..9413de1
--- /dev/null
+++ b/board/BuR/tseries/Kconfig
@@ -0,0 +1,83 @@
+if TARGET_TSERIES_MMC
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "tseries"
+
+config SYS_VENDOR
+	string
+	default "BuR"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "tseries"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1,EMMC_BOOT"
+
+endif
+
+if TARGET_TSERIES_NAND
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "tseries"
+
+config SYS_VENDOR
+	string
+	default "BuR"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "tseries"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1,NAND"
+
+endif
+
+if TARGET_TSERIES_SPI
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "tseries"
+
+config SYS_VENDOR
+	string
+	default "BuR"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "tseries"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1,SPI_BOOT,EMMC_BOOT"
+
+endif
diff --git a/board/BuS/eb_cpu5282/Kconfig b/board/BuS/eb_cpu5282/Kconfig
new file mode 100644
index 0000000..91301fe
--- /dev/null
+++ b/board/BuS/eb_cpu5282/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_EB_CPU5282
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "eb_cpu5282"
+
+config SYS_VENDOR
+	string
+	default "BuS"
+
+config SYS_CONFIG_NAME
+	string
+	default "eb_cpu5282"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFF000000,SYS_MONITOR_BASE=0xFF000400"
+
+endif
+
+if TARGET_EB_CPU5282_INTERNAL
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "eb_cpu5282"
+
+config SYS_VENDOR
+	string
+	default "BuS"
+
+config SYS_CONFIG_NAME
+	string
+	default "eb_cpu5282"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xF0000000,SYS_MONITOR_BASE=0xF0000418"
+
+endif
diff --git a/board/BuS/eb_cpux9k2/Kconfig b/board/BuS/eb_cpux9k2/Kconfig
new file mode 100644
index 0000000..79dd303
--- /dev/null
+++ b/board/BuS/eb_cpux9k2/Kconfig
@@ -0,0 +1,51 @@
+if TARGET_EB_CPUX9K2
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "eb_cpux9k2"
+
+config SYS_VENDOR
+	string
+	default "BuS"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "eb_cpux9k2"
+
+endif
+
+if TARGET_EB_CPUX9K2_RAM
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "eb_cpux9k2"
+
+config SYS_VENDOR
+	string
+	default "BuS"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "eb_cpux9k2"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT"
+
+endif
diff --git a/board/BuS/vl_ma2sc/Kconfig b/board/BuS/vl_ma2sc/Kconfig
new file mode 100644
index 0000000..c0bad46
--- /dev/null
+++ b/board/BuS/vl_ma2sc/Kconfig
@@ -0,0 +1,51 @@
+if TARGET_VL_MA2SC
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "vl_ma2sc"
+
+config SYS_VENDOR
+	string
+	default "BuS"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "vl_ma2sc"
+
+endif
+
+if TARGET_VL_MA2SC_RAM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "vl_ma2sc"
+
+config SYS_VENDOR
+	string
+	default "BuS"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "vl_ma2sc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMLOAD"
+
+endif
diff --git a/board/CarMediaLab/flea3/Kconfig b/board/CarMediaLab/flea3/Kconfig
new file mode 100644
index 0000000..cbc004a
--- /dev/null
+++ b/board/CarMediaLab/flea3/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_FLEA3
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "flea3"
+
+config SYS_VENDOR
+	string
+	default "CarMediaLab"
+
+config SYS_SOC
+	string
+	default "mx35"
+
+config SYS_CONFIG_NAME
+	string
+	default "flea3"
+
+endif
diff --git a/board/LEOX/elpt860/Kconfig b/board/LEOX/elpt860/Kconfig
new file mode 100644
index 0000000..f01f328
--- /dev/null
+++ b/board/LEOX/elpt860/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_ELPT860
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "elpt860"
+
+config SYS_VENDOR
+	string
+	default "LEOX"
+
+config SYS_CONFIG_NAME
+	string
+	default "ELPT860"
+
+endif
diff --git a/board/LaCie/edminiv2/Kconfig b/board/LaCie/edminiv2/Kconfig
new file mode 100644
index 0000000..f1151d1
--- /dev/null
+++ b/board/LaCie/edminiv2/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_EDMINIV2
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "edminiv2"
+
+config SYS_VENDOR
+	string
+	default "LaCie"
+
+config SYS_SOC
+	string
+	default "orion5x"
+
+config SYS_CONFIG_NAME
+	string
+	default "edminiv2"
+
+endif
diff --git a/board/LaCie/net2big_v2/Kconfig b/board/LaCie/net2big_v2/Kconfig
new file mode 100644
index 0000000..ebded82
--- /dev/null
+++ b/board/LaCie/net2big_v2/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_D2NET_V2
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "net2big_v2"
+
+config SYS_VENDOR
+	string
+	default "LaCie"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "lacie_kw"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "D2NET_V2"
+
+endif
+
+if TARGET_NET2BIG_V2
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "net2big_v2"
+
+config SYS_VENDOR
+	string
+	default "LaCie"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "lacie_kw"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NET2BIG_V2"
+
+endif
diff --git a/board/LaCie/netspace_v2/Kconfig b/board/LaCie/netspace_v2/Kconfig
new file mode 100644
index 0000000..d6417c8
--- /dev/null
+++ b/board/LaCie/netspace_v2/Kconfig
@@ -0,0 +1,139 @@
+if TARGET_INETSPACE_V2
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "netspace_v2"
+
+config SYS_VENDOR
+	string
+	default "LaCie"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "lacie_kw"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "INETSPACE_V2"
+
+endif
+
+if TARGET_NETSPACE_LITE_V2
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "netspace_v2"
+
+config SYS_VENDOR
+	string
+	default "LaCie"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "lacie_kw"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETSPACE_LITE_V2"
+
+endif
+
+if TARGET_NETSPACE_MAX_V2
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "netspace_v2"
+
+config SYS_VENDOR
+	string
+	default "LaCie"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "lacie_kw"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETSPACE_MAX_V2"
+
+endif
+
+if TARGET_NETSPACE_MINI_V2
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "netspace_v2"
+
+config SYS_VENDOR
+	string
+	default "LaCie"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "lacie_kw"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETSPACE_MINI_V2"
+
+endif
+
+if TARGET_NETSPACE_V2
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "netspace_v2"
+
+config SYS_VENDOR
+	string
+	default "LaCie"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "lacie_kw"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETSPACE_V2"
+
+endif
diff --git a/board/LaCie/wireless_space/Kconfig b/board/LaCie/wireless_space/Kconfig
new file mode 100644
index 0000000..4815cde
--- /dev/null
+++ b/board/LaCie/wireless_space/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_WIRELESS_SPACE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "wireless_space"
+
+config SYS_VENDOR
+	string
+	default "LaCie"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "wireless_space"
+
+endif
diff --git a/board/Marvell/aspenite/Kconfig b/board/Marvell/aspenite/Kconfig
new file mode 100644
index 0000000..7edcd81
--- /dev/null
+++ b/board/Marvell/aspenite/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ASPENITE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "aspenite"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "armada100"
+
+config SYS_CONFIG_NAME
+	string
+	default "aspenite"
+
+endif
diff --git a/board/Marvell/db64360/Kconfig b/board/Marvell/db64360/Kconfig
new file mode 100644
index 0000000..bc1bb03
--- /dev/null
+++ b/board/Marvell/db64360/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_DB64360
+
+config SYS_CPU
+	string
+	default "74xx_7xx"
+
+config SYS_BOARD
+	string
+	default "db64360"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_CONFIG_NAME
+	string
+	default "DB64360"
+
+endif
diff --git a/board/Marvell/db64460/Kconfig b/board/Marvell/db64460/Kconfig
new file mode 100644
index 0000000..db81343
--- /dev/null
+++ b/board/Marvell/db64460/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_DB64460
+
+config SYS_CPU
+	string
+	default "74xx_7xx"
+
+config SYS_BOARD
+	string
+	default "db64460"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_CONFIG_NAME
+	string
+	default "DB64460"
+
+endif
diff --git a/board/Marvell/dkb/Kconfig b/board/Marvell/dkb/Kconfig
new file mode 100644
index 0000000..7ce761b
--- /dev/null
+++ b/board/Marvell/dkb/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DKB
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "dkb"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "pantheon"
+
+config SYS_CONFIG_NAME
+	string
+	default "dkb"
+
+endif
diff --git a/board/Marvell/dreamplug/Kconfig b/board/Marvell/dreamplug/Kconfig
new file mode 100644
index 0000000..e067318
--- /dev/null
+++ b/board/Marvell/dreamplug/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DREAMPLUG
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "dreamplug"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "dreamplug"
+
+endif
diff --git a/board/Marvell/gplugd/Kconfig b/board/Marvell/gplugd/Kconfig
new file mode 100644
index 0000000..94cdd48
--- /dev/null
+++ b/board/Marvell/gplugd/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_GPLUGD
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "gplugd"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "armada100"
+
+config SYS_CONFIG_NAME
+	string
+	default "gplugd"
+
+endif
diff --git a/board/Marvell/guruplug/Kconfig b/board/Marvell/guruplug/Kconfig
new file mode 100644
index 0000000..fce8562
--- /dev/null
+++ b/board/Marvell/guruplug/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_GURUPLUG
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "guruplug"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "guruplug"
+
+endif
diff --git a/board/Marvell/mv88f6281gtw_ge/Kconfig b/board/Marvell/mv88f6281gtw_ge/Kconfig
new file mode 100644
index 0000000..17adab0
--- /dev/null
+++ b/board/Marvell/mv88f6281gtw_ge/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_MV88F6281GTW_GE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "mv88f6281gtw_ge"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "mv88f6281gtw_ge"
+
+endif
diff --git a/board/Marvell/openrd/Kconfig b/board/Marvell/openrd/Kconfig
new file mode 100644
index 0000000..d570972
--- /dev/null
+++ b/board/Marvell/openrd/Kconfig
@@ -0,0 +1,83 @@
+if TARGET_OPENRD_BASE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "openrd"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "openrd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOARD_IS_OPENRD_BASE"
+
+endif
+
+if TARGET_OPENRD_CLIENT
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "openrd"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "openrd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOARD_IS_OPENRD_CLIENT"
+
+endif
+
+if TARGET_OPENRD_ULTIMATE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "openrd"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "openrd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOARD_IS_OPENRD_ULTIMATE"
+
+endif
diff --git a/board/Marvell/rd6281a/Kconfig b/board/Marvell/rd6281a/Kconfig
new file mode 100644
index 0000000..ae753b0
--- /dev/null
+++ b/board/Marvell/rd6281a/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_RD6281A
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "rd6281a"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "rd6281a"
+
+endif
diff --git a/board/Marvell/sheevaplug/Kconfig b/board/Marvell/sheevaplug/Kconfig
new file mode 100644
index 0000000..6f3eb38
--- /dev/null
+++ b/board/Marvell/sheevaplug/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_SHEEVAPLUG
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "sheevaplug"
+
+config SYS_VENDOR
+	string
+	default "Marvell"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "sheevaplug"
+
+endif
diff --git a/board/RPXlite_dw/Kconfig b/board/RPXlite_dw/Kconfig
new file mode 100644
index 0000000..48eae6d
--- /dev/null
+++ b/board/RPXlite_dw/Kconfig
@@ -0,0 +1,155 @@
+if TARGET_RPXLITE_DW
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "RPXlite_dw"
+
+config SYS_CONFIG_NAME
+	string
+	default "RPXlite_DW"
+
+endif
+
+if TARGET_RPXLITE_DW_64
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "RPXlite_dw"
+
+config SYS_CONFIG_NAME
+	string
+	default "RPXlite_DW"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RPXlite_64MHz"
+
+endif
+
+if TARGET_RPXLITE_DW_64_LCD
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "RPXlite_dw"
+
+config SYS_CONFIG_NAME
+	string
+	default "RPXlite_DW"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RPXlite_64MHz,LCD,NEC_NL6448BC20"
+
+endif
+
+if TARGET_RPXLITE_DW_LCD
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "RPXlite_dw"
+
+config SYS_CONFIG_NAME
+	string
+	default "RPXlite_DW"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LCD,NEC_NL6448BC20"
+
+endif
+
+if TARGET_RPXLITE_DW_NVRAM
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "RPXlite_dw"
+
+config SYS_CONFIG_NAME
+	string
+	default "RPXlite_DW"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ENV_IS_IN_NVRAM"
+
+endif
+
+if TARGET_RPXLITE_DW_NVRAM_64
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "RPXlite_dw"
+
+config SYS_CONFIG_NAME
+	string
+	default "RPXlite_DW"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RPXlite_64MHz,ENV_IS_IN_NVRAM"
+
+endif
+
+if TARGET_RPXLITE_DW_NVRAM_64_LCD
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "RPXlite_dw"
+
+config SYS_CONFIG_NAME
+	string
+	default "RPXlite_DW"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RPXlite_64MHz,LCD,NEC_NL6448BC20,ENV_IS_IN_NVRAM"
+
+endif
+
+if TARGET_RPXLITE_DW_NVRAM_LCD
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "RPXlite_dw"
+
+config SYS_CONFIG_NAME
+	string
+	default "RPXlite_DW"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LCD,NEC_NL6448BC20,ENV_IS_IN_NVRAM"
+
+endif
diff --git a/board/RRvision/Kconfig b/board/RRvision/Kconfig
new file mode 100644
index 0000000..109edfb
--- /dev/null
+++ b/board/RRvision/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_RRVISION
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "RRvision"
+
+config SYS_CONFIG_NAME
+	string
+	default "RRvision"
+
+endif
+
+if TARGET_RRVISION_LCD
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "RRvision"
+
+config SYS_CONFIG_NAME
+	string
+	default "RRvision"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LCD,SHARP_LQ104V7DS01"
+
+endif
diff --git a/board/Seagate/dockstar/Kconfig b/board/Seagate/dockstar/Kconfig
new file mode 100644
index 0000000..4696ac6
--- /dev/null
+++ b/board/Seagate/dockstar/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DOCKSTAR
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "dockstar"
+
+config SYS_VENDOR
+	string
+	default "Seagate"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "dockstar"
+
+endif
diff --git a/board/Seagate/goflexhome/Kconfig b/board/Seagate/goflexhome/Kconfig
new file mode 100644
index 0000000..0f918cb
--- /dev/null
+++ b/board/Seagate/goflexhome/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_GOFLEXHOME
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "goflexhome"
+
+config SYS_VENDOR
+	string
+	default "Seagate"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "goflexhome"
+
+endif
diff --git a/board/a3000/Kconfig b/board/a3000/Kconfig
new file mode 100644
index 0000000..d84d56c
--- /dev/null
+++ b/board/a3000/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_A3000
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "a3000"
+
+config SYS_CONFIG_NAME
+	string
+	default "A3000"
+
+endif
diff --git a/board/a3m071/Kconfig b/board/a3m071/Kconfig
new file mode 100644
index 0000000..a7b916e
--- /dev/null
+++ b/board/a3m071/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_A3M071
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "a3m071"
+
+config SYS_CONFIG_NAME
+	string
+	default "a3m071"
+
+endif
+
+if TARGET_A4M2K
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "a3m071"
+
+config SYS_CONFIG_NAME
+	string
+	default "a3m071"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "A4M2K"
+
+endif
diff --git a/board/a4m072/Kconfig b/board/a4m072/Kconfig
new file mode 100644
index 0000000..9211925
--- /dev/null
+++ b/board/a4m072/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_A4M072
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "a4m072"
+
+config SYS_CONFIG_NAME
+	string
+	default "a4m072"
+
+endif
diff --git a/board/adder/Kconfig b/board/adder/Kconfig
new file mode 100644
index 0000000..2de77f4
--- /dev/null
+++ b/board/adder/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_ADDER
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "adder"
+
+config SYS_CONFIG_NAME
+	string
+	default "Adder"
+
+endif
+
+if TARGET_ADDERII
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "adder"
+
+config SYS_CONFIG_NAME
+	string
+	default "Adder"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC852T"
+
+endif
diff --git a/board/afeb9260/Kconfig b/board/afeb9260/Kconfig
new file mode 100644
index 0000000..008d943
--- /dev/null
+++ b/board/afeb9260/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_AFEB9260
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "afeb9260"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "afeb9260"
+
+endif
diff --git a/board/ait/cam_enc_4xx/Kconfig b/board/ait/cam_enc_4xx/Kconfig
new file mode 100644
index 0000000..d1f89df
--- /dev/null
+++ b/board/ait/cam_enc_4xx/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_CAM_ENC_4XX
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "cam_enc_4xx"
+
+config SYS_VENDOR
+	string
+	default "ait"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "cam_enc_4xx"
+
+endif
diff --git a/board/alphaproject/ap_sh4a_4a/Kconfig b/board/alphaproject/ap_sh4a_4a/Kconfig
new file mode 100644
index 0000000..7893164
--- /dev/null
+++ b/board/alphaproject/ap_sh4a_4a/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_AP_SH4A_4A
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "ap_sh4a_4a"
+
+config SYS_VENDOR
+	string
+	default "alphaproject"
+
+config SYS_CONFIG_NAME
+	string
+	default "ap_sh4a_4a"
+
+endif
diff --git a/board/altera/nios2-generic/Kconfig b/board/altera/nios2-generic/Kconfig
new file mode 100644
index 0000000..897b306
--- /dev/null
+++ b/board/altera/nios2-generic/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_NIOS2_GENERIC
+
+config SYS_CPU
+	string
+	default "nios2"
+
+config SYS_BOARD
+	string
+	default "nios2-generic"
+
+config SYS_VENDOR
+	string
+	default "altera"
+
+config SYS_CONFIG_NAME
+	string
+	default "nios2-generic"
+
+endif
diff --git a/board/altera/socfpga/Kconfig b/board/altera/socfpga/Kconfig
new file mode 100644
index 0000000..d0d9012
--- /dev/null
+++ b/board/altera/socfpga/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_SOCFPGA_CYCLONE5
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "socfpga"
+
+config SYS_VENDOR
+	string
+	default "altera"
+
+config SYS_SOC
+	string
+	default "socfpga"
+
+config SYS_CONFIG_NAME
+	string
+	default "socfpga_cyclone5"
+
+endif
diff --git a/board/amcc/acadia/Kconfig b/board/amcc/acadia/Kconfig
new file mode 100644
index 0000000..3242198
--- /dev/null
+++ b/board/amcc/acadia/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_ACADIA
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "acadia"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "acadia"
+
+endif
diff --git a/board/amcc/bamboo/Kconfig b/board/amcc/bamboo/Kconfig
new file mode 100644
index 0000000..6d56a05
--- /dev/null
+++ b/board/amcc/bamboo/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_BAMBOO
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "bamboo"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "bamboo"
+
+endif
diff --git a/board/amcc/bluestone/Kconfig b/board/amcc/bluestone/Kconfig
new file mode 100644
index 0000000..586705d
--- /dev/null
+++ b/board/amcc/bluestone/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_BLUESTONE
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "bluestone"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "bluestone"
+
+endif
diff --git a/board/amcc/bubinga/Kconfig b/board/amcc/bubinga/Kconfig
new file mode 100644
index 0000000..20202fc
--- /dev/null
+++ b/board/amcc/bubinga/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_BUBINGA
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "bubinga"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "bubinga"
+
+endif
diff --git a/board/amcc/canyonlands/Kconfig b/board/amcc/canyonlands/Kconfig
new file mode 100644
index 0000000..5f72972
--- /dev/null
+++ b/board/amcc/canyonlands/Kconfig
@@ -0,0 +1,71 @@
+if TARGET_ARCHES
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "canyonlands"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "canyonlands"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ARCHES"
+
+endif
+
+if TARGET_CANYONLANDS
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "canyonlands"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "canyonlands"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CANYONLANDS"
+
+endif
+
+if TARGET_GLACIER
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "canyonlands"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "canyonlands"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "GLACIER"
+
+endif
diff --git a/board/amcc/ebony/Kconfig b/board/amcc/ebony/Kconfig
new file mode 100644
index 0000000..f367cd2
--- /dev/null
+++ b/board/amcc/ebony/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_EBONY
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ebony"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "ebony"
+
+endif
diff --git a/board/amcc/katmai/Kconfig b/board/amcc/katmai/Kconfig
new file mode 100644
index 0000000..009eb97
--- /dev/null
+++ b/board/amcc/katmai/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_KATMAI
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "katmai"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "katmai"
+
+endif
diff --git a/board/amcc/kilauea/Kconfig b/board/amcc/kilauea/Kconfig
new file mode 100644
index 0000000..e951392
--- /dev/null
+++ b/board/amcc/kilauea/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_HALEAKALA
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "kilauea"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "kilauea"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "HALEAKALA"
+
+endif
+
+if TARGET_KILAUEA
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "kilauea"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "kilauea"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KILAUEA"
+
+endif
diff --git a/board/amcc/luan/Kconfig b/board/amcc/luan/Kconfig
new file mode 100644
index 0000000..e31bd8a
--- /dev/null
+++ b/board/amcc/luan/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_LUAN
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "luan"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "luan"
+
+endif
diff --git a/board/amcc/makalu/Kconfig b/board/amcc/makalu/Kconfig
new file mode 100644
index 0000000..5d50eb9
--- /dev/null
+++ b/board/amcc/makalu/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MAKALU
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "makalu"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "makalu"
+
+endif
diff --git a/board/amcc/ocotea/Kconfig b/board/amcc/ocotea/Kconfig
new file mode 100644
index 0000000..8d75957
--- /dev/null
+++ b/board/amcc/ocotea/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_OCOTEA
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ocotea"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "ocotea"
+
+endif
diff --git a/board/amcc/redwood/Kconfig b/board/amcc/redwood/Kconfig
new file mode 100644
index 0000000..5529aa1
--- /dev/null
+++ b/board/amcc/redwood/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_REDWOOD
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "redwood"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "redwood"
+
+endif
diff --git a/board/amcc/sequoia/Kconfig b/board/amcc/sequoia/Kconfig
new file mode 100644
index 0000000..47e66e1
--- /dev/null
+++ b/board/amcc/sequoia/Kconfig
@@ -0,0 +1,95 @@
+if TARGET_RAINIER
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "sequoia"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "sequoia"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAINIER"
+
+endif
+
+if TARGET_RAINIER_RAMBOOT
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "sequoia"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "sequoia"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAINIER,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds"
+
+endif
+
+if TARGET_SEQUOIA
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "sequoia"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "sequoia"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SEQUOIA"
+
+endif
+
+if TARGET_SEQUOIA_RAMBOOT
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "sequoia"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "sequoia"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SEQUOIA,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds"
+
+endif
diff --git a/board/amcc/taihu/Kconfig b/board/amcc/taihu/Kconfig
new file mode 100644
index 0000000..6590d7b
--- /dev/null
+++ b/board/amcc/taihu/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_TAIHU
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "taihu"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "taihu"
+
+endif
diff --git a/board/amcc/taishan/Kconfig b/board/amcc/taishan/Kconfig
new file mode 100644
index 0000000..333bd17
--- /dev/null
+++ b/board/amcc/taishan/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_TAISHAN
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "taishan"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "taishan"
+
+endif
diff --git a/board/amcc/walnut/Kconfig b/board/amcc/walnut/Kconfig
new file mode 100644
index 0000000..101c826
--- /dev/null
+++ b/board/amcc/walnut/Kconfig
@@ -0,0 +1,39 @@
+if TARGET_SYCAMORE
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "walnut"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "walnut"
+
+endif
+
+if TARGET_WALNUT
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "walnut"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "walnut"
+
+endif
diff --git a/board/amcc/yosemite/Kconfig b/board/amcc/yosemite/Kconfig
new file mode 100644
index 0000000..de65fd8
--- /dev/null
+++ b/board/amcc/yosemite/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_YELLOWSTONE
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "yosemite"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "yosemite"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "YELLOWSTONE"
+
+endif
+
+if TARGET_YOSEMITE
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "yosemite"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "yosemite"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "YOSEMITE"
+
+endif
diff --git a/board/amcc/yucca/Kconfig b/board/amcc/yucca/Kconfig
new file mode 100644
index 0000000..15fec25
--- /dev/null
+++ b/board/amcc/yucca/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_YUCCA
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "yucca"
+
+config SYS_VENDOR
+	string
+	default "amcc"
+
+config SYS_CONFIG_NAME
+	string
+	default "yucca"
+
+endif
diff --git a/board/armadeus/apf27/Kconfig b/board/armadeus/apf27/Kconfig
new file mode 100644
index 0000000..f2d33c6
--- /dev/null
+++ b/board/armadeus/apf27/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_APF27
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "apf27"
+
+config SYS_VENDOR
+	string
+	default "armadeus"
+
+config SYS_SOC
+	string
+	default "mx27"
+
+config SYS_CONFIG_NAME
+	string
+	default "apf27"
+
+endif
diff --git a/board/armltd/integrator/Kconfig b/board/armltd/integrator/Kconfig
new file mode 100644
index 0000000..9d949e3
--- /dev/null
+++ b/board/armltd/integrator/Kconfig
@@ -0,0 +1,191 @@
+if TARGET_INTEGRATORCP_CM1136
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "integrator"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "integratorcp"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CM1136"
+
+endif
+
+if TARGET_INTEGRATORAP_CM720T
+
+config SYS_CPU
+	string
+	default "arm720t"
+
+config SYS_BOARD
+	string
+	default "integrator"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "integratorap"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CM720T"
+
+endif
+
+if TARGET_INTEGRATORAP_CM920T
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "integrator"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "integratorap"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CM920T"
+
+endif
+
+if TARGET_INTEGRATORCP_CM920T
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "integrator"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "integratorcp"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CM920T"
+
+endif
+
+if TARGET_INTEGRATORAP_CM926EJS
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "integrator"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "integratorap"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CM926EJ_S"
+
+endif
+
+if TARGET_INTEGRATORCP_CM926EJS
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "integrator"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "integratorcp"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CM924EJ_S"
+
+endif
+
+if TARGET_INTEGRATORAP_CM946ES
+
+config SYS_CPU
+	string
+	default "arm946es"
+
+config SYS_BOARD
+	string
+	default "integrator"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "integratorap"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CM946ES"
+
+endif
+
+if TARGET_INTEGRATORCP_CM946ES
+
+config SYS_CPU
+	string
+	default "arm946es"
+
+config SYS_BOARD
+	string
+	default "integrator"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "integratorcp"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CM946ES"
+
+endif
diff --git a/board/armltd/versatile/Kconfig b/board/armltd/versatile/Kconfig
new file mode 100644
index 0000000..b145eb4
--- /dev/null
+++ b/board/armltd/versatile/Kconfig
@@ -0,0 +1,83 @@
+if TARGET_VERSATILEAB
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "versatile"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_SOC
+	string
+	default "versatile"
+
+config SYS_CONFIG_NAME
+	string
+	default "versatile"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ARCH_VERSATILE_AB"
+
+endif
+
+if TARGET_VERSATILEPB
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "versatile"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_SOC
+	string
+	default "versatile"
+
+config SYS_CONFIG_NAME
+	string
+	default "versatile"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ARCH_VERSATILE_PB"
+
+endif
+
+if TARGET_VERSATILEQEMU
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "versatile"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_SOC
+	string
+	default "versatile"
+
+config SYS_CONFIG_NAME
+	string
+	default "versatile"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ARCH_VERSATILE_QEMU,ARCH_VERSATILE_PB"
+
+endif
diff --git a/board/armltd/vexpress/Kconfig b/board/armltd/vexpress/Kconfig
new file mode 100644
index 0000000..e49e871
--- /dev/null
+++ b/board/armltd/vexpress/Kconfig
@@ -0,0 +1,59 @@
+if TARGET_VEXPRESS_CA15_TC2
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "vexpress"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "vexpress_ca15_tc2"
+
+endif
+
+if TARGET_VEXPRESS_CA5X2
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "vexpress"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "vexpress_ca5x2"
+
+endif
+
+if TARGET_VEXPRESS_CA9X4
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "vexpress"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "vexpress_ca9x4"
+
+endif
diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
new file mode 100644
index 0000000..1fb3af7
--- /dev/null
+++ b/board/armltd/vexpress64/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_VEXPRESS_AEMV8A
+
+config SYS_CPU
+	string
+	default "armv8"
+
+config SYS_BOARD
+	string
+	default "vexpress64"
+
+config SYS_VENDOR
+	string
+	default "armltd"
+
+config SYS_CONFIG_NAME
+	string
+	default "vexpress_aemv8a"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ARM64"
+
+endif
diff --git a/board/astro/mcf5373l/Kconfig b/board/astro/mcf5373l/Kconfig
new file mode 100644
index 0000000..6e947dc
--- /dev/null
+++ b/board/astro/mcf5373l/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_ASTRO_MCF5373L
+
+config SYS_CPU
+	string
+	default "mcf532x"
+
+config SYS_BOARD
+	string
+	default "mcf5373l"
+
+config SYS_VENDOR
+	string
+	default "astro"
+
+config SYS_CONFIG_NAME
+	string
+	default "astro_mcf5373l"
+
+endif
diff --git a/board/atc/Kconfig b/board/atc/Kconfig
new file mode 100644
index 0000000..c9b7058
--- /dev/null
+++ b/board/atc/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_ATC
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "atc"
+
+config SYS_CONFIG_NAME
+	string
+	default "atc"
+
+endif
diff --git a/board/atmark-techno/armadillo-800eva/Kconfig b/board/atmark-techno/armadillo-800eva/Kconfig
new file mode 100644
index 0000000..c8f89fe
--- /dev/null
+++ b/board/atmark-techno/armadillo-800eva/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ARMADILLO_800EVA
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "armadillo-800eva"
+
+config SYS_VENDOR
+	string
+	default "atmark-techno"
+
+config SYS_SOC
+	string
+	default "rmobile"
+
+config SYS_CONFIG_NAME
+	string
+	default "armadillo-800eva"
+
+endif
diff --git a/board/atmel/at91rm9200ek/Kconfig b/board/atmel/at91rm9200ek/Kconfig
new file mode 100644
index 0000000..31ded7f
--- /dev/null
+++ b/board/atmel/at91rm9200ek/Kconfig
@@ -0,0 +1,51 @@
+if TARGET_AT91RM9200EK
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "at91rm9200ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91rm9200ek"
+
+endif
+
+if TARGET_AT91RM9200EK_RAM
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "at91rm9200ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91rm9200ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT"
+
+endif
diff --git a/board/atmel/at91sam9260ek/Kconfig b/board/atmel/at91sam9260ek/Kconfig
new file mode 100644
index 0000000..6682e45
--- /dev/null
+++ b/board/atmel/at91sam9260ek/Kconfig
@@ -0,0 +1,307 @@
+if TARGET_AT91SAM9260EK_DATAFLASH_CS0
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9260,SYS_USE_DATAFLASH_CS0"
+
+endif
+
+if TARGET_AT91SAM9260EK_DATAFLASH_CS1
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9260,SYS_USE_DATAFLASH_CS1"
+
+endif
+
+if TARGET_AT91SAM9260EK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9260,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_AT91SAM9G20EK_2MMC_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,AT91SAM9G20EK_2MMC,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_AT91SAM9G20EK_DATAFLASH_CS0
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,SYS_USE_DATAFLASH_CS0"
+
+endif
+
+if TARGET_AT91SAM9G20EK_DATAFLASH_CS1
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,SYS_USE_DATAFLASH_CS1"
+
+endif
+
+if TARGET_AT91SAM9G20EK_MMC
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,SYS_USE_MMC"
+
+endif
+
+if TARGET_AT91SAM9G20EK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_AT91SAM9XEEK_DATAFLASH_CS0
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9XE,SYS_USE_DATAFLASH_CS0"
+
+endif
+
+if TARGET_AT91SAM9XEEK_DATAFLASH_CS1
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9XE,SYS_USE_DATAFLASH_CS1"
+
+endif
+
+if TARGET_AT91SAM9XEEK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9260ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9260ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9XE,SYS_USE_NANDFLASH"
+
+endif
diff --git a/board/atmel/at91sam9261ek/Kconfig b/board/atmel/at91sam9261ek/Kconfig
new file mode 100644
index 0000000..1980345
--- /dev/null
+++ b/board/atmel/at91sam9261ek/Kconfig
@@ -0,0 +1,167 @@
+if TARGET_AT91SAM9261EK_DATAFLASH_CS0
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9261ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9261ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9261,SYS_USE_DATAFLASH_CS0"
+
+endif
+
+if TARGET_AT91SAM9261EK_DATAFLASH_CS3
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9261ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9261ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9261,SYS_USE_DATAFLASH_CS3"
+
+endif
+
+if TARGET_AT91SAM9261EK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9261ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9261ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9261,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_AT91SAM9G10EK_DATAFLASH_CS0
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9261ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9261ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G10,SYS_USE_DATAFLASH_CS0"
+
+endif
+
+if TARGET_AT91SAM9G10EK_DATAFLASH_CS3
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9261ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9261ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G10,SYS_USE_DATAFLASH_CS3"
+
+endif
+
+if TARGET_AT91SAM9G10EK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9261ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9261ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G10,SYS_USE_NANDFLASH"
+
+endif
diff --git a/board/atmel/at91sam9263ek/Kconfig b/board/atmel/at91sam9263ek/Kconfig
new file mode 100644
index 0000000..cce0a65
--- /dev/null
+++ b/board/atmel/at91sam9263ek/Kconfig
@@ -0,0 +1,139 @@
+if TARGET_AT91SAM9263EK_DATAFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9263ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9263ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263,SYS_USE_DATAFLASH"
+
+endif
+
+if TARGET_AT91SAM9263EK_DATAFLASH_CS0
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9263ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9263ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263,SYS_USE_DATAFLASH"
+
+endif
+
+if TARGET_AT91SAM9263EK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9263ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9263ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_AT91SAM9263EK_NORFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9263ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9263ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263,SYS_USE_NORFLASH"
+
+endif
+
+if TARGET_AT91SAM9263EK_NORFLASH_BOOT
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9263ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9263ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263,SYS_USE_BOOT_NORFLASH"
+
+endif
diff --git a/board/atmel/at91sam9m10g45ek/Kconfig b/board/atmel/at91sam9m10g45ek/Kconfig
new file mode 100644
index 0000000..0a2b5d7
--- /dev/null
+++ b/board/atmel/at91sam9m10g45ek/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_AT91SAM9M10G45EK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9m10g45ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9m10g45ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9M10G45,SYS_USE_NANDFLASH"
+
+endif
diff --git a/board/atmel/at91sam9n12ek/Kconfig b/board/atmel/at91sam9n12ek/Kconfig
new file mode 100644
index 0000000..99c5aaa
--- /dev/null
+++ b/board/atmel/at91sam9n12ek/Kconfig
@@ -0,0 +1,83 @@
+if TARGET_AT91SAM9N12EK_MMC
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9n12ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9n12ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9N12,SYS_USE_MMC"
+
+endif
+
+if TARGET_AT91SAM9N12EK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9n12ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9n12ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9N12,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_AT91SAM9N12EK_SPIFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9n12ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9n12ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9N12,SYS_USE_SPIFLASH"
+
+endif
diff --git a/board/atmel/at91sam9rlek/Kconfig b/board/atmel/at91sam9rlek/Kconfig
new file mode 100644
index 0000000..fa338c3
--- /dev/null
+++ b/board/atmel/at91sam9rlek/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_AT91SAM9RLEK_DATAFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9rlek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9rlek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9RL,SYS_USE_DATAFLASH"
+
+endif
+
+if TARGET_AT91SAM9RLEK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9rlek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9rlek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9RL,SYS_USE_NANDFLASH"
+
+endif
diff --git a/board/atmel/at91sam9x5ek/Kconfig b/board/atmel/at91sam9x5ek/Kconfig
new file mode 100644
index 0000000..29f9515
--- /dev/null
+++ b/board/atmel/at91sam9x5ek/Kconfig
@@ -0,0 +1,111 @@
+if TARGET_AT91SAM9X5EK_DATAFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9x5ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9x5ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9X5,SYS_USE_DATAFLASH"
+
+endif
+
+if TARGET_AT91SAM9X5EK_MMC
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9x5ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9x5ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9X5,SYS_USE_MMC"
+
+endif
+
+if TARGET_AT91SAM9X5EK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9x5ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9x5ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9X5,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_AT91SAM9X5EK_SPIFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "at91sam9x5ek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "at91sam9x5ek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9X5,SYS_USE_SPIFLASH"
+
+endif
diff --git a/board/atmel/atngw100/Kconfig b/board/atmel/atngw100/Kconfig
new file mode 100644
index 0000000..f71b309
--- /dev/null
+++ b/board/atmel/atngw100/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ATNGW100
+
+config SYS_CPU
+	string
+	default "at32ap"
+
+config SYS_BOARD
+	string
+	default "atngw100"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at32ap700x"
+
+config SYS_CONFIG_NAME
+	string
+	default "atngw100"
+
+endif
diff --git a/board/atmel/atngw100mkii/Kconfig b/board/atmel/atngw100mkii/Kconfig
new file mode 100644
index 0000000..9712f29
--- /dev/null
+++ b/board/atmel/atngw100mkii/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ATNGW100MKII
+
+config SYS_CPU
+	string
+	default "at32ap"
+
+config SYS_BOARD
+	string
+	default "atngw100mkii"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at32ap700x"
+
+config SYS_CONFIG_NAME
+	string
+	default "atngw100mkii"
+
+endif
diff --git a/board/atmel/atstk1000/Kconfig b/board/atmel/atstk1000/Kconfig
new file mode 100644
index 0000000..b0b1788
--- /dev/null
+++ b/board/atmel/atstk1000/Kconfig
@@ -0,0 +1,95 @@
+if TARGET_ATSTK1002
+
+config SYS_CPU
+	string
+	default "at32ap"
+
+config SYS_BOARD
+	string
+	default "atstk1000"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at32ap700x"
+
+config SYS_CONFIG_NAME
+	string
+	default "atstk1002"
+
+endif
+
+if TARGET_ATSTK1003
+
+config SYS_CPU
+	string
+	default "at32ap"
+
+config SYS_BOARD
+	string
+	default "atstk1000"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at32ap700x"
+
+config SYS_CONFIG_NAME
+	string
+	default "atstk1003"
+
+endif
+
+if TARGET_ATSTK1004
+
+config SYS_CPU
+	string
+	default "at32ap"
+
+config SYS_BOARD
+	string
+	default "atstk1000"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at32ap700x"
+
+config SYS_CONFIG_NAME
+	string
+	default "atstk1004"
+
+endif
+
+if TARGET_ATSTK1006
+
+config SYS_CPU
+	string
+	default "at32ap"
+
+config SYS_BOARD
+	string
+	default "atstk1000"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at32ap700x"
+
+config SYS_CONFIG_NAME
+	string
+	default "atstk1006"
+
+endif
diff --git a/board/atmel/sama5d3_xplained/Kconfig b/board/atmel/sama5d3_xplained/Kconfig
new file mode 100644
index 0000000..dc82b22
--- /dev/null
+++ b/board/atmel/sama5d3_xplained/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_SAMA5D3_XPLAINED_MMC
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "sama5d3_xplained"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "sama5d3_xplained"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SAMA5D3,SYS_USE_MMC"
+
+endif
+
+if TARGET_SAMA5D3_XPLAINED_NANDFLASH
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "sama5d3_xplained"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "sama5d3_xplained"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SAMA5D3,SYS_USE_NANDFLASH"
+
+endif
diff --git a/board/atmel/sama5d3xek/Kconfig b/board/atmel/sama5d3xek/Kconfig
new file mode 100644
index 0000000..d59356a
--- /dev/null
+++ b/board/atmel/sama5d3xek/Kconfig
@@ -0,0 +1,83 @@
+if TARGET_SAMA5D3XEK_MMC
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "sama5d3xek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "sama5d3xek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SAMA5D3,SYS_USE_MMC"
+
+endif
+
+if TARGET_SAMA5D3XEK_NANDFLASH
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "sama5d3xek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "sama5d3xek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SAMA5D3,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_SAMA5D3XEK_SPIFLASH
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "sama5d3xek"
+
+config SYS_VENDOR
+	string
+	default "atmel"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "sama5d3xek"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SAMA5D3,SYS_USE_SERIALFLASH"
+
+endif
diff --git a/board/avionic-design/medcom-wide/Kconfig b/board/avionic-design/medcom-wide/Kconfig
new file mode 100644
index 0000000..2472fe2
--- /dev/null
+++ b/board/avionic-design/medcom-wide/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_MEDCOM_WIDE
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "medcom-wide"
+
+config SYS_VENDOR
+	string
+	default "avionic-design"
+
+config SYS_SOC
+	string
+	default "tegra20"
+
+config SYS_CONFIG_NAME
+	string
+	default "medcom-wide"
+
+endif
diff --git a/board/avionic-design/plutux/Kconfig b/board/avionic-design/plutux/Kconfig
new file mode 100644
index 0000000..a697a54
--- /dev/null
+++ b/board/avionic-design/plutux/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_PLUTUX
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "plutux"
+
+config SYS_VENDOR
+	string
+	default "avionic-design"
+
+config SYS_SOC
+	string
+	default "tegra20"
+
+config SYS_CONFIG_NAME
+	string
+	default "plutux"
+
+endif
diff --git a/board/avionic-design/tec-ng/Kconfig b/board/avionic-design/tec-ng/Kconfig
new file mode 100644
index 0000000..f52edda
--- /dev/null
+++ b/board/avionic-design/tec-ng/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_TEC_NG
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "tec-ng"
+
+config SYS_VENDOR
+	string
+	default "avionic-design"
+
+config SYS_SOC
+	string
+	default "tegra30"
+
+config SYS_CONFIG_NAME
+	string
+	default "tec-ng"
+
+endif
diff --git a/board/avionic-design/tec/Kconfig b/board/avionic-design/tec/Kconfig
new file mode 100644
index 0000000..d19e3f4
--- /dev/null
+++ b/board/avionic-design/tec/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_TEC
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "tec"
+
+config SYS_VENDOR
+	string
+	default "avionic-design"
+
+config SYS_SOC
+	string
+	default "tegra20"
+
+config SYS_CONFIG_NAME
+	string
+	default "tec"
+
+endif
diff --git a/board/avnet/fx12mm/Kconfig b/board/avnet/fx12mm/Kconfig
new file mode 100644
index 0000000..8c10f45
--- /dev/null
+++ b/board/avnet/fx12mm/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_FX12MM
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "fx12mm"
+
+config SYS_VENDOR
+	string
+	default "avnet"
+
+config SYS_CONFIG_NAME
+	string
+	default "fx12mm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,INIT_TLB=board/xilinx/ppc405-generic/init.o"
+
+endif
+
+if TARGET_FX12MM_FLASH
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "fx12mm"
+
+config SYS_VENDOR
+	string
+	default "avnet"
+
+config SYS_CONFIG_NAME
+	string
+	default "fx12mm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC,INIT_TLB=board/xilinx/ppc405-generic/init.o"
+
+endif
diff --git a/board/avnet/v5fx30teval/Kconfig b/board/avnet/v5fx30teval/Kconfig
new file mode 100644
index 0000000..8239588
--- /dev/null
+++ b/board/avnet/v5fx30teval/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_V5FX30TEVAL
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "v5fx30teval"
+
+config SYS_VENDOR
+	string
+	default "avnet"
+
+config SYS_CONFIG_NAME
+	string
+	default "v5fx30teval"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1,INIT_TLB=board/xilinx/ppc440-generic/init.o"
+
+endif
+
+if TARGET_V5FX30TEVAL_FLASH
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "v5fx30teval"
+
+config SYS_VENDOR
+	string
+	default "avnet"
+
+config SYS_CONFIG_NAME
+	string
+	default "v5fx30teval"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC,INIT_TLB=board/xilinx/ppc440-generic/init.o"
+
+endif
diff --git a/board/balloon3/Kconfig b/board/balloon3/Kconfig
new file mode 100644
index 0000000..aee2193
--- /dev/null
+++ b/board/balloon3/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BALLOON3
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "balloon3"
+
+config SYS_CONFIG_NAME
+	string
+	default "balloon3"
+
+endif
diff --git a/board/barco/titanium/Kconfig b/board/barco/titanium/Kconfig
new file mode 100644
index 0000000..2073511
--- /dev/null
+++ b/board/barco/titanium/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_TITANIUM
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "titanium"
+
+config SYS_VENDOR
+	string
+	default "barco"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "titanium"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/barco/titanium/imximage.cfg"
+
+endif
diff --git a/board/bc3450/Kconfig b/board/bc3450/Kconfig
new file mode 100644
index 0000000..9c06e25
--- /dev/null
+++ b/board/bc3450/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BC3450
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "bc3450"
+
+config SYS_CONFIG_NAME
+	string
+	default "BC3450"
+
+endif
diff --git a/board/bct-brettl2/Kconfig b/board/bct-brettl2/Kconfig
new file mode 100644
index 0000000..fed784d
--- /dev/null
+++ b/board/bct-brettl2/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BCT_BRETTL2
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bct-brettl2"
+
+config SYS_CONFIG_NAME
+	string
+	default "bct-brettl2"
+
+endif
diff --git a/board/bf506f-ezkit/Kconfig b/board/bf506f-ezkit/Kconfig
new file mode 100644
index 0000000..30addea
--- /dev/null
+++ b/board/bf506f-ezkit/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF506F_EZKIT
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf506f-ezkit"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf506f-ezkit"
+
+endif
diff --git a/board/bf518f-ezbrd/Kconfig b/board/bf518f-ezbrd/Kconfig
new file mode 100644
index 0000000..39bb104
--- /dev/null
+++ b/board/bf518f-ezbrd/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF518F_EZBRD
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf518f-ezbrd"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf518f-ezbrd"
+
+endif
diff --git a/board/bf525-ucr2/Kconfig b/board/bf525-ucr2/Kconfig
new file mode 100644
index 0000000..7020a93
--- /dev/null
+++ b/board/bf525-ucr2/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF525_UCR2
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf525-ucr2"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf525-ucr2"
+
+endif
diff --git a/board/bf526-ezbrd/Kconfig b/board/bf526-ezbrd/Kconfig
new file mode 100644
index 0000000..9c3e901
--- /dev/null
+++ b/board/bf526-ezbrd/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF526_EZBRD
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf526-ezbrd"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf526-ezbrd"
+
+endif
diff --git a/board/bf527-ad7160-eval/Kconfig b/board/bf527-ad7160-eval/Kconfig
new file mode 100644
index 0000000..d95f76c
--- /dev/null
+++ b/board/bf527-ad7160-eval/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF527_AD7160_EVAL
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf527-ad7160-eval"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf527-ad7160-eval"
+
+endif
diff --git a/board/bf527-ezkit/Kconfig b/board/bf527-ezkit/Kconfig
new file mode 100644
index 0000000..28e5e28
--- /dev/null
+++ b/board/bf527-ezkit/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_BF527_EZKIT
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf527-ezkit"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf527-ezkit"
+
+endif
+
+if TARGET_BF527_EZKIT_V2
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf527-ezkit"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf527-ezkit"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BF527_EZKIT_REV_2_1"
+
+endif
diff --git a/board/bf527-sdp/Kconfig b/board/bf527-sdp/Kconfig
new file mode 100644
index 0000000..307afb2
--- /dev/null
+++ b/board/bf527-sdp/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF527_SDP
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf527-sdp"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf527-sdp"
+
+endif
diff --git a/board/bf533-ezkit/Kconfig b/board/bf533-ezkit/Kconfig
new file mode 100644
index 0000000..e5e7d1d
--- /dev/null
+++ b/board/bf533-ezkit/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF533_EZKIT
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf533-ezkit"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf533-ezkit"
+
+endif
diff --git a/board/bf533-stamp/Kconfig b/board/bf533-stamp/Kconfig
new file mode 100644
index 0000000..fff3c08
--- /dev/null
+++ b/board/bf533-stamp/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF533_STAMP
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf533-stamp"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf533-stamp"
+
+endif
diff --git a/board/bf537-minotaur/Kconfig b/board/bf537-minotaur/Kconfig
new file mode 100644
index 0000000..dcad0da
--- /dev/null
+++ b/board/bf537-minotaur/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF537_MINOTAUR
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf537-minotaur"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf537-minotaur"
+
+endif
diff --git a/board/bf537-pnav/Kconfig b/board/bf537-pnav/Kconfig
new file mode 100644
index 0000000..c4caacd
--- /dev/null
+++ b/board/bf537-pnav/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF537_PNAV
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf537-pnav"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf537-pnav"
+
+endif
diff --git a/board/bf537-srv1/Kconfig b/board/bf537-srv1/Kconfig
new file mode 100644
index 0000000..249f7a5
--- /dev/null
+++ b/board/bf537-srv1/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF537_SRV1
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf537-srv1"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf537-srv1"
+
+endif
diff --git a/board/bf537-stamp/Kconfig b/board/bf537-stamp/Kconfig
new file mode 100644
index 0000000..c745fb4
--- /dev/null
+++ b/board/bf537-stamp/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF537_STAMP
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf537-stamp"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf537-stamp"
+
+endif
diff --git a/board/bf538f-ezkit/Kconfig b/board/bf538f-ezkit/Kconfig
new file mode 100644
index 0000000..55f1d3e
--- /dev/null
+++ b/board/bf538f-ezkit/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF538F_EZKIT
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf538f-ezkit"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf538f-ezkit"
+
+endif
diff --git a/board/bf548-ezkit/Kconfig b/board/bf548-ezkit/Kconfig
new file mode 100644
index 0000000..ff5cd89
--- /dev/null
+++ b/board/bf548-ezkit/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF548_EZKIT
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf548-ezkit"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf548-ezkit"
+
+endif
diff --git a/board/bf561-acvilon/Kconfig b/board/bf561-acvilon/Kconfig
new file mode 100644
index 0000000..cbfff97
--- /dev/null
+++ b/board/bf561-acvilon/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF561_ACVILON
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf561-acvilon"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf561-acvilon"
+
+endif
diff --git a/board/bf561-ezkit/Kconfig b/board/bf561-ezkit/Kconfig
new file mode 100644
index 0000000..35dff5b
--- /dev/null
+++ b/board/bf561-ezkit/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF561_EZKIT
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf561-ezkit"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf561-ezkit"
+
+endif
diff --git a/board/bf609-ezkit/Kconfig b/board/bf609-ezkit/Kconfig
new file mode 100644
index 0000000..40535a7
--- /dev/null
+++ b/board/bf609-ezkit/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BF609_EZKIT
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "bf609-ezkit"
+
+config SYS_CONFIG_NAME
+	string
+	default "bf609-ezkit"
+
+endif
diff --git a/board/blackstamp/Kconfig b/board/blackstamp/Kconfig
new file mode 100644
index 0000000..a93e903
--- /dev/null
+++ b/board/blackstamp/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BLACKSTAMP
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "blackstamp"
+
+config SYS_CONFIG_NAME
+	string
+	default "blackstamp"
+
+endif
diff --git a/board/blackvme/Kconfig b/board/blackvme/Kconfig
new file mode 100644
index 0000000..ee051d8
--- /dev/null
+++ b/board/blackvme/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BLACKVME
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "blackvme"
+
+config SYS_CONFIG_NAME
+	string
+	default "blackvme"
+
+endif
diff --git a/board/bluegiga/apx4devkit/Kconfig b/board/bluegiga/apx4devkit/Kconfig
new file mode 100644
index 0000000..acccec9
--- /dev/null
+++ b/board/bluegiga/apx4devkit/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_APX4DEVKIT
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "apx4devkit"
+
+config SYS_VENDOR
+	string
+	default "bluegiga"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "apx4devkit"
+
+endif
diff --git a/board/bluewater/snapper9260/Kconfig b/board/bluewater/snapper9260/Kconfig
new file mode 100644
index 0000000..7f443fa
--- /dev/null
+++ b/board/bluewater/snapper9260/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_SNAPPER9260
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "snapper9260"
+
+config SYS_VENDOR
+	string
+	default "bluewater"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "snapper9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9260"
+
+endif
+
+if TARGET_SNAPPER9G20
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "snapper9260"
+
+config SYS_VENDOR
+	string
+	default "bluewater"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "snapper9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20"
+
+endif
diff --git a/board/boundary/nitrogen6x/Kconfig b/board/boundary/nitrogen6x/Kconfig
new file mode 100644
index 0000000..2f82316
--- /dev/null
+++ b/board/boundary/nitrogen6x/Kconfig
@@ -0,0 +1,195 @@
+if TARGET_MX6QSABRELITE
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "nitrogen6x"
+
+config SYS_VENDOR
+	string
+	default "boundary"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "nitrogen6x"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024,SABRELITE"
+
+endif
+
+if TARGET_NITROGEN6DL
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "nitrogen6x"
+
+config SYS_VENDOR
+	string
+	default "boundary"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "nitrogen6x"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024"
+
+endif
+
+if TARGET_NITROGEN6DL2G
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "nitrogen6x"
+
+config SYS_VENDOR
+	string
+	default "boundary"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "nitrogen6x"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl2g.cfg,MX6DL,DDR_MB=2048"
+
+endif
+
+if TARGET_NITROGEN6Q
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "nitrogen6x"
+
+config SYS_VENDOR
+	string
+	default "boundary"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "nitrogen6x"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024"
+
+endif
+
+if TARGET_NITROGEN6Q2G
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "nitrogen6x"
+
+config SYS_VENDOR
+	string
+	default "boundary"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "nitrogen6x"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,MX6Q,DDR_MB=2048"
+
+endif
+
+if TARGET_NITROGEN6S
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "nitrogen6x"
+
+config SYS_VENDOR
+	string
+	default "boundary"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "nitrogen6x"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s.cfg,MX6S,DDR_MB=512"
+
+endif
+
+if TARGET_NITROGEN6S1G
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "nitrogen6x"
+
+config SYS_VENDOR
+	string
+	default "boundary"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "nitrogen6x"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,MX6S,DDR_MB=1024"
+
+endif
diff --git a/board/br4/Kconfig b/board/br4/Kconfig
new file mode 100644
index 0000000..712f179
--- /dev/null
+++ b/board/br4/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_BR4
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "br4"
+
+config SYS_CONFIG_NAME
+	string
+	default "br4"
+
+endif
diff --git a/board/broadcom/bcm28155_ap/Kconfig b/board/broadcom/bcm28155_ap/Kconfig
new file mode 100644
index 0000000..20c83d3
--- /dev/null
+++ b/board/broadcom/bcm28155_ap/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_BCM28155_AP
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "bcm28155_ap"
+
+config SYS_VENDOR
+	string
+	default "broadcom"
+
+config SYS_SOC
+	string
+	default "bcm281xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "bcm28155_ap"
+
+endif
diff --git a/board/buffalo/lsxl/Kconfig b/board/buffalo/lsxl/Kconfig
new file mode 100644
index 0000000..65bf8d8
--- /dev/null
+++ b/board/buffalo/lsxl/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_LSCHLV2
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "lsxl"
+
+config SYS_VENDOR
+	string
+	default "buffalo"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "lsxl"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LSCHLV2"
+
+endif
+
+if TARGET_LSXHL
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "lsxl"
+
+config SYS_VENDOR
+	string
+	default "buffalo"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "lsxl"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LSXHL"
+
+endif
diff --git a/board/calao/sbc35_a9g20/Kconfig b/board/calao/sbc35_a9g20/Kconfig
new file mode 100644
index 0000000..d9e4435
--- /dev/null
+++ b/board/calao/sbc35_a9g20/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_SBC35_A9G20_EEPROM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "sbc35_a9g20"
+
+config SYS_VENDOR
+	string
+	default "calao"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc35_a9g20"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,SYS_USE_EEPROM"
+
+endif
+
+if TARGET_SBC35_A9G20_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "sbc35_a9g20"
+
+config SYS_VENDOR
+	string
+	default "calao"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc35_a9g20"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,SYS_USE_NANDFLASH"
+
+endif
diff --git a/board/calao/tny_a9260/Kconfig b/board/calao/tny_a9260/Kconfig
new file mode 100644
index 0000000..1bb0b31
--- /dev/null
+++ b/board/calao/tny_a9260/Kconfig
@@ -0,0 +1,111 @@
+if TARGET_TNY_A9260_EEPROM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "tny_a9260"
+
+config SYS_VENDOR
+	string
+	default "calao"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "tny_a9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9260,SYS_USE_EEPROM"
+
+endif
+
+if TARGET_TNY_A9260_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "tny_a9260"
+
+config SYS_VENDOR
+	string
+	default "calao"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "tny_a9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9260,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_TNY_A9G20_EEPROM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "tny_a9260"
+
+config SYS_VENDOR
+	string
+	default "calao"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "tny_a9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,SYS_USE_EEPROM"
+
+endif
+
+if TARGET_TNY_A9G20_NANDFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "tny_a9260"
+
+config SYS_VENDOR
+	string
+	default "calao"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "tny_a9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,SYS_USE_NANDFLASH"
+
+endif
diff --git a/board/calao/usb_a9263/Kconfig b/board/calao/usb_a9263/Kconfig
new file mode 100644
index 0000000..2688ae6
--- /dev/null
+++ b/board/calao/usb_a9263/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_USB_A9263_DATAFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "usb_a9263"
+
+config SYS_VENDOR
+	string
+	default "calao"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "usb_a9263"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263,SYS_USE_DATAFLASH"
+
+endif
diff --git a/board/canmb/Kconfig b/board/canmb/Kconfig
new file mode 100644
index 0000000..40525d3
--- /dev/null
+++ b/board/canmb/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CANMB
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "canmb"
+
+config SYS_CONFIG_NAME
+	string
+	default "canmb"
+
+endif
diff --git a/board/chromebook-x86/coreboot/Kconfig b/board/chromebook-x86/coreboot/Kconfig
new file mode 100644
index 0000000..dfda07f
--- /dev/null
+++ b/board/chromebook-x86/coreboot/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_COREBOOT_X86
+
+config SYS_CPU
+	string
+	default "x86"
+
+config SYS_BOARD
+	string
+	default "coreboot"
+
+config SYS_VENDOR
+	string
+	default "chromebook-x86"
+
+config SYS_SOC
+	string
+	default "coreboot"
+
+config SYS_CONFIG_NAME
+	string
+	default "coreboot"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0x01110000"
+
+endif
diff --git a/board/cloudengines/pogo_e02/Kconfig b/board/cloudengines/pogo_e02/Kconfig
new file mode 100644
index 0000000..149a1a2
--- /dev/null
+++ b/board/cloudengines/pogo_e02/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_POGO_E02
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "pogo_e02"
+
+config SYS_VENDOR
+	string
+	default "cloudengines"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "pogo_e02"
+
+endif
diff --git a/board/cm-bf527/Kconfig b/board/cm-bf527/Kconfig
new file mode 100644
index 0000000..1cfb3e8
--- /dev/null
+++ b/board/cm-bf527/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CM_BF527
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "cm-bf527"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm-bf527"
+
+endif
diff --git a/board/cm-bf533/Kconfig b/board/cm-bf533/Kconfig
new file mode 100644
index 0000000..4e17410
--- /dev/null
+++ b/board/cm-bf533/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CM_BF533
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "cm-bf533"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm-bf533"
+
+endif
diff --git a/board/cm-bf537e/Kconfig b/board/cm-bf537e/Kconfig
new file mode 100644
index 0000000..0af6e21
--- /dev/null
+++ b/board/cm-bf537e/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CM_BF537E
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "cm-bf537e"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm-bf537e"
+
+endif
diff --git a/board/cm-bf537u/Kconfig b/board/cm-bf537u/Kconfig
new file mode 100644
index 0000000..2f087a2
--- /dev/null
+++ b/board/cm-bf537u/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CM_BF537U
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "cm-bf537u"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm-bf537u"
+
+endif
diff --git a/board/cm-bf548/Kconfig b/board/cm-bf548/Kconfig
new file mode 100644
index 0000000..04a8b96
--- /dev/null
+++ b/board/cm-bf548/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CM_BF548
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "cm-bf548"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm-bf548"
+
+endif
diff --git a/board/cm-bf561/Kconfig b/board/cm-bf561/Kconfig
new file mode 100644
index 0000000..0dcc444
--- /dev/null
+++ b/board/cm-bf561/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CM_BF561
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "cm-bf561"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm-bf561"
+
+endif
diff --git a/board/cm4008/Kconfig b/board/cm4008/Kconfig
new file mode 100644
index 0000000..397794d
--- /dev/null
+++ b/board/cm4008/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_CM4008
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "cm4008"
+
+config SYS_SOC
+	string
+	default "ks8695"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm4008"
+
+endif
diff --git a/board/cm41xx/Kconfig b/board/cm41xx/Kconfig
new file mode 100644
index 0000000..ae2831e
--- /dev/null
+++ b/board/cm41xx/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_CM41XX
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "cm41xx"
+
+config SYS_SOC
+	string
+	default "ks8695"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm41xx"
+
+endif
diff --git a/board/cm5200/Kconfig b/board/cm5200/Kconfig
new file mode 100644
index 0000000..c34aa10
--- /dev/null
+++ b/board/cm5200/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CM5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "cm5200"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm5200"
+
+endif
diff --git a/board/cmi/Kconfig b/board/cmi/Kconfig
new file mode 100644
index 0000000..74413a4
--- /dev/null
+++ b/board/cmi/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CMI_MPC5XX
+
+config SYS_CPU
+	string
+	default "mpc5xx"
+
+config SYS_BOARD
+	string
+	default "cmi"
+
+config SYS_CONFIG_NAME
+	string
+	default "cmi_mpc5xx"
+
+endif
diff --git a/board/cobra5272/Kconfig b/board/cobra5272/Kconfig
new file mode 100644
index 0000000..6e55d43
--- /dev/null
+++ b/board/cobra5272/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_COBRA5272
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "cobra5272"
+
+config SYS_CONFIG_NAME
+	string
+	default "cobra5272"
+
+endif
diff --git a/board/cogent/Kconfig b/board/cogent/Kconfig
new file mode 100644
index 0000000..2d80420
--- /dev/null
+++ b/board/cogent/Kconfig
@@ -0,0 +1,31 @@
+if TARGET_COGENT_MPC8260
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "cogent"
+
+config SYS_CONFIG_NAME
+	string
+	default "cogent_mpc8260"
+
+endif
+
+if TARGET_COGENT_MPC8XX
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "cogent"
+
+config SYS_CONFIG_NAME
+	string
+	default "cogent_mpc8xx"
+
+endif
diff --git a/board/comelit/dig297/Kconfig b/board/comelit/dig297/Kconfig
new file mode 100644
index 0000000..d7a2bf2
--- /dev/null
+++ b/board/comelit/dig297/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DIG297
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "dig297"
+
+config SYS_VENDOR
+	string
+	default "comelit"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "dig297"
+
+endif
diff --git a/board/compal/paz00/Kconfig b/board/compal/paz00/Kconfig
new file mode 100644
index 0000000..4f0f09f
--- /dev/null
+++ b/board/compal/paz00/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_PAZ00
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "paz00"
+
+config SYS_VENDOR
+	string
+	default "compal"
+
+config SYS_SOC
+	string
+	default "tegra20"
+
+config SYS_CONFIG_NAME
+	string
+	default "paz00"
+
+endif
diff --git a/board/compulab/cm_t335/Kconfig b/board/compulab/cm_t335/Kconfig
new file mode 100644
index 0000000..4a1adf3
--- /dev/null
+++ b/board/compulab/cm_t335/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_CM_T335
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "cm_t335"
+
+config SYS_VENDOR
+	string
+	default "compulab"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm_t335"
+
+endif
diff --git a/board/compulab/cm_t35/Kconfig b/board/compulab/cm_t35/Kconfig
new file mode 100644
index 0000000..fd960bc
--- /dev/null
+++ b/board/compulab/cm_t35/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_CM_T35
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "cm_t35"
+
+config SYS_VENDOR
+	string
+	default "compulab"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm_t35"
+
+endif
diff --git a/board/compulab/cm_t54/Kconfig b/board/compulab/cm_t54/Kconfig
new file mode 100644
index 0000000..0fe3692
--- /dev/null
+++ b/board/compulab/cm_t54/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_CM_T54
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "cm_t54"
+
+config SYS_VENDOR
+	string
+	default "compulab"
+
+config SYS_SOC
+	string
+	default "omap5"
+
+config SYS_CONFIG_NAME
+	string
+	default "cm_t54"
+
+endif
diff --git a/board/compulab/trimslice/Kconfig b/board/compulab/trimslice/Kconfig
new file mode 100644
index 0000000..e545f0c
--- /dev/null
+++ b/board/compulab/trimslice/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_TRIMSLICE
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "trimslice"
+
+config SYS_VENDOR
+	string
+	default "compulab"
+
+config SYS_SOC
+	string
+	default "tegra20"
+
+config SYS_CONFIG_NAME
+	string
+	default "trimslice"
+
+endif
diff --git a/board/congatec/cgtqmx6eval/Kconfig b/board/congatec/cgtqmx6eval/Kconfig
new file mode 100644
index 0000000..1e15505
--- /dev/null
+++ b/board/congatec/cgtqmx6eval/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_CGTQMX6QEVAL
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "cgtqmx6eval"
+
+config SYS_VENDOR
+	string
+	default "congatec"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "cgtqmx6eval"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg,MX6Q"
+
+endif
diff --git a/board/corscience/tricorder/Kconfig b/board/corscience/tricorder/Kconfig
new file mode 100644
index 0000000..e942758
--- /dev/null
+++ b/board/corscience/tricorder/Kconfig
@@ -0,0 +1,51 @@
+if TARGET_TRICORDER
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "tricorder"
+
+config SYS_VENDOR
+	string
+	default "corscience"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "tricorder"
+
+endif
+
+if TARGET_TRICORDER_FLASH
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "tricorder"
+
+config SYS_VENDOR
+	string
+	default "corscience"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "tricorder"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "FLASHCARD"
+
+endif
diff --git a/board/cpc45/Kconfig b/board/cpc45/Kconfig
new file mode 100644
index 0000000..79a1070
--- /dev/null
+++ b/board/cpc45/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_CPC45
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "cpc45"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPC45"
+
+endif
+
+if TARGET_CPC45_ROMBOOT
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "cpc45"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPC45"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOOT_ROM"
+
+endif
diff --git a/board/cpu86/Kconfig b/board/cpu86/Kconfig
new file mode 100644
index 0000000..4c875fd
--- /dev/null
+++ b/board/cpu86/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_CPU86
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "cpu86"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPU86"
+
+endif
+
+if TARGET_CPU86_ROMBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "cpu86"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPU86"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOOT_ROM"
+
+endif
diff --git a/board/cpu87/Kconfig b/board/cpu87/Kconfig
new file mode 100644
index 0000000..d49fbb4
--- /dev/null
+++ b/board/cpu87/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_CPU87
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "cpu87"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPU87"
+
+endif
+
+if TARGET_CPU87_ROMBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "cpu87"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPU87"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOOT_ROM"
+
+endif
diff --git a/board/cray/L1/Kconfig b/board/cray/L1/Kconfig
new file mode 100644
index 0000000..ff52333
--- /dev/null
+++ b/board/cray/L1/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_CRAYL1
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "L1"
+
+config SYS_VENDOR
+	string
+	default "cray"
+
+config SYS_CONFIG_NAME
+	string
+	default "CRAYL1"
+
+endif
diff --git a/board/creative/xfi3/Kconfig b/board/creative/xfi3/Kconfig
new file mode 100644
index 0000000..9baf515
--- /dev/null
+++ b/board/creative/xfi3/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_XFI3
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "xfi3"
+
+config SYS_VENDOR
+	string
+	default "creative"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "xfi3"
+
+endif
diff --git a/board/csb272/Kconfig b/board/csb272/Kconfig
new file mode 100644
index 0000000..d59b66b
--- /dev/null
+++ b/board/csb272/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CSB272
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "csb272"
+
+config SYS_CONFIG_NAME
+	string
+	default "csb272"
+
+endif
diff --git a/board/csb472/Kconfig b/board/csb472/Kconfig
new file mode 100644
index 0000000..cb89488
--- /dev/null
+++ b/board/csb472/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CSB472
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "csb472"
+
+config SYS_CONFIG_NAME
+	string
+	default "csb472"
+
+endif
diff --git a/board/cu824/Kconfig b/board/cu824/Kconfig
new file mode 100644
index 0000000..61e6753
--- /dev/null
+++ b/board/cu824/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_CU824
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "cu824"
+
+config SYS_CONFIG_NAME
+	string
+	default "CU824"
+
+endif
diff --git a/board/d-link/dns325/Kconfig b/board/d-link/dns325/Kconfig
new file mode 100644
index 0000000..dea6071
--- /dev/null
+++ b/board/d-link/dns325/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DNS325
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "dns325"
+
+config SYS_VENDOR
+	string
+	default "d-link"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "dns325"
+
+endif
diff --git a/board/dave/PPChameleonEVB/Kconfig b/board/dave/PPChameleonEVB/Kconfig
new file mode 100644
index 0000000..6061489
--- /dev/null
+++ b/board/dave/PPChameleonEVB/Kconfig
@@ -0,0 +1,235 @@
+if TARGET_CATCENTER
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "PPChameleonEVB"
+
+config SYS_VENDOR
+	string
+	default "dave"
+
+config SYS_CONFIG_NAME
+	string
+	default "CATcenter"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPCHAMELEON_MODULE_MODEL=1"
+
+endif
+
+if TARGET_CATCENTER_25
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "PPChameleonEVB"
+
+config SYS_VENDOR
+	string
+	default "dave"
+
+config SYS_CONFIG_NAME
+	string
+	default "CATcenter"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_25"
+
+endif
+
+if TARGET_CATCENTER_33
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "PPChameleonEVB"
+
+config SYS_VENDOR
+	string
+	default "dave"
+
+config SYS_CONFIG_NAME
+	string
+	default "CATcenter"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_33"
+
+endif
+
+if TARGET_PPCHAMELEONEVB
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "PPChameleonEVB"
+
+config SYS_VENDOR
+	string
+	default "dave"
+
+config SYS_CONFIG_NAME
+	string
+	default "PPChameleonEVB"
+
+endif
+
+if TARGET_PPCHAMELEONEVB_BA_25
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "PPChameleonEVB"
+
+config SYS_VENDOR
+	string
+	default "dave"
+
+config SYS_CONFIG_NAME
+	string
+	default "PPChameleonEVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPCHAMELEON_MODULE_MODEL=0,PPCHAMELEON_CLK_25"
+
+endif
+
+if TARGET_PPCHAMELEONEVB_BA_33
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "PPChameleonEVB"
+
+config SYS_VENDOR
+	string
+	default "dave"
+
+config SYS_CONFIG_NAME
+	string
+	default "PPChameleonEVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPCHAMELEON_MODULE_MODEL=0,PPCHAMELEON_CLK_33"
+
+endif
+
+if TARGET_PPCHAMELEONEVB_HI_25
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "PPChameleonEVB"
+
+config SYS_VENDOR
+	string
+	default "dave"
+
+config SYS_CONFIG_NAME
+	string
+	default "PPChameleonEVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPCHAMELEON_MODULE_MODEL=2,PPCHAMELEON_CLK_25"
+
+endif
+
+if TARGET_PPCHAMELEONEVB_HI_33
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "PPChameleonEVB"
+
+config SYS_VENDOR
+	string
+	default "dave"
+
+config SYS_CONFIG_NAME
+	string
+	default "PPChameleonEVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPCHAMELEON_MODULE_MODEL=2,PPCHAMELEON_CLK_33"
+
+endif
+
+if TARGET_PPCHAMELEONEVB_ME_25
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "PPChameleonEVB"
+
+config SYS_VENDOR
+	string
+	default "dave"
+
+config SYS_CONFIG_NAME
+	string
+	default "PPChameleonEVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_25"
+
+endif
+
+if TARGET_PPCHAMELEONEVB_ME_33
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "PPChameleonEVB"
+
+config SYS_VENDOR
+	string
+	default "dave"
+
+config SYS_CONFIG_NAME
+	string
+	default "PPChameleonEVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_33"
+
+endif
diff --git a/board/davedenx/aria/Kconfig b/board/davedenx/aria/Kconfig
new file mode 100644
index 0000000..ad9fb2a
--- /dev/null
+++ b/board/davedenx/aria/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_ARIA
+
+config SYS_CPU
+	string
+	default "mpc512x"
+
+config SYS_BOARD
+	string
+	default "aria"
+
+config SYS_VENDOR
+	string
+	default "davedenx"
+
+config SYS_CONFIG_NAME
+	string
+	default "aria"
+
+endif
diff --git a/board/davedenx/qong/Kconfig b/board/davedenx/qong/Kconfig
new file mode 100644
index 0000000..51b9428
--- /dev/null
+++ b/board/davedenx/qong/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_QONG
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "qong"
+
+config SYS_VENDOR
+	string
+	default "davedenx"
+
+config SYS_SOC
+	string
+	default "mx31"
+
+config SYS_CONFIG_NAME
+	string
+	default "qong"
+
+endif
diff --git a/board/davinci/da8xxevm/Kconfig b/board/davinci/da8xxevm/Kconfig
new file mode 100644
index 0000000..d43ebf2
--- /dev/null
+++ b/board/davinci/da8xxevm/Kconfig
@@ -0,0 +1,159 @@
+if TARGET_DA830EVM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "da8xxevm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "da830evm"
+
+endif
+
+if TARGET_DA850_AM18XXEVM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "da8xxevm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "da850evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "DA850_AM18X_EVM,MAC_ADDR_IN_EEPROM,SYS_I2C_EEPROM_ADDR_LEN=2,SYS_I2C_EEPROM_ADDR=0x50"
+
+endif
+
+if TARGET_DA850EVM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "da8xxevm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "da850evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MAC_ADDR_IN_SPIFLASH"
+
+endif
+
+if TARGET_DA850EVM_DIRECT_NOR
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "da8xxevm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "da850evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MAC_ADDR_IN_SPIFLASH,USE_NOR,DIRECT_NOR_BOOT"
+
+endif
+
+if TARGET_HAWKBOARD
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "da8xxevm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "hawkboard"
+
+endif
+
+if TARGET_HAWKBOARD_UART
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "da8xxevm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "hawkboard"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "UART_U_BOOT"
+
+endif
diff --git a/board/davinci/dm355evm/Kconfig b/board/davinci/dm355evm/Kconfig
new file mode 100644
index 0000000..2dbb509
--- /dev/null
+++ b/board/davinci/dm355evm/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DAVINCI_DM355EVM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "dm355evm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "davinci_dm355evm"
+
+endif
diff --git a/board/davinci/dm355leopard/Kconfig b/board/davinci/dm355leopard/Kconfig
new file mode 100644
index 0000000..345704f
--- /dev/null
+++ b/board/davinci/dm355leopard/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DAVINCI_DM355LEOPARD
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "dm355leopard"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "davinci_dm355leopard"
+
+endif
diff --git a/board/davinci/dm365evm/Kconfig b/board/davinci/dm365evm/Kconfig
new file mode 100644
index 0000000..d5f7ea2
--- /dev/null
+++ b/board/davinci/dm365evm/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DAVINCI_DM365EVM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "dm365evm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "davinci_dm365evm"
+
+endif
diff --git a/board/davinci/dm6467evm/Kconfig b/board/davinci/dm6467evm/Kconfig
new file mode 100644
index 0000000..c3550e2
--- /dev/null
+++ b/board/davinci/dm6467evm/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_DAVINCI_DM6467EVM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "dm6467evm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "davinci_dm6467evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "REFCLK_FREQ=27000000"
+
+endif
+
+if TARGET_DAVINCI_DM6467TEVM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "dm6467evm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "davinci_dm6467evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "DAVINCI_DM6467TEVM,REFCLK_FREQ=33000000"
+
+endif
diff --git a/board/davinci/dvevm/Kconfig b/board/davinci/dvevm/Kconfig
new file mode 100644
index 0000000..7a2d86b
--- /dev/null
+++ b/board/davinci/dvevm/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DAVINCI_DVEVM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "dvevm"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "davinci_dvevm"
+
+endif
diff --git a/board/davinci/ea20/Kconfig b/board/davinci/ea20/Kconfig
new file mode 100644
index 0000000..afab821
--- /dev/null
+++ b/board/davinci/ea20/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_EA20
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "ea20"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "ea20"
+
+endif
diff --git a/board/davinci/schmoogie/Kconfig b/board/davinci/schmoogie/Kconfig
new file mode 100644
index 0000000..45401e4
--- /dev/null
+++ b/board/davinci/schmoogie/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DAVINCI_SCHMOOGIE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "schmoogie"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "davinci_schmoogie"
+
+endif
diff --git a/board/davinci/sffsdr/Kconfig b/board/davinci/sffsdr/Kconfig
new file mode 100644
index 0000000..aeb7ef2
--- /dev/null
+++ b/board/davinci/sffsdr/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DAVINCI_SFFSDR
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "sffsdr"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "davinci_sffsdr"
+
+endif
diff --git a/board/davinci/sonata/Kconfig b/board/davinci/sonata/Kconfig
new file mode 100644
index 0000000..2cf5035
--- /dev/null
+++ b/board/davinci/sonata/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DAVINCI_SONATA
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "sonata"
+
+config SYS_VENDOR
+	string
+	default "davinci"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "davinci_sonata"
+
+endif
diff --git a/board/dbau1x00/Kconfig b/board/dbau1x00/Kconfig
new file mode 100644
index 0000000..2fa1272
--- /dev/null
+++ b/board/dbau1x00/Kconfig
@@ -0,0 +1,119 @@
+if TARGET_DBAU1000
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "dbau1x00"
+
+config SYS_SOC
+	string
+	default "au1x00"
+
+config SYS_CONFIG_NAME
+	string
+	default "dbau1x00"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "DBAU1000"
+
+endif
+
+if TARGET_DBAU1100
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "dbau1x00"
+
+config SYS_SOC
+	string
+	default "au1x00"
+
+config SYS_CONFIG_NAME
+	string
+	default "dbau1x00"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "DBAU1100"
+
+endif
+
+if TARGET_DBAU1500
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "dbau1x00"
+
+config SYS_SOC
+	string
+	default "au1x00"
+
+config SYS_CONFIG_NAME
+	string
+	default "dbau1x00"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "DBAU1500"
+
+endif
+
+if TARGET_DBAU1550
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "dbau1x00"
+
+config SYS_SOC
+	string
+	default "au1x00"
+
+config SYS_CONFIG_NAME
+	string
+	default "dbau1x00"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "DBAU1550"
+
+endif
+
+if TARGET_DBAU1550_EL
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "dbau1x00"
+
+config SYS_SOC
+	string
+	default "au1x00"
+
+config SYS_CONFIG_NAME
+	string
+	default "dbau1x00"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "DBAU1550,SYS_LITTLE_ENDIAN"
+
+endif
diff --git a/board/denx/m28evk/Kconfig b/board/denx/m28evk/Kconfig
new file mode 100644
index 0000000..05f79ad
--- /dev/null
+++ b/board/denx/m28evk/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_M28EVK
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "m28evk"
+
+config SYS_VENDOR
+	string
+	default "denx"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "m28evk"
+
+endif
diff --git a/board/denx/m53evk/Kconfig b/board/denx/m53evk/Kconfig
new file mode 100644
index 0000000..0629a4f
--- /dev/null
+++ b/board/denx/m53evk/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_M53EVK
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "m53evk"
+
+config SYS_VENDOR
+	string
+	default "denx"
+
+config SYS_SOC
+	string
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	string
+	default "m53evk"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/denx/m53evk/imximage.cfg"
+
+endif
diff --git a/board/dnp5370/Kconfig b/board/dnp5370/Kconfig
new file mode 100644
index 0000000..36eb25b
--- /dev/null
+++ b/board/dnp5370/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_DNP5370
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "dnp5370"
+
+config SYS_CONFIG_NAME
+	string
+	default "dnp5370"
+
+endif
diff --git a/board/eXalion/Kconfig b/board/eXalion/Kconfig
new file mode 100644
index 0000000..3cfa163
--- /dev/null
+++ b/board/eXalion/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_EXALION
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "eXalion"
+
+config SYS_CONFIG_NAME
+	string
+	default "eXalion"
+
+endif
diff --git a/board/earthlcd/favr-32-ezkit/Kconfig b/board/earthlcd/favr-32-ezkit/Kconfig
new file mode 100644
index 0000000..08d3b3c
--- /dev/null
+++ b/board/earthlcd/favr-32-ezkit/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_FAVR_32_EZKIT
+
+config SYS_CPU
+	string
+	default "at32ap"
+
+config SYS_BOARD
+	string
+	default "favr-32-ezkit"
+
+config SYS_VENDOR
+	string
+	default "earthlcd"
+
+config SYS_SOC
+	string
+	default "at32ap700x"
+
+config SYS_CONFIG_NAME
+	string
+	default "favr-32-ezkit"
+
+endif
diff --git a/board/egnite/ethernut5/Kconfig b/board/egnite/ethernut5/Kconfig
new file mode 100644
index 0000000..018f124
--- /dev/null
+++ b/board/egnite/ethernut5/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_ETHERNUT5
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "ethernut5"
+
+config SYS_VENDOR
+	string
+	default "egnite"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "ethernut5"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9XE"
+
+endif
diff --git a/board/eltec/elppc/Kconfig b/board/eltec/elppc/Kconfig
new file mode 100644
index 0000000..548f79b
--- /dev/null
+++ b/board/eltec/elppc/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_ELPPC
+
+config SYS_CPU
+	string
+	default "74xx_7xx"
+
+config SYS_BOARD
+	string
+	default "elppc"
+
+config SYS_VENDOR
+	string
+	default "eltec"
+
+config SYS_CONFIG_NAME
+	string
+	default "ELPPC"
+
+endif
diff --git a/board/eltec/mhpc/Kconfig b/board/eltec/mhpc/Kconfig
new file mode 100644
index 0000000..a0de00c
--- /dev/null
+++ b/board/eltec/mhpc/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MHPC
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "mhpc"
+
+config SYS_VENDOR
+	string
+	default "eltec"
+
+config SYS_CONFIG_NAME
+	string
+	default "MHPC"
+
+endif
diff --git a/board/embest/mx6boards/Kconfig b/board/embest/mx6boards/Kconfig
new file mode 100644
index 0000000..df03c90
--- /dev/null
+++ b/board/embest/mx6boards/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_MARSBOARD
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx6boards"
+
+config SYS_VENDOR
+	string
+	default "embest"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "embestmx6boards"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024,ENV_IS_IN_SPI_FLASH"
+
+endif
+
+if TARGET_RIOTBOARD
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx6boards"
+
+config SYS_VENDOR
+	string
+	default "embest"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "embestmx6boards"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,MX6S,DDR_MB=1024,ENV_IS_IN_MMC"
+
+endif
diff --git a/board/emk/top5200/Kconfig b/board/emk/top5200/Kconfig
new file mode 100644
index 0000000..ce05fec
--- /dev/null
+++ b/board/emk/top5200/Kconfig
@@ -0,0 +1,71 @@
+if TARGET_EVAL5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "top5200"
+
+config SYS_VENDOR
+	string
+	default "emk"
+
+config SYS_CONFIG_NAME
+	string
+	default "TOP5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "EVAL5200"
+
+endif
+
+if TARGET_MINI5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "top5200"
+
+config SYS_VENDOR
+	string
+	default "emk"
+
+config SYS_CONFIG_NAME
+	string
+	default "TOP5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MINI5200"
+
+endif
+
+if TARGET_TOP5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "top5200"
+
+config SYS_VENDOR
+	string
+	default "emk"
+
+config SYS_CONFIG_NAME
+	string
+	default "TOP5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TOP5200"
+
+endif
diff --git a/board/emk/top860/Kconfig b/board/emk/top860/Kconfig
new file mode 100644
index 0000000..271dd32
--- /dev/null
+++ b/board/emk/top860/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_TOP860
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "top860"
+
+config SYS_VENDOR
+	string
+	default "emk"
+
+config SYS_CONFIG_NAME
+	string
+	default "TOP860"
+
+endif
diff --git a/board/emk/top9000/Kconfig b/board/emk/top9000/Kconfig
new file mode 100644
index 0000000..1e2a952
--- /dev/null
+++ b/board/emk/top9000/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_TOP9000EVAL_XE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "top9000"
+
+config SYS_VENDOR
+	string
+	default "emk"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "top9000"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "EVAL9000"
+
+endif
+
+if TARGET_TOP9000SU_XE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "top9000"
+
+config SYS_VENDOR
+	string
+	default "emk"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "top9000"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SU9000"
+
+endif
diff --git a/board/enbw/enbw_cmc/Kconfig b/board/enbw/enbw_cmc/Kconfig
new file mode 100644
index 0000000..e061e7e
--- /dev/null
+++ b/board/enbw/enbw_cmc/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ENBW_CMC
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "enbw_cmc"
+
+config SYS_VENDOR
+	string
+	default "enbw"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "enbw_cmc"
+
+endif
diff --git a/board/ep8248/Kconfig b/board/ep8248/Kconfig
new file mode 100644
index 0000000..75b82b5
--- /dev/null
+++ b/board/ep8248/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_EP8248
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "ep8248"
+
+config SYS_CONFIG_NAME
+	string
+	default "ep8248"
+
+endif
diff --git a/board/ep8260/Kconfig b/board/ep8260/Kconfig
new file mode 100644
index 0000000..0119669
--- /dev/null
+++ b/board/ep8260/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_EP8260
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "ep8260"
+
+config SYS_CONFIG_NAME
+	string
+	default "ep8260"
+
+endif
diff --git a/board/ep82xxm/Kconfig b/board/ep82xxm/Kconfig
new file mode 100644
index 0000000..afbde63
--- /dev/null
+++ b/board/ep82xxm/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_EP82XXM
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "ep82xxm"
+
+config SYS_CONFIG_NAME
+	string
+	default "ep82xxm"
+
+endif
diff --git a/board/esd/apc405/Kconfig b/board/esd/apc405/Kconfig
new file mode 100644
index 0000000..0acb0eb
--- /dev/null
+++ b/board/esd/apc405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_APC405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "apc405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "APC405"
+
+endif
diff --git a/board/esd/ar405/Kconfig b/board/esd/ar405/Kconfig
new file mode 100644
index 0000000..8de4512
--- /dev/null
+++ b/board/esd/ar405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_AR405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ar405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "AR405"
+
+endif
diff --git a/board/esd/ash405/Kconfig b/board/esd/ash405/Kconfig
new file mode 100644
index 0000000..cf50ab2
--- /dev/null
+++ b/board/esd/ash405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_ASH405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ash405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "ASH405"
+
+endif
diff --git a/board/esd/cms700/Kconfig b/board/esd/cms700/Kconfig
new file mode 100644
index 0000000..853e4c1
--- /dev/null
+++ b/board/esd/cms700/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_CMS700
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "cms700"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "CMS700"
+
+endif
diff --git a/board/esd/cpci2dp/Kconfig b/board/esd/cpci2dp/Kconfig
new file mode 100644
index 0000000..1528d8f
--- /dev/null
+++ b/board/esd/cpci2dp/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_CPCI2DP
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "cpci2dp"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPCI2DP"
+
+endif
diff --git a/board/esd/cpci405/Kconfig b/board/esd/cpci405/Kconfig
new file mode 100644
index 0000000..dd46ef8
--- /dev/null
+++ b/board/esd/cpci405/Kconfig
@@ -0,0 +1,79 @@
+if TARGET_CPCI405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "cpci405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPCI405"
+
+endif
+
+if TARGET_CPCI4052
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "cpci405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPCI4052"
+
+endif
+
+if TARGET_CPCI405AB
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "cpci405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPCI405AB"
+
+endif
+
+if TARGET_CPCI405DT
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "cpci405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPCI405DT"
+
+endif
diff --git a/board/esd/cpci5200/Kconfig b/board/esd/cpci5200/Kconfig
new file mode 100644
index 0000000..04c020a
--- /dev/null
+++ b/board/esd/cpci5200/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_CPCI5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "cpci5200"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpci5200"
+
+endif
diff --git a/board/esd/cpci750/Kconfig b/board/esd/cpci750/Kconfig
new file mode 100644
index 0000000..f44739a
--- /dev/null
+++ b/board/esd/cpci750/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_CPCI750
+
+config SYS_CPU
+	string
+	default "74xx_7xx"
+
+config SYS_BOARD
+	string
+	default "cpci750"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPCI750"
+
+endif
diff --git a/board/esd/cpciiser4/Kconfig b/board/esd/cpciiser4/Kconfig
new file mode 100644
index 0000000..b0987bb
--- /dev/null
+++ b/board/esd/cpciiser4/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_CPCIISER4
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "cpciiser4"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "CPCIISER4"
+
+endif
diff --git a/board/esd/dp405/Kconfig b/board/esd/dp405/Kconfig
new file mode 100644
index 0000000..db81298
--- /dev/null
+++ b/board/esd/dp405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_DP405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "dp405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "DP405"
+
+endif
diff --git a/board/esd/du405/Kconfig b/board/esd/du405/Kconfig
new file mode 100644
index 0000000..4d19daf
--- /dev/null
+++ b/board/esd/du405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_DU405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "du405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "DU405"
+
+endif
diff --git a/board/esd/du440/Kconfig b/board/esd/du440/Kconfig
new file mode 100644
index 0000000..23c20df
--- /dev/null
+++ b/board/esd/du440/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_DU440
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "du440"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "DU440"
+
+endif
diff --git a/board/esd/hh405/Kconfig b/board/esd/hh405/Kconfig
new file mode 100644
index 0000000..59a784c
--- /dev/null
+++ b/board/esd/hh405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_HH405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "hh405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "HH405"
+
+endif
diff --git a/board/esd/hub405/Kconfig b/board/esd/hub405/Kconfig
new file mode 100644
index 0000000..12df46d
--- /dev/null
+++ b/board/esd/hub405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_HUB405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "hub405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "HUB405"
+
+endif
diff --git a/board/esd/mecp5123/Kconfig b/board/esd/mecp5123/Kconfig
new file mode 100644
index 0000000..0af72af
--- /dev/null
+++ b/board/esd/mecp5123/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MECP5123
+
+config SYS_CPU
+	string
+	default "mpc512x"
+
+config SYS_BOARD
+	string
+	default "mecp5123"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "mecp5123"
+
+endif
diff --git a/board/esd/mecp5200/Kconfig b/board/esd/mecp5200/Kconfig
new file mode 100644
index 0000000..2bdad29
--- /dev/null
+++ b/board/esd/mecp5200/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MECP5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mecp5200"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "mecp5200"
+
+endif
diff --git a/board/esd/meesc/Kconfig b/board/esd/meesc/Kconfig
new file mode 100644
index 0000000..a07f028
--- /dev/null
+++ b/board/esd/meesc/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_MEESC
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "meesc"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "meesc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_MEESC_DATAFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "meesc"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "meesc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263,SYS_USE_DATAFLASH"
+
+endif
diff --git a/board/esd/ocrtc/Kconfig b/board/esd/ocrtc/Kconfig
new file mode 100644
index 0000000..79c37bb
--- /dev/null
+++ b/board/esd/ocrtc/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_OCRTC
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ocrtc"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "OCRTC"
+
+endif
diff --git a/board/esd/otc570/Kconfig b/board/esd/otc570/Kconfig
new file mode 100644
index 0000000..6ea40af
--- /dev/null
+++ b/board/esd/otc570/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_OTC570
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "otc570"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "otc570"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263,SYS_USE_NANDFLASH"
+
+endif
+
+if TARGET_OTC570_DATAFLASH
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "otc570"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "otc570"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263,SYS_USE_DATAFLASH"
+
+endif
diff --git a/board/esd/pci405/Kconfig b/board/esd/pci405/Kconfig
new file mode 100644
index 0000000..ebf173c
--- /dev/null
+++ b/board/esd/pci405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_PCI405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "pci405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "PCI405"
+
+endif
diff --git a/board/esd/pf5200/Kconfig b/board/esd/pf5200/Kconfig
new file mode 100644
index 0000000..8e91d61
--- /dev/null
+++ b/board/esd/pf5200/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_PF5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "pf5200"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "pf5200"
+
+endif
diff --git a/board/esd/plu405/Kconfig b/board/esd/plu405/Kconfig
new file mode 100644
index 0000000..52c68e0
--- /dev/null
+++ b/board/esd/plu405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_PLU405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "plu405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "PLU405"
+
+endif
diff --git a/board/esd/pmc405/Kconfig b/board/esd/pmc405/Kconfig
new file mode 100644
index 0000000..71cc6c4
--- /dev/null
+++ b/board/esd/pmc405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_PMC405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "pmc405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "PMC405"
+
+endif
diff --git a/board/esd/pmc405de/Kconfig b/board/esd/pmc405de/Kconfig
new file mode 100644
index 0000000..ba3d480
--- /dev/null
+++ b/board/esd/pmc405de/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_PMC405DE
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "pmc405de"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "PMC405DE"
+
+endif
diff --git a/board/esd/pmc440/Kconfig b/board/esd/pmc440/Kconfig
new file mode 100644
index 0000000..8af4cd4
--- /dev/null
+++ b/board/esd/pmc440/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_PMC440
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "pmc440"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "PMC440"
+
+endif
diff --git a/board/esd/tasreg/Kconfig b/board/esd/tasreg/Kconfig
new file mode 100644
index 0000000..8fb80dc
--- /dev/null
+++ b/board/esd/tasreg/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_TASREG
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "tasreg"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "TASREG"
+
+endif
diff --git a/board/esd/vme8349/Kconfig b/board/esd/vme8349/Kconfig
new file mode 100644
index 0000000..21e84eb
--- /dev/null
+++ b/board/esd/vme8349/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_CADDY2
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "vme8349"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "vme8349"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CADDY2"
+
+endif
+
+if TARGET_VME8349
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "vme8349"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "vme8349"
+
+endif
diff --git a/board/esd/voh405/Kconfig b/board/esd/voh405/Kconfig
new file mode 100644
index 0000000..04742a0
--- /dev/null
+++ b/board/esd/voh405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_VOH405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "voh405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "VOH405"
+
+endif
diff --git a/board/esd/vom405/Kconfig b/board/esd/vom405/Kconfig
new file mode 100644
index 0000000..3c675da
--- /dev/null
+++ b/board/esd/vom405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_VOM405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "vom405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "VOM405"
+
+endif
diff --git a/board/esd/wuh405/Kconfig b/board/esd/wuh405/Kconfig
new file mode 100644
index 0000000..a74ab11
--- /dev/null
+++ b/board/esd/wuh405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_WUH405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "wuh405"
+
+config SYS_VENDOR
+	string
+	default "esd"
+
+config SYS_CONFIG_NAME
+	string
+	default "WUH405"
+
+endif
diff --git a/board/esg/ima3-mx53/Kconfig b/board/esg/ima3-mx53/Kconfig
new file mode 100644
index 0000000..f792211
--- /dev/null
+++ b/board/esg/ima3-mx53/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_IMA3_MX53
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "ima3-mx53"
+
+config SYS_VENDOR
+	string
+	default "esg"
+
+config SYS_SOC
+	string
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	string
+	default "ima3-mx53"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/esg/ima3-mx53/imximage.cfg"
+
+endif
diff --git a/board/espt/Kconfig b/board/espt/Kconfig
new file mode 100644
index 0000000..7527e34
--- /dev/null
+++ b/board/espt/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_ESPT
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "espt"
+
+config SYS_CONFIG_NAME
+	string
+	default "espt"
+
+endif
diff --git a/board/esteem192e/Kconfig b/board/esteem192e/Kconfig
new file mode 100644
index 0000000..7ea3c17
--- /dev/null
+++ b/board/esteem192e/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_ESTEEM192E
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "esteem192e"
+
+config SYS_CONFIG_NAME
+	string
+	default "ESTEEM192E"
+
+endif
diff --git a/board/etin/debris/Kconfig b/board/etin/debris/Kconfig
new file mode 100644
index 0000000..b21f3ae
--- /dev/null
+++ b/board/etin/debris/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_DEBRIS
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "debris"
+
+config SYS_VENDOR
+	string
+	default "etin"
+
+config SYS_CONFIG_NAME
+	string
+	default "debris"
+
+endif
diff --git a/board/etin/kvme080/Kconfig b/board/etin/kvme080/Kconfig
new file mode 100644
index 0000000..01a8132
--- /dev/null
+++ b/board/etin/kvme080/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_KVME080
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "kvme080"
+
+config SYS_VENDOR
+	string
+	default "etin"
+
+config SYS_CONFIG_NAME
+	string
+	default "kvme080"
+
+endif
diff --git a/board/eukrea/cpu9260/Kconfig b/board/eukrea/cpu9260/Kconfig
new file mode 100644
index 0000000..690b6d4
--- /dev/null
+++ b/board/eukrea/cpu9260/Kconfig
@@ -0,0 +1,223 @@
+if TARGET_CPU9260
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "cpu9260"
+
+config SYS_VENDOR
+	string
+	default "eukrea"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpu9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CPU9260"
+
+endif
+
+if TARGET_CPU9260_128M
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "cpu9260"
+
+config SYS_VENDOR
+	string
+	default "eukrea"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpu9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CPU9260,CPU9260_128M"
+
+endif
+
+if TARGET_CPU9260_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "cpu9260"
+
+config SYS_VENDOR
+	string
+	default "eukrea"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpu9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CPU9260,NANDBOOT"
+
+endif
+
+if TARGET_CPU9260_NAND_128M
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "cpu9260"
+
+config SYS_VENDOR
+	string
+	default "eukrea"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpu9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CPU9260,CPU9260_128M,NANDBOOT"
+
+endif
+
+if TARGET_CPU9G20
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "cpu9260"
+
+config SYS_VENDOR
+	string
+	default "eukrea"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpu9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CPU9G20"
+
+endif
+
+if TARGET_CPU9G20_128M
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "cpu9260"
+
+config SYS_VENDOR
+	string
+	default "eukrea"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpu9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CPU9G20,CPU9G20_128M"
+
+endif
+
+if TARGET_CPU9G20_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "cpu9260"
+
+config SYS_VENDOR
+	string
+	default "eukrea"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpu9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CPU9G20,NANDBOOT"
+
+endif
+
+if TARGET_CPU9G20_NAND_128M
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "cpu9260"
+
+config SYS_VENDOR
+	string
+	default "eukrea"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpu9260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CPU9G20,CPU9G20_128M,NANDBOOT"
+
+endif
diff --git a/board/eukrea/cpuat91/Kconfig b/board/eukrea/cpuat91/Kconfig
new file mode 100644
index 0000000..8a17787
--- /dev/null
+++ b/board/eukrea/cpuat91/Kconfig
@@ -0,0 +1,51 @@
+if TARGET_CPUAT91
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "cpuat91"
+
+config SYS_VENDOR
+	string
+	default "eukrea"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpuat91"
+
+endif
+
+if TARGET_CPUAT91_RAM
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "cpuat91"
+
+config SYS_VENDOR
+	string
+	default "eukrea"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "cpuat91"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT"
+
+endif
diff --git a/board/evb64260/Kconfig b/board/evb64260/Kconfig
new file mode 100644
index 0000000..7089541
--- /dev/null
+++ b/board/evb64260/Kconfig
@@ -0,0 +1,31 @@
+if TARGET_P3G4
+
+config SYS_CPU
+	string
+	default "74xx_7xx"
+
+config SYS_BOARD
+	string
+	default "evb64260"
+
+config SYS_CONFIG_NAME
+	string
+	default "P3G4"
+
+endif
+
+if TARGET_ZUMA
+
+config SYS_CPU
+	string
+	default "74xx_7xx"
+
+config SYS_BOARD
+	string
+	default "evb64260"
+
+config SYS_CONFIG_NAME
+	string
+	default "ZUMA"
+
+endif
diff --git a/board/exmeritus/hww1u1a/Kconfig b/board/exmeritus/hww1u1a/Kconfig
new file mode 100644
index 0000000..374945d
--- /dev/null
+++ b/board/exmeritus/hww1u1a/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_HWW1U1A
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "hww1u1a"
+
+config SYS_VENDOR
+	string
+	default "exmeritus"
+
+config SYS_CONFIG_NAME
+	string
+	default "HWW1U1A"
+
+endif
diff --git a/board/fads/Kconfig b/board/fads/Kconfig
new file mode 100644
index 0000000..ab2b37d
--- /dev/null
+++ b/board/fads/Kconfig
@@ -0,0 +1,31 @@
+if TARGET_MPC86XADS
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "fads"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC86xADS"
+
+endif
+
+if TARGET_MPC885ADS
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "fads"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC885ADS"
+
+endif
diff --git a/board/faraday/a320evb/Kconfig b/board/faraday/a320evb/Kconfig
new file mode 100644
index 0000000..353c873
--- /dev/null
+++ b/board/faraday/a320evb/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_A320EVB
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "a320evb"
+
+config SYS_VENDOR
+	string
+	default "faraday"
+
+config SYS_SOC
+	string
+	default "a320"
+
+config SYS_CONFIG_NAME
+	string
+	default "a320evb"
+
+endif
diff --git a/board/flagadm/Kconfig b/board/flagadm/Kconfig
new file mode 100644
index 0000000..53e570c
--- /dev/null
+++ b/board/flagadm/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_FLAGADM
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "flagadm"
+
+config SYS_CONFIG_NAME
+	string
+	default "FLAGADM"
+
+endif
diff --git a/board/freescale/b4860qds/Kconfig b/board/freescale/b4860qds/Kconfig
new file mode 100644
index 0000000..cb2d0ce
--- /dev/null
+++ b/board/freescale/b4860qds/Kconfig
@@ -0,0 +1,191 @@
+if TARGET_B4420QDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "b4860qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "B4860QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_B4420"
+
+endif
+
+if TARGET_B4420QDS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "b4860qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "B4860QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_B4420,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+
+endif
+
+if TARGET_B4420QDS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "b4860qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "B4860QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_B4420,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_B4860QDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "b4860qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "B4860QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_B4860"
+
+endif
+
+if TARGET_B4860QDS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "b4860qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "B4860QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_B4860,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+
+endif
+
+if TARGET_B4860QDS_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "b4860qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "B4860QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_B4860,SECURE_BOOT"
+
+endif
+
+if TARGET_B4860QDS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "b4860qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "B4860QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_B4860,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_B4860QDS_SRIO_PCIE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "b4860qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "B4860QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_B4860,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+
+endif
diff --git a/board/freescale/bsc9131rdb/Kconfig b/board/freescale/bsc9131rdb/Kconfig
new file mode 100644
index 0000000..127ca32
--- /dev/null
+++ b/board/freescale/bsc9131rdb/Kconfig
@@ -0,0 +1,95 @@
+if TARGET_BSC9131RDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9131rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9131RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9131RDB,NAND"
+
+endif
+
+if TARGET_BSC9131RDB_NAND_SYSCLK100
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9131rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9131RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9131RDB,NAND,SYS_CLK_100"
+
+endif
+
+if TARGET_BSC9131RDB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9131rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9131RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9131RDB,SPIFLASH"
+
+endif
+
+if TARGET_BSC9131RDB_SPIFLASH_SYSCLK100
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9131rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9131RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9131RDB,SPIFLASH,SYS_CLK_100"
+
+endif
diff --git a/board/freescale/bsc9132qds/Kconfig b/board/freescale/bsc9132qds/Kconfig
new file mode 100644
index 0000000..6de32b3
--- /dev/null
+++ b/board/freescale/bsc9132qds/Kconfig
@@ -0,0 +1,383 @@
+if TARGET_BSC9132QDS_NAND_DDRCLK100
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,NAND,SYS_CLK_100_DDR_100"
+
+endif
+
+if TARGET_BSC9132QDS_NAND_DDRCLK100_SECURE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_100,SECURE_BOOT"
+
+endif
+
+if TARGET_BSC9132QDS_NAND_DDRCLK133
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,NAND,SYS_CLK_100_DDR_133"
+
+endif
+
+if TARGET_BSC9132QDS_NAND_DDRCLK133_SECURE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_133,SECURE_BOOT"
+
+endif
+
+if TARGET_BSC9132QDS_NOR_DDRCLK100
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SYS_CLK_100_DDR_100"
+
+endif
+
+if TARGET_BSC9132QDS_NOR_DDRCLK100_SECURE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SYS_CLK_100_DDR_100,SECURE_BOOT"
+
+endif
+
+if TARGET_BSC9132QDS_NOR_DDRCLK133
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SYS_CLK_100_DDR_133"
+
+endif
+
+if TARGET_BSC9132QDS_NOR_DDRCLK133_SECURE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SYS_CLK_100_DDR_133,SECURE_BOOT"
+
+endif
+
+if TARGET_BSC9132QDS_SDCARD_DDRCLK100
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100"
+
+endif
+
+if TARGET_BSC9132QDS_SDCARD_DDRCLK100_SECURE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100,SECURE_BOOT"
+
+endif
+
+if TARGET_BSC9132QDS_SDCARD_DDRCLK133
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133"
+
+endif
+
+if TARGET_BSC9132QDS_SDCARD_DDRCLK133_SECURE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133,SECURE_BOOT"
+
+endif
+
+if TARGET_BSC9132QDS_SPIFLASH_DDRCLK100
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100"
+
+endif
+
+if TARGET_BSC9132QDS_SPIFLASH_DDRCLK100_SECURE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100,SECURE_BOOT"
+
+endif
+
+if TARGET_BSC9132QDS_SPIFLASH_DDRCLK133
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133"
+
+endif
+
+if TARGET_BSC9132QDS_SPIFLASH_DDRCLK133_SECURE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "bsc9132qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "BSC9132QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133,SECURE_BOOT"
+
+endif
diff --git a/board/freescale/c29xpcie/Kconfig b/board/freescale/c29xpcie/Kconfig
new file mode 100644
index 0000000..9be847a
--- /dev/null
+++ b/board/freescale/c29xpcie/Kconfig
@@ -0,0 +1,71 @@
+if TARGET_C29XPCIE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "c29xpcie"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "C29XPCIE"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "C29XPCIE,36BIT"
+
+endif
+
+if TARGET_C29XPCIE_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "c29xpcie"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "C29XPCIE"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "C29XPCIE,36BIT,NAND"
+
+endif
+
+if TARGET_C29XPCIE_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "c29xpcie"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "C29XPCIE"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "C29XPCIE,36BIT,SPIFLASH"
+
+endif
diff --git a/board/freescale/corenet_ds/Kconfig b/board/freescale/corenet_ds/Kconfig
new file mode 100644
index 0000000..1f0626f
--- /dev/null
+++ b/board/freescale/corenet_ds/Kconfig
@@ -0,0 +1,487 @@
+if TARGET_P3041DS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P3041DS"
+
+endif
+
+if TARGET_P3041DS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P3041DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P3041DS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P3041DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P3041DS_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P3041DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SECURE_BOOT"
+
+endif
+
+if TARGET_P3041DS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P3041DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P3041DS_SRIO_PCIE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P3041DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P4080DS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P4080DS"
+
+endif
+
+if TARGET_P4080DS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P4080DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P4080DS_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P4080DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SECURE_BOOT"
+
+endif
+
+if TARGET_P4080DS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P4080DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P4080DS_SRIO_PCIE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P4080DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P5020DS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P5020DS"
+
+endif
+
+if TARGET_P5020DS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P5020DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P5020DS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P5020DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P5020DS_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P5020DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SECURE_BOOT"
+
+endif
+
+if TARGET_P5020DS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P5020DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P5020DS_SRIO_PCIE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P5020DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P5040DS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P5040DS"
+
+endif
+
+if TARGET_P5040DS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P5040DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P5040DS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P5040DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P5040DS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "corenet_ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P5040DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+
+endif
diff --git a/board/freescale/m5208evbe/Kconfig b/board/freescale/m5208evbe/Kconfig
new file mode 100644
index 0000000..9b1fa42
--- /dev/null
+++ b/board/freescale/m5208evbe/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_M5208EVBE
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "m5208evbe"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5208EVBE"
+
+endif
diff --git a/board/freescale/m52277evb/Kconfig b/board/freescale/m52277evb/Kconfig
new file mode 100644
index 0000000..c750bc1
--- /dev/null
+++ b/board/freescale/m52277evb/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_M52277EVB
+
+config SYS_CPU
+	string
+	default "mcf5227x"
+
+config SYS_BOARD
+	string
+	default "m52277evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M52277EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_SPANSION_BOOT,SYS_TEXT_BASE=0x00000000"
+
+endif
+
+if TARGET_M52277EVB_STMICRO
+
+config SYS_CPU
+	string
+	default "mcf5227x"
+
+config SYS_BOARD
+	string
+	default "m52277evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M52277EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CF_SBF,SYS_STMICRO_BOOT,SYS_TEXT_BASE=0x43E00000"
+
+endif
diff --git a/board/freescale/m5235evb/Kconfig b/board/freescale/m5235evb/Kconfig
new file mode 100644
index 0000000..bf3d3e1
--- /dev/null
+++ b/board/freescale/m5235evb/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_M5235EVB
+
+config SYS_CPU
+	string
+	default "mcf523x"
+
+config SYS_BOARD
+	string
+	default "m5235evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5235EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFFE00000"
+
+endif
+
+if TARGET_M5235EVB_FLASH32
+
+config SYS_CPU
+	string
+	default "mcf523x"
+
+config SYS_BOARD
+	string
+	default "m5235evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5235EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NORFLASH_PS32BIT,SYS_TEXT_BASE=0xFFC00000"
+
+endif
diff --git a/board/freescale/m5249evb/Kconfig b/board/freescale/m5249evb/Kconfig
new file mode 100644
index 0000000..87643e4
--- /dev/null
+++ b/board/freescale/m5249evb/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_M5249EVB
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "m5249evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5249EVB"
+
+endif
diff --git a/board/freescale/m5253demo/Kconfig b/board/freescale/m5253demo/Kconfig
new file mode 100644
index 0000000..76197a7
--- /dev/null
+++ b/board/freescale/m5253demo/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_M5253DEMO
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "m5253demo"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5253DEMO"
+
+endif
diff --git a/board/freescale/m5253evbe/Kconfig b/board/freescale/m5253evbe/Kconfig
new file mode 100644
index 0000000..bdc6c27
--- /dev/null
+++ b/board/freescale/m5253evbe/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_M5253EVBE
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "m5253evbe"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5253EVBE"
+
+endif
diff --git a/board/freescale/m5272c3/Kconfig b/board/freescale/m5272c3/Kconfig
new file mode 100644
index 0000000..b69c37a
--- /dev/null
+++ b/board/freescale/m5272c3/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_M5272C3
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "m5272c3"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5272C3"
+
+endif
diff --git a/board/freescale/m5275evb/Kconfig b/board/freescale/m5275evb/Kconfig
new file mode 100644
index 0000000..85514b7
--- /dev/null
+++ b/board/freescale/m5275evb/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_M5275EVB
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "m5275evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5275EVB"
+
+endif
diff --git a/board/freescale/m5282evb/Kconfig b/board/freescale/m5282evb/Kconfig
new file mode 100644
index 0000000..33e98a7
--- /dev/null
+++ b/board/freescale/m5282evb/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_M5282EVB
+
+config SYS_CPU
+	string
+	default "mcf52x2"
+
+config SYS_BOARD
+	string
+	default "m5282evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5282EVB"
+
+endif
diff --git a/board/freescale/m53017evb/Kconfig b/board/freescale/m53017evb/Kconfig
new file mode 100644
index 0000000..99ffd7d
--- /dev/null
+++ b/board/freescale/m53017evb/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_M53017EVB
+
+config SYS_CPU
+	string
+	default "mcf532x"
+
+config SYS_BOARD
+	string
+	default "m53017evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M53017EVB"
+
+endif
diff --git a/board/freescale/m5329evb/Kconfig b/board/freescale/m5329evb/Kconfig
new file mode 100644
index 0000000..d70b5fc
--- /dev/null
+++ b/board/freescale/m5329evb/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_M5329AFEE
+
+config SYS_CPU
+	string
+	default "mcf532x"
+
+config SYS_BOARD
+	string
+	default "m5329evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5329EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NANDFLASH_SIZE=0"
+
+endif
+
+if TARGET_M5329BFEE
+
+config SYS_CPU
+	string
+	default "mcf532x"
+
+config SYS_BOARD
+	string
+	default "m5329evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5329EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NANDFLASH_SIZE=16"
+
+endif
diff --git a/board/freescale/m5373evb/Kconfig b/board/freescale/m5373evb/Kconfig
new file mode 100644
index 0000000..87fd074
--- /dev/null
+++ b/board/freescale/m5373evb/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_M5373EVB
+
+config SYS_CPU
+	string
+	default "mcf532x"
+
+config SYS_BOARD
+	string
+	default "m5373evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5373EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NANDFLASH_SIZE=16"
+
+endif
diff --git a/board/freescale/m54418twr/Kconfig b/board/freescale/m54418twr/Kconfig
new file mode 100644
index 0000000..769eb81
--- /dev/null
+++ b/board/freescale/m54418twr/Kconfig
@@ -0,0 +1,143 @@
+if TARGET_M54418TWR
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54418twr"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54418TWR"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000"
+
+endif
+
+if TARGET_M54418TWR_NAND_MII
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54418twr"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54418TWR"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_NAND_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=25000000"
+
+endif
+
+if TARGET_M54418TWR_NAND_RMII
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54418twr"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54418TWR"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_NAND_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000"
+
+endif
+
+if TARGET_M54418TWR_NAND_RMII_LOWFREQ
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54418twr"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54418TWR"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_NAND_BOOT,LOW_MCFCLK,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000"
+
+endif
+
+if TARGET_M54418TWR_SERIAL_MII
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54418twr"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54418TWR"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=25000000"
+
+endif
+
+if TARGET_M54418TWR_SERIAL_RMII
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54418twr"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54418TWR"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000"
+
+endif
diff --git a/board/freescale/m54451evb/Kconfig b/board/freescale/m54451evb/Kconfig
new file mode 100644
index 0000000..5c1f595
--- /dev/null
+++ b/board/freescale/m54451evb/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_M54451EVB
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54451evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54451EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0x00000000,SYS_INPUT_CLKSRC=24000000"
+
+endif
+
+if TARGET_M54451EVB_STMICRO
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54451evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54451EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CF_SBF,SYS_STMICRO_BOOT,SYS_TEXT_BASE=0x47e00000,SYS_INPUT_CLKSRC=24000000"
+
+endif
diff --git a/board/freescale/m54455evb/Kconfig b/board/freescale/m54455evb/Kconfig
new file mode 100644
index 0000000..55058f8
--- /dev/null
+++ b/board/freescale/m54455evb/Kconfig
@@ -0,0 +1,119 @@
+if TARGET_M54455EVB
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54455evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54455EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_ATMEL_BOOT,SYS_TEXT_BASE=0x04000000,SYS_INPUT_CLKSRC=33333333"
+
+endif
+
+if TARGET_M54455EVB_A66
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54455evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54455EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_ATMEL_BOOT,SYS_TEXT_BASE=0x04000000,SYS_INPUT_CLKSRC=66666666"
+
+endif
+
+if TARGET_M54455EVB_I66
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54455evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54455EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_INTEL_BOOT,SYS_TEXT_BASE=0x00000000,SYS_INPUT_CLKSRC=66666666"
+
+endif
+
+if TARGET_M54455EVB_INTEL
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54455evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54455EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_INTEL_BOOT,SYS_TEXT_BASE=0x00000000,SYS_INPUT_CLKSRC=33333333"
+
+endif
+
+if TARGET_M54455EVB_STM33
+
+config SYS_CPU
+	string
+	default "mcf5445x"
+
+config SYS_BOARD
+	string
+	default "m54455evb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M54455EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_STMICRO_BOOT,CF_SBF,SYS_TEXT_BASE=0x4FE00000,SYS_INPUT_CLKSRC=33333333"
+
+endif
diff --git a/board/freescale/m547xevb/Kconfig b/board/freescale/m547xevb/Kconfig
new file mode 100644
index 0000000..4de54f1
--- /dev/null
+++ b/board/freescale/m547xevb/Kconfig
@@ -0,0 +1,167 @@
+if TARGET_M5475AFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m547xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5475EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64"
+
+endif
+
+if TARGET_M5475BFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m547xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5475EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16"
+
+endif
+
+if TARGET_M5475CFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m547xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5475EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO,SYS_USBCTRL"
+
+endif
+
+if TARGET_M5475DFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m547xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5475EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_USBCTRL"
+
+endif
+
+if TARGET_M5475EFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m547xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5475EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_VIDEO,SYS_USBCTRL"
+
+endif
+
+if TARGET_M5475FFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m547xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5475EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=32,SYS_VIDEO,SYS_USBCTRL,SYS_DRAMSZ1=64"
+
+endif
+
+if TARGET_M5475GFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m547xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5475EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=133333333,SYS_BOOTSZ=4,SYS_DRAMSZ=64"
+
+endif
diff --git a/board/freescale/m548xevb/Kconfig b/board/freescale/m548xevb/Kconfig
new file mode 100644
index 0000000..c76ace2
--- /dev/null
+++ b/board/freescale/m548xevb/Kconfig
@@ -0,0 +1,191 @@
+if TARGET_M5485AFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m548xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5485EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64"
+
+endif
+
+if TARGET_M5485BFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m548xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5485EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16"
+
+endif
+
+if TARGET_M5485CFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m548xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5485EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO,SYS_USBCTRL"
+
+endif
+
+if TARGET_M5485DFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m548xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5485EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_USBCTRL"
+
+endif
+
+if TARGET_M5485EFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m548xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5485EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_VIDEO,SYS_USBCTRL"
+
+endif
+
+if TARGET_M5485FFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m548xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5485EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=32,SYS_VIDEO,SYS_USBCTRL,SYS_DRAMSZ1=64"
+
+endif
+
+if TARGET_M5485GFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m548xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5485EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=100000000,SYS_BOOTSZ=4,SYS_DRAMSZ=64"
+
+endif
+
+if TARGET_M5485HFE
+
+config SYS_CPU
+	string
+	default "mcf547x_8x"
+
+config SYS_BOARD
+	string
+	default "m548xevb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "M5485EVB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO"
+
+endif
diff --git a/board/freescale/mpc5121ads/Kconfig b/board/freescale/mpc5121ads/Kconfig
new file mode 100644
index 0000000..2f95301
--- /dev/null
+++ b/board/freescale/mpc5121ads/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_MPC5121ADS
+
+config SYS_CPU
+	string
+	default "mpc512x"
+
+config SYS_BOARD
+	string
+	default "mpc5121ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "mpc5121ads"
+
+endif
+
+if TARGET_MPC5121ADS_REV2
+
+config SYS_CPU
+	string
+	default "mpc512x"
+
+config SYS_BOARD
+	string
+	default "mpc5121ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "mpc5121ads"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC5121ADS_REV2"
+
+endif
diff --git a/board/freescale/mpc7448hpc2/Kconfig b/board/freescale/mpc7448hpc2/Kconfig
new file mode 100644
index 0000000..067a541
--- /dev/null
+++ b/board/freescale/mpc7448hpc2/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC7448HPC2
+
+config SYS_CPU
+	string
+	default "74xx_7xx"
+
+config SYS_BOARD
+	string
+	default "mpc7448hpc2"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "mpc7448hpc2"
+
+endif
diff --git a/board/freescale/mpc8260ads/Kconfig b/board/freescale/mpc8260ads/Kconfig
new file mode 100644
index 0000000..ed819f5
--- /dev/null
+++ b/board/freescale/mpc8260ads/Kconfig
@@ -0,0 +1,383 @@
+if TARGET_MPC8260ADS
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_8260ADS"
+
+endif
+
+if TARGET_MPC8260ADS_33MHZ
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=33000000"
+
+endif
+
+if TARGET_MPC8260ADS_33MHZ_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=33000000,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_MPC8260ADS_40MHZ
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=40000000"
+
+endif
+
+if TARGET_MPC8260ADS_40MHZ_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_8260ADS,8260_CLKIN=40000000,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_MPC8260ADS_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_8260ADS,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_MPC8272ADS
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_8272ADS"
+
+endif
+
+if TARGET_MPC8272ADS_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_8272ADS,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_PQ2FADS
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_PQ2FADS"
+
+endif
+
+if TARGET_PQ2FADS_VR
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000"
+
+endif
+
+if TARGET_PQ2FADS_VR_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_PQ2FADS_ZU
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_PQ2FADS"
+
+endif
+
+if TARGET_PQ2FADS_ZU_66MHZ
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000"
+
+endif
+
+if TARGET_PQ2FADS_ZU_66MHZ_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_PQ2FADS,8260_CLKIN=66000000,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_PQ2FADS_ZU_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_PQ2FADS,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_PQ2FADS_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8260ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8260ADS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ADSTYPE=CONFIG_SYS_PQ2FADS,SYS_TEXT_BASE=0xFF800000"
+
+endif
diff --git a/board/freescale/mpc8266ads/Kconfig b/board/freescale/mpc8266ads/Kconfig
new file mode 100644
index 0000000..d01bbc1
--- /dev/null
+++ b/board/freescale/mpc8266ads/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC8266ADS
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "mpc8266ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8266ADS"
+
+endif
diff --git a/board/freescale/mpc8308rdb/Kconfig b/board/freescale/mpc8308rdb/Kconfig
new file mode 100644
index 0000000..6fbec46b
--- /dev/null
+++ b/board/freescale/mpc8308rdb/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC8308RDB
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8308rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8308RDB"
+
+endif
diff --git a/board/freescale/mpc8313erdb/Kconfig b/board/freescale/mpc8313erdb/Kconfig
new file mode 100644
index 0000000..6b05a23
--- /dev/null
+++ b/board/freescale/mpc8313erdb/Kconfig
@@ -0,0 +1,95 @@
+if TARGET_MPC8313ERDB_33
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8313erdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8313ERDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_33MHZ"
+
+endif
+
+if TARGET_MPC8313ERDB_66
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8313erdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8313ERDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_66MHZ"
+
+endif
+
+if TARGET_MPC8313ERDB_NAND_33
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8313erdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8313ERDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_33MHZ,NAND"
+
+endif
+
+if TARGET_MPC8313ERDB_NAND_66
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8313erdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8313ERDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_66MHZ,NAND"
+
+endif
diff --git a/board/freescale/mpc8315erdb/Kconfig b/board/freescale/mpc8315erdb/Kconfig
new file mode 100644
index 0000000..fd26214
--- /dev/null
+++ b/board/freescale/mpc8315erdb/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_MPC8315ERDB
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8315erdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8315ERDB"
+
+endif
+
+if TARGET_MPC8315ERDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8315erdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8315ERDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NAND_U_BOOT"
+
+endif
diff --git a/board/freescale/mpc8323erdb/Kconfig b/board/freescale/mpc8323erdb/Kconfig
new file mode 100644
index 0000000..09742f4
--- /dev/null
+++ b/board/freescale/mpc8323erdb/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC8323ERDB
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8323erdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8323ERDB"
+
+endif
diff --git a/board/freescale/mpc832xemds/Kconfig b/board/freescale/mpc832xemds/Kconfig
new file mode 100644
index 0000000..e2ef936
--- /dev/null
+++ b/board/freescale/mpc832xemds/Kconfig
@@ -0,0 +1,115 @@
+if TARGET_MPC832XEMDS
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc832xemds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC832XEMDS"
+
+endif
+
+if TARGET_MPC832XEMDS_ATM
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc832xemds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC832XEMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1"
+
+endif
+
+if TARGET_MPC832XEMDS_HOST_33
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc832xemds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC832XEMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,PCI_33M,PQ_MDS_PIB=1"
+
+endif
+
+if TARGET_MPC832XEMDS_HOST_66
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc832xemds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC832XEMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,PCI_66M,PQ_MDS_PIB=1"
+
+endif
+
+if TARGET_MPC832XEMDS_SLAVE
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc832xemds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC832XEMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,PCISLAVE"
+
+endif
diff --git a/board/freescale/mpc8349emds/Kconfig b/board/freescale/mpc8349emds/Kconfig
new file mode 100644
index 0000000..aedbf7c
--- /dev/null
+++ b/board/freescale/mpc8349emds/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC8349EMDS
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8349emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8349EMDS"
+
+endif
diff --git a/board/freescale/mpc8349itx/Kconfig b/board/freescale/mpc8349itx/Kconfig
new file mode 100644
index 0000000..6bb3909
--- /dev/null
+++ b/board/freescale/mpc8349itx/Kconfig
@@ -0,0 +1,71 @@
+if TARGET_MPC8349ITX
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8349itx"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8349ITX"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8349ITX"
+
+endif
+
+if TARGET_MPC8349ITX_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8349itx"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8349ITX"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8349ITX,SYS_TEXT_BASE=0xFE000000"
+
+endif
+
+if TARGET_MPC8349ITXGP
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8349itx"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8349ITX"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8349ITXGP,SYS_TEXT_BASE=0xFE000000"
+
+endif
diff --git a/board/freescale/mpc8360emds/Kconfig b/board/freescale/mpc8360emds/Kconfig
new file mode 100644
index 0000000..2950c3f
--- /dev/null
+++ b/board/freescale/mpc8360emds/Kconfig
@@ -0,0 +1,239 @@
+if TARGET_MPC8360EMDS_33
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360EMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_33MHZ"
+
+endif
+
+if TARGET_MPC8360EMDS_33_ATM
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360EMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_33MHZ,PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1"
+
+endif
+
+if TARGET_MPC8360EMDS_33_HOST_33
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360EMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_33MHZ,PCI,PCI_33M,PQ_MDS_PIB=1"
+
+endif
+
+if TARGET_MPC8360EMDS_33_HOST_66
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360EMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_33MHZ,PCI,PCI_66M,PQ_MDS_PIB=1"
+
+endif
+
+if TARGET_MPC8360EMDS_33_SLAVE
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360EMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_33MHZ,PCI,PCISLAVE"
+
+endif
+
+if TARGET_MPC8360EMDS_66
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360EMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_66MHZ"
+
+endif
+
+if TARGET_MPC8360EMDS_66_ATM
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360EMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_66MHZ,PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1"
+
+endif
+
+if TARGET_MPC8360EMDS_66_HOST_33
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360EMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_66MHZ,PCI,PCI_33M,PQ_MDS_PIB=1"
+
+endif
+
+if TARGET_MPC8360EMDS_66_HOST_66
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360EMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_66MHZ,PCI,PCI_66M,PQ_MDS_PIB=1"
+
+endif
+
+if TARGET_MPC8360EMDS_66_SLAVE
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360emds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360EMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_66MHZ,PCI,PCISLAVE"
+
+endif
diff --git a/board/freescale/mpc8360erdk/Kconfig b/board/freescale/mpc8360erdk/Kconfig
new file mode 100644
index 0000000..a77e679
--- /dev/null
+++ b/board/freescale/mpc8360erdk/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_MPC8360ERDK
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360erdk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360ERDK"
+
+endif
+
+if TARGET_MPC8360ERDK_33
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8360erdk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8360ERDK"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_33MHZ"
+
+endif
diff --git a/board/freescale/mpc837xemds/Kconfig b/board/freescale/mpc837xemds/Kconfig
new file mode 100644
index 0000000..83a5644
--- /dev/null
+++ b/board/freescale/mpc837xemds/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_MPC837XEMDS
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc837xemds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC837XEMDS"
+
+endif
+
+if TARGET_MPC837XEMDS_HOST
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc837xemds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC837XEMDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI"
+
+endif
diff --git a/board/freescale/mpc837xerdb/Kconfig b/board/freescale/mpc837xerdb/Kconfig
new file mode 100644
index 0000000..ff44eae
--- /dev/null
+++ b/board/freescale/mpc837xerdb/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC837XERDB
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc837xerdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC837XERDB"
+
+endif
diff --git a/board/freescale/mpc8536ds/Kconfig b/board/freescale/mpc8536ds/Kconfig
new file mode 100644
index 0000000..bfd3a4b
--- /dev/null
+++ b/board/freescale/mpc8536ds/Kconfig
@@ -0,0 +1,115 @@
+if TARGET_MPC8536DS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8536ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8536DS"
+
+endif
+
+if TARGET_MPC8536DS_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8536ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8536DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "36BIT"
+
+endif
+
+if TARGET_MPC8536DS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8536ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8536DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NAND"
+
+endif
+
+if TARGET_MPC8536DS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8536ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8536DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SDCARD"
+
+endif
+
+if TARGET_MPC8536DS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8536ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8536DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SPIFLASH"
+
+endif
diff --git a/board/freescale/mpc8540ads/Kconfig b/board/freescale/mpc8540ads/Kconfig
new file mode 100644
index 0000000..29fd37d
--- /dev/null
+++ b/board/freescale/mpc8540ads/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC8540ADS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8540ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8540ADS"
+
+endif
diff --git a/board/freescale/mpc8541cds/Kconfig b/board/freescale/mpc8541cds/Kconfig
new file mode 100644
index 0000000..29eed87
--- /dev/null
+++ b/board/freescale/mpc8541cds/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_MPC8541CDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8541cds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8541CDS"
+
+endif
+
+if TARGET_MPC8541CDS_LEGACY
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8541cds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8541CDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LEGACY"
+
+endif
diff --git a/board/freescale/mpc8544ds/Kconfig b/board/freescale/mpc8544ds/Kconfig
new file mode 100644
index 0000000..8ce2fc9
--- /dev/null
+++ b/board/freescale/mpc8544ds/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC8544DS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8544ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8544DS"
+
+endif
diff --git a/board/freescale/mpc8548cds/Kconfig b/board/freescale/mpc8548cds/Kconfig
new file mode 100644
index 0000000..2d6316f
--- /dev/null
+++ b/board/freescale/mpc8548cds/Kconfig
@@ -0,0 +1,67 @@
+if TARGET_MPC8548CDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8548cds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8548CDS"
+
+endif
+
+if TARGET_MPC8548CDS_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8548cds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8548CDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "36BIT"
+
+endif
+
+if TARGET_MPC8548CDS_LEGACY
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8548cds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8548CDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LEGACY"
+
+endif
diff --git a/board/freescale/mpc8555cds/Kconfig b/board/freescale/mpc8555cds/Kconfig
new file mode 100644
index 0000000..15865f2
--- /dev/null
+++ b/board/freescale/mpc8555cds/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_MPC8555CDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8555cds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8555CDS"
+
+endif
+
+if TARGET_MPC8555CDS_LEGACY
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8555cds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8555CDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LEGACY"
+
+endif
diff --git a/board/freescale/mpc8560ads/Kconfig b/board/freescale/mpc8560ads/Kconfig
new file mode 100644
index 0000000..d44ba74
--- /dev/null
+++ b/board/freescale/mpc8560ads/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC8560ADS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8560ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8560ADS"
+
+endif
diff --git a/board/freescale/mpc8568mds/Kconfig b/board/freescale/mpc8568mds/Kconfig
new file mode 100644
index 0000000..2af6ecc
--- /dev/null
+++ b/board/freescale/mpc8568mds/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC8568MDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8568mds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8568MDS"
+
+endif
diff --git a/board/freescale/mpc8569mds/Kconfig b/board/freescale/mpc8569mds/Kconfig
new file mode 100644
index 0000000..9aef2a0
--- /dev/null
+++ b/board/freescale/mpc8569mds/Kconfig
@@ -0,0 +1,67 @@
+if TARGET_MPC8569MDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8569mds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8569MDS"
+
+endif
+
+if TARGET_MPC8569MDS_ATM
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8569mds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8569MDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ATM"
+
+endif
+
+if TARGET_MPC8569MDS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8569mds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8569MDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NAND"
+
+endif
diff --git a/board/freescale/mpc8572ds/Kconfig b/board/freescale/mpc8572ds/Kconfig
new file mode 100644
index 0000000..deb1c03
--- /dev/null
+++ b/board/freescale/mpc8572ds/Kconfig
@@ -0,0 +1,67 @@
+if TARGET_MPC8572DS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8572ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8572DS"
+
+endif
+
+if TARGET_MPC8572DS_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8572ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8572DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "36BIT"
+
+endif
+
+if TARGET_MPC8572DS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "mpc8572ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8572DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NAND"
+
+endif
diff --git a/board/freescale/mpc8610hpcd/Kconfig b/board/freescale/mpc8610hpcd/Kconfig
new file mode 100644
index 0000000..b676820
--- /dev/null
+++ b/board/freescale/mpc8610hpcd/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MPC8610HPCD
+
+config SYS_CPU
+	string
+	default "mpc86xx"
+
+config SYS_BOARD
+	string
+	default "mpc8610hpcd"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8610HPCD"
+
+endif
diff --git a/board/freescale/mpc8641hpcn/Kconfig b/board/freescale/mpc8641hpcn/Kconfig
new file mode 100644
index 0000000..3781590
--- /dev/null
+++ b/board/freescale/mpc8641hpcn/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_MPC8641HPCN
+
+config SYS_CPU
+	string
+	default "mpc86xx"
+
+config SYS_BOARD
+	string
+	default "mpc8641hpcn"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8641HPCN"
+
+endif
+
+if TARGET_MPC8641HPCN_36BIT
+
+config SYS_CPU
+	string
+	default "mpc86xx"
+
+config SYS_BOARD
+	string
+	default "mpc8641hpcn"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "MPC8641HPCN"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PHYS_64BIT"
+
+endif
diff --git a/board/freescale/mx23evk/Kconfig b/board/freescale/mx23evk/Kconfig
new file mode 100644
index 0000000..ee7911c
--- /dev/null
+++ b/board/freescale/mx23evk/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_MX23EVK
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "mx23evk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx23evk"
+
+endif
diff --git a/board/freescale/mx25pdk/Kconfig b/board/freescale/mx25pdk/Kconfig
new file mode 100644
index 0000000..8f2302b
--- /dev/null
+++ b/board/freescale/mx25pdk/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_MX25PDK
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "mx25pdk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx25"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx25pdk"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/mx25pdk/imximage.cfg"
+
+endif
diff --git a/board/freescale/mx28evk/Kconfig b/board/freescale/mx28evk/Kconfig
new file mode 100644
index 0000000..91968ca
--- /dev/null
+++ b/board/freescale/mx28evk/Kconfig
@@ -0,0 +1,83 @@
+if TARGET_MX28EVK
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "mx28evk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx28evk"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ENV_IS_IN_MMC"
+
+endif
+
+if TARGET_MX28EVK_AUART_CONSOLE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "mx28evk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx28evk"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MXS_AUART,MXS_AUART_BASE=MXS_UARTAPP3_BASE,ENV_IS_IN_MMC"
+
+endif
+
+if TARGET_MX28EVK_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "mx28evk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx28evk"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ENV_IS_IN_NAND"
+
+endif
diff --git a/board/freescale/mx31ads/Kconfig b/board/freescale/mx31ads/Kconfig
new file mode 100644
index 0000000..96116dd
--- /dev/null
+++ b/board/freescale/mx31ads/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_MX31ADS
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "mx31ads"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx31"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx31ads"
+
+endif
diff --git a/board/freescale/mx31pdk/Kconfig b/board/freescale/mx31pdk/Kconfig
new file mode 100644
index 0000000..6ac6a59
--- /dev/null
+++ b/board/freescale/mx31pdk/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_MX31PDK
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "mx31pdk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx31"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx31pdk"
+
+endif
diff --git a/board/freescale/mx35pdk/Kconfig b/board/freescale/mx35pdk/Kconfig
new file mode 100644
index 0000000..5555b0b
--- /dev/null
+++ b/board/freescale/mx35pdk/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_MX35PDK
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "mx35pdk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx35"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx35pdk"
+
+endif
diff --git a/board/freescale/mx51evk/Kconfig b/board/freescale/mx51evk/Kconfig
new file mode 100644
index 0000000..82d6789
--- /dev/null
+++ b/board/freescale/mx51evk/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_MX51EVK
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx51evk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx51evk"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/mx51evk/imximage.cfg"
+
+endif
diff --git a/board/freescale/mx53ard/Kconfig b/board/freescale/mx53ard/Kconfig
new file mode 100644
index 0000000..e2559d8
--- /dev/null
+++ b/board/freescale/mx53ard/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_MX53ARD
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx53ard"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx53ard"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/mx53ard/imximage_dd3.cfg"
+
+endif
diff --git a/board/freescale/mx53evk/Kconfig b/board/freescale/mx53evk/Kconfig
new file mode 100644
index 0000000..f2caf94
--- /dev/null
+++ b/board/freescale/mx53evk/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_MX53EVK
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx53evk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx53evk"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/mx53evk/imximage.cfg"
+
+endif
diff --git a/board/freescale/mx53loco/Kconfig b/board/freescale/mx53loco/Kconfig
new file mode 100644
index 0000000..ecd8a2a
--- /dev/null
+++ b/board/freescale/mx53loco/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_MX53LOCO
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx53loco"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx53loco"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/mx53loco/imximage.cfg"
+
+endif
diff --git a/board/freescale/mx53smd/Kconfig b/board/freescale/mx53smd/Kconfig
new file mode 100644
index 0000000..6928b9a
--- /dev/null
+++ b/board/freescale/mx53smd/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_MX53SMD
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx53smd"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx53smd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/mx53smd/imximage.cfg"
+
+endif
diff --git a/board/freescale/mx6qarm2/Kconfig b/board/freescale/mx6qarm2/Kconfig
new file mode 100644
index 0000000..9e689c3
--- /dev/null
+++ b/board/freescale/mx6qarm2/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_MX6QARM2
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx6qarm2"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx6qarm2"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/mx6qarm2/imximage.cfg"
+
+endif
diff --git a/board/freescale/mx6qsabreauto/Kconfig b/board/freescale/mx6qsabreauto/Kconfig
new file mode 100644
index 0000000..d108b51
--- /dev/null
+++ b/board/freescale/mx6qsabreauto/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_MX6QSABREAUTO
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx6qsabreauto"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx6qsabreauto"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/mx6qsabreauto/imximage.cfg,MX6Q"
+
+endif
diff --git a/board/freescale/mx6sabresd/Kconfig b/board/freescale/mx6sabresd/Kconfig
new file mode 100644
index 0000000..d7c1ffd
--- /dev/null
+++ b/board/freescale/mx6sabresd/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_MX6DLSABRESD
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx6sabresd"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx6sabresd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL"
+
+endif
+
+if TARGET_MX6QSABRESD
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx6sabresd"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx6sabresd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg,MX6Q"
+
+endif
diff --git a/board/freescale/mx6slevk/Kconfig b/board/freescale/mx6slevk/Kconfig
new file mode 100644
index 0000000..33e7e4f
--- /dev/null
+++ b/board/freescale/mx6slevk/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_MX6SLEVK
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx6slevk"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx6slevk"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/mx6slevk/imximage.cfg,MX6SL"
+
+endif
diff --git a/board/freescale/p1010rdb/Kconfig b/board/freescale/p1010rdb/Kconfig
new file mode 100644
index 0000000..3da8b6c
--- /dev/null
+++ b/board/freescale/p1010rdb/Kconfig
@@ -0,0 +1,671 @@
+if TARGET_P1010RDB_PA_36BIT_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,36BIT,NAND"
+
+endif
+
+if TARGET_P1010RDB_PA_36BIT_NAND_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,36BIT,NAND_SECBOOT,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PA_36BIT_NOR
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,36BIT"
+
+endif
+
+if TARGET_P1010RDB_PA_36BIT_NOR_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,36BIT,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PA_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,36BIT,SDCARD"
+
+endif
+
+if TARGET_P1010RDB_PA_36BIT_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,36BIT,SPIFLASH"
+
+endif
+
+if TARGET_P1010RDB_PA_36BIT_SPIFLASH_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,36BIT,SPIFLASH,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PA_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,NAND"
+
+endif
+
+if TARGET_P1010RDB_PA_NAND_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,NAND_SECBOOT,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PA_NOR
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA"
+
+endif
+
+if TARGET_P1010RDB_PA_NOR_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PA_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,SDCARD"
+
+endif
+
+if TARGET_P1010RDB_PA_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,SPIFLASH"
+
+endif
+
+if TARGET_P1010RDB_PA_SPIFLASH_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PA,SPIFLASH,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PB_36BIT_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,36BIT,NAND"
+
+endif
+
+if TARGET_P1010RDB_PB_36BIT_NAND_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,36BIT,NAND_SECBOOT,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PB_36BIT_NOR
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,36BIT"
+
+endif
+
+if TARGET_P1010RDB_PB_36BIT_NOR_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,36BIT,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PB_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,36BIT,SDCARD"
+
+endif
+
+if TARGET_P1010RDB_PB_36BIT_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,36BIT,SPIFLASH"
+
+endif
+
+if TARGET_P1010RDB_PB_36BIT_SPIFLASH_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,36BIT,SPIFLASH,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,NAND"
+
+endif
+
+if TARGET_P1010RDB_PB_NAND_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,NAND_SECBOOT,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PB_NOR
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB"
+
+endif
+
+if TARGET_P1010RDB_PB_NOR_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,SECURE_BOOT"
+
+endif
+
+if TARGET_P1010RDB_PB_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,SDCARD"
+
+endif
+
+if TARGET_P1010RDB_PB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,SPIFLASH"
+
+endif
+
+if TARGET_P1010RDB_PB_SPIFLASH_SECBOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1010rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1010RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1010RDB_PB,SPIFLASH,SECURE_BOOT"
+
+endif
diff --git a/board/freescale/p1022ds/Kconfig b/board/freescale/p1022ds/Kconfig
new file mode 100644
index 0000000..2b4ab95
--- /dev/null
+++ b/board/freescale/p1022ds/Kconfig
@@ -0,0 +1,187 @@
+if TARGET_P1022DS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1022DS"
+
+endif
+
+if TARGET_P1022DS_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1022DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "36BIT"
+
+endif
+
+if TARGET_P1022DS_36BIT_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1022DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "36BIT,NAND"
+
+endif
+
+if TARGET_P1022DS_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1022DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "36BIT,SDCARD"
+
+endif
+
+if TARGET_P1022DS_36BIT_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1022DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "36BIT,SPIFLASH"
+
+endif
+
+if TARGET_P1022DS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1022DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NAND"
+
+endif
+
+if TARGET_P1022DS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1022DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SDCARD"
+
+endif
+
+if TARGET_P1022DS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1022DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SPIFLASH"
+
+endif
diff --git a/board/freescale/p1023rdb/Kconfig b/board/freescale/p1023rdb/Kconfig
new file mode 100644
index 0000000..bdf0194
--- /dev/null
+++ b/board/freescale/p1023rdb/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_P1023RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1023rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1023RDB"
+
+endif
diff --git a/board/freescale/p1023rds/Kconfig b/board/freescale/p1023rds/Kconfig
new file mode 100644
index 0000000..d44ae77
--- /dev/null
+++ b/board/freescale/p1023rds/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_P1023RDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1023rds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1023RDS"
+
+endif
+
+if TARGET_P1023RDS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1023rds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1023RDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NAND"
+
+endif
diff --git a/board/freescale/p1_p2_rdb/Kconfig b/board/freescale/p1_p2_rdb/Kconfig
new file mode 100644
index 0000000..11bf331
--- /dev/null
+++ b/board/freescale/p1_p2_rdb/Kconfig
@@ -0,0 +1,671 @@
+if TARGET_P1011RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1011RDB"
+
+endif
+
+if TARGET_P1011RDB_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1011RDB,36BIT"
+
+endif
+
+if TARGET_P1011RDB_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1011RDB,36BIT,SDCARD"
+
+endif
+
+if TARGET_P1011RDB_36BIT_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1011RDB,36BIT,SPIFLASH"
+
+endif
+
+if TARGET_P1011RDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1011RDB,NAND"
+
+endif
+
+if TARGET_P1011RDB_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1011RDB,SDCARD"
+
+endif
+
+if TARGET_P1011RDB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1011RDB,SPIFLASH"
+
+endif
+
+if TARGET_P1020RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB"
+
+endif
+
+if TARGET_P1020RDB_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB,36BIT"
+
+endif
+
+if TARGET_P1020RDB_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB,36BIT,SDCARD"
+
+endif
+
+if TARGET_P1020RDB_36BIT_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB,36BIT,SPIFLASH"
+
+endif
+
+if TARGET_P1020RDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB,NAND"
+
+endif
+
+if TARGET_P1020RDB_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB,SDCARD"
+
+endif
+
+if TARGET_P1020RDB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB,SPIFLASH"
+
+endif
+
+if TARGET_P2010RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2010RDB"
+
+endif
+
+if TARGET_P2010RDB_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2010RDB,36BIT"
+
+endif
+
+if TARGET_P2010RDB_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2010RDB,36BIT,SDCARD"
+
+endif
+
+if TARGET_P2010RDB_36BIT_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2010RDB,36BIT,SPIFLASH"
+
+endif
+
+if TARGET_P2010RDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2010RDB,NAND"
+
+endif
+
+if TARGET_P2010RDB_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2010RDB,SDCARD"
+
+endif
+
+if TARGET_P2010RDB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2010RDB,SPIFLASH"
+
+endif
+
+if TARGET_P2020RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB"
+
+endif
+
+if TARGET_P2020RDB_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,36BIT"
+
+endif
+
+if TARGET_P2020RDB_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,36BIT,SDCARD"
+
+endif
+
+if TARGET_P2020RDB_36BIT_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,36BIT,SPIFLASH"
+
+endif
+
+if TARGET_P2020RDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,NAND"
+
+endif
+
+if TARGET_P2020RDB_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,SDCARD"
+
+endif
+
+if TARGET_P2020RDB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P1_P2_RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,SPIFLASH"
+
+endif
diff --git a/board/freescale/p1_p2_rdb_pc/Kconfig b/board/freescale/p1_p2_rdb_pc/Kconfig
new file mode 100644
index 0000000..794533e
--- /dev/null
+++ b/board/freescale/p1_p2_rdb_pc/Kconfig
@@ -0,0 +1,1103 @@
+if TARGET_P1020MBG_PC
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020MBG"
+
+endif
+
+if TARGET_P1020MBG_PC_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020MBG,36BIT"
+
+endif
+
+if TARGET_P1020MBG_PC_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020MBG,SDCARD,36BIT"
+
+endif
+
+if TARGET_P1020MBG_PC_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020MBG,SDCARD"
+
+endif
+
+if TARGET_P1020RDB_PC
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PC"
+
+endif
+
+if TARGET_P1020RDB_PC_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PC,36BIT"
+
+endif
+
+if TARGET_P1020RDB_PC_36BIT_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PC,36BIT,NAND"
+
+endif
+
+if TARGET_P1020RDB_PC_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PC,36BIT,SDCARD"
+
+endif
+
+if TARGET_P1020RDB_PC_36BIT_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PC,36BIT,SPIFLASH"
+
+endif
+
+if TARGET_P1020RDB_PC_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PC,NAND"
+
+endif
+
+if TARGET_P1020RDB_PC_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PC,SDCARD"
+
+endif
+
+if TARGET_P1020RDB_PC_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PC,SPIFLASH"
+
+endif
+
+if TARGET_P1020RDB_PD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PD"
+
+endif
+
+if TARGET_P1020RDB_PD_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PD,NAND"
+
+endif
+
+if TARGET_P1020RDB_PD_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PD,SDCARD"
+
+endif
+
+if TARGET_P1020RDB_PD_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020RDB_PD,SPIFLASH"
+
+endif
+
+if TARGET_P1020UTM_PC
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020UTM"
+
+endif
+
+if TARGET_P1020UTM_PC_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020UTM,36BIT"
+
+endif
+
+if TARGET_P1020UTM_PC_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020UTM,36BIT,SDCARD"
+
+endif
+
+if TARGET_P1020UTM_PC_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1020UTM,SDCARD"
+
+endif
+
+if TARGET_P1021RDB_PC
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1021RDB"
+
+endif
+
+if TARGET_P1021RDB_PC_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1021RDB,36BIT"
+
+endif
+
+if TARGET_P1021RDB_PC_36BIT_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1021RDB,36BIT,NAND"
+
+endif
+
+if TARGET_P1021RDB_PC_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1021RDB,36BIT,SDCARD"
+
+endif
+
+if TARGET_P1021RDB_PC_36BIT_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1021RDB,36BIT,SPIFLASH"
+
+endif
+
+if TARGET_P1021RDB_PC_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1021RDB,NAND"
+
+endif
+
+if TARGET_P1021RDB_PC_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1021RDB,SDCARD"
+
+endif
+
+if TARGET_P1021RDB_PC_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1021RDB,SPIFLASH"
+
+endif
+
+if TARGET_P1024RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1024RDB"
+
+endif
+
+if TARGET_P1024RDB_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1024RDB,36BIT"
+
+endif
+
+if TARGET_P1024RDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1024RDB,NAND"
+
+endif
+
+if TARGET_P1024RDB_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1024RDB,SDCARD"
+
+endif
+
+if TARGET_P1024RDB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1024RDB,SPIFLASH"
+
+endif
+
+if TARGET_P1025RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1025RDB"
+
+endif
+
+if TARGET_P1025RDB_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1025RDB,36BIT"
+
+endif
+
+if TARGET_P1025RDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1025RDB,NAND"
+
+endif
+
+if TARGET_P1025RDB_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1025RDB,SDCARD"
+
+endif
+
+if TARGET_P1025RDB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P1025RDB,SPIFLASH"
+
+endif
+
+if TARGET_P2020RDB_PC
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB"
+
+endif
+
+if TARGET_P2020RDB_PC_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,36BIT"
+
+endif
+
+if TARGET_P2020RDB_PC_36BIT_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,36BIT,NAND"
+
+endif
+
+if TARGET_P2020RDB_PC_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,36BIT,SDCARD"
+
+endif
+
+if TARGET_P2020RDB_PC_36BIT_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,36BIT,SPIFLASH"
+
+endif
+
+if TARGET_P2020RDB_PC_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,NAND"
+
+endif
+
+if TARGET_P2020RDB_PC_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,SDCARD"
+
+endif
+
+if TARGET_P2020RDB_PC_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_p2_rdb_pc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P2020RDB,SPIFLASH"
+
+endif
diff --git a/board/freescale/p1_twr/Kconfig b/board/freescale/p1_twr/Kconfig
new file mode 100644
index 0000000..9f0d8f7
--- /dev/null
+++ b/board/freescale/p1_twr/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_TWR_P1025
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1_twr"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "p1_twr"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TWR_P1025"
+
+endif
diff --git a/board/freescale/p2020come/Kconfig b/board/freescale/p2020come/Kconfig
new file mode 100644
index 0000000..4592e85
--- /dev/null
+++ b/board/freescale/p2020come/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_P2020COME_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2020come"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2020COME"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SDCARD"
+
+endif
+
+if TARGET_P2020COME_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2020come"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2020COME"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SPIFLASH"
+
+endif
diff --git a/board/freescale/p2020ds/Kconfig b/board/freescale/p2020ds/Kconfig
new file mode 100644
index 0000000..af7b25a
--- /dev/null
+++ b/board/freescale/p2020ds/Kconfig
@@ -0,0 +1,115 @@
+if TARGET_P2020DS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2020ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2020DS"
+
+endif
+
+if TARGET_P2020DS_36BIT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2020ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2020DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "36BIT"
+
+endif
+
+if TARGET_P2020DS_DDR2
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2020ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2020DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "DDR2"
+
+endif
+
+if TARGET_P2020DS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2020ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2020DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SDCARD"
+
+endif
+
+if TARGET_P2020DS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2020ds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2020DS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SPIFLASH"
+
+endif
diff --git a/board/freescale/p2041rdb/Kconfig b/board/freescale/p2041rdb/Kconfig
new file mode 100644
index 0000000..86c578b
--- /dev/null
+++ b/board/freescale/p2041rdb/Kconfig
@@ -0,0 +1,139 @@
+if TARGET_P2041RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2041rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2041RDB"
+
+endif
+
+if TARGET_P2041RDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2041rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2041RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P2041RDB_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2041rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2041RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P2041RDB_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2041rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2041RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SECURE_BOOT"
+
+endif
+
+if TARGET_P2041RDB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2041rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2041RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_P2041RDB_SRIO_PCIE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p2041rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "P2041RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+
+endif
diff --git a/board/freescale/qemu-ppce500/Kconfig b/board/freescale/qemu-ppce500/Kconfig
new file mode 100644
index 0000000..28cf330
--- /dev/null
+++ b/board/freescale/qemu-ppce500/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_QEMU_PPCE500
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "qemu-ppce500"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "qemu-ppce500"
+
+endif
diff --git a/board/freescale/t1040qds/Kconfig b/board/freescale/t1040qds/Kconfig
new file mode 100644
index 0000000..47c28cd
--- /dev/null
+++ b/board/freescale/t1040qds/Kconfig
@@ -0,0 +1,71 @@
+if TARGET_T1040QDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t1040qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T1040QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1040"
+
+endif
+
+if TARGET_T1040QDS_D4
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t1040qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T1040QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1040,SYS_FSL_DDR4"
+
+endif
+
+if TARGET_T1040QDS_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t1040qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T1040QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1040,SECURE_BOOT"
+
+endif
diff --git a/board/freescale/t104xrdb/Kconfig b/board/freescale/t104xrdb/Kconfig
new file mode 100644
index 0000000..ebc55bb
--- /dev/null
+++ b/board/freescale/t104xrdb/Kconfig
@@ -0,0 +1,215 @@
+if TARGET_T1040RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t104xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T104xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1040,T1040RDB"
+
+endif
+
+if TARGET_T1040RDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t104xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T104xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+
+endif
+
+if TARGET_T1040RDB_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t104xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T104xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+
+endif
+
+if TARGET_T1040RDB_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t104xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T104xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1040,SECURE_BOOT,T1040RDB"
+
+endif
+
+if TARGET_T1040RDB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t104xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T104xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+
+endif
+
+if TARGET_T1042RDB_PI
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t104xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T104xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1042,T1042RDB_PI"
+
+endif
+
+if TARGET_T1042RDB_PI_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t104xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T104xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+
+endif
+
+if TARGET_T1042RDB_PI_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t104xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T104xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+
+endif
+
+if TARGET_T1042RDB_PI_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t104xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T104xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+
+endif
diff --git a/board/freescale/t208xqds/Kconfig b/board/freescale/t208xqds/Kconfig
new file mode 100644
index 0000000..f119dfc
--- /dev/null
+++ b/board/freescale/t208xqds/Kconfig
@@ -0,0 +1,263 @@
+if TARGET_T2080QDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080"
+
+endif
+
+if TARGET_T2080QDS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+
+endif
+
+if TARGET_T2080QDS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+
+endif
+
+if TARGET_T2080QDS_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080,SECURE_BOOT"
+
+endif
+
+if TARGET_T2080QDS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+
+endif
+
+if TARGET_T2080QDS_SRIO_PCIE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_T2081QDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2081"
+
+endif
+
+if TARGET_T2081QDS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+
+endif
+
+if TARGET_T2081QDS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+
+endif
+
+if TARGET_T2081QDS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+
+endif
+
+if TARGET_T2081QDS_SRIO_PCIE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xqds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xQDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2081,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+
+endif
diff --git a/board/freescale/t208xrdb/Kconfig b/board/freescale/t208xrdb/Kconfig
new file mode 100644
index 0000000..fc51c08
--- /dev/null
+++ b/board/freescale/t208xrdb/Kconfig
@@ -0,0 +1,143 @@
+if TARGET_T2080RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080"
+
+endif
+
+if TARGET_T2080RDB_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+
+endif
+
+if TARGET_T2080RDB_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+
+endif
+
+if TARGET_T2080RDB_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080,SECURE_BOOT"
+
+endif
+
+if TARGET_T2080RDB_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
+
+endif
+
+if TARGET_T2080RDB_SRIO_PCIE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t208xrdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T208xRDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+
+endif
diff --git a/board/freescale/t4qds/Kconfig b/board/freescale/t4qds/Kconfig
new file mode 100644
index 0000000..d5ea247
--- /dev/null
+++ b/board/freescale/t4qds/Kconfig
@@ -0,0 +1,287 @@
+if TARGET_T4160QDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4160"
+
+endif
+
+if TARGET_T4160QDS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+
+endif
+
+if TARGET_T4160QDS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+
+endif
+
+if TARGET_T4160QDS_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4160,SECURE_BOOT"
+
+endif
+
+if TARGET_T4160QDS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4160,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_T4240EMU
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240EMU"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4240"
+
+endif
+
+if TARGET_T4240QDS
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4240"
+
+endif
+
+if TARGET_T4240QDS_NAND
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
+
+endif
+
+if TARGET_T4240QDS_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
+
+endif
+
+if TARGET_T4240QDS_SECURE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4240,SECURE_BOOT"
+
+endif
+
+if TARGET_T4240QDS_SPIFLASH
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4240,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+
+endif
+
+if TARGET_T4240QDS_SRIO_PCIE_BOOT
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4qds"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240QDS"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4240,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+
+endif
diff --git a/board/freescale/t4rdb/Kconfig b/board/freescale/t4rdb/Kconfig
new file mode 100644
index 0000000..f02ac23
--- /dev/null
+++ b/board/freescale/t4rdb/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_T4160RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4160"
+
+endif
+
+if TARGET_T4240RDB
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "t4rdb"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_CONFIG_NAME
+	string
+	default "T4240RDB"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PPC_T4240"
+
+endif
diff --git a/board/freescale/vf610twr/Kconfig b/board/freescale/vf610twr/Kconfig
new file mode 100644
index 0000000..4ed3c60
--- /dev/null
+++ b/board/freescale/vf610twr/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_VF610TWR
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "vf610twr"
+
+config SYS_VENDOR
+	string
+	default "freescale"
+
+config SYS_SOC
+	string
+	default "vf610"
+
+config SYS_CONFIG_NAME
+	string
+	default "vf610twr"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/freescale/vf610twr/imximage.cfg"
+
+endif
diff --git a/board/funkwerk/vovpn-gw/Kconfig b/board/funkwerk/vovpn-gw/Kconfig
new file mode 100644
index 0000000..f3a0b2a
--- /dev/null
+++ b/board/funkwerk/vovpn-gw/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_VOVPN_GW_66MHZ
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "vovpn-gw"
+
+config SYS_VENDOR
+	string
+	default "funkwerk"
+
+config SYS_CONFIG_NAME
+	string
+	default "VoVPN-GW"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CLKIN_66MHz"
+
+endif
diff --git a/board/g2000/Kconfig b/board/g2000/Kconfig
new file mode 100644
index 0000000..a979fac
--- /dev/null
+++ b/board/g2000/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_G2000
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "g2000"
+
+config SYS_CONFIG_NAME
+	string
+	default "G2000"
+
+endif
diff --git a/board/gaisler/gr_cpci_ax2000/Kconfig b/board/gaisler/gr_cpci_ax2000/Kconfig
new file mode 100644
index 0000000..d5a2eb4
--- /dev/null
+++ b/board/gaisler/gr_cpci_ax2000/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_GR_CPCI_AX2000
+
+config SYS_CPU
+	string
+	default "leon3"
+
+config SYS_BOARD
+	string
+	default "gr_cpci_ax2000"
+
+config SYS_VENDOR
+	string
+	default "gaisler"
+
+config SYS_CONFIG_NAME
+	string
+	default "gr_cpci_ax2000"
+
+endif
diff --git a/board/gaisler/gr_ep2s60/Kconfig b/board/gaisler/gr_ep2s60/Kconfig
new file mode 100644
index 0000000..e742ea8
--- /dev/null
+++ b/board/gaisler/gr_ep2s60/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_GR_EP2S60
+
+config SYS_CPU
+	string
+	default "leon3"
+
+config SYS_BOARD
+	string
+	default "gr_ep2s60"
+
+config SYS_VENDOR
+	string
+	default "gaisler"
+
+config SYS_CONFIG_NAME
+	string
+	default "gr_ep2s60"
+
+endif
diff --git a/board/gaisler/gr_xc3s_1500/Kconfig b/board/gaisler/gr_xc3s_1500/Kconfig
new file mode 100644
index 0000000..6d9f107
--- /dev/null
+++ b/board/gaisler/gr_xc3s_1500/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_GR_XC3S_1500
+
+config SYS_CPU
+	string
+	default "leon3"
+
+config SYS_BOARD
+	string
+	default "gr_xc3s_1500"
+
+config SYS_VENDOR
+	string
+	default "gaisler"
+
+config SYS_CONFIG_NAME
+	string
+	default "gr_xc3s_1500"
+
+endif
diff --git a/board/gaisler/grsim/Kconfig b/board/gaisler/grsim/Kconfig
new file mode 100644
index 0000000..10f51e1
--- /dev/null
+++ b/board/gaisler/grsim/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_GRSIM
+
+config SYS_CPU
+	string
+	default "leon3"
+
+config SYS_BOARD
+	string
+	default "grsim"
+
+config SYS_VENDOR
+	string
+	default "gaisler"
+
+config SYS_CONFIG_NAME
+	string
+	default "grsim"
+
+endif
diff --git a/board/gaisler/grsim_leon2/Kconfig b/board/gaisler/grsim_leon2/Kconfig
new file mode 100644
index 0000000..8dd2d27
--- /dev/null
+++ b/board/gaisler/grsim_leon2/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_GRSIM_LEON2
+
+config SYS_CPU
+	string
+	default "leon2"
+
+config SYS_BOARD
+	string
+	default "grsim_leon2"
+
+config SYS_VENDOR
+	string
+	default "gaisler"
+
+config SYS_CONFIG_NAME
+	string
+	default "grsim_leon2"
+
+endif
diff --git a/board/galaxy5200/Kconfig b/board/galaxy5200/Kconfig
new file mode 100644
index 0000000..d9d98d1
--- /dev/null
+++ b/board/galaxy5200/Kconfig
@@ -0,0 +1,39 @@
+if TARGET_GALAXY5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "galaxy5200"
+
+config SYS_CONFIG_NAME
+	string
+	default "galaxy5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "galaxy5200"
+
+endif
+
+if TARGET_GALAXY5200_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "galaxy5200"
+
+config SYS_CONFIG_NAME
+	string
+	default "galaxy5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "galaxy5200_LOWBOOT"
+
+endif
diff --git a/board/gateworks/gw_ventana/Kconfig b/board/gateworks/gw_ventana/Kconfig
new file mode 100644
index 0000000..df9c278
--- /dev/null
+++ b/board/gateworks/gw_ventana/Kconfig
@@ -0,0 +1,139 @@
+if TARGET_GWVENTANADL
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "gw_ventana"
+
+config SYS_VENDOR
+	string
+	default "gateworks"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "gw_ventana"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6DL,DDR_MB=512"
+
+endif
+
+if TARGET_GWVENTANADL1G
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "gw_ventana"
+
+config SYS_VENDOR
+	string
+	default "gateworks"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "gw_ventana"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6DL,DDR_MB=1024"
+
+endif
+
+if TARGET_GWVENTANAQ
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "gw_ventana"
+
+config SYS_VENDOR
+	string
+	default "gateworks"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "gw_ventana"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6Q,DDR_MB=512"
+
+endif
+
+if TARGET_GWVENTANAQ1G
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "gw_ventana"
+
+config SYS_VENDOR
+	string
+	default "gateworks"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "gw_ventana"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6Q,DDR_MB=1024"
+
+endif
+
+if TARGET_GWVENTANAQ1GSPI
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "gw_ventana"
+
+config SYS_VENDOR
+	string
+	default "gateworks"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "gw_ventana"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6Q,DDR_MB=1024,SPI_FLASH"
+
+endif
diff --git a/board/gdsys/405ep/Kconfig b/board/gdsys/405ep/Kconfig
new file mode 100644
index 0000000..0323de2
--- /dev/null
+++ b/board/gdsys/405ep/Kconfig
@@ -0,0 +1,79 @@
+if TARGET_DLVISION_10G
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "405ep"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "dlvision-10g"
+
+endif
+
+if TARGET_IO
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "405ep"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "io"
+
+endif
+
+if TARGET_IOCON
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "405ep"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "iocon"
+
+endif
+
+if TARGET_NEO
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "405ep"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "neo"
+
+endif
diff --git a/board/gdsys/405ex/Kconfig b/board/gdsys/405ex/Kconfig
new file mode 100644
index 0000000..77c1ab0
--- /dev/null
+++ b/board/gdsys/405ex/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_IO64
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "405ex"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "io64"
+
+endif
diff --git a/board/gdsys/dlvision/Kconfig b/board/gdsys/dlvision/Kconfig
new file mode 100644
index 0000000..90af3e8
--- /dev/null
+++ b/board/gdsys/dlvision/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_DLVISION
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "dlvision"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "dlvision"
+
+endif
diff --git a/board/gdsys/gdppc440etx/Kconfig b/board/gdsys/gdppc440etx/Kconfig
new file mode 100644
index 0000000..7c0a2aa
--- /dev/null
+++ b/board/gdsys/gdppc440etx/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_GDPPC440ETX
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "gdppc440etx"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "gdppc440etx"
+
+endif
diff --git a/board/gdsys/intip/Kconfig b/board/gdsys/intip/Kconfig
new file mode 100644
index 0000000..3919ab7
--- /dev/null
+++ b/board/gdsys/intip/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_DEVCONCENTER
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "intip"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "intip"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "DEVCONCENTER"
+
+endif
+
+if TARGET_INTIP
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "intip"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "intip"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "INTIB"
+
+endif
diff --git a/board/gdsys/p1022/Kconfig b/board/gdsys/p1022/Kconfig
new file mode 100644
index 0000000..228472f
--- /dev/null
+++ b/board/gdsys/p1022/Kconfig
@@ -0,0 +1,95 @@
+if TARGET_CONTROLCENTERD_36BIT_SDCARD
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "controlcenterd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "36BIT,SDCARD"
+
+endif
+
+if TARGET_CONTROLCENTERD_36BIT_SDCARD_DEVELOP
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "controlcenterd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "36BIT,SDCARD,DEVELOP"
+
+endif
+
+if TARGET_CONTROLCENTERD_TRAILBLAZER
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "controlcenterd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TRAILBLAZER,SPIFLASH"
+
+endif
+
+if TARGET_CONTROLCENTERD_TRAILBLAZER_DEVELOP
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "p1022"
+
+config SYS_VENDOR
+	string
+	default "gdsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "controlcenterd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TRAILBLAZER,SPIFLASH,DEVELOP"
+
+endif
diff --git a/board/gen860t/Kconfig b/board/gen860t/Kconfig
new file mode 100644
index 0000000..70d9f06
--- /dev/null
+++ b/board/gen860t/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_GEN860T
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "gen860t"
+
+config SYS_CONFIG_NAME
+	string
+	default "GEN860T"
+
+endif
+
+if TARGET_GEN860T_SC
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "gen860t"
+
+config SYS_CONFIG_NAME
+	string
+	default "GEN860T"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SC"
+
+endif
diff --git a/board/genesi/mx51_efikamx/Kconfig b/board/genesi/mx51_efikamx/Kconfig
new file mode 100644
index 0000000..a2f2194
--- /dev/null
+++ b/board/genesi/mx51_efikamx/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_MX51_EFIKAMX
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx51_efikamx"
+
+config SYS_VENDOR
+	string
+	default "genesi"
+
+config SYS_SOC
+	string
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx51_efikamx"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_mx.cfg"
+
+endif
+
+if TARGET_MX51_EFIKASB
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mx51_efikamx"
+
+config SYS_VENDOR
+	string
+	default "genesi"
+
+config SYS_SOC
+	string
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx51_efikamx"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MACH_TYPE=MACH_TYPE_MX51_EFIKASB,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_sb.cfg"
+
+endif
diff --git a/board/gumstix/duovero/Kconfig b/board/gumstix/duovero/Kconfig
new file mode 100644
index 0000000..d1b5c66
--- /dev/null
+++ b/board/gumstix/duovero/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DUOVERO
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "duovero"
+
+config SYS_VENDOR
+	string
+	default "gumstix"
+
+config SYS_SOC
+	string
+	default "omap4"
+
+config SYS_CONFIG_NAME
+	string
+	default "duovero"
+
+endif
diff --git a/board/gumstix/pepper/Kconfig b/board/gumstix/pepper/Kconfig
new file mode 100644
index 0000000..290b428
--- /dev/null
+++ b/board/gumstix/pepper/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_PEPPER
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "pepper"
+
+config SYS_VENDOR
+	string
+	default "gumstix"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "pepper"
+
+endif
diff --git a/board/gw8260/Kconfig b/board/gw8260/Kconfig
new file mode 100644
index 0000000..3b0958c
--- /dev/null
+++ b/board/gw8260/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_GW8260
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "gw8260"
+
+config SYS_CONFIG_NAME
+	string
+	default "gw8260"
+
+endif
diff --git a/board/h2200/Kconfig b/board/h2200/Kconfig
new file mode 100644
index 0000000..f36b4d9
--- /dev/null
+++ b/board/h2200/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_H2200
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "h2200"
+
+config SYS_CONFIG_NAME
+	string
+	default "h2200"
+
+endif
diff --git a/board/hale/tt01/Kconfig b/board/hale/tt01/Kconfig
new file mode 100644
index 0000000..549c18b
--- /dev/null
+++ b/board/hale/tt01/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_TT01
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "tt01"
+
+config SYS_VENDOR
+	string
+	default "hale"
+
+config SYS_SOC
+	string
+	default "mx31"
+
+config SYS_CONFIG_NAME
+	string
+	default "tt01"
+
+endif
diff --git a/board/hermes/Kconfig b/board/hermes/Kconfig
new file mode 100644
index 0000000..f4849f3
--- /dev/null
+++ b/board/hermes/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_HERMES
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "hermes"
+
+config SYS_CONFIG_NAME
+	string
+	default "hermes"
+
+endif
diff --git a/board/hidden_dragon/Kconfig b/board/hidden_dragon/Kconfig
new file mode 100644
index 0000000..5867d35
--- /dev/null
+++ b/board/hidden_dragon/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_HIDDEN_DRAGON
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "hidden_dragon"
+
+config SYS_CONFIG_NAME
+	string
+	default "HIDDEN_DRAGON"
+
+endif
diff --git a/board/highbank/Kconfig b/board/highbank/Kconfig
new file mode 100644
index 0000000..1c32490
--- /dev/null
+++ b/board/highbank/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_HIGHBANK
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "highbank"
+
+config SYS_SOC
+	string
+	default "highbank"
+
+config SYS_CONFIG_NAME
+	string
+	default "highbank"
+
+endif
diff --git a/board/htkw/mcx/Kconfig b/board/htkw/mcx/Kconfig
new file mode 100644
index 0000000..1e2c679
--- /dev/null
+++ b/board/htkw/mcx/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_MCX
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mcx"
+
+config SYS_VENDOR
+	string
+	default "htkw"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcx"
+
+endif
diff --git a/board/hymod/Kconfig b/board/hymod/Kconfig
new file mode 100644
index 0000000..7a448f9
--- /dev/null
+++ b/board/hymod/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_HYMOD
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "hymod"
+
+config SYS_CONFIG_NAME
+	string
+	default "hymod"
+
+endif
diff --git a/board/ibf-dsp561/Kconfig b/board/ibf-dsp561/Kconfig
new file mode 100644
index 0000000..a7d0f4e
--- /dev/null
+++ b/board/ibf-dsp561/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_IBF_DSP561
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "ibf-dsp561"
+
+config SYS_CONFIG_NAME
+	string
+	default "ibf-dsp561"
+
+endif
diff --git a/board/icecube/Kconfig b/board/icecube/Kconfig
new file mode 100644
index 0000000..d4e5c4e
--- /dev/null
+++ b/board/icecube/Kconfig
@@ -0,0 +1,231 @@
+if TARGET_ICECUBE_5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+endif
+
+if TARGET_ICECUBE_5200_DDR
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC5200_DDR"
+
+endif
+
+if TARGET_ICECUBE_5200_DDR_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFF800000,MPC5200_DDR"
+
+endif
+
+if TARGET_ICECUBE_5200_DDR_LOWBOOT08
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFF800000,MPC5200_DDR"
+
+endif
+
+if TARGET_ICECUBE_5200_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFF000000"
+
+endif
+
+if TARGET_ICECUBE_5200_LOWBOOT08
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_LITE5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+endif
+
+if TARGET_LITE5200_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFF000000"
+
+endif
+
+if TARGET_LITE5200_LOWBOOT08
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_LITE5200B
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC5200_DDR,LITE5200B"
+
+endif
+
+if TARGET_LITE5200B_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC5200_DDR,LITE5200B,SYS_TEXT_BASE=0xFF000000"
+
+endif
+
+if TARGET_LITE5200B_PM
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "icecube"
+
+config SYS_CONFIG_NAME
+	string
+	default "IceCube"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC5200_DDR,LITE5200B,LITE5200B_PM"
+
+endif
diff --git a/board/icpdas/lp8x4x/Kconfig b/board/icpdas/lp8x4x/Kconfig
new file mode 100644
index 0000000..6d58984
--- /dev/null
+++ b/board/icpdas/lp8x4x/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_LP8X4X
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "lp8x4x"
+
+config SYS_VENDOR
+	string
+	default "icpdas"
+
+config SYS_CONFIG_NAME
+	string
+	default "lp8x4x"
+
+endif
diff --git a/board/icu862/Kconfig b/board/icu862/Kconfig
new file mode 100644
index 0000000..5d13b04
--- /dev/null
+++ b/board/icu862/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_ICU862
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "icu862"
+
+config SYS_CONFIG_NAME
+	string
+	default "ICU862"
+
+endif
+
+if TARGET_ICU862_100MHZ
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "icu862"
+
+config SYS_CONFIG_NAME
+	string
+	default "ICU862"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "100MHz"
+
+endif
diff --git a/board/ids/ids8247/Kconfig b/board/ids/ids8247/Kconfig
new file mode 100644
index 0000000..026de83
--- /dev/null
+++ b/board/ids/ids8247/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_IDS8247
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "ids8247"
+
+config SYS_VENDOR
+	string
+	default "ids"
+
+config SYS_CONFIG_NAME
+	string
+	default "IDS8247"
+
+endif
diff --git a/board/ids/ids8313/Kconfig b/board/ids/ids8313/Kconfig
new file mode 100644
index 0000000..76e3c6a
--- /dev/null
+++ b/board/ids/ids8313/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_IDS8313
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "ids8313"
+
+config SYS_VENDOR
+	string
+	default "ids"
+
+config SYS_CONFIG_NAME
+	string
+	default "ids8313"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFFF00000"
+
+endif
diff --git a/board/ifm/ac14xx/Kconfig b/board/ifm/ac14xx/Kconfig
new file mode 100644
index 0000000..2a49f20
--- /dev/null
+++ b/board/ifm/ac14xx/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_AC14XX
+
+config SYS_CPU
+	string
+	default "mpc512x"
+
+config SYS_BOARD
+	string
+	default "ac14xx"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "ac14xx"
+
+endif
diff --git a/board/ifm/o2dnt2/Kconfig b/board/ifm/o2dnt2/Kconfig
new file mode 100644
index 0000000..3ccce24
--- /dev/null
+++ b/board/ifm/o2dnt2/Kconfig
@@ -0,0 +1,215 @@
+if TARGET_O2D
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "o2dnt2"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "o2d"
+
+endif
+
+if TARGET_O2D300
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "o2dnt2"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "o2d300"
+
+endif
+
+if TARGET_O2DNT2
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "o2dnt2"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "o2dnt2"
+
+endif
+
+if TARGET_O2DNT2_RAMBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "o2dnt2"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "o2dnt2"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0x00100000"
+
+endif
+
+if TARGET_O2I
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "o2dnt2"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "o2i"
+
+endif
+
+if TARGET_O2MNT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "o2dnt2"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "o2mnt"
+
+endif
+
+if TARGET_O2MNT_O2M110
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "o2dnt2"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "o2mnt"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IFM_SENSOR_TYPE=\"O2M110\""
+
+endif
+
+if TARGET_O2MNT_O2M112
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "o2dnt2"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "o2mnt"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IFM_SENSOR_TYPE=\"O2M112\""
+
+endif
+
+if TARGET_O2MNT_O2M113
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "o2dnt2"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "o2mnt"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IFM_SENSOR_TYPE=\"O2M113\""
+
+endif
+
+if TARGET_O3DNT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "o2dnt2"
+
+config SYS_VENDOR
+	string
+	default "ifm"
+
+config SYS_CONFIG_NAME
+	string
+	default "o3dnt"
+
+endif
diff --git a/board/imgtec/malta/Kconfig b/board/imgtec/malta/Kconfig
new file mode 100644
index 0000000..4a864c3
--- /dev/null
+++ b/board/imgtec/malta/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_MALTA
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "malta"
+
+config SYS_VENDOR
+	string
+	default "imgtec"
+
+config SYS_CONFIG_NAME
+	string
+	default "malta"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BIG_ENDIAN"
+
+endif
+
+if TARGET_MALTAEL
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "malta"
+
+config SYS_VENDOR
+	string
+	default "imgtec"
+
+config SYS_CONFIG_NAME
+	string
+	default "malta"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_LITTLE_ENDIAN"
+
+endif
diff --git a/board/imx31_phycore/Kconfig b/board/imx31_phycore/Kconfig
new file mode 100644
index 0000000..466b709
--- /dev/null
+++ b/board/imx31_phycore/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_IMX31_PHYCORE
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "imx31_phycore"
+
+config SYS_SOC
+	string
+	default "mx31"
+
+config SYS_CONFIG_NAME
+	string
+	default "imx31_phycore"
+
+endif
+
+if TARGET_IMX31_PHYCORE_EET
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "imx31_phycore"
+
+config SYS_SOC
+	string
+	default "mx31"
+
+config SYS_CONFIG_NAME
+	string
+	default "imx31_phycore"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX31_PHYCORE_EET"
+
+endif
diff --git a/board/in-circuit/grasshopper/Kconfig b/board/in-circuit/grasshopper/Kconfig
new file mode 100644
index 0000000..a9f5d8b
--- /dev/null
+++ b/board/in-circuit/grasshopper/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_GRASSHOPPER
+
+config SYS_CPU
+	string
+	default "at32ap"
+
+config SYS_BOARD
+	string
+	default "grasshopper"
+
+config SYS_VENDOR
+	string
+	default "in-circuit"
+
+config SYS_SOC
+	string
+	default "at32ap700x"
+
+config SYS_CONFIG_NAME
+	string
+	default "grasshopper"
+
+endif
diff --git a/board/inka4x0/Kconfig b/board/inka4x0/Kconfig
new file mode 100644
index 0000000..cb6e06f
--- /dev/null
+++ b/board/inka4x0/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_INKA4X0
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "inka4x0"
+
+config SYS_CONFIG_NAME
+	string
+	default "inka4x0"
+
+endif
diff --git a/board/intercontrol/digsy_mtc/Kconfig b/board/intercontrol/digsy_mtc/Kconfig
new file mode 100644
index 0000000..37d29d3
--- /dev/null
+++ b/board/intercontrol/digsy_mtc/Kconfig
@@ -0,0 +1,91 @@
+if TARGET_DIGSY_MTC
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "digsy_mtc"
+
+config SYS_VENDOR
+	string
+	default "intercontrol"
+
+config SYS_CONFIG_NAME
+	string
+	default "digsy_mtc"
+
+endif
+
+if TARGET_DIGSY_MTC_RAMBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "digsy_mtc"
+
+config SYS_VENDOR
+	string
+	default "intercontrol"
+
+config SYS_CONFIG_NAME
+	string
+	default "digsy_mtc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0x00100000"
+
+endif
+
+if TARGET_DIGSY_MTC_REV5
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "digsy_mtc"
+
+config SYS_VENDOR
+	string
+	default "intercontrol"
+
+config SYS_CONFIG_NAME
+	string
+	default "digsy_mtc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "DIGSY_REV5"
+
+endif
+
+if TARGET_DIGSY_MTC_REV5_RAMBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "digsy_mtc"
+
+config SYS_VENDOR
+	string
+	default "intercontrol"
+
+config SYS_CONFIG_NAME
+	string
+	default "digsy_mtc"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0x00100000,DIGSY_REV5"
+
+endif
diff --git a/board/iomega/iconnect/Kconfig b/board/iomega/iconnect/Kconfig
new file mode 100644
index 0000000..8ac21d2
--- /dev/null
+++ b/board/iomega/iconnect/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ICONNECT
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "iconnect"
+
+config SYS_VENDOR
+	string
+	default "iomega"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "iconnect"
+
+endif
diff --git a/board/ip04/Kconfig b/board/ip04/Kconfig
new file mode 100644
index 0000000..66221bf
--- /dev/null
+++ b/board/ip04/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_IP04
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "ip04"
+
+config SYS_CONFIG_NAME
+	string
+	default "ip04"
+
+endif
diff --git a/board/ip860/Kconfig b/board/ip860/Kconfig
new file mode 100644
index 0000000..008ad38
--- /dev/null
+++ b/board/ip860/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_IP860
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "ip860"
+
+config SYS_CONFIG_NAME
+	string
+	default "IP860"
+
+endif
diff --git a/board/ipek01/Kconfig b/board/ipek01/Kconfig
new file mode 100644
index 0000000..7772825
--- /dev/null
+++ b/board/ipek01/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_IPEK01
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "ipek01"
+
+config SYS_CONFIG_NAME
+	string
+	default "ipek01"
+
+endif
diff --git a/board/iphase4539/Kconfig b/board/iphase4539/Kconfig
new file mode 100644
index 0000000..1c02618
--- /dev/null
+++ b/board/iphase4539/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_IPHASE4539
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "iphase4539"
+
+config SYS_CONFIG_NAME
+	string
+	default "IPHASE4539"
+
+endif
diff --git a/board/isee/igep0033/Kconfig b/board/isee/igep0033/Kconfig
new file mode 100644
index 0000000..cdb67ed
--- /dev/null
+++ b/board/isee/igep0033/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_AM335X_IGEP0033
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "igep0033"
+
+config SYS_VENDOR
+	string
+	default "isee"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_igep0033"
+
+endif
diff --git a/board/isee/igep00x0/Kconfig b/board/isee/igep00x0/Kconfig
new file mode 100644
index 0000000..3df73dd
--- /dev/null
+++ b/board/isee/igep00x0/Kconfig
@@ -0,0 +1,139 @@
+if TARGET_IGEP0020
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "igep00x0"
+
+config SYS_VENDOR
+	string
+	default "isee"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_igep00x0"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_ONENAND"
+
+endif
+
+if TARGET_IGEP0020_NAND
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "igep00x0"
+
+config SYS_VENDOR
+	string
+	default "isee"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_igep00x0"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_NAND"
+
+endif
+
+if TARGET_IGEP0030
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "igep00x0"
+
+config SYS_VENDOR
+	string
+	default "isee"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_igep00x0"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_ONENAND"
+
+endif
+
+if TARGET_IGEP0030_NAND
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "igep00x0"
+
+config SYS_VENDOR
+	string
+	default "isee"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_igep00x0"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_NAND"
+
+endif
+
+if TARGET_IGEP0032
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "igep00x0"
+
+config SYS_VENDOR
+	string
+	default "isee"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_igep00x0"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MACH_TYPE=MACH_TYPE_IGEP0032,BOOT_ONENAND"
+
+endif
diff --git a/board/ispan/Kconfig b/board/ispan/Kconfig
new file mode 100644
index 0000000..e0194e4
--- /dev/null
+++ b/board/ispan/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_ISPAN
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "ispan"
+
+config SYS_CONFIG_NAME
+	string
+	default "ISPAN"
+
+endif
+
+if TARGET_ISPAN_REVB
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "ispan"
+
+config SYS_CONFIG_NAME
+	string
+	default "ISPAN"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_REV_B"
+
+endif
diff --git a/board/ivm/Kconfig b/board/ivm/Kconfig
new file mode 100644
index 0000000..0e5a7d2
--- /dev/null
+++ b/board/ivm/Kconfig
@@ -0,0 +1,119 @@
+if TARGET_IVML24
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "ivm"
+
+config SYS_CONFIG_NAME
+	string
+	default "IVML24"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IVML24_16M"
+
+endif
+
+if TARGET_IVML24_128
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "ivm"
+
+config SYS_CONFIG_NAME
+	string
+	default "IVML24"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IVML24_32M"
+
+endif
+
+if TARGET_IVML24_256
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "ivm"
+
+config SYS_CONFIG_NAME
+	string
+	default "IVML24"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IVML24_64M"
+
+endif
+
+if TARGET_IVMS8
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "ivm"
+
+config SYS_CONFIG_NAME
+	string
+	default "IVMS8"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IVMS8_16M"
+
+endif
+
+if TARGET_IVMS8_128
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "ivm"
+
+config SYS_CONFIG_NAME
+	string
+	default "IVMS8"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IVMS8_32M"
+
+endif
+
+if TARGET_IVMS8_256
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "ivm"
+
+config SYS_CONFIG_NAME
+	string
+	default "IVMS8"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IVMS8_64M"
+
+endif
diff --git a/board/jornada/Kconfig b/board/jornada/Kconfig
new file mode 100644
index 0000000..345d3b6
--- /dev/null
+++ b/board/jornada/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_JORNADA
+
+config SYS_CPU
+	string
+	default "sa1100"
+
+config SYS_BOARD
+	string
+	default "jornada"
+
+config SYS_CONFIG_NAME
+	string
+	default "jornada"
+
+endif
diff --git a/board/jse/Kconfig b/board/jse/Kconfig
new file mode 100644
index 0000000..a0e6204
--- /dev/null
+++ b/board/jse/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_JSE
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "jse"
+
+config SYS_CONFIG_NAME
+	string
+	default "JSE"
+
+endif
diff --git a/board/jupiter/Kconfig b/board/jupiter/Kconfig
new file mode 100644
index 0000000..8ad1ed2
--- /dev/null
+++ b/board/jupiter/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_JUPITER
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "jupiter"
+
+config SYS_CONFIG_NAME
+	string
+	default "jupiter"
+
+endif
diff --git a/board/karo/tk71/Kconfig b/board/karo/tk71/Kconfig
new file mode 100644
index 0000000..546491b
--- /dev/null
+++ b/board/karo/tk71/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_TK71
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "tk71"
+
+config SYS_VENDOR
+	string
+	default "karo"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "tk71"
+
+endif
diff --git a/board/karo/tx25/Kconfig b/board/karo/tx25/Kconfig
new file mode 100644
index 0000000..095b1a5
--- /dev/null
+++ b/board/karo/tx25/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_TX25
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "tx25"
+
+config SYS_VENDOR
+	string
+	default "karo"
+
+config SYS_SOC
+	string
+	default "mx25"
+
+config SYS_CONFIG_NAME
+	string
+	default "tx25"
+
+endif
diff --git a/board/keymile/km82xx/Kconfig b/board/keymile/km82xx/Kconfig
new file mode 100644
index 0000000..f861dde
--- /dev/null
+++ b/board/keymile/km82xx/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_MGCOGE
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "km82xx"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "km82xx"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MGCOGE"
+
+endif
+
+if TARGET_MGCOGE3NE
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "km82xx"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "km82xx"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MGCOGE3NE"
+
+endif
diff --git a/board/keymile/km83xx/Kconfig b/board/keymile/km83xx/Kconfig
new file mode 100644
index 0000000..ba37fce
--- /dev/null
+++ b/board/keymile/km83xx/Kconfig
@@ -0,0 +1,191 @@
+if TARGET_KMCOGE5NE
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "km83xx"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "km8360"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KMCOGE5NE"
+
+endif
+
+if TARGET_KMETER1
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "km83xx"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "km8360"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KMETER1"
+
+endif
+
+if TARGET_KMOPTI2
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "km83xx"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "tuxx1"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KMOPTI2"
+
+endif
+
+if TARGET_KMSUPX5
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "km83xx"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "tuxx1"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KMSUPX5"
+
+endif
+
+if TARGET_KMVECT1
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "km83xx"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "suvd3"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KMVECT1"
+
+endif
+
+if TARGET_SUVD3
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "km83xx"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "suvd3"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SUVD3"
+
+endif
+
+if TARGET_TUGE1
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "km83xx"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "tuxx1"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TUGE1"
+
+endif
+
+if TARGET_TUXX1
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "km83xx"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "tuxx1"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TUXX1"
+
+endif
diff --git a/board/keymile/km_arm/Kconfig b/board/keymile/km_arm/Kconfig
new file mode 100644
index 0000000..38c7dd6
--- /dev/null
+++ b/board/keymile/km_arm/Kconfig
@@ -0,0 +1,251 @@
+if TARGET_KM_KIRKWOOD
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "km_arm"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "km_kirkwood"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KM_KIRKWOOD"
+
+endif
+
+if TARGET_KM_KIRKWOOD_128M16
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "km_arm"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "km_kirkwood"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KM_KIRKWOOD_128M16"
+
+endif
+
+if TARGET_KM_KIRKWOOD_PCI
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "km_arm"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "km_kirkwood"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KM_KIRKWOOD_PCI"
+
+endif
+
+if TARGET_KMCOGE5UN
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "km_arm"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "km_kirkwood"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KM_COGE5UN"
+
+endif
+
+if TARGET_KMNUSA
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "km_arm"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "km_kirkwood"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KM_NUSA"
+
+endif
+
+if TARGET_KMSUGP1
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "km_arm"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "km_kirkwood"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KM_SUGP1"
+
+endif
+
+if TARGET_KMSUV31
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "km_arm"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "km_kirkwood"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KM_SUV31"
+
+endif
+
+if TARGET_MGCOGE3UN
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "km_arm"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "km_kirkwood"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KM_MGCOGE3UN"
+
+endif
+
+if TARGET_PORTL2
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "km_arm"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "km_kirkwood"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KM_PORTL2"
+
+endif
diff --git a/board/keymile/kmp204x/Kconfig b/board/keymile/kmp204x/Kconfig
new file mode 100644
index 0000000..6519afa
--- /dev/null
+++ b/board/keymile/kmp204x/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_KMCOGE4
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "kmp204x"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "kmp204x"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KMCOGE4"
+
+endif
+
+if TARGET_KMLION1
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "kmp204x"
+
+config SYS_VENDOR
+	string
+	default "keymile"
+
+config SYS_CONFIG_NAME
+	string
+	default "kmp204x"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KMLION1"
+
+endif
diff --git a/board/kmc/kzm9g/Kconfig b/board/kmc/kzm9g/Kconfig
new file mode 100644
index 0000000..2d40173
--- /dev/null
+++ b/board/kmc/kzm9g/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_KZM9G
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "kzm9g"
+
+config SYS_VENDOR
+	string
+	default "kmc"
+
+config SYS_SOC
+	string
+	default "rmobile"
+
+config SYS_CONFIG_NAME
+	string
+	default "kzm9g"
+
+endif
diff --git a/board/korat/Kconfig b/board/korat/Kconfig
new file mode 100644
index 0000000..a7a0cb1
--- /dev/null
+++ b/board/korat/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_KORAT
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "korat"
+
+config SYS_CONFIG_NAME
+	string
+	default "korat"
+
+endif
+
+if TARGET_KORAT_PERM
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "korat"
+
+config SYS_CONFIG_NAME
+	string
+	default "korat"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "KORAT_PERMANENT"
+
+endif
diff --git a/board/kup/kup4k/Kconfig b/board/kup/kup4k/Kconfig
new file mode 100644
index 0000000..95e2c2e
--- /dev/null
+++ b/board/kup/kup4k/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_KUP4K
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "kup4k"
+
+config SYS_VENDOR
+	string
+	default "kup"
+
+config SYS_CONFIG_NAME
+	string
+	default "KUP4K"
+
+endif
diff --git a/board/kup/kup4x/Kconfig b/board/kup/kup4x/Kconfig
new file mode 100644
index 0000000..32db8de
--- /dev/null
+++ b/board/kup/kup4x/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_KUP4X
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "kup4x"
+
+config SYS_VENDOR
+	string
+	default "kup"
+
+config SYS_CONFIG_NAME
+	string
+	default "KUP4X"
+
+endif
diff --git a/board/logicpd/am3517evm/Kconfig b/board/logicpd/am3517evm/Kconfig
new file mode 100644
index 0000000..9bc5ae5
--- /dev/null
+++ b/board/logicpd/am3517evm/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_AM3517_EVM
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am3517evm"
+
+config SYS_VENDOR
+	string
+	default "logicpd"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "am3517_evm"
+
+endif
diff --git a/board/logicpd/imx27lite/Kconfig b/board/logicpd/imx27lite/Kconfig
new file mode 100644
index 0000000..f107267
--- /dev/null
+++ b/board/logicpd/imx27lite/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_IMX27LITE
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "imx27lite"
+
+config SYS_VENDOR
+	string
+	default "logicpd"
+
+config SYS_SOC
+	string
+	default "mx27"
+
+config SYS_CONFIG_NAME
+	string
+	default "imx27lite"
+
+endif
+
+if TARGET_MAGNESIUM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "imx27lite"
+
+config SYS_VENDOR
+	string
+	default "logicpd"
+
+config SYS_SOC
+	string
+	default "mx27"
+
+config SYS_CONFIG_NAME
+	string
+	default "magnesium"
+
+endif
diff --git a/board/logicpd/imx31_litekit/Kconfig b/board/logicpd/imx31_litekit/Kconfig
new file mode 100644
index 0000000..ae3343b
--- /dev/null
+++ b/board/logicpd/imx31_litekit/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_IMX31_LITEKIT
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "imx31_litekit"
+
+config SYS_VENDOR
+	string
+	default "logicpd"
+
+config SYS_SOC
+	string
+	default "mx31"
+
+config SYS_CONFIG_NAME
+	string
+	default "imx31_litekit"
+
+endif
diff --git a/board/logicpd/omap3som/Kconfig b/board/logicpd/omap3som/Kconfig
new file mode 100644
index 0000000..daaefa6
--- /dev/null
+++ b/board/logicpd/omap3som/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_OMAP3_LOGIC
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "omap3som"
+
+config SYS_VENDOR
+	string
+	default "logicpd"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_logic"
+
+endif
diff --git a/board/logicpd/zoom1/Kconfig b/board/logicpd/zoom1/Kconfig
new file mode 100644
index 0000000..3199130
--- /dev/null
+++ b/board/logicpd/zoom1/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_OMAP3_ZOOM1
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "zoom1"
+
+config SYS_VENDOR
+	string
+	default "logicpd"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_zoom1"
+
+endif
diff --git a/board/lwmon/Kconfig b/board/lwmon/Kconfig
new file mode 100644
index 0000000..a04e14b
--- /dev/null
+++ b/board/lwmon/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_LWMON
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "lwmon"
+
+config SYS_CONFIG_NAME
+	string
+	default "lwmon"
+
+endif
diff --git a/board/lwmon5/Kconfig b/board/lwmon5/Kconfig
new file mode 100644
index 0000000..0b70759
--- /dev/null
+++ b/board/lwmon5/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_LWMON5
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "lwmon5"
+
+config SYS_CONFIG_NAME
+	string
+	default "lwmon5"
+
+endif
+
+if TARGET_LCD4_LWMON5
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "lwmon5"
+
+config SYS_CONFIG_NAME
+	string
+	default "lwmon5"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LCD4_LWMON5"
+
+endif
diff --git a/board/manroland/hmi1001/Kconfig b/board/manroland/hmi1001/Kconfig
new file mode 100644
index 0000000..7d0c07a
--- /dev/null
+++ b/board/manroland/hmi1001/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_HMI1001
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "hmi1001"
+
+config SYS_VENDOR
+	string
+	default "manroland"
+
+config SYS_CONFIG_NAME
+	string
+	default "hmi1001"
+
+endif
diff --git a/board/manroland/mucmc52/Kconfig b/board/manroland/mucmc52/Kconfig
new file mode 100644
index 0000000..aa5d935
--- /dev/null
+++ b/board/manroland/mucmc52/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MUCMC52
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mucmc52"
+
+config SYS_VENDOR
+	string
+	default "manroland"
+
+config SYS_CONFIG_NAME
+	string
+	default "mucmc52"
+
+endif
diff --git a/board/manroland/uc100/Kconfig b/board/manroland/uc100/Kconfig
new file mode 100644
index 0000000..ca79c73
--- /dev/null
+++ b/board/manroland/uc100/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_UC100
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "uc100"
+
+config SYS_VENDOR
+	string
+	default "manroland"
+
+config SYS_CONFIG_NAME
+	string
+	default "uc100"
+
+endif
diff --git a/board/manroland/uc101/Kconfig b/board/manroland/uc101/Kconfig
new file mode 100644
index 0000000..c185a51
--- /dev/null
+++ b/board/manroland/uc101/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_UC101
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "uc101"
+
+config SYS_VENDOR
+	string
+	default "manroland"
+
+config SYS_CONFIG_NAME
+	string
+	default "uc101"
+
+endif
diff --git a/board/matrix_vision/mergerbox/Kconfig b/board/matrix_vision/mergerbox/Kconfig
new file mode 100644
index 0000000..c85f6b3
--- /dev/null
+++ b/board/matrix_vision/mergerbox/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MERGERBOX
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mergerbox"
+
+config SYS_VENDOR
+	string
+	default "matrix_vision"
+
+config SYS_CONFIG_NAME
+	string
+	default "MERGERBOX"
+
+endif
diff --git a/board/matrix_vision/mvbc_p/Kconfig b/board/matrix_vision/mvbc_p/Kconfig
new file mode 100644
index 0000000..b8aa308
--- /dev/null
+++ b/board/matrix_vision/mvbc_p/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_MVBC_P
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mvbc_p"
+
+config SYS_VENDOR
+	string
+	default "matrix_vision"
+
+config SYS_CONFIG_NAME
+	string
+	default "MVBC_P"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MVBC_P"
+
+endif
diff --git a/board/matrix_vision/mvblm7/Kconfig b/board/matrix_vision/mvblm7/Kconfig
new file mode 100644
index 0000000..9769ea9
--- /dev/null
+++ b/board/matrix_vision/mvblm7/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MVBLM7
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mvblm7"
+
+config SYS_VENDOR
+	string
+	default "matrix_vision"
+
+config SYS_CONFIG_NAME
+	string
+	default "MVBLM7"
+
+endif
diff --git a/board/matrix_vision/mvblx/Kconfig b/board/matrix_vision/mvblx/Kconfig
new file mode 100644
index 0000000..d89c1e3
--- /dev/null
+++ b/board/matrix_vision/mvblx/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_OMAP3_MVBLX
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mvblx"
+
+config SYS_VENDOR
+	string
+	default "matrix_vision"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_mvblx"
+
+endif
diff --git a/board/matrix_vision/mvsmr/Kconfig b/board/matrix_vision/mvsmr/Kconfig
new file mode 100644
index 0000000..53d4f08
--- /dev/null
+++ b/board/matrix_vision/mvsmr/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MVSMR
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mvsmr"
+
+config SYS_VENDOR
+	string
+	default "matrix_vision"
+
+config SYS_CONFIG_NAME
+	string
+	default "MVSMR"
+
+endif
diff --git a/board/mcc200/Kconfig b/board/mcc200/Kconfig
new file mode 100644
index 0000000..71be33a
--- /dev/null
+++ b/board/mcc200/Kconfig
@@ -0,0 +1,235 @@
+if TARGET_MCC200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+endif
+
+if TARGET_MCC200_COM12
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CONSOLE_COM12"
+
+endif
+
+if TARGET_MCC200_COM12_HIGHBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CONSOLE_COM12,SYS_TEXT_BASE=0xFFF00000"
+
+endif
+
+if TARGET_MCC200_COM12_HIGHBOOT_SDRAM
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CONSOLE_COM12,SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM"
+
+endif
+
+if TARGET_MCC200_COM12_SDRAM
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CONSOLE_COM12,MCC200_SDRAM"
+
+endif
+
+if TARGET_MCC200_HIGHBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFFF00000"
+
+endif
+
+if TARGET_MCC200_HIGHBOOT_SDRAM
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM"
+
+endif
+
+if TARGET_MCC200_SDRAM
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MCC200_SDRAM"
+
+endif
+
+if TARGET_PRS200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PRS200,MCC200_SDRAM"
+
+endif
+
+if TARGET_PRS200_DDR
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PRS200"
+
+endif
+
+if TARGET_PRS200_HIGHBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PRS200,SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM"
+
+endif
+
+if TARGET_PRS200_HIGHBOOT_DDR
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "mcc200"
+
+config SYS_CONFIG_NAME
+	string
+	default "mcc200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PRS200,SYS_TEXT_BASE=0xFFF00000"
+
+endif
diff --git a/board/micronas/vct/Kconfig b/board/micronas/vct/Kconfig
new file mode 100644
index 0000000..f234314
--- /dev/null
+++ b/board/micronas/vct/Kconfig
@@ -0,0 +1,287 @@
+if TARGET_VCT_PLATINUM
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PLATINUM"
+
+endif
+
+if TARGET_VCT_PLATINUM_ONENAND
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PLATINUM,VCT_ONENAND"
+
+endif
+
+if TARGET_VCT_PLATINUM_ONENAND_SMALL
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PLATINUM,VCT_ONENAND,VCT_SMALL_IMAGE"
+
+endif
+
+if TARGET_VCT_PLATINUM_SMALL
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PLATINUM,VCT_SMALL_IMAGE"
+
+endif
+
+if TARGET_VCT_PLATINUMAVC
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PLATINUMAVC"
+
+endif
+
+if TARGET_VCT_PLATINUMAVC_ONENAND
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PLATINUMAVC,VCT_ONENAND"
+
+endif
+
+if TARGET_VCT_PLATINUMAVC_ONENAND_SMALL
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PLATINUMAVC,VCT_ONENAND,VCT_SMALL_IMAGE"
+
+endif
+
+if TARGET_VCT_PLATINUMAVC_SMALL
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PLATINUMAVC,VCT_SMALL_IMAGE"
+
+endif
+
+if TARGET_VCT_PREMIUM
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PREMIUM"
+
+endif
+
+if TARGET_VCT_PREMIUM_ONENAND
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PREMIUM,VCT_ONENAND"
+
+endif
+
+if TARGET_VCT_PREMIUM_ONENAND_SMALL
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PREMIUM,VCT_ONENAND,VCT_SMALL_IMAGE"
+
+endif
+
+if TARGET_VCT_PREMIUM_SMALL
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "vct"
+
+config SYS_VENDOR
+	string
+	default "micronas"
+
+config SYS_CONFIG_NAME
+	string
+	default "vct"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "VCT_PREMIUM,VCT_SMALL_IMAGE"
+
+endif
diff --git a/board/mimc/mimc200/Kconfig b/board/mimc/mimc200/Kconfig
new file mode 100644
index 0000000..8adc2d0
--- /dev/null
+++ b/board/mimc/mimc200/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_MIMC200
+
+config SYS_CPU
+	string
+	default "at32ap"
+
+config SYS_BOARD
+	string
+	default "mimc200"
+
+config SYS_VENDOR
+	string
+	default "mimc"
+
+config SYS_SOC
+	string
+	default "at32ap700x"
+
+config SYS_CONFIG_NAME
+	string
+	default "mimc200"
+
+endif
diff --git a/board/miromico/hammerhead/Kconfig b/board/miromico/hammerhead/Kconfig
new file mode 100644
index 0000000..328417c
--- /dev/null
+++ b/board/miromico/hammerhead/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_HAMMERHEAD
+
+config SYS_CPU
+	string
+	default "at32ap"
+
+config SYS_BOARD
+	string
+	default "hammerhead"
+
+config SYS_VENDOR
+	string
+	default "miromico"
+
+config SYS_SOC
+	string
+	default "at32ap700x"
+
+config SYS_CONFIG_NAME
+	string
+	default "hammerhead"
+
+endif
diff --git a/board/mosaixtech/icon/Kconfig b/board/mosaixtech/icon/Kconfig
new file mode 100644
index 0000000..2079d92
--- /dev/null
+++ b/board/mosaixtech/icon/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_ICON
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "icon"
+
+config SYS_VENDOR
+	string
+	default "mosaixtech"
+
+config SYS_CONFIG_NAME
+	string
+	default "icon"
+
+endif
diff --git a/board/motionpro/Kconfig b/board/motionpro/Kconfig
new file mode 100644
index 0000000..881e9a6
--- /dev/null
+++ b/board/motionpro/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_MOTIONPRO
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "motionpro"
+
+config SYS_CONFIG_NAME
+	string
+	default "motionpro"
+
+endif
diff --git a/board/mpc8308_p1m/Kconfig b/board/mpc8308_p1m/Kconfig
new file mode 100644
index 0000000..53e1f74
--- /dev/null
+++ b/board/mpc8308_p1m/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_MPC8308_P1M
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "mpc8308_p1m"
+
+config SYS_CONFIG_NAME
+	string
+	default "mpc8308_p1m"
+
+endif
diff --git a/board/mpl/mip405/Kconfig b/board/mpl/mip405/Kconfig
new file mode 100644
index 0000000..f3eca49
--- /dev/null
+++ b/board/mpl/mip405/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_MIP405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "mip405"
+
+config SYS_VENDOR
+	string
+	default "mpl"
+
+config SYS_CONFIG_NAME
+	string
+	default "MIP405"
+
+endif
+
+if TARGET_MIP405T
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "mip405"
+
+config SYS_VENDOR
+	string
+	default "mpl"
+
+config SYS_CONFIG_NAME
+	string
+	default "MIP405"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MIP405T"
+
+endif
diff --git a/board/mpl/pati/Kconfig b/board/mpl/pati/Kconfig
new file mode 100644
index 0000000..c964dc5
--- /dev/null
+++ b/board/mpl/pati/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_PATI
+
+config SYS_CPU
+	string
+	default "mpc5xx"
+
+config SYS_BOARD
+	string
+	default "pati"
+
+config SYS_VENDOR
+	string
+	default "mpl"
+
+config SYS_CONFIG_NAME
+	string
+	default "PATI"
+
+endif
diff --git a/board/mpl/pip405/Kconfig b/board/mpl/pip405/Kconfig
new file mode 100644
index 0000000..56340cf
--- /dev/null
+++ b/board/mpl/pip405/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_PIP405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "pip405"
+
+config SYS_VENDOR
+	string
+	default "mpl"
+
+config SYS_CONFIG_NAME
+	string
+	default "PIP405"
+
+endif
diff --git a/board/mpl/vcma9/Kconfig b/board/mpl/vcma9/Kconfig
new file mode 100644
index 0000000..91246be
--- /dev/null
+++ b/board/mpl/vcma9/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_VCMA9
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "vcma9"
+
+config SYS_VENDOR
+	string
+	default "mpl"
+
+config SYS_SOC
+	string
+	default "s3c24x0"
+
+config SYS_CONFIG_NAME
+	string
+	default "VCMA9"
+
+endif
diff --git a/board/mpr2/Kconfig b/board/mpr2/Kconfig
new file mode 100644
index 0000000..93bec59
--- /dev/null
+++ b/board/mpr2/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_MPR2
+
+config SYS_CPU
+	string
+	default "sh3"
+
+config SYS_BOARD
+	string
+	default "mpr2"
+
+config SYS_CONFIG_NAME
+	string
+	default "mpr2"
+
+endif
diff --git a/board/ms7720se/Kconfig b/board/ms7720se/Kconfig
new file mode 100644
index 0000000..8873062
--- /dev/null
+++ b/board/ms7720se/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_MS7720SE
+
+config SYS_CPU
+	string
+	default "sh3"
+
+config SYS_BOARD
+	string
+	default "ms7720se"
+
+config SYS_CONFIG_NAME
+	string
+	default "ms7720se"
+
+endif
diff --git a/board/ms7722se/Kconfig b/board/ms7722se/Kconfig
new file mode 100644
index 0000000..c5b5b4f
--- /dev/null
+++ b/board/ms7722se/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_MS7722SE
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "ms7722se"
+
+config SYS_CONFIG_NAME
+	string
+	default "ms7722se"
+
+endif
diff --git a/board/ms7750se/Kconfig b/board/ms7750se/Kconfig
new file mode 100644
index 0000000..0c9d88f
--- /dev/null
+++ b/board/ms7750se/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_MS7750SE
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "ms7750se"
+
+config SYS_CONFIG_NAME
+	string
+	default "ms7750se"
+
+endif
diff --git a/board/muas3001/Kconfig b/board/muas3001/Kconfig
new file mode 100644
index 0000000..de7b78f
--- /dev/null
+++ b/board/muas3001/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_MUAS3001
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "muas3001"
+
+config SYS_CONFIG_NAME
+	string
+	default "muas3001"
+
+endif
+
+if TARGET_MUAS3001_DEV
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "muas3001"
+
+config SYS_CONFIG_NAME
+	string
+	default "muas3001"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MUAS_DEV_BOARD"
+
+endif
diff --git a/board/munices/Kconfig b/board/munices/Kconfig
new file mode 100644
index 0000000..3f0d465
--- /dev/null
+++ b/board/munices/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_MUNICES
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "munices"
+
+config SYS_CONFIG_NAME
+	string
+	default "munices"
+
+endif
diff --git a/board/musenki/Kconfig b/board/musenki/Kconfig
new file mode 100644
index 0000000..ab17844
--- /dev/null
+++ b/board/musenki/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_MUSENKI
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "musenki"
+
+config SYS_CONFIG_NAME
+	string
+	default "MUSENKI"
+
+endif
diff --git a/board/mvblue/Kconfig b/board/mvblue/Kconfig
new file mode 100644
index 0000000..abe6313
--- /dev/null
+++ b/board/mvblue/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_MVBLUE
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "mvblue"
+
+config SYS_CONFIG_NAME
+	string
+	default "MVBLUE"
+
+endif
diff --git a/board/netphone/Kconfig b/board/netphone/Kconfig
new file mode 100644
index 0000000..18efb51
--- /dev/null
+++ b/board/netphone/Kconfig
@@ -0,0 +1,39 @@
+if TARGET_NETPHONE
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netphone"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETPHONE"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETPHONE_VERSION=1"
+
+endif
+
+if TARGET_NETPHONE_V2
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netphone"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETPHONE"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETPHONE_VERSION=2"
+
+endif
diff --git a/board/netta/Kconfig b/board/netta/Kconfig
new file mode 100644
index 0000000..ace6a3a
--- /dev/null
+++ b/board/netta/Kconfig
@@ -0,0 +1,155 @@
+if TARGET_NETTA
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netta"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETTA"
+
+endif
+
+if TARGET_NETTA_6412
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netta"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETTA"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETTA_6412=1"
+
+endif
+
+if TARGET_NETTA_6412_SWAPHOOK
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netta"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETTA"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETTA_6412=1,NETTA_SWAPHOOK=1"
+
+endif
+
+if TARGET_NETTA_ISDN
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netta"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETTA"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETTA_ISDN=1"
+
+endif
+
+if TARGET_NETTA_ISDN_6412
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netta"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETTA"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETTA_ISDN=1,NETTA_6412=1"
+
+endif
+
+if TARGET_NETTA_ISDN_6412_SWAPHOOK
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netta"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETTA"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETTA_ISDN=1,NETTA_6412=1,NETTA_SWAPHOOK=1"
+
+endif
+
+if TARGET_NETTA_ISDN_SWAPHOOK
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netta"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETTA"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETTA_ISDN=1,NETTA_SWAPHOOK=1"
+
+endif
+
+if TARGET_NETTA_SWAPHOOK
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netta"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETTA"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETTA_SWAPHOOK=1"
+
+endif
diff --git a/board/netta2/Kconfig b/board/netta2/Kconfig
new file mode 100644
index 0000000..60d549b
--- /dev/null
+++ b/board/netta2/Kconfig
@@ -0,0 +1,39 @@
+if TARGET_NETTA2
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netta2"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETTA2"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETTA2_VERSION=1"
+
+endif
+
+if TARGET_NETTA2_V2
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netta2"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETTA2"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETTA2_VERSION=2"
+
+endif
diff --git a/board/netvia/Kconfig b/board/netvia/Kconfig
new file mode 100644
index 0000000..2e61ca2
--- /dev/null
+++ b/board/netvia/Kconfig
@@ -0,0 +1,39 @@
+if TARGET_NETVIA
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netvia"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETVIA"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETVIA_VERSION=1"
+
+endif
+
+if TARGET_NETVIA_V2
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "netvia"
+
+config SYS_CONFIG_NAME
+	string
+	default "NETVIA"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NETVIA_VERSION=2"
+
+endif
diff --git a/board/nokia/rx51/Kconfig b/board/nokia/rx51/Kconfig
new file mode 100644
index 0000000..41d0daa
--- /dev/null
+++ b/board/nokia/rx51/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_NOKIA_RX51
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "rx51"
+
+config SYS_VENDOR
+	string
+	default "nokia"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "nokia_rx51"
+
+endif
diff --git a/board/nvidia/beaver/Kconfig b/board/nvidia/beaver/Kconfig
new file mode 100644
index 0000000..f052676
--- /dev/null
+++ b/board/nvidia/beaver/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_BEAVER
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "beaver"
+
+config SYS_VENDOR
+	string
+	default "nvidia"
+
+config SYS_SOC
+	string
+	default "tegra30"
+
+config SYS_CONFIG_NAME
+	string
+	default "beaver"
+
+endif
diff --git a/board/nvidia/cardhu/Kconfig b/board/nvidia/cardhu/Kconfig
new file mode 100644
index 0000000..9853114
--- /dev/null
+++ b/board/nvidia/cardhu/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_CARDHU
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "cardhu"
+
+config SYS_VENDOR
+	string
+	default "nvidia"
+
+config SYS_SOC
+	string
+	default "tegra30"
+
+config SYS_CONFIG_NAME
+	string
+	default "cardhu"
+
+endif
diff --git a/board/nvidia/dalmore/Kconfig b/board/nvidia/dalmore/Kconfig
new file mode 100644
index 0000000..33b78db
--- /dev/null
+++ b/board/nvidia/dalmore/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_DALMORE
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "dalmore"
+
+config SYS_VENDOR
+	string
+	default "nvidia"
+
+config SYS_SOC
+	string
+	default "tegra114"
+
+config SYS_CONFIG_NAME
+	string
+	default "dalmore"
+
+endif
diff --git a/board/nvidia/harmony/Kconfig b/board/nvidia/harmony/Kconfig
new file mode 100644
index 0000000..2a3bde4
--- /dev/null
+++ b/board/nvidia/harmony/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_HARMONY
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "harmony"
+
+config SYS_VENDOR
+	string
+	default "nvidia"
+
+config SYS_SOC
+	string
+	default "tegra20"
+
+config SYS_CONFIG_NAME
+	string
+	default "harmony"
+
+endif
diff --git a/board/nvidia/jetson-tk1/Kconfig b/board/nvidia/jetson-tk1/Kconfig
new file mode 100644
index 0000000..af9ac0d
--- /dev/null
+++ b/board/nvidia/jetson-tk1/Kconfig
@@ -0,0 +1,28 @@
+if TARGET_JETSON_TK1
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "jetson-tk1"
+
+config SYS_VENDOR
+	string
+	default "nvidia"
+
+config SYS_SOC
+	string
+	default "tegra124"
+
+config SYS_CONFIG_NAME
+	string
+	default "jetson-tk1"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOARD_JETSON_TK1="
+
+endif
diff --git a/board/nvidia/seaboard/Kconfig b/board/nvidia/seaboard/Kconfig
new file mode 100644
index 0000000..39c65b5
--- /dev/null
+++ b/board/nvidia/seaboard/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_SEABOARD
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "seaboard"
+
+config SYS_VENDOR
+	string
+	default "nvidia"
+
+config SYS_SOC
+	string
+	default "tegra20"
+
+config SYS_CONFIG_NAME
+	string
+	default "seaboard"
+
+endif
diff --git a/board/nvidia/venice2/Kconfig b/board/nvidia/venice2/Kconfig
new file mode 100644
index 0000000..84a7160
--- /dev/null
+++ b/board/nvidia/venice2/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_VENICE2
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "venice2"
+
+config SYS_VENDOR
+	string
+	default "nvidia"
+
+config SYS_SOC
+	string
+	default "tegra124"
+
+config SYS_CONFIG_NAME
+	string
+	default "venice2"
+
+endif
diff --git a/board/nvidia/ventana/Kconfig b/board/nvidia/ventana/Kconfig
new file mode 100644
index 0000000..59e85c4
--- /dev/null
+++ b/board/nvidia/ventana/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_VENTANA
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "ventana"
+
+config SYS_VENDOR
+	string
+	default "nvidia"
+
+config SYS_SOC
+	string
+	default "tegra20"
+
+config SYS_CONFIG_NAME
+	string
+	default "ventana"
+
+endif
diff --git a/board/nvidia/whistler/Kconfig b/board/nvidia/whistler/Kconfig
new file mode 100644
index 0000000..f025413
--- /dev/null
+++ b/board/nvidia/whistler/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_WHISTLER
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "whistler"
+
+config SYS_VENDOR
+	string
+	default "nvidia"
+
+config SYS_SOC
+	string
+	default "tegra20"
+
+config SYS_CONFIG_NAME
+	string
+	default "whistler"
+
+endif
diff --git a/board/olimex/mx23_olinuxino/Kconfig b/board/olimex/mx23_olinuxino/Kconfig
new file mode 100644
index 0000000..07b3284
--- /dev/null
+++ b/board/olimex/mx23_olinuxino/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_MX23_OLINUXINO
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "mx23_olinuxino"
+
+config SYS_VENDOR
+	string
+	default "olimex"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "mx23_olinuxino"
+
+endif
diff --git a/board/omicron/calimain/Kconfig b/board/omicron/calimain/Kconfig
new file mode 100644
index 0000000..923af8a
--- /dev/null
+++ b/board/omicron/calimain/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_CALIMAIN
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "calimain"
+
+config SYS_VENDOR
+	string
+	default "omicron"
+
+config SYS_SOC
+	string
+	default "davinci"
+
+config SYS_CONFIG_NAME
+	string
+	default "calimain"
+
+endif
diff --git a/board/openrisc/openrisc-generic/Kconfig b/board/openrisc/openrisc-generic/Kconfig
new file mode 100644
index 0000000..bc5ac14
--- /dev/null
+++ b/board/openrisc/openrisc-generic/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_OPENRISC_GENERIC
+
+config SYS_CPU
+	string
+	default "or1200"
+
+config SYS_BOARD
+	string
+	default "openrisc-generic"
+
+config SYS_VENDOR
+	string
+	default "openrisc"
+
+config SYS_CONFIG_NAME
+	string
+	default "openrisc-generic"
+
+endif
diff --git a/board/overo/Kconfig b/board/overo/Kconfig
new file mode 100644
index 0000000..1d4a261
--- /dev/null
+++ b/board/overo/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_OMAP3_OVERO
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "overo"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_overo"
+
+endif
diff --git a/board/palmld/Kconfig b/board/palmld/Kconfig
new file mode 100644
index 0000000..bed99b6
--- /dev/null
+++ b/board/palmld/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_PALMLD
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "palmld"
+
+config SYS_CONFIG_NAME
+	string
+	default "palmld"
+
+endif
diff --git a/board/palmtc/Kconfig b/board/palmtc/Kconfig
new file mode 100644
index 0000000..86fb63b
--- /dev/null
+++ b/board/palmtc/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_PALMTC
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "palmtc"
+
+config SYS_CONFIG_NAME
+	string
+	default "palmtc"
+
+endif
diff --git a/board/palmtreo680/Kconfig b/board/palmtreo680/Kconfig
new file mode 100644
index 0000000..4df6c63
--- /dev/null
+++ b/board/palmtreo680/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_PALMTREO680
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "palmtreo680"
+
+config SYS_CONFIG_NAME
+	string
+	default "palmtreo680"
+
+endif
diff --git a/board/pandora/Kconfig b/board/pandora/Kconfig
new file mode 100644
index 0000000..a36c0c8
--- /dev/null
+++ b/board/pandora/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_OMAP3_PANDORA
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "pandora"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_pandora"
+
+endif
diff --git a/board/pb1x00/Kconfig b/board/pb1x00/Kconfig
new file mode 100644
index 0000000..c41f758
--- /dev/null
+++ b/board/pb1x00/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_PB1000
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "pb1x00"
+
+config SYS_SOC
+	string
+	default "au1x00"
+
+config SYS_CONFIG_NAME
+	string
+	default "pb1x00"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PB1000"
+
+endif
diff --git a/board/pcs440ep/Kconfig b/board/pcs440ep/Kconfig
new file mode 100644
index 0000000..d59e583
--- /dev/null
+++ b/board/pcs440ep/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_PCS440EP
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "pcs440ep"
+
+config SYS_CONFIG_NAME
+	string
+	default "pcs440ep"
+
+endif
diff --git a/board/pdm360ng/Kconfig b/board/pdm360ng/Kconfig
new file mode 100644
index 0000000..e999480
--- /dev/null
+++ b/board/pdm360ng/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_PDM360NG
+
+config SYS_CPU
+	string
+	default "mpc512x"
+
+config SYS_BOARD
+	string
+	default "pdm360ng"
+
+config SYS_CONFIG_NAME
+	string
+	default "pdm360ng"
+
+endif
diff --git a/board/phytec/pcm030/Kconfig b/board/phytec/pcm030/Kconfig
new file mode 100644
index 0000000..affaa85
--- /dev/null
+++ b/board/phytec/pcm030/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_PCM030
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "pcm030"
+
+config SYS_VENDOR
+	string
+	default "phytec"
+
+config SYS_CONFIG_NAME
+	string
+	default "pcm030"
+
+endif
+
+if TARGET_PCM030_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "pcm030"
+
+config SYS_VENDOR
+	string
+	default "phytec"
+
+config SYS_CONFIG_NAME
+	string
+	default "pcm030"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFF000000"
+
+endif
diff --git a/board/phytec/pcm051/Kconfig b/board/phytec/pcm051/Kconfig
new file mode 100644
index 0000000..ef88c5f
--- /dev/null
+++ b/board/phytec/pcm051/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_PCM051_REV1
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "pcm051"
+
+config SYS_VENDOR
+	string
+	default "phytec"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "pcm051"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "REV1"
+
+endif
+
+if TARGET_PCM051_REV3
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "pcm051"
+
+config SYS_VENDOR
+	string
+	default "phytec"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "pcm051"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "REV3"
+
+endif
diff --git a/board/pm520/Kconfig b/board/pm520/Kconfig
new file mode 100644
index 0000000..5c60542
--- /dev/null
+++ b/board/pm520/Kconfig
@@ -0,0 +1,75 @@
+if TARGET_PM520
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "pm520"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM520"
+
+endif
+
+if TARGET_PM520_DDR
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "pm520"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM520"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC5200_DDR"
+
+endif
+
+if TARGET_PM520_ROMBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "pm520"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM520"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOOT_ROM"
+
+endif
+
+if TARGET_PM520_ROMBOOT_DDR
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "pm520"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM520"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC5200_DDR,BOOT_ROM"
+
+endif
diff --git a/board/pm826/Kconfig b/board/pm826/Kconfig
new file mode 100644
index 0000000..49c7390
--- /dev/null
+++ b/board/pm826/Kconfig
@@ -0,0 +1,159 @@
+if TARGET_PM825
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm826"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM826"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,SYS_TEXT_BASE=0xFF000000"
+
+endif
+
+if TARGET_PM825_BIGFLASH
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm826"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM826"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,FLASH_32MB,SYS_TEXT_BASE=0x40000000"
+
+endif
+
+if TARGET_PM825_ROMBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm826"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM826"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,BOOT_ROM,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_PM825_ROMBOOT_BIGFLASH
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm826"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM826"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,BOOT_ROM,FLASH_32MB,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_PM826
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm826"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM826"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xFF000000"
+
+endif
+
+if TARGET_PM826_BIGFLASH
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm826"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM826"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "FLASH_32MB,SYS_TEXT_BASE=0x40000000"
+
+endif
+
+if TARGET_PM826_ROMBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm826"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM826"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOOT_ROM,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_PM826_ROMBOOT_BIGFLASH
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm826"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM826"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOOT_ROM,FLASH_32MB,SYS_TEXT_BASE=0xFF800000"
+
+endif
diff --git a/board/pm828/Kconfig b/board/pm828/Kconfig
new file mode 100644
index 0000000..1a2f0ed
--- /dev/null
+++ b/board/pm828/Kconfig
@@ -0,0 +1,75 @@
+if TARGET_PM828
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm828"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM828"
+
+endif
+
+if TARGET_PM828_PCI
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm828"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM828"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI"
+
+endif
+
+if TARGET_PM828_ROMBOOT
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm828"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM828"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOOT_ROM,SYS_TEXT_BASE=0xFF800000"
+
+endif
+
+if TARGET_PM828_ROMBOOT_PCI
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "pm828"
+
+config SYS_CONFIG_NAME
+	string
+	default "PM828"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,BOOT_ROM,SYS_TEXT_BASE=0xFF800000"
+
+endif
diff --git a/board/ppcag/bg0900/Kconfig b/board/ppcag/bg0900/Kconfig
new file mode 100644
index 0000000..e4fb601
--- /dev/null
+++ b/board/ppcag/bg0900/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_BG0900
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "bg0900"
+
+config SYS_VENDOR
+	string
+	default "ppcag"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "bg0900"
+
+endif
diff --git a/board/ppmc7xx/Kconfig b/board/ppmc7xx/Kconfig
new file mode 100644
index 0000000..e847258
--- /dev/null
+++ b/board/ppmc7xx/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_PPMC7XX
+
+config SYS_CPU
+	string
+	default "74xx_7xx"
+
+config SYS_BOARD
+	string
+	default "ppmc7xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "ppmc7xx"
+
+endif
diff --git a/board/ppmc8260/Kconfig b/board/ppmc8260/Kconfig
new file mode 100644
index 0000000..7df6a1c
--- /dev/null
+++ b/board/ppmc8260/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_PPMC8260
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "ppmc8260"
+
+config SYS_CONFIG_NAME
+	string
+	default "ppmc8260"
+
+endif
diff --git a/board/pr1/Kconfig b/board/pr1/Kconfig
new file mode 100644
index 0000000..a1465e0
--- /dev/null
+++ b/board/pr1/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_PR1
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "pr1"
+
+config SYS_CONFIG_NAME
+	string
+	default "pr1"
+
+endif
diff --git a/board/prodrive/alpr/Kconfig b/board/prodrive/alpr/Kconfig
new file mode 100644
index 0000000..153dd60
--- /dev/null
+++ b/board/prodrive/alpr/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_ALPR
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "alpr"
+
+config SYS_VENDOR
+	string
+	default "prodrive"
+
+config SYS_CONFIG_NAME
+	string
+	default "alpr"
+
+endif
diff --git a/board/prodrive/p3mx/Kconfig b/board/prodrive/p3mx/Kconfig
new file mode 100644
index 0000000..efdf059
--- /dev/null
+++ b/board/prodrive/p3mx/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_P3M7448
+
+config SYS_CPU
+	string
+	default "74xx_7xx"
+
+config SYS_BOARD
+	string
+	default "p3mx"
+
+config SYS_VENDOR
+	string
+	default "prodrive"
+
+config SYS_CONFIG_NAME
+	string
+	default "p3mx"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P3M7448"
+
+endif
+
+if TARGET_P3M750
+
+config SYS_CPU
+	string
+	default "74xx_7xx"
+
+config SYS_BOARD
+	string
+	default "p3mx"
+
+config SYS_VENDOR
+	string
+	default "prodrive"
+
+config SYS_CONFIG_NAME
+	string
+	default "p3mx"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "P3M750"
+
+endif
diff --git a/board/prodrive/p3p440/Kconfig b/board/prodrive/p3p440/Kconfig
new file mode 100644
index 0000000..e55e136
--- /dev/null
+++ b/board/prodrive/p3p440/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_P3P440
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "p3p440"
+
+config SYS_VENDOR
+	string
+	default "prodrive"
+
+config SYS_CONFIG_NAME
+	string
+	default "p3p440"
+
+endif
diff --git a/board/psyent/pci5441/Kconfig b/board/psyent/pci5441/Kconfig
new file mode 100644
index 0000000..ff652d6
--- /dev/null
+++ b/board/psyent/pci5441/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_PCI5441
+
+config SYS_CPU
+	string
+	default "nios2"
+
+config SYS_BOARD
+	string
+	default "pci5441"
+
+config SYS_VENDOR
+	string
+	default "psyent"
+
+config SYS_CONFIG_NAME
+	string
+	default "PCI5441"
+
+endif
diff --git a/board/psyent/pk1c20/Kconfig b/board/psyent/pk1c20/Kconfig
new file mode 100644
index 0000000..ec7c2a9
--- /dev/null
+++ b/board/psyent/pk1c20/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_PK1C20
+
+config SYS_CPU
+	string
+	default "nios2"
+
+config SYS_BOARD
+	string
+	default "pk1c20"
+
+config SYS_VENDOR
+	string
+	default "psyent"
+
+config SYS_CONFIG_NAME
+	string
+	default "PK1C20"
+
+endif
diff --git a/board/pxa255_idp/Kconfig b/board/pxa255_idp/Kconfig
new file mode 100644
index 0000000..e231f28
--- /dev/null
+++ b/board/pxa255_idp/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_PXA255_IDP
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "pxa255_idp"
+
+config SYS_CONFIG_NAME
+	string
+	default "pxa255_idp"
+
+endif
diff --git a/board/qemu-mips/Kconfig b/board/qemu-mips/Kconfig
new file mode 100644
index 0000000..ff46a8e
--- /dev/null
+++ b/board/qemu-mips/Kconfig
@@ -0,0 +1,79 @@
+if TARGET_QEMU_MIPS
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "qemu-mips"
+
+config SYS_CONFIG_NAME
+	string
+	default "qemu-mips"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BIG_ENDIAN"
+
+endif
+
+if TARGET_QEMU_MIPSEL
+
+config SYS_CPU
+	string
+	default "mips32"
+
+config SYS_BOARD
+	string
+	default "qemu-mips"
+
+config SYS_CONFIG_NAME
+	string
+	default "qemu-mips"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_LITTLE_ENDIAN"
+
+endif
+
+if TARGET_QEMU_MIPS64
+
+config SYS_CPU
+	string
+	default "mips64"
+
+config SYS_BOARD
+	string
+	default "qemu-mips"
+
+config SYS_CONFIG_NAME
+	string
+	default "qemu-mips64"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BIG_ENDIAN"
+
+endif
+
+if TARGET_QEMU_MIPS64EL
+
+config SYS_CPU
+	string
+	default "mips64"
+
+config SYS_BOARD
+	string
+	default "qemu-mips"
+
+config SYS_CONFIG_NAME
+	string
+	default "qemu-mips64"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_LITTLE_ENDIAN"
+
+endif
diff --git a/board/quad100hd/Kconfig b/board/quad100hd/Kconfig
new file mode 100644
index 0000000..892b289
--- /dev/null
+++ b/board/quad100hd/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_QUAD100HD
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "quad100hd"
+
+config SYS_CONFIG_NAME
+	string
+	default "quad100hd"
+
+endif
diff --git a/board/quantum/Kconfig b/board/quantum/Kconfig
new file mode 100644
index 0000000..92913dc
--- /dev/null
+++ b/board/quantum/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_QUANTUM
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "quantum"
+
+config SYS_CONFIG_NAME
+	string
+	default "quantum"
+
+endif
diff --git a/board/r360mpi/Kconfig b/board/r360mpi/Kconfig
new file mode 100644
index 0000000..57dc43a
--- /dev/null
+++ b/board/r360mpi/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_R360MPI
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "r360mpi"
+
+config SYS_CONFIG_NAME
+	string
+	default "R360MPI"
+
+endif
diff --git a/board/raidsonic/ib62x0/Kconfig b/board/raidsonic/ib62x0/Kconfig
new file mode 100644
index 0000000..1e667c4
--- /dev/null
+++ b/board/raidsonic/ib62x0/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_IB62X0
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "ib62x0"
+
+config SYS_VENDOR
+	string
+	default "raidsonic"
+
+config SYS_SOC
+	string
+	default "kirkwood"
+
+config SYS_CONFIG_NAME
+	string
+	default "ib62x0"
+
+endif
diff --git a/board/raspberrypi/rpi_b/Kconfig b/board/raspberrypi/rpi_b/Kconfig
new file mode 100644
index 0000000..6e99c91
--- /dev/null
+++ b/board/raspberrypi/rpi_b/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_RPI_B
+
+config SYS_CPU
+	string
+	default "arm1176"
+
+config SYS_BOARD
+	string
+	default "rpi_b"
+
+config SYS_VENDOR
+	string
+	default "raspberrypi"
+
+config SYS_SOC
+	string
+	default "bcm2835"
+
+config SYS_CONFIG_NAME
+	string
+	default "rpi_b"
+
+endif
diff --git a/board/rattler/Kconfig b/board/rattler/Kconfig
new file mode 100644
index 0000000..5b068c1
--- /dev/null
+++ b/board/rattler/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_RATTLER
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "rattler"
+
+config SYS_CONFIG_NAME
+	string
+	default "Rattler"
+
+endif
+
+if TARGET_RATTLER8248
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "rattler"
+
+config SYS_CONFIG_NAME
+	string
+	default "Rattler"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8248"
+
+endif
diff --git a/board/rbc823/Kconfig b/board/rbc823/Kconfig
new file mode 100644
index 0000000..9d13179
--- /dev/null
+++ b/board/rbc823/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_RBC823
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "rbc823"
+
+config SYS_CONFIG_NAME
+	string
+	default "RBC823"
+
+endif
diff --git a/board/renesas/MigoR/Kconfig b/board/renesas/MigoR/Kconfig
new file mode 100644
index 0000000..d72a453
--- /dev/null
+++ b/board/renesas/MigoR/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MIGOR
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "MigoR"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "MigoR"
+
+endif
diff --git a/board/renesas/ap325rxa/Kconfig b/board/renesas/ap325rxa/Kconfig
new file mode 100644
index 0000000..ac1e9ef
--- /dev/null
+++ b/board/renesas/ap325rxa/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_AP325RXA
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "ap325rxa"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "ap325rxa"
+
+endif
diff --git a/board/renesas/ecovec/Kconfig b/board/renesas/ecovec/Kconfig
new file mode 100644
index 0000000..d62389e
--- /dev/null
+++ b/board/renesas/ecovec/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_ECOVEC
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "ecovec"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "ecovec"
+
+endif
diff --git a/board/renesas/koelsch/Kconfig b/board/renesas/koelsch/Kconfig
new file mode 100644
index 0000000..69199a0
--- /dev/null
+++ b/board/renesas/koelsch/Kconfig
@@ -0,0 +1,51 @@
+if TARGET_KOELSCH
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "koelsch"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_SOC
+	string
+	default "rmobile"
+
+config SYS_CONFIG_NAME
+	string
+	default "koelsch"
+
+endif
+
+if TARGET_KOELSCH_NOR
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "koelsch"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_SOC
+	string
+	default "rmobile"
+
+config SYS_CONFIG_NAME
+	string
+	default "koelsch"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NORFLASH"
+
+endif
diff --git a/board/renesas/lager/Kconfig b/board/renesas/lager/Kconfig
new file mode 100644
index 0000000..84f2c0a
--- /dev/null
+++ b/board/renesas/lager/Kconfig
@@ -0,0 +1,51 @@
+if TARGET_LAGER
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "lager"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_SOC
+	string
+	default "rmobile"
+
+config SYS_CONFIG_NAME
+	string
+	default "lager"
+
+endif
+
+if TARGET_LAGER_NOR
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "lager"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_SOC
+	string
+	default "rmobile"
+
+config SYS_CONFIG_NAME
+	string
+	default "lager"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NORFLASH"
+
+endif
diff --git a/board/renesas/r0p7734/Kconfig b/board/renesas/r0p7734/Kconfig
new file mode 100644
index 0000000..2eb1de2
--- /dev/null
+++ b/board/renesas/r0p7734/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_R0P7734
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "r0p7734"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "r0p7734"
+
+endif
diff --git a/board/renesas/r2dplus/Kconfig b/board/renesas/r2dplus/Kconfig
new file mode 100644
index 0000000..d674d77
--- /dev/null
+++ b/board/renesas/r2dplus/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_R2DPLUS
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "r2dplus"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "r2dplus"
+
+endif
diff --git a/board/renesas/r7780mp/Kconfig b/board/renesas/r7780mp/Kconfig
new file mode 100644
index 0000000..a862f59
--- /dev/null
+++ b/board/renesas/r7780mp/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_R7780MP
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "r7780mp"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "r7780mp"
+
+endif
diff --git a/board/renesas/rsk7203/Kconfig b/board/renesas/rsk7203/Kconfig
new file mode 100644
index 0000000..61e9913
--- /dev/null
+++ b/board/renesas/rsk7203/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_RSK7203
+
+config SYS_CPU
+	string
+	default "sh2"
+
+config SYS_BOARD
+	string
+	default "rsk7203"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "rsk7203"
+
+endif
diff --git a/board/renesas/rsk7264/Kconfig b/board/renesas/rsk7264/Kconfig
new file mode 100644
index 0000000..a32d3ca
--- /dev/null
+++ b/board/renesas/rsk7264/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_RSK7264
+
+config SYS_CPU
+	string
+	default "sh2"
+
+config SYS_BOARD
+	string
+	default "rsk7264"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "rsk7264"
+
+endif
diff --git a/board/renesas/rsk7269/Kconfig b/board/renesas/rsk7269/Kconfig
new file mode 100644
index 0000000..c126fcb
--- /dev/null
+++ b/board/renesas/rsk7269/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_RSK7269
+
+config SYS_CPU
+	string
+	default "sh2"
+
+config SYS_BOARD
+	string
+	default "rsk7269"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "rsk7269"
+
+endif
diff --git a/board/renesas/sh7752evb/Kconfig b/board/renesas/sh7752evb/Kconfig
new file mode 100644
index 0000000..12e52b4
--- /dev/null
+++ b/board/renesas/sh7752evb/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_SH7752EVB
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "sh7752evb"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "sh7752evb"
+
+endif
diff --git a/board/renesas/sh7753evb/Kconfig b/board/renesas/sh7753evb/Kconfig
new file mode 100644
index 0000000..a1f4cd0
--- /dev/null
+++ b/board/renesas/sh7753evb/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_SH7753EVB
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "sh7753evb"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "sh7753evb"
+
+endif
diff --git a/board/renesas/sh7757lcr/Kconfig b/board/renesas/sh7757lcr/Kconfig
new file mode 100644
index 0000000..a0e3265
--- /dev/null
+++ b/board/renesas/sh7757lcr/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_SH7757LCR
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "sh7757lcr"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "sh7757lcr"
+
+endif
diff --git a/board/renesas/sh7763rdp/Kconfig b/board/renesas/sh7763rdp/Kconfig
new file mode 100644
index 0000000..fbc11af
--- /dev/null
+++ b/board/renesas/sh7763rdp/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_SH7763RDP
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "sh7763rdp"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "sh7763rdp"
+
+endif
diff --git a/board/renesas/sh7785lcr/Kconfig b/board/renesas/sh7785lcr/Kconfig
new file mode 100644
index 0000000..ee63c3f
--- /dev/null
+++ b/board/renesas/sh7785lcr/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_SH7785LCR
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "sh7785lcr"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "sh7785lcr"
+
+endif
+
+if TARGET_SH7785LCR_32BIT
+
+config SYS_CPU
+	string
+	default "sh4"
+
+config SYS_BOARD
+	string
+	default "sh7785lcr"
+
+config SYS_VENDOR
+	string
+	default "renesas"
+
+config SYS_CONFIG_NAME
+	string
+	default "sh7785lcr"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SH_32BIT=1"
+
+endif
diff --git a/board/ronetix/pm9261/Kconfig b/board/ronetix/pm9261/Kconfig
new file mode 100644
index 0000000..1cd0421
--- /dev/null
+++ b/board/ronetix/pm9261/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_PM9261
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "pm9261"
+
+config SYS_VENDOR
+	string
+	default "ronetix"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "pm9261"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9261"
+
+endif
diff --git a/board/ronetix/pm9263/Kconfig b/board/ronetix/pm9263/Kconfig
new file mode 100644
index 0000000..aa5e8ea
--- /dev/null
+++ b/board/ronetix/pm9263/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_PM9263
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "pm9263"
+
+config SYS_VENDOR
+	string
+	default "ronetix"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "pm9263"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9263"
+
+endif
diff --git a/board/ronetix/pm9g45/Kconfig b/board/ronetix/pm9g45/Kconfig
new file mode 100644
index 0000000..aa7ee00
--- /dev/null
+++ b/board/ronetix/pm9g45/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_PM9G45
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "pm9g45"
+
+config SYS_VENDOR
+	string
+	default "ronetix"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "pm9g45"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G45"
+
+endif
diff --git a/board/sacsng/Kconfig b/board/sacsng/Kconfig
new file mode 100644
index 0000000..8d4e1d6
--- /dev/null
+++ b/board/sacsng/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SACSNG
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "sacsng"
+
+config SYS_CONFIG_NAME
+	string
+	default "sacsng"
+
+endif
diff --git a/board/samsung/arndale/Kconfig b/board/samsung/arndale/Kconfig
new file mode 100644
index 0000000..c3af0ec
--- /dev/null
+++ b/board/samsung/arndale/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ARNDALE
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "arndale"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "exynos"
+
+config SYS_CONFIG_NAME
+	string
+	default "arndale"
+
+endif
diff --git a/board/samsung/goni/Kconfig b/board/samsung/goni/Kconfig
new file mode 100644
index 0000000..0be535e
--- /dev/null
+++ b/board/samsung/goni/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_S5P_GONI
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "goni"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "s5pc1xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "s5p_goni"
+
+endif
diff --git a/board/samsung/origen/Kconfig b/board/samsung/origen/Kconfig
new file mode 100644
index 0000000..f52de83
--- /dev/null
+++ b/board/samsung/origen/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ORIGEN
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "origen"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "exynos"
+
+config SYS_CONFIG_NAME
+	string
+	default "origen"
+
+endif
diff --git a/board/samsung/smdk2410/Kconfig b/board/samsung/smdk2410/Kconfig
new file mode 100644
index 0000000..e921c09
--- /dev/null
+++ b/board/samsung/smdk2410/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_SMDK2410
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "smdk2410"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "s3c24x0"
+
+config SYS_CONFIG_NAME
+	string
+	default "smdk2410"
+
+endif
diff --git a/board/samsung/smdk5250/Kconfig b/board/samsung/smdk5250/Kconfig
new file mode 100644
index 0000000..edebbde
--- /dev/null
+++ b/board/samsung/smdk5250/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_SMDK5250
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "smdk5250"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "exynos"
+
+config SYS_CONFIG_NAME
+	string
+	default "smdk5250"
+
+endif
+
+if TARGET_SNOW
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "smdk5250"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "exynos"
+
+config SYS_CONFIG_NAME
+	string
+	default "snow"
+
+endif
diff --git a/board/samsung/smdk5420/Kconfig b/board/samsung/smdk5420/Kconfig
new file mode 100644
index 0000000..bcfc937
--- /dev/null
+++ b/board/samsung/smdk5420/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_SMDK5420
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "smdk5420"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "exynos"
+
+config SYS_CONFIG_NAME
+	string
+	default "smdk5420"
+
+endif
diff --git a/board/samsung/smdkc100/Kconfig b/board/samsung/smdkc100/Kconfig
new file mode 100644
index 0000000..9c2b4da
--- /dev/null
+++ b/board/samsung/smdkc100/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_SMDKC100
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "smdkc100"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "s5pc1xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "smdkc100"
+
+endif
diff --git a/board/samsung/smdkv310/Kconfig b/board/samsung/smdkv310/Kconfig
new file mode 100644
index 0000000..e467092
--- /dev/null
+++ b/board/samsung/smdkv310/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_SMDKV310
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "smdkv310"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "exynos"
+
+config SYS_CONFIG_NAME
+	string
+	default "smdkv310"
+
+endif
diff --git a/board/samsung/trats/Kconfig b/board/samsung/trats/Kconfig
new file mode 100644
index 0000000..040413e
--- /dev/null
+++ b/board/samsung/trats/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_TRATS
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "trats"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "exynos"
+
+config SYS_CONFIG_NAME
+	string
+	default "trats"
+
+endif
diff --git a/board/samsung/trats2/Kconfig b/board/samsung/trats2/Kconfig
new file mode 100644
index 0000000..a82fdfb
--- /dev/null
+++ b/board/samsung/trats2/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_TRATS2
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "trats2"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "exynos"
+
+config SYS_CONFIG_NAME
+	string
+	default "trats2"
+
+endif
diff --git a/board/samsung/universal_c210/Kconfig b/board/samsung/universal_c210/Kconfig
new file mode 100644
index 0000000..082168f
--- /dev/null
+++ b/board/samsung/universal_c210/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_S5PC210_UNIVERSAL
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "universal_c210"
+
+config SYS_VENDOR
+	string
+	default "samsung"
+
+config SYS_SOC
+	string
+	default "exynos"
+
+config SYS_CONFIG_NAME
+	string
+	default "s5pc210_universal"
+
+endif
diff --git a/board/sandburst/karef/Kconfig b/board/sandburst/karef/Kconfig
new file mode 100644
index 0000000..12edf70
--- /dev/null
+++ b/board/sandburst/karef/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_KAREF
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "karef"
+
+config SYS_VENDOR
+	string
+	default "sandburst"
+
+config SYS_CONFIG_NAME
+	string
+	default "KAREF"
+
+endif
diff --git a/board/sandburst/metrobox/Kconfig b/board/sandburst/metrobox/Kconfig
new file mode 100644
index 0000000..c30e80b
--- /dev/null
+++ b/board/sandburst/metrobox/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_METROBOX
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "metrobox"
+
+config SYS_VENDOR
+	string
+	default "sandburst"
+
+config SYS_CONFIG_NAME
+	string
+	default "METROBOX"
+
+endif
diff --git a/board/sandisk/sansa_fuze_plus/Kconfig b/board/sandisk/sansa_fuze_plus/Kconfig
new file mode 100644
index 0000000..eddbfd8
--- /dev/null
+++ b/board/sandisk/sansa_fuze_plus/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_SANSA_FUZE_PLUS
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "sansa_fuze_plus"
+
+config SYS_VENDOR
+	string
+	default "sandisk"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "sansa_fuze_plus"
+
+endif
diff --git a/board/sandpoint/Kconfig b/board/sandpoint/Kconfig
new file mode 100644
index 0000000..c6a0015
--- /dev/null
+++ b/board/sandpoint/Kconfig
@@ -0,0 +1,31 @@
+if TARGET_SANDPOINT8240
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "sandpoint"
+
+config SYS_CONFIG_NAME
+	string
+	default "Sandpoint8240"
+
+endif
+
+if TARGET_SANDPOINT8245
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "sandpoint"
+
+config SYS_CONFIG_NAME
+	string
+	default "Sandpoint8245"
+
+endif
diff --git a/board/sbc405/Kconfig b/board/sbc405/Kconfig
new file mode 100644
index 0000000..73b259d
--- /dev/null
+++ b/board/sbc405/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SBC405
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "sbc405"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc405"
+
+endif
diff --git a/board/sbc8349/Kconfig b/board/sbc8349/Kconfig
new file mode 100644
index 0000000..baca14b
--- /dev/null
+++ b/board/sbc8349/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_SBC8349
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "sbc8349"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc8349"
+
+endif
+
+if TARGET_SBC8349_PCI_33
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "sbc8349"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc8349"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,PCI_33M"
+
+endif
+
+if TARGET_SBC8349_PCI_66
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "sbc8349"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc8349"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,PCI_66M"
+
+endif
diff --git a/board/sbc8548/Kconfig b/board/sbc8548/Kconfig
new file mode 100644
index 0000000..bf79ca3
--- /dev/null
+++ b/board/sbc8548/Kconfig
@@ -0,0 +1,95 @@
+if TARGET_SBC8548
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "sbc8548"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc8548"
+
+endif
+
+if TARGET_SBC8548_PCI_33
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "sbc8548"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc8548"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,33"
+
+endif
+
+if TARGET_SBC8548_PCI_33_PCIE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "sbc8548"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc8548"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,33,PCIE"
+
+endif
+
+if TARGET_SBC8548_PCI_66
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "sbc8548"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc8548"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,66"
+
+endif
+
+if TARGET_SBC8548_PCI_66_PCIE
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "sbc8548"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc8548"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "PCI,66,PCIE"
+
+endif
diff --git a/board/sbc8641d/Kconfig b/board/sbc8641d/Kconfig
new file mode 100644
index 0000000..b0bdaef
--- /dev/null
+++ b/board/sbc8641d/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SBC8641D
+
+config SYS_CPU
+	string
+	default "mpc86xx"
+
+config SYS_BOARD
+	string
+	default "sbc8641d"
+
+config SYS_CONFIG_NAME
+	string
+	default "sbc8641d"
+
+endif
diff --git a/board/sc3/Kconfig b/board/sc3/Kconfig
new file mode 100644
index 0000000..afc043f
--- /dev/null
+++ b/board/sc3/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SC3
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "sc3"
+
+config SYS_CONFIG_NAME
+	string
+	default "sc3"
+
+endif
diff --git a/board/scb9328/Kconfig b/board/scb9328/Kconfig
new file mode 100644
index 0000000..040d055
--- /dev/null
+++ b/board/scb9328/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_SCB9328
+
+config SYS_CPU
+	string
+	default "arm920t"
+
+config SYS_BOARD
+	string
+	default "scb9328"
+
+config SYS_SOC
+	string
+	default "imx"
+
+config SYS_CONFIG_NAME
+	string
+	default "scb9328"
+
+endif
diff --git a/board/schulercontrol/sc_sps_1/Kconfig b/board/schulercontrol/sc_sps_1/Kconfig
new file mode 100644
index 0000000..30071ed
--- /dev/null
+++ b/board/schulercontrol/sc_sps_1/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_SC_SPS_1
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "sc_sps_1"
+
+config SYS_VENDOR
+	string
+	default "schulercontrol"
+
+config SYS_SOC
+	string
+	default "mxs"
+
+config SYS_CONFIG_NAME
+	string
+	default "sc_sps_1"
+
+endif
diff --git a/board/sheldon/simpc8313/Kconfig b/board/sheldon/simpc8313/Kconfig
new file mode 100644
index 0000000..fbe9795
--- /dev/null
+++ b/board/sheldon/simpc8313/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_SIMPC8313_LP
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "simpc8313"
+
+config SYS_VENDOR
+	string
+	default "sheldon"
+
+config SYS_CONFIG_NAME
+	string
+	default "SIMPC8313"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NAND_LP"
+
+endif
+
+if TARGET_SIMPC8313_SP
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "simpc8313"
+
+config SYS_VENDOR
+	string
+	default "sheldon"
+
+config SYS_CONFIG_NAME
+	string
+	default "SIMPC8313"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NAND_SP"
+
+endif
diff --git a/board/shmin/Kconfig b/board/shmin/Kconfig
new file mode 100644
index 0000000..cb9fb9f
--- /dev/null
+++ b/board/shmin/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SHMIN
+
+config SYS_CPU
+	string
+	default "sh3"
+
+config SYS_BOARD
+	string
+	default "shmin"
+
+config SYS_CONFIG_NAME
+	string
+	default "shmin"
+
+endif
diff --git a/board/siemens/corvus/Kconfig b/board/siemens/corvus/Kconfig
new file mode 100644
index 0000000..d54fbf4
--- /dev/null
+++ b/board/siemens/corvus/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_CORVUS
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "corvus"
+
+config SYS_VENDOR
+	string
+	default "siemens"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "corvus"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9M10G45,SYS_USE_NANDFLASH"
+
+endif
diff --git a/board/siemens/draco/Kconfig b/board/siemens/draco/Kconfig
new file mode 100644
index 0000000..c6dac1c
--- /dev/null
+++ b/board/siemens/draco/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_DRACO
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "draco"
+
+config SYS_VENDOR
+	string
+	default "siemens"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "draco"
+
+endif
+
+if TARGET_DXR2
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "draco"
+
+config SYS_VENDOR
+	string
+	default "siemens"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "dxr2"
+
+endif
diff --git a/board/siemens/pxm2/Kconfig b/board/siemens/pxm2/Kconfig
new file mode 100644
index 0000000..db69537
--- /dev/null
+++ b/board/siemens/pxm2/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_PXM2
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "pxm2"
+
+config SYS_VENDOR
+	string
+	default "siemens"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "pxm2"
+
+endif
diff --git a/board/siemens/rut/Kconfig b/board/siemens/rut/Kconfig
new file mode 100644
index 0000000..c4d9e7e
--- /dev/null
+++ b/board/siemens/rut/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_RUT
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "rut"
+
+config SYS_VENDOR
+	string
+	default "siemens"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "rut"
+
+endif
diff --git a/board/siemens/taurus/Kconfig b/board/siemens/taurus/Kconfig
new file mode 100644
index 0000000..d57ab57
--- /dev/null
+++ b/board/siemens/taurus/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_AXM
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "taurus"
+
+config SYS_VENDOR
+	string
+	default "siemens"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "taurus"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,MACH_TYPE=2068,BOARD_AXM"
+
+endif
+
+if TARGET_TAURUS
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "taurus"
+
+config SYS_VENDOR
+	string
+	default "siemens"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "taurus"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,MACH_TYPE=2067,BOARD_TAURUS"
+
+endif
diff --git a/board/silica/pengwyn/Kconfig b/board/silica/pengwyn/Kconfig
new file mode 100644
index 0000000..abf86b1
--- /dev/null
+++ b/board/silica/pengwyn/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_PENGWYN
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "pengwyn"
+
+config SYS_VENDOR
+	string
+	default "silica"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "pengwyn"
+
+endif
diff --git a/board/sixnet/Kconfig b/board/sixnet/Kconfig
new file mode 100644
index 0000000..f791208
--- /dev/null
+++ b/board/sixnet/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SXNI855T
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "sixnet"
+
+config SYS_CONFIG_NAME
+	string
+	default "SXNI855T"
+
+endif
diff --git a/board/snmc/qs850/Kconfig b/board/snmc/qs850/Kconfig
new file mode 100644
index 0000000..5410f06
--- /dev/null
+++ b/board/snmc/qs850/Kconfig
@@ -0,0 +1,39 @@
+if TARGET_QS823
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "qs850"
+
+config SYS_VENDOR
+	string
+	default "snmc"
+
+config SYS_CONFIG_NAME
+	string
+	default "QS823"
+
+endif
+
+if TARGET_QS850
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "qs850"
+
+config SYS_VENDOR
+	string
+	default "snmc"
+
+config SYS_CONFIG_NAME
+	string
+	default "QS850"
+
+endif
diff --git a/board/snmc/qs860t/Kconfig b/board/snmc/qs860t/Kconfig
new file mode 100644
index 0000000..bd98f8f
--- /dev/null
+++ b/board/snmc/qs860t/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_QS860T
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "qs860t"
+
+config SYS_VENDOR
+	string
+	default "snmc"
+
+config SYS_CONFIG_NAME
+	string
+	default "QS860T"
+
+endif
diff --git a/board/socrates/Kconfig b/board/socrates/Kconfig
new file mode 100644
index 0000000..39090b5
--- /dev/null
+++ b/board/socrates/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SOCRATES
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "socrates"
+
+config SYS_CONFIG_NAME
+	string
+	default "socrates"
+
+endif
diff --git a/board/solidrun/hummingboard/Kconfig b/board/solidrun/hummingboard/Kconfig
new file mode 100644
index 0000000..a0d42d6
--- /dev/null
+++ b/board/solidrun/hummingboard/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_HUMMINGBOARD_SOLO
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "hummingboard"
+
+config SYS_VENDOR
+	string
+	default "solidrun"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "hummingboard"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/solidrun/hummingboard/solo.cfg,MX6S,DDR_MB=512"
+
+endif
diff --git a/board/spc1920/Kconfig b/board/spc1920/Kconfig
new file mode 100644
index 0000000..6772cde
--- /dev/null
+++ b/board/spc1920/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SPC1920
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "spc1920"
+
+config SYS_CONFIG_NAME
+	string
+	default "spc1920"
+
+endif
diff --git a/board/spd8xx/Kconfig b/board/spd8xx/Kconfig
new file mode 100644
index 0000000..7e69002
--- /dev/null
+++ b/board/spd8xx/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SPD823TS
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "spd8xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "SPD823TS"
+
+endif
diff --git a/board/spear/spear300/Kconfig b/board/spear/spear300/Kconfig
new file mode 100644
index 0000000..756e3a9
--- /dev/null
+++ b/board/spear/spear300/Kconfig
@@ -0,0 +1,111 @@
+if TARGET_SPEAR300
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear300"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear300"
+
+endif
+
+if TARGET_SPEAR300_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear300"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear300,nand"
+
+endif
+
+if TARGET_SPEAR300_USBTTY
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear300"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear300,usbtty"
+
+endif
+
+if TARGET_SPEAR300_USBTTY_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear300"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear300,usbtty,nand"
+
+endif
diff --git a/board/spear/spear310/Kconfig b/board/spear/spear310/Kconfig
new file mode 100644
index 0000000..3bde5c8
--- /dev/null
+++ b/board/spear/spear310/Kconfig
@@ -0,0 +1,167 @@
+if TARGET_SPEAR310
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear310"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear310"
+
+endif
+
+if TARGET_SPEAR310_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear310"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear310,nand"
+
+endif
+
+if TARGET_SPEAR310_PNOR
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear310"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear310,FLASH_PNOR"
+
+endif
+
+if TARGET_SPEAR310_USBTTY
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear310"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear310,usbtty"
+
+endif
+
+if TARGET_SPEAR310_USBTTY_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear310"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear310,usbtty,nand"
+
+endif
+
+if TARGET_SPEAR310_USBTTY_PNOR
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear310"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear310,usbtty,FLASH_PNOR"
+
+endif
diff --git a/board/spear/spear320/Kconfig b/board/spear/spear320/Kconfig
new file mode 100644
index 0000000..874d433
--- /dev/null
+++ b/board/spear/spear320/Kconfig
@@ -0,0 +1,167 @@
+if TARGET_SPEAR320
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear320"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear320"
+
+endif
+
+if TARGET_SPEAR320_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear320"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear320,nand"
+
+endif
+
+if TARGET_SPEAR320_PNOR
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear320"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear320,FLASH_PNOR"
+
+endif
+
+if TARGET_SPEAR320_USBTTY
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear320"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear320,usbtty"
+
+endif
+
+if TARGET_SPEAR320_USBTTY_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear320"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear320,usbtty,nand"
+
+endif
+
+if TARGET_SPEAR320_USBTTY_PNOR
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear320"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear3xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear320,usbtty,FLASH_PNOR"
+
+endif
diff --git a/board/spear/spear600/Kconfig b/board/spear/spear600/Kconfig
new file mode 100644
index 0000000..285e3d8
--- /dev/null
+++ b/board/spear/spear600/Kconfig
@@ -0,0 +1,111 @@
+if TARGET_SPEAR600
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear600"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear6xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear600"
+
+endif
+
+if TARGET_SPEAR600_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear600"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear6xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear600,nand"
+
+endif
+
+if TARGET_SPEAR600_USBTTY
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear600"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear6xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear600,usbtty"
+
+endif
+
+if TARGET_SPEAR600_USBTTY_NAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "spear600"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "spear6xx_evb"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "spear600,usbtty,nand"
+
+endif
diff --git a/board/spear/x600/Kconfig b/board/spear/x600/Kconfig
new file mode 100644
index 0000000..a924559
--- /dev/null
+++ b/board/spear/x600/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_X600
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "x600"
+
+config SYS_VENDOR
+	string
+	default "spear"
+
+config SYS_SOC
+	string
+	default "spear"
+
+config SYS_CONFIG_NAME
+	string
+	default "x600"
+
+endif
diff --git a/board/st-ericsson/snowball/Kconfig b/board/st-ericsson/snowball/Kconfig
new file mode 100644
index 0000000..b5ead0f
--- /dev/null
+++ b/board/st-ericsson/snowball/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_SNOWBALL
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "snowball"
+
+config SYS_VENDOR
+	string
+	default "st-ericsson"
+
+config SYS_SOC
+	string
+	default "u8500"
+
+config SYS_CONFIG_NAME
+	string
+	default "snowball"
+
+endif
diff --git a/board/st-ericsson/u8500/Kconfig b/board/st-ericsson/u8500/Kconfig
new file mode 100644
index 0000000..bbcfdaf
--- /dev/null
+++ b/board/st-ericsson/u8500/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_U8500_HREF
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "u8500"
+
+config SYS_VENDOR
+	string
+	default "st-ericsson"
+
+config SYS_SOC
+	string
+	default "u8500"
+
+config SYS_CONFIG_NAME
+	string
+	default "u8500_href"
+
+endif
diff --git a/board/st/nhk8815/Kconfig b/board/st/nhk8815/Kconfig
new file mode 100644
index 0000000..914dd2b
--- /dev/null
+++ b/board/st/nhk8815/Kconfig
@@ -0,0 +1,51 @@
+if TARGET_NHK8815
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "nhk8815"
+
+config SYS_VENDOR
+	string
+	default "st"
+
+config SYS_SOC
+	string
+	default "nomadik"
+
+config SYS_CONFIG_NAME
+	string
+	default "nhk8815"
+
+endif
+
+if TARGET_NHK8815_ONENAND
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "nhk8815"
+
+config SYS_VENDOR
+	string
+	default "st"
+
+config SYS_SOC
+	string
+	default "nomadik"
+
+config SYS_CONFIG_NAME
+	string
+	default "nhk8815"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "BOOT_ONENAND"
+
+endif
diff --git a/board/stx/stxgp3/Kconfig b/board/stx/stxgp3/Kconfig
new file mode 100644
index 0000000..581ff7a
--- /dev/null
+++ b/board/stx/stxgp3/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_STXGP3
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "stxgp3"
+
+config SYS_VENDOR
+	string
+	default "stx"
+
+config SYS_CONFIG_NAME
+	string
+	default "stxgp3"
+
+endif
diff --git a/board/stx/stxssa/Kconfig b/board/stx/stxssa/Kconfig
new file mode 100644
index 0000000..839d53a
--- /dev/null
+++ b/board/stx/stxssa/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_STXSSA
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "stxssa"
+
+config SYS_VENDOR
+	string
+	default "stx"
+
+config SYS_CONFIG_NAME
+	string
+	default "stxssa"
+
+endif
+
+if TARGET_STXSSA_4M
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "stxssa"
+
+config SYS_VENDOR
+	string
+	default "stx"
+
+config SYS_CONFIG_NAME
+	string
+	default "stxssa"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "STXSSA_4M"
+
+endif
diff --git a/board/stx/stxxtc/Kconfig b/board/stx/stxxtc/Kconfig
new file mode 100644
index 0000000..ab2221f
--- /dev/null
+++ b/board/stx/stxxtc/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_STXXTC
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "stxxtc"
+
+config SYS_VENDOR
+	string
+	default "stx"
+
+config SYS_CONFIG_NAME
+	string
+	default "stxxtc"
+
+endif
diff --git a/board/svm_sc8xx/Kconfig b/board/svm_sc8xx/Kconfig
new file mode 100644
index 0000000..bb91a3e
--- /dev/null
+++ b/board/svm_sc8xx/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_SVM_SC8XX
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "svm_sc8xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "svm_sc8xx"
+
+endif
diff --git a/board/synopsys/Kconfig b/board/synopsys/Kconfig
new file mode 100644
index 0000000..f224ea9
--- /dev/null
+++ b/board/synopsys/Kconfig
@@ -0,0 +1,39 @@
+if TARGET_ARCANGEL4
+
+config SYS_CPU
+	string
+	default "arc700"
+
+config SYS_BOARD
+	string
+	default ""
+
+config SYS_VENDOR
+	string
+	default "synopsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "arcangel4"
+
+endif
+
+if TARGET_ARCANGEL4_BE
+
+config SYS_CPU
+	string
+	default "arc700"
+
+config SYS_BOARD
+	string
+	default ""
+
+config SYS_VENDOR
+	string
+	default "synopsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "arcangel4-be"
+
+endif
diff --git a/board/synopsys/axs101/Kconfig b/board/synopsys/axs101/Kconfig
new file mode 100644
index 0000000..535b8eb
--- /dev/null
+++ b/board/synopsys/axs101/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_AXS101
+
+config SYS_CPU
+	string
+	default "arc700"
+
+config SYS_BOARD
+	string
+	default "axs101"
+
+config SYS_VENDOR
+	string
+	default "synopsys"
+
+config SYS_CONFIG_NAME
+	string
+	default "axs101"
+
+endif
diff --git a/board/syteco/jadecpu/Kconfig b/board/syteco/jadecpu/Kconfig
new file mode 100644
index 0000000..c00204a
--- /dev/null
+++ b/board/syteco/jadecpu/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_JADECPU
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "jadecpu"
+
+config SYS_VENDOR
+	string
+	default "syteco"
+
+config SYS_SOC
+	string
+	default "mb86r0x"
+
+config SYS_CONFIG_NAME
+	string
+	default "jadecpu"
+
+endif
diff --git a/board/syteco/zmx25/Kconfig b/board/syteco/zmx25/Kconfig
new file mode 100644
index 0000000..dbf34e5
--- /dev/null
+++ b/board/syteco/zmx25/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_ZMX25
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "zmx25"
+
+config SYS_VENDOR
+	string
+	default "syteco"
+
+config SYS_SOC
+	string
+	default "mx25"
+
+config SYS_CONFIG_NAME
+	string
+	default "zmx25"
+
+endif
diff --git a/board/t3corp/Kconfig b/board/t3corp/Kconfig
new file mode 100644
index 0000000..7358cfc
--- /dev/null
+++ b/board/t3corp/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_T3CORP
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "t3corp"
+
+config SYS_CONFIG_NAME
+	string
+	default "t3corp"
+
+endif
diff --git a/board/taskit/stamp9g20/Kconfig b/board/taskit/stamp9g20/Kconfig
new file mode 100644
index 0000000..21ffaa9
--- /dev/null
+++ b/board/taskit/stamp9g20/Kconfig
@@ -0,0 +1,55 @@
+if TARGET_PORTUXG20
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "stamp9g20"
+
+config SYS_VENDOR
+	string
+	default "taskit"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "stamp9g20"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20,PORTUXG20"
+
+endif
+
+if TARGET_STAMP9G20
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "stamp9g20"
+
+config SYS_VENDOR
+	string
+	default "taskit"
+
+config SYS_SOC
+	string
+	default "at91"
+
+config SYS_CONFIG_NAME
+	string
+	default "stamp9g20"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "AT91SAM9G20"
+
+endif
diff --git a/board/tcm-bf518/Kconfig b/board/tcm-bf518/Kconfig
new file mode 100644
index 0000000..9ea668e
--- /dev/null
+++ b/board/tcm-bf518/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_TCM_BF518
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "tcm-bf518"
+
+config SYS_CONFIG_NAME
+	string
+	default "tcm-bf518"
+
+endif
diff --git a/board/tcm-bf537/Kconfig b/board/tcm-bf537/Kconfig
new file mode 100644
index 0000000..109d1e9
--- /dev/null
+++ b/board/tcm-bf537/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_TCM_BF537
+
+config SYS_CPU
+	string
+	default "blackfin"
+
+config SYS_BOARD
+	string
+	default "tcm-bf537"
+
+config SYS_CONFIG_NAME
+	string
+	default "tcm-bf537"
+
+endif
diff --git a/board/technexion/tao3530/Kconfig b/board/technexion/tao3530/Kconfig
new file mode 100644
index 0000000..6ed6c72
--- /dev/null
+++ b/board/technexion/tao3530/Kconfig
@@ -0,0 +1,51 @@
+if TARGET_OMAP3_HA
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "tao3530"
+
+config SYS_VENDOR
+	string
+	default "technexion"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "tao3530"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_BOARD_OMAP3_HA"
+
+endif
+
+if TARGET_TAO3530
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "tao3530"
+
+config SYS_VENDOR
+	string
+	default "technexion"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "tao3530"
+
+endif
diff --git a/board/technexion/twister/Kconfig b/board/technexion/twister/Kconfig
new file mode 100644
index 0000000..1790f6d
--- /dev/null
+++ b/board/technexion/twister/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_TWISTER
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "twister"
+
+config SYS_VENDOR
+	string
+	default "technexion"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "twister"
+
+endif
diff --git a/board/teejet/mt_ventoux/Kconfig b/board/teejet/mt_ventoux/Kconfig
new file mode 100644
index 0000000..96cf7c0
--- /dev/null
+++ b/board/teejet/mt_ventoux/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_MT_VENTOUX
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "mt_ventoux"
+
+config SYS_VENDOR
+	string
+	default "teejet"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "mt_ventoux"
+
+endif
diff --git a/board/ti/am335x/Kconfig b/board/ti/am335x/Kconfig
new file mode 100644
index 0000000..3f153d4
--- /dev/null
+++ b/board/ti/am335x/Kconfig
@@ -0,0 +1,307 @@
+if TARGET_AM335X_BONEBLACK
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1,EMMC_BOOT"
+
+endif
+
+if TARGET_AM335X_EVM
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1,NAND"
+
+endif
+
+if TARGET_AM335X_EVM_NOR
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1,NAND,NOR"
+
+endif
+
+if TARGET_AM335X_EVM_NORBOOT
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1,NOR,NOR_BOOT"
+
+endif
+
+if TARGET_AM335X_EVM_SPIBOOT
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1,SPI_BOOT"
+
+endif
+
+if TARGET_AM335X_EVM_UART1
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL2,CONS_INDEX=2,NAND"
+
+endif
+
+if TARGET_AM335X_EVM_UART2
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL3,CONS_INDEX=3,NAND"
+
+endif
+
+if TARGET_AM335X_EVM_UART3
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL4,CONS_INDEX=4,NAND"
+
+endif
+
+if TARGET_AM335X_EVM_UART4
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL5,CONS_INDEX=5,NAND"
+
+endif
+
+if TARGET_AM335X_EVM_UART5
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL6,CONS_INDEX=6,NAND"
+
+endif
+
+if TARGET_AM335X_EVM_USBSPL
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am335x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am335x_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1,NAND,SPL_USBETH_SUPPORT"
+
+endif
diff --git a/board/ti/am3517crane/Kconfig b/board/ti/am3517crane/Kconfig
new file mode 100644
index 0000000..fdb20ab
--- /dev/null
+++ b/board/ti/am3517crane/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_AM3517_CRANE
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am3517crane"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "am3517_crane"
+
+endif
diff --git a/board/ti/am43xx/Kconfig b/board/ti/am43xx/Kconfig
new file mode 100644
index 0000000..a2ec1e2
--- /dev/null
+++ b/board/ti/am43xx/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_AM43XX_EVM
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "am43xx"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "am43xx_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SERIAL1,CONS_INDEX=1"
+
+endif
diff --git a/board/ti/beagle/Kconfig b/board/ti/beagle/Kconfig
new file mode 100644
index 0000000..452a043
--- /dev/null
+++ b/board/ti/beagle/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_OMAP3_BEAGLE
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "beagle"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_beagle"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NAND"
+
+endif
diff --git a/board/ti/dra7xx/Kconfig b/board/ti/dra7xx/Kconfig
new file mode 100644
index 0000000..59d52f5
--- /dev/null
+++ b/board/ti/dra7xx/Kconfig
@@ -0,0 +1,83 @@
+if TARGET_DRA7XX_EVM
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "dra7xx"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap5"
+
+config SYS_CONFIG_NAME
+	string
+	default "dra7xx_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CONS_INDEX=1"
+
+endif
+
+if TARGET_DRA7XX_EVM_QSPIBOOT
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "dra7xx"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap5"
+
+config SYS_CONFIG_NAME
+	string
+	default "dra7xx_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CONS_INDEX=1,QSPI_BOOT"
+
+endif
+
+if TARGET_DRA7XX_EVM_UART3
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "dra7xx"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap5"
+
+config SYS_CONFIG_NAME
+	string
+	default "dra7xx_evm"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CONS_INDEX=3,SPL_YMODEM_SUPPORT"
+
+endif
diff --git a/board/ti/evm/Kconfig b/board/ti/evm/Kconfig
new file mode 100644
index 0000000..e342942
--- /dev/null
+++ b/board/ti/evm/Kconfig
@@ -0,0 +1,71 @@
+if TARGET_OMAP3_EVM
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "evm"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_evm"
+
+endif
+
+if TARGET_OMAP3_EVM_QUICK_MMC
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "evm"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_evm_quick_mmc"
+
+endif
+
+if TARGET_OMAP3_EVM_QUICK_NAND
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "evm"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_evm_quick_nand"
+
+endif
diff --git a/board/ti/k2hk_evm/Kconfig b/board/ti/k2hk_evm/Kconfig
new file mode 100644
index 0000000..06921d9
--- /dev/null
+++ b/board/ti/k2hk_evm/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_K2HK_EVM
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "k2hk_evm"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "keystone"
+
+config SYS_CONFIG_NAME
+	string
+	default "k2hk_evm"
+
+endif
diff --git a/board/ti/omap5912osk/Kconfig b/board/ti/omap5912osk/Kconfig
new file mode 100644
index 0000000..9f7493a
--- /dev/null
+++ b/board/ti/omap5912osk/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_OMAP5912OSK
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "omap5912osk"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap5912osk"
+
+endif
diff --git a/board/ti/omap5_uevm/Kconfig b/board/ti/omap5_uevm/Kconfig
new file mode 100644
index 0000000..7c7d5dc
--- /dev/null
+++ b/board/ti/omap5_uevm/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_OMAP5_UEVM
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "omap5_uevm"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap5"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap5_uevm"
+
+endif
diff --git a/board/ti/panda/Kconfig b/board/ti/panda/Kconfig
new file mode 100644
index 0000000..be1307d
--- /dev/null
+++ b/board/ti/panda/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_OMAP4_PANDA
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "panda"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap4"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap4_panda"
+
+endif
diff --git a/board/ti/sdp3430/Kconfig b/board/ti/sdp3430/Kconfig
new file mode 100644
index 0000000..81989b7
--- /dev/null
+++ b/board/ti/sdp3430/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_OMAP3_SDP3430
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "sdp3430"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap3_sdp3430"
+
+endif
diff --git a/board/ti/sdp4430/Kconfig b/board/ti/sdp4430/Kconfig
new file mode 100644
index 0000000..140e1f1
--- /dev/null
+++ b/board/ti/sdp4430/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_OMAP4_SDP4430
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "sdp4430"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "omap4"
+
+config SYS_CONFIG_NAME
+	string
+	default "omap4_sdp4430"
+
+endif
diff --git a/board/ti/ti814x/Kconfig b/board/ti/ti814x/Kconfig
new file mode 100644
index 0000000..4d4f52c
--- /dev/null
+++ b/board/ti/ti814x/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_TI814X_EVM
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "ti814x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "ti814x_evm"
+
+endif
diff --git a/board/ti/ti816x/Kconfig b/board/ti/ti816x/Kconfig
new file mode 100644
index 0000000..5821172
--- /dev/null
+++ b/board/ti/ti816x/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_TI816X_EVM
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "ti816x"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "am33xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "ti816x_evm"
+
+endif
diff --git a/board/ti/tnetv107xevm/Kconfig b/board/ti/tnetv107xevm/Kconfig
new file mode 100644
index 0000000..9cffd7c
--- /dev/null
+++ b/board/ti/tnetv107xevm/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_TNETV107X_EVM
+
+config SYS_CPU
+	string
+	default "arm1176"
+
+config SYS_BOARD
+	string
+	default "tnetv107xevm"
+
+config SYS_VENDOR
+	string
+	default "ti"
+
+config SYS_SOC
+	string
+	default "tnetv107x"
+
+config SYS_CONFIG_NAME
+	string
+	default "tnetv107x_evm"
+
+endif
diff --git a/board/timll/devkit3250/Kconfig b/board/timll/devkit3250/Kconfig
new file mode 100644
index 0000000..4caee60
--- /dev/null
+++ b/board/timll/devkit3250/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DEVKIT3250
+
+config SYS_CPU
+	string
+	default "arm926ejs"
+
+config SYS_BOARD
+	string
+	default "devkit3250"
+
+config SYS_VENDOR
+	string
+	default "timll"
+
+config SYS_SOC
+	string
+	default "lpc32xx"
+
+config SYS_CONFIG_NAME
+	string
+	default "devkit3250"
+
+endif
diff --git a/board/timll/devkit8000/Kconfig b/board/timll/devkit8000/Kconfig
new file mode 100644
index 0000000..d9c920c
--- /dev/null
+++ b/board/timll/devkit8000/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_DEVKIT8000
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "devkit8000"
+
+config SYS_VENDOR
+	string
+	default "timll"
+
+config SYS_SOC
+	string
+	default "omap3"
+
+config SYS_CONFIG_NAME
+	string
+	default "devkit8000"
+
+endif
diff --git a/board/toradex/colibri_pxa270/Kconfig b/board/toradex/colibri_pxa270/Kconfig
new file mode 100644
index 0000000..9367c88
--- /dev/null
+++ b/board/toradex/colibri_pxa270/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_COLIBRI_PXA270
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "colibri_pxa270"
+
+config SYS_VENDOR
+	string
+	default "toradex"
+
+config SYS_CONFIG_NAME
+	string
+	default "colibri_pxa270"
+
+endif
diff --git a/board/toradex/colibri_t20_iris/Kconfig b/board/toradex/colibri_t20_iris/Kconfig
new file mode 100644
index 0000000..334b7e0
--- /dev/null
+++ b/board/toradex/colibri_t20_iris/Kconfig
@@ -0,0 +1,24 @@
+if TARGET_COLIBRI_T20_IRIS
+
+config SYS_CPU
+	string
+	default "arm720t" if SPL_BUILD
+	default "armv7" if !SPL_BUILD
+
+config SYS_BOARD
+	string
+	default "colibri_t20_iris"
+
+config SYS_VENDOR
+	string
+	default "toradex"
+
+config SYS_SOC
+	string
+	default "tegra20"
+
+config SYS_CONFIG_NAME
+	string
+	default "colibri_t20_iris"
+
+endif
diff --git a/board/total5200/Kconfig b/board/total5200/Kconfig
new file mode 100644
index 0000000..8ed242c
--- /dev/null
+++ b/board/total5200/Kconfig
@@ -0,0 +1,79 @@
+if TARGET_TOTAL5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "total5200"
+
+config SYS_CONFIG_NAME
+	string
+	default "Total5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TOTAL5200_REV=1"
+
+endif
+
+if TARGET_TOTAL5200_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "total5200"
+
+config SYS_CONFIG_NAME
+	string
+	default "Total5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TOTAL5200_REV=1,SYS_TEXT_BASE=0xFE000000"
+
+endif
+
+if TARGET_TOTAL5200_REV2
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "total5200"
+
+config SYS_CONFIG_NAME
+	string
+	default "Total5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TOTAL5200_REV=2"
+
+endif
+
+if TARGET_TOTAL5200_REV2_LOWBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "total5200"
+
+config SYS_CONFIG_NAME
+	string
+	default "Total5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TOTAL5200_REV=2,SYS_TEXT_BASE=0xFE000000"
+
+endif
diff --git a/board/tqc/tqm5200/Kconfig b/board/tqc/tqm5200/Kconfig
new file mode 100644
index 0000000..29aa144
--- /dev/null
+++ b/board/tqc/tqm5200/Kconfig
@@ -0,0 +1,319 @@
+if TARGET_AEV
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "aev"
+
+endif
+
+if TARGET_CAM5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CAM5200,TQM5200S,TQM5200_B"
+
+endif
+
+if TARGET_CAM5200_NIOSFLASH
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "CAM5200,TQM5200S,TQM5200_B,CAM5200_NIOSFLASH"
+
+endif
+
+if TARGET_CHARON
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "charon"
+
+endif
+
+if TARGET_FO300
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "FO300"
+
+endif
+
+if TARGET_MINIFAP
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MINIFAP"
+
+endif
+
+if TARGET_TB5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TB5200"
+
+endif
+
+if TARGET_TB5200_B
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TB5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TQM5200_B"
+
+endif
+
+if TARGET_TQM5200
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM5200"
+
+endif
+
+if TARGET_TQM5200_B
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TQM5200_B"
+
+endif
+
+if TARGET_TQM5200_B_HIGHBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TQM5200_B,SYS_TEXT_BASE=0xFFF00000"
+
+endif
+
+if TARGET_TQM5200_STK100
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "STK52XX_REV100"
+
+endif
+
+if TARGET_TQM5200S
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TQM5200_B,TQM5200S"
+
+endif
+
+if TARGET_TQM5200S_HIGHBOOT
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "tqm5200"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM5200"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "TQM5200_B,TQM5200S,SYS_TEXT_BASE=0xFFF00000"
+
+endif
diff --git a/board/tqc/tqm8260/Kconfig b/board/tqc/tqm8260/Kconfig
new file mode 100644
index 0000000..61df74a
--- /dev/null
+++ b/board/tqc/tqm8260/Kconfig
@@ -0,0 +1,263 @@
+if TARGET_TQM8255_AA
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8255,300MHz"
+
+endif
+
+if TARGET_TQM8260_AA
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8260,200MHz"
+
+endif
+
+if TARGET_TQM8260_AB
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8260,200MHz,L2_CACHE,BUSMODE_60x"
+
+endif
+
+if TARGET_TQM8260_AC
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8260,200MHz,L2_CACHE,BUSMODE_60x"
+
+endif
+
+if TARGET_TQM8260_AD
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8260,300MHz,BUSMODE_60x"
+
+endif
+
+if TARGET_TQM8260_AE
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8260,266MHz"
+
+endif
+
+if TARGET_TQM8260_AF
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8260,300MHz,BUSMODE_60x"
+
+endif
+
+if TARGET_TQM8260_AG
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8260,300MHz"
+
+endif
+
+if TARGET_TQM8260_AH
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8260,300MHz,L2_CACHE,BUSMODE_60x"
+
+endif
+
+if TARGET_TQM8260_AI
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8260,300MHz,BUSMODE_60x"
+
+endif
+
+if TARGET_TQM8265_AA
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8260"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8260"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "MPC8265,300MHz,BUSMODE_60x"
+
+endif
diff --git a/board/tqc/tqm8272/Kconfig b/board/tqc/tqm8272/Kconfig
new file mode 100644
index 0000000..d1bbdba
--- /dev/null
+++ b/board/tqc/tqm8272/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_TQM8272
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "tqm8272"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM8272"
+
+endif
diff --git a/board/tqc/tqm834x/Kconfig b/board/tqc/tqm834x/Kconfig
new file mode 100644
index 0000000..befddfa
--- /dev/null
+++ b/board/tqc/tqm834x/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_TQM834X
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "tqm834x"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM834x"
+
+endif
diff --git a/board/tqc/tqm8xx/Kconfig b/board/tqc/tqm8xx/Kconfig
new file mode 100644
index 0000000..dffb97b
--- /dev/null
+++ b/board/tqc/tqm8xx/Kconfig
@@ -0,0 +1,431 @@
+if TARGET_FPS850L
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "FPS850L"
+
+endif
+
+if TARGET_FPS860L
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "FPS860L"
+
+endif
+
+if TARGET_NSCU
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "NSCU"
+
+endif
+
+if TARGET_SM850
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "SM850"
+
+endif
+
+if TARGET_TK885D
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TK885D"
+
+endif
+
+if TARGET_TQM823L
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM823L"
+
+endif
+
+if TARGET_TQM823L_LCD
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM823L"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LCD,NEC_NL6448BC20"
+
+endif
+
+if TARGET_TQM823M
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM823M"
+
+endif
+
+if TARGET_TQM850L
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM850L"
+
+endif
+
+if TARGET_TQM850M
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM850M"
+
+endif
+
+if TARGET_TQM855L
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM855L"
+
+endif
+
+if TARGET_TQM855M
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM855M"
+
+endif
+
+if TARGET_TQM860L
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM860L"
+
+endif
+
+if TARGET_TQM860M
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM860M"
+
+endif
+
+if TARGET_TQM862L
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM862L"
+
+endif
+
+if TARGET_TQM862M
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM862M"
+
+endif
+
+if TARGET_TQM866M
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM866M"
+
+endif
+
+if TARGET_TQM885D
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM885D"
+
+endif
+
+if TARGET_TTTECH
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM823L"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LCD,SHARP_LQ104V7DS01"
+
+endif
+
+if TARGET_VIRTLAB2
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "virtlab2"
+
+endif
+
+if TARGET_WTK
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "tqm8xx"
+
+config SYS_VENDOR
+	string
+	default "tqc"
+
+config SYS_CONFIG_NAME
+	string
+	default "TQM823L"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "LCD,SHARP_LQ065T9DR51U"
+
+endif
diff --git a/board/trizepsiv/Kconfig b/board/trizepsiv/Kconfig
new file mode 100644
index 0000000..59c9392
--- /dev/null
+++ b/board/trizepsiv/Kconfig
@@ -0,0 +1,35 @@
+if TARGET_TRIZEPSIV
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "trizepsiv"
+
+config SYS_CONFIG_NAME
+	string
+	default "trizepsiv"
+
+endif
+
+if TARGET_POLARIS
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "trizepsiv"
+
+config SYS_CONFIG_NAME
+	string
+	default "trizepsiv"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "POLARIS"
+
+endif
diff --git a/board/ttcontrol/vision2/Kconfig b/board/ttcontrol/vision2/Kconfig
new file mode 100644
index 0000000..de4be4f
--- /dev/null
+++ b/board/ttcontrol/vision2/Kconfig
@@ -0,0 +1,27 @@
+if TARGET_VISION2
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "vision2"
+
+config SYS_VENDOR
+	string
+	default "ttcontrol"
+
+config SYS_SOC
+	string
+	default "mx5"
+
+config SYS_CONFIG_NAME
+	string
+	default "vision2"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/ttcontrol/vision2/imximage_hynix.cfg"
+
+endif
diff --git a/board/udoo/Kconfig b/board/udoo/Kconfig
new file mode 100644
index 0000000..e5f70dc
--- /dev/null
+++ b/board/udoo/Kconfig
@@ -0,0 +1,23 @@
+if TARGET_UDOO_QUAD
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "udoo"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "udoo"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/udoo/udoo.cfg,MX6Q,DDR_MB=1024"
+
+endif
diff --git a/board/utx8245/Kconfig b/board/utx8245/Kconfig
new file mode 100644
index 0000000..8af2086
--- /dev/null
+++ b/board/utx8245/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_UTX8245
+
+config SYS_CPU
+	string
+	default "mpc824x"
+
+config SYS_BOARD
+	string
+	default "utx8245"
+
+config SYS_CONFIG_NAME
+	string
+	default "utx8245"
+
+endif
diff --git a/board/v37/Kconfig b/board/v37/Kconfig
new file mode 100644
index 0000000..5516b48
--- /dev/null
+++ b/board/v37/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_V37
+
+config SYS_CPU
+	string
+	default "mpc8xx"
+
+config SYS_BOARD
+	string
+	default "v37"
+
+config SYS_CONFIG_NAME
+	string
+	default "v37"
+
+endif
diff --git a/board/v38b/Kconfig b/board/v38b/Kconfig
new file mode 100644
index 0000000..94b15c5
--- /dev/null
+++ b/board/v38b/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_V38B
+
+config SYS_CPU
+	string
+	default "mpc5xxx"
+
+config SYS_BOARD
+	string
+	default "v38b"
+
+config SYS_CONFIG_NAME
+	string
+	default "v38b"
+
+endif
diff --git a/board/ve8313/Kconfig b/board/ve8313/Kconfig
new file mode 100644
index 0000000..02a7bad
--- /dev/null
+++ b/board/ve8313/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_VE8313
+
+config SYS_CPU
+	string
+	default "mpc83xx"
+
+config SYS_BOARD
+	string
+	default "ve8313"
+
+config SYS_CONFIG_NAME
+	string
+	default "ve8313"
+
+endif
diff --git a/board/vpac270/Kconfig b/board/vpac270/Kconfig
new file mode 100644
index 0000000..f22e650
--- /dev/null
+++ b/board/vpac270/Kconfig
@@ -0,0 +1,59 @@
+if TARGET_VPAC270_NOR_128
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "vpac270"
+
+config SYS_CONFIG_NAME
+	string
+	default "vpac270"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NOR,RAM_128M"
+
+endif
+
+if TARGET_VPAC270_NOR_256
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "vpac270"
+
+config SYS_CONFIG_NAME
+	string
+	default "vpac270"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "NOR,RAM_256M"
+
+endif
+
+if TARGET_VPAC270_OND_256
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "vpac270"
+
+config SYS_CONFIG_NAME
+	string
+	default "vpac270"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ONENAND,RAM_256M"
+
+endif
diff --git a/board/w7o/Kconfig b/board/w7o/Kconfig
new file mode 100644
index 0000000..cbed511
--- /dev/null
+++ b/board/w7o/Kconfig
@@ -0,0 +1,31 @@
+if TARGET_W7OLMC
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "w7o"
+
+config SYS_CONFIG_NAME
+	string
+	default "W7OLMC"
+
+endif
+
+if TARGET_W7OLMG
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "w7o"
+
+config SYS_CONFIG_NAME
+	string
+	default "W7OLMG"
+
+endif
diff --git a/board/wandboard/Kconfig b/board/wandboard/Kconfig
new file mode 100644
index 0000000..9bc384c
--- /dev/null
+++ b/board/wandboard/Kconfig
@@ -0,0 +1,71 @@
+if TARGET_WANDBOARD_DL
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "wandboard"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "wandboard"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024"
+
+endif
+
+if TARGET_WANDBOARD_QUAD
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "wandboard"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "wandboard"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,MX6Q,DDR_MB=2048"
+
+endif
+
+if TARGET_WANDBOARD_SOLO
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "wandboard"
+
+config SYS_SOC
+	string
+	default "mx6"
+
+config SYS_CONFIG_NAME
+	string
+	default "wandboard"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s.cfg,MX6S,DDR_MB=512"
+
+endif
diff --git a/board/woodburn/Kconfig b/board/woodburn/Kconfig
new file mode 100644
index 0000000..e28a425
--- /dev/null
+++ b/board/woodburn/Kconfig
@@ -0,0 +1,43 @@
+if TARGET_WOODBURN
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "woodburn"
+
+config SYS_SOC
+	string
+	default "mx35"
+
+config SYS_CONFIG_NAME
+	string
+	default "woodburn"
+
+endif
+
+if TARGET_WOODBURN_SD
+
+config SYS_CPU
+	string
+	default "arm1136"
+
+config SYS_BOARD
+	string
+	default "woodburn"
+
+config SYS_SOC
+	string
+	default "mx35"
+
+config SYS_CONFIG_NAME
+	string
+	default "woodburn_sd"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "IMX_CONFIG=board/woodburn/imximage.cfg"
+
+endif
diff --git a/board/xaeniax/Kconfig b/board/xaeniax/Kconfig
new file mode 100644
index 0000000..9b41435
--- /dev/null
+++ b/board/xaeniax/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_XAENIAX
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "xaeniax"
+
+config SYS_CONFIG_NAME
+	string
+	default "xaeniax"
+
+endif
diff --git a/board/xes/xpedite1000/Kconfig b/board/xes/xpedite1000/Kconfig
new file mode 100644
index 0000000..ff82341
--- /dev/null
+++ b/board/xes/xpedite1000/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_XPEDITE1000
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "xpedite1000"
+
+config SYS_VENDOR
+	string
+	default "xes"
+
+config SYS_CONFIG_NAME
+	string
+	default "xpedite1000"
+
+endif
diff --git a/board/xes/xpedite517x/Kconfig b/board/xes/xpedite517x/Kconfig
new file mode 100644
index 0000000..a22ae67
--- /dev/null
+++ b/board/xes/xpedite517x/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_XPEDITE517X
+
+config SYS_CPU
+	string
+	default "mpc86xx"
+
+config SYS_BOARD
+	string
+	default "xpedite517x"
+
+config SYS_VENDOR
+	string
+	default "xes"
+
+config SYS_CONFIG_NAME
+	string
+	default "xpedite517x"
+
+endif
diff --git a/board/xes/xpedite520x/Kconfig b/board/xes/xpedite520x/Kconfig
new file mode 100644
index 0000000..3dc36e9
--- /dev/null
+++ b/board/xes/xpedite520x/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_XPEDITE520X
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "xpedite520x"
+
+config SYS_VENDOR
+	string
+	default "xes"
+
+config SYS_CONFIG_NAME
+	string
+	default "xpedite520x"
+
+endif
diff --git a/board/xes/xpedite537x/Kconfig b/board/xes/xpedite537x/Kconfig
new file mode 100644
index 0000000..a1630bb
--- /dev/null
+++ b/board/xes/xpedite537x/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_XPEDITE537X
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "xpedite537x"
+
+config SYS_VENDOR
+	string
+	default "xes"
+
+config SYS_CONFIG_NAME
+	string
+	default "xpedite537x"
+
+endif
diff --git a/board/xes/xpedite550x/Kconfig b/board/xes/xpedite550x/Kconfig
new file mode 100644
index 0000000..c166997
--- /dev/null
+++ b/board/xes/xpedite550x/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_XPEDITE550X
+
+config SYS_CPU
+	string
+	default "mpc85xx"
+
+config SYS_BOARD
+	string
+	default "xpedite550x"
+
+config SYS_VENDOR
+	string
+	default "xes"
+
+config SYS_CONFIG_NAME
+	string
+	default "xpedite550x"
+
+endif
diff --git a/board/xilinx/microblaze-generic/Kconfig b/board/xilinx/microblaze-generic/Kconfig
new file mode 100644
index 0000000..1ca15ff
--- /dev/null
+++ b/board/xilinx/microblaze-generic/Kconfig
@@ -0,0 +1,19 @@
+if TARGET_MICROBLAZE_GENERIC
+
+config SYS_CPU
+	string
+	default "microblaze"
+
+config SYS_BOARD
+	string
+	default "microblaze-generic"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_CONFIG_NAME
+	string
+	default "microblaze-generic"
+
+endif
diff --git a/board/xilinx/ml507/Kconfig b/board/xilinx/ml507/Kconfig
new file mode 100644
index 0000000..b17788e
--- /dev/null
+++ b/board/xilinx/ml507/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_ML507
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ml507"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_CONFIG_NAME
+	string
+	default "ml507"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1,INIT_TLB=board/xilinx/ppc440-generic/init.o"
+
+endif
+
+if TARGET_ML507_FLASH
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ml507"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_CONFIG_NAME
+	string
+	default "ml507"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC,INIT_TLB=board/xilinx/ppc440-generic/init.o"
+
+endif
diff --git a/board/xilinx/ppc405-generic/Kconfig b/board/xilinx/ppc405-generic/Kconfig
new file mode 100644
index 0000000..177a19b
--- /dev/null
+++ b/board/xilinx/ppc405-generic/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_XILINX_PPC405_GENERIC
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ppc405-generic"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_CONFIG_NAME
+	string
+	default "xilinx-ppc405-generic"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000"
+
+endif
+
+if TARGET_XILINX_PPC405_GENERIC_FLASH
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ppc405-generic"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_CONFIG_NAME
+	string
+	default "xilinx-ppc405-generic"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC"
+
+endif
diff --git a/board/xilinx/ppc440-generic/Kconfig b/board/xilinx/ppc440-generic/Kconfig
new file mode 100644
index 0000000..3937886
--- /dev/null
+++ b/board/xilinx/ppc440-generic/Kconfig
@@ -0,0 +1,47 @@
+if TARGET_XILINX_PPC440_GENERIC
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ppc440-generic"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_CONFIG_NAME
+	string
+	default "xilinx-ppc440-generic"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1"
+
+endif
+
+if TARGET_XILINX_PPC440_GENERIC_FLASH
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "ppc440-generic"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_CONFIG_NAME
+	string
+	default "xilinx-ppc440-generic"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC"
+
+endif
diff --git a/board/xilinx/zynq/Kconfig b/board/xilinx/zynq/Kconfig
new file mode 100644
index 0000000..4583343
--- /dev/null
+++ b/board/xilinx/zynq/Kconfig
@@ -0,0 +1,155 @@
+if TARGET_ZYNQ_MICROZED
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "zynq"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_SOC
+	string
+	default "zynq"
+
+config SYS_CONFIG_NAME
+	string
+	default "zynq_microzed"
+
+endif
+
+if TARGET_ZYNQ_ZC70X
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "zynq"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_SOC
+	string
+	default "zynq"
+
+config SYS_CONFIG_NAME
+	string
+	default "zynq_zc70x"
+
+endif
+
+if TARGET_ZYNQ_ZC770_XM010
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "zynq"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_SOC
+	string
+	default "zynq"
+
+config SYS_CONFIG_NAME
+	string
+	default "zynq_zc770"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ZC770_XM010"
+
+endif
+
+if TARGET_ZYNQ_ZC770_XM012
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "zynq"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_SOC
+	string
+	default "zynq"
+
+config SYS_CONFIG_NAME
+	string
+	default "zynq_zc770"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ZC770_XM012"
+
+endif
+
+if TARGET_ZYNQ_ZC770_XM013
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "zynq"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_SOC
+	string
+	default "zynq"
+
+config SYS_CONFIG_NAME
+	string
+	default "zynq_zc770"
+
+config SYS_EXTRA_OPTIONS
+	string
+	default "ZC770_XM013"
+
+endif
+
+if TARGET_ZYNQ_ZED
+
+config SYS_CPU
+	string
+	default "armv7"
+
+config SYS_BOARD
+	string
+	default "zynq"
+
+config SYS_VENDOR
+	string
+	default "xilinx"
+
+config SYS_SOC
+	string
+	default "zynq"
+
+config SYS_CONFIG_NAME
+	string
+	default "zynq_zed"
+
+endif
diff --git a/board/zeus/Kconfig b/board/zeus/Kconfig
new file mode 100644
index 0000000..f0f1c52
--- /dev/null
+++ b/board/zeus/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_ZEUS
+
+config SYS_CPU
+	string
+	default "ppc4xx"
+
+config SYS_BOARD
+	string
+	default "zeus"
+
+config SYS_CONFIG_NAME
+	string
+	default "zeus"
+
+endif
diff --git a/board/zipitz2/Kconfig b/board/zipitz2/Kconfig
new file mode 100644
index 0000000..702edbf
--- /dev/null
+++ b/board/zipitz2/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_ZIPITZ2
+
+config SYS_CPU
+	string
+	default "pxa"
+
+config SYS_BOARD
+	string
+	default "zipitz2"
+
+config SYS_CONFIG_NAME
+	string
+	default "zipitz2"
+
+endif
diff --git a/board/zpc1900/Kconfig b/board/zpc1900/Kconfig
new file mode 100644
index 0000000..a5d1b43
--- /dev/null
+++ b/board/zpc1900/Kconfig
@@ -0,0 +1,15 @@
+if TARGET_ZPC1900
+
+config SYS_CPU
+	string
+	default "mpc8260"
+
+config SYS_BOARD
+	string
+	default "zpc1900"
+
+config SYS_CONFIG_NAME
+	string
+	default "ZPC1900"
+
+endif
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 04/14] kconfig: add basic Kconfig files
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (2 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 03/14] kconfig: add board Kconfig and defconfig files Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 05/14] include: define CONFIG_SPL and CONFIG_TPL as 1 Masahiro Yamada
                   ` (9 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

This commit adds more Kconfig files, which were written by hand.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 Kconfig | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)
 create mode 100644 Kconfig

diff --git a/Kconfig b/Kconfig
new file mode 100644
index 0000000..491fbc3
--- /dev/null
+++ b/Kconfig
@@ -0,0 +1,45 @@
+#
+# For a description of the syntax of this configuration file,
+# see Documentation/kbuild/kconfig-language.txt.
+#
+mainmenu "U-Boot $UBOOTVERSION Configuration"
+
+config UBOOTVERSION
+	string
+	option env="UBOOTVERSION"
+
+config KCONFIG_OBJDIR
+	string
+	option env="KCONFIG_OBJDIR"
+
+menu "General setup"
+
+config SPL_BUILD
+	bool
+	depends on $KCONFIG_OBJDIR="spl/" || $KCONFIG_OBJDIR="tpl/"
+	default y
+
+config TPL_BUILD
+	bool
+	depends on $KCONFIG_OBJDIR="tpl/"
+	default y
+
+config SPL
+	bool
+	prompt "Build SPL image" if !SPL_BUILD
+	default y if SPL_BUILD
+
+config TPL
+	bool
+	depends on SPL
+	prompt "Build TPL image" if !SPL_BUILD
+	default y if TPL_BUILD
+	default n
+
+endmenu		# General setup
+
+config ARCH
+	string
+	option env="ARCH"
+
+source "arch/$ARCH/Kconfig"
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 05/14] include: define CONFIG_SPL and CONFIG_TPL as 1
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (3 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 04/14] kconfig: add basic Kconfig files Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 06/14] kconfig: switch to Kconfig Masahiro Yamada
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

We are about to switch to Kconfig in the next commit.
But there are something to get done beforehand.

In Kconfig, include/generated/autoconf.h defines boolean
CONFIG macros as 1.

CONFIG_SPL and CONFIG_TPL, if defined, must be defined as 1.
Otherwise, when switching to Kconfig, the build log
would be sprinkled with warning messages like this:
  warning: "CONFIG_SPL" redefined [enabled by default]

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

 doc/README.SPL                         | 2 +-
 include/configs/B4860QDS.h             | 2 +-
 include/configs/BSC9131RDB.h           | 2 +-
 include/configs/BSC9132QDS.h           | 2 +-
 include/configs/C29XPCIE.h             | 4 ++--
 include/configs/MPC8313ERDB.h          | 2 +-
 include/configs/P1010RDB.h             | 8 ++++----
 include/configs/P1022DS.h              | 8 ++++----
 include/configs/P1_P2_RDB.h            | 8 ++++----
 include/configs/T104xRDB.h             | 2 +-
 include/configs/T208xQDS.h             | 2 +-
 include/configs/T208xRDB.h             | 2 +-
 include/configs/T4240QDS.h             | 2 +-
 include/configs/a3m071.h               | 2 +-
 include/configs/am335x_igep0033.h      | 2 +-
 include/configs/am3517_crane.h         | 2 +-
 include/configs/am3517_evm.h           | 2 +-
 include/configs/apf27.h                | 2 +-
 include/configs/arndale.h              | 2 +-
 include/configs/bur_am335x_common.h    | 2 +-
 include/configs/cam_enc_4xx.h          | 2 +-
 include/configs/cm_t35.h               | 2 +-
 include/configs/da850evm.h             | 2 +-
 include/configs/devkit8000.h           | 2 +-
 include/configs/exynos5-dt.h           | 2 +-
 include/configs/hawkboard.h            | 2 +-
 include/configs/ipam390.h              | 2 +-
 include/configs/lwmon5.h               | 2 +-
 include/configs/m53evk.h               | 2 +-
 include/configs/mcx.h                  | 2 +-
 include/configs/microblaze-generic.h   | 2 +-
 include/configs/mx31pdk.h              | 2 +-
 include/configs/mxs.h                  | 2 +-
 include/configs/omap3_evm_common.h     | 2 +-
 include/configs/origen.h               | 2 +-
 include/configs/p1_p2_rdb_pc.h         | 8 ++++----
 include/configs/palmtreo680.h          | 2 +-
 include/configs/pcm051.h               | 2 +-
 include/configs/sama5d3xek.h           | 2 +-
 include/configs/siemens-am33x-common.h | 2 +-
 include/configs/smdkv310.h             | 2 +-
 include/configs/socfpga_cyclone5.h     | 2 +-
 include/configs/tam3517-common.h       | 2 +-
 include/configs/tao3530.h              | 2 +-
 include/configs/tegra-common.h         | 2 +-
 include/configs/ti814x_evm.h           | 2 +-
 include/configs/ti816x_evm.h           | 2 +-
 include/configs/ti_armv7_common.h      | 2 +-
 include/configs/tricorder.h            | 2 +-
 include/configs/tx25.h                 | 2 +-
 include/configs/vpac270.h              | 2 +-
 include/configs/woodburn_sd.h          | 2 +-
 include/configs/x600.h                 | 2 +-
 include/configs/zynq-common.h          | 2 +-
 54 files changed, 67 insertions(+), 67 deletions(-)

diff --git a/doc/README.SPL b/doc/README.SPL
index 57a39a4..2b4b0b8 100644
--- a/doc/README.SPL
+++ b/doc/README.SPL
@@ -40,7 +40,7 @@ COBJS-$(CONFIG_SPL_BUILD) += foo.o
 
 The building of SPL images can be with:
 
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 
 Because SPL images normally have a different text base, one has to be
 configured by defining CONFIG_SPL_TEXT_BASE. The linker script has to be
diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h
index 1af9ba6..cb35116 100644
--- a/include/configs/B4860QDS.h
+++ b/include/configs/B4860QDS.h
@@ -23,7 +23,7 @@
 #define CONFIG_RAMBOOT_TEXT_BASE	CONFIG_SYS_TEXT_BASE
 #define CONFIG_RESET_VECTOR_ADDRESS	0xfffffffc
 #else
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h
index 5a316c8..e6b46e4 100644
--- a/include/configs/BSC9131RDB.h
+++ b/include/configs/BSC9131RDB.h
@@ -25,7 +25,7 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h
index 7bb5d33..fc45e45 100644
--- a/include/configs/BSC9132QDS.h
+++ b/include/configs/BSC9132QDS.h
@@ -41,7 +41,7 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h
index 9e12fac..f382b48 100644
--- a/include/configs/C29XPCIE.h
+++ b/include/configs/C29XPCIE.h
@@ -24,8 +24,8 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
-#define CONFIG_TPL
+#define CONFIG_SPL 1
+#define CONFIG_TPL 1
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/MPC8313ERDB.h b/include/configs/MPC8313ERDB.h
index 69b2cb1..7f5aa59 100644
--- a/include/configs/MPC8313ERDB.h
+++ b/include/configs/MPC8313ERDB.h
@@ -19,7 +19,7 @@
 #define CONFIG_MPC8313ERDB	1
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index d612a8b..86d62e1 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -21,7 +21,7 @@
 #define CONFIG_NAND_FSL_IFC
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_DRIVERS_MISC_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
@@ -56,7 +56,7 @@
 #define CONFIG_SYS_TEXT_BASE		0x11000000
 #define CONFIG_RESET_VECTOR_ADDRESS	0x1107fffc
 #else
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_DRIVERS_MISC_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
@@ -88,7 +88,7 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #ifdef CONFIG_SECURE_BOOT
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -108,7 +108,7 @@
 #define CONFIG_SYS_NAND_U_BOOT_OFFS	0
 #define CONFIG_SYS_LDSCRIPT	"arch/powerpc/cpu/mpc85xx/u-boot-nand.lds"
 #else
-#define CONFIG_TPL
+#define CONFIG_TPL 1
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h
index 959cdf6..5a38efe 100644
--- a/include/configs/P1022DS.h
+++ b/include/configs/P1022DS.h
@@ -16,7 +16,7 @@
 #endif
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -45,7 +45,7 @@
 #endif
 
 #ifdef CONFIG_SPIFLASH
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -79,8 +79,8 @@
 #define CONFIG_SYS_NAND_MAX_OOBFREE	5
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
-#define CONFIG_TPL
+#define CONFIG_SPL 1
+#define CONFIG_TPL 1
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h
index 110ba5f..dd80ddc 100644
--- a/include/configs/P1_P2_RDB.h
+++ b/include/configs/P1_P2_RDB.h
@@ -36,7 +36,7 @@
 #endif
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL
+#define CONFIG_SPL	1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -64,7 +64,7 @@
 #endif
 
 #ifdef CONFIG_SPIFLASH
-#define CONFIG_SPL
+#define CONFIG_SPL	1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -93,8 +93,8 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
-#define CONFIG_TPL
+#define CONFIG_SPL	1
+#define CONFIG_TPL	1
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h
index e564cb7..4e73539 100644
--- a/include/configs/T104xRDB.h
+++ b/include/configs/T104xRDB.h
@@ -22,7 +22,7 @@
 #define CONFIG_SYS_FSL_PBL_RCW $(SRCTREE)/board/freescale/t104xrdb/t1042_rcw.cfg
 #endif
 
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h
index 8dd2e49..ec06d1a 100644
--- a/include/configs/T208xQDS.h
+++ b/include/configs/T208xQDS.h
@@ -53,7 +53,7 @@
 #define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xqds/t2081_rcw.cfg
 #endif
 
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h
index 3a1c49c..d2ed8ae 100644
--- a/include/configs/T208xRDB.h
+++ b/include/configs/T208xRDB.h
@@ -42,7 +42,7 @@
 #define CONFIG_SYS_FSL_PBL_PBI board/freescale/t208xrdb/t2080_pbi.cfg
 #define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xrdb/t2080_rcw.cfg
 
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
diff --git a/include/configs/T4240QDS.h b/include/configs/T4240QDS.h
index a770dd0..bf57587 100644
--- a/include/configs/T4240QDS.h
+++ b/include/configs/T4240QDS.h
@@ -25,7 +25,7 @@
 #define CONFIG_RAMBOOT_TEXT_BASE        CONFIG_SYS_TEXT_BASE
 #define CONFIG_RESET_VECTOR_ADDRESS     0xfffffffc
 #else
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
diff --git a/include/configs/a3m071.h b/include/configs/a3m071.h
index 205adfd..9f85389 100644
--- a/include/configs/a3m071.h
+++ b/include/configs/a3m071.h
@@ -412,7 +412,7 @@
 /*
  * SPL related defines
  */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NOR_SUPPORT
diff --git a/include/configs/am335x_igep0033.h b/include/configs/am335x_igep0033.h
index c17327f..5023f9d 100644
--- a/include/configs/am335x_igep0033.h
+++ b/include/configs/am335x_igep0033.h
@@ -211,7 +211,7 @@
 #undef CONFIG_USE_IRQ
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 /*
  * Place the image at the start of the ROM defined image space.
diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h
index 4407b45..842c30e 100644
--- a/include/configs/am3517_crane.h
+++ b/include/configs/am3517_crane.h
@@ -298,7 +298,7 @@
 					 GENERATED_GBL_DATA_SIZE)
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
index 0102ff5..e4eee38 100644
--- a/include/configs/am3517_evm.h
+++ b/include/configs/am3517_evm.h
@@ -307,7 +307,7 @@
 					 GENERATED_GBL_DATA_SIZE)
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
diff --git a/include/configs/apf27.h b/include/configs/apf27.h
index b10c48c..a97f213 100644
--- a/include/configs/apf27.h
+++ b/include/configs/apf27.h
@@ -37,7 +37,7 @@
 /*
  * SPL
  */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_TARGET	"u-boot-with-spl.bin"
 #define CONFIG_SPL_LDSCRIPT	"arch/$(ARCH)/cpu/u-boot-spl.lds"
 #define CONFIG_SPL_MAX_SIZE	2048
diff --git a/include/configs/arndale.h b/include/configs/arndale.h
index 515facf..d7c4ffc 100644
--- a/include/configs/arndale.h
+++ b/include/configs/arndale.h
@@ -121,7 +121,7 @@
 
 /* MMC SPL */
 #define CONFIG_EXYNOS_SPL
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define COPY_BL2_FNPTR_ADDR	0x02020030
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
diff --git a/include/configs/bur_am335x_common.h b/include/configs/bur_am335x_common.h
index 7adc8c0..2ce14d2 100644
--- a/include/configs/bur_am335x_common.h
+++ b/include/configs/bur_am335x_common.h
@@ -162,7 +162,7 @@
  * under common/spl/.  Given our generally common memory map, we set a
  * number of related defaults and sizes here.
  */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 /*
  * Place the image at the start of the ROM defined image space.
diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h
index d1a8ff2..759ad2a 100644
--- a/include/configs/cam_enc_4xx.h
+++ b/include/configs/cam_enc_4xx.h
@@ -199,7 +199,7 @@
 #define CONFIG_SYS_NAND_BLOCK_SIZE	0x20000
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index aae05e0..e125fad 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -322,7 +322,7 @@
 #define CONFIG_OMAP3_SPI
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index b279409..9ec8cad 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -368,7 +368,7 @@
 
 #ifndef CONFIG_DIRECT_NOR_BOOT
 /* defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SYS_TEXT_BASE - \
diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
index 16a00eb..4a4f759 100644
--- a/include/configs/devkit8000.h
+++ b/include/configs/devkit8000.h
@@ -283,7 +283,7 @@
 #define CONFIG_SYS_SRAM_SIZE               0x10000
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
diff --git a/include/configs/exynos5-dt.h b/include/configs/exynos5-dt.h
index 5a9b1b4..dfd7813 100644
--- a/include/configs/exynos5-dt.h
+++ b/include/configs/exynos5-dt.h
@@ -136,7 +136,7 @@
 #define CONFIG_TPM_TIS_I2C_SLAVE_ADDR	0x20
 
 /* MMC SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define COPY_BL2_FNPTR_ADDR	0x02020030
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
diff --git a/include/configs/hawkboard.h b/include/configs/hawkboard.h
index 73e1624..8144883 100644
--- a/include/configs/hawkboard.h
+++ b/include/configs/hawkboard.h
@@ -46,7 +46,7 @@
 #endif
 
 /* Spl */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SUPPORT
diff --git a/include/configs/ipam390.h b/include/configs/ipam390.h
index fdd5680..6ad8822 100644
--- a/include/configs/ipam390.h
+++ b/include/configs/ipam390.h
@@ -298,7 +298,7 @@
 					"-(rootfs)"
 
 /* defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SYS_TEXT_BASE - \
diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h
index 07ddfc4..22cbdaa 100644
--- a/include/configs/lwmon5.h
+++ b/include/configs/lwmon5.h
@@ -665,7 +665,7 @@
  * SPL related defines
  */
 #ifdef CONFIG_LCD4_LWMON5
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NOR_SUPPORT
diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h
index f401470..49c7a36 100644
--- a/include/configs/m53evk.h
+++ b/include/configs/m53evk.h
@@ -236,7 +236,7 @@
 /*
  * NAND SPL
  */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TARGET		"u-boot-with-nand-spl.imx"
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/mcx.h b/include/configs/mcx.h
index 47244c0..9823c04 100644
--- a/include/configs/mcx.h
+++ b/include/configs/mcx.h
@@ -348,7 +348,7 @@
 					 GENERATED_GBL_DATA_SIZE)
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index c01b171..3d9df30 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -448,7 +448,7 @@
 #endif
 
 /* SPL part */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_CMD_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
diff --git a/include/configs/mx31pdk.h b/include/configs/mx31pdk.h
index f223788..85d438f 100644
--- a/include/configs/mx31pdk.h
+++ b/include/configs/mx31pdk.h
@@ -29,7 +29,7 @@
 
 #define CONFIG_MACH_TYPE	MACH_TYPE_MX31_3DS
 
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_TARGET	"u-boot-with-spl.bin"
 #define CONFIG_SPL_LDSCRIPT	"arch/$(ARCH)/cpu/u-boot-spl.lds"
 #define CONFIG_SPL_MAX_SIZE	2048
diff --git a/include/configs/mxs.h b/include/configs/mxs.h
index 8bce28f..fffcc37 100644
--- a/include/configs/mxs.h
+++ b/include/configs/mxs.h
@@ -50,7 +50,7 @@
 #define CONFIG_ARCH_MISC_INIT
 
 /* SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_NO_CPU_SUPPORT_CODE
 #define CONFIG_SPL_START_S_PATH	"arch/arm/cpu/arm926ejs/mxs"
 #define CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
index 7f3424b..84ba3de 100644
--- a/include/configs/omap3_evm_common.h
+++ b/include/configs/omap3_evm_common.h
@@ -260,7 +260,7 @@
 #define CONFIG_SYS_CACHELINE_SIZE	64
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE		0x40200800
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
diff --git a/include/configs/origen.h b/include/configs/origen.h
index 8258338..b0c6eb1 100644
--- a/include/configs/origen.h
+++ b/include/configs/origen.h
@@ -65,7 +65,7 @@
 #undef CONFIG_CMD_NFS
 
 /* MMC SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define COPY_BL2_FNPTR_ADDR	0x02020030
 #define CONFIG_SPL_TEXT_BASE	0x02021410
 
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index 185df77..22f6d12 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -148,7 +148,7 @@
 #endif
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -177,7 +177,7 @@
 #endif
 
 #ifdef CONFIG_SPIFLASH
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -207,8 +207,8 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
-#define CONFIG_TPL
+#define CONFIG_SPL 1
+#define CONFIG_TPL 1
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/palmtreo680.h b/include/configs/palmtreo680.h
index 3662663..31e89d9 100644
--- a/include/configs/palmtreo680.h
+++ b/include/configs/palmtreo680.h
@@ -205,7 +205,7 @@
 /*
  * SPL
  */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_TEXT_BASE    0xa1700000 /* IPL loads SPL here */
 #define CONFIG_SPL_STACK        0x5c040000 /* end of internal SRAM */
 #define CONFIG_SPL_NAND_SUPPORT /* build libnand for spl */
diff --git a/include/configs/pcm051.h b/include/configs/pcm051.h
index 9af3efd..207a290 100644
--- a/include/configs/pcm051.h
+++ b/include/configs/pcm051.h
@@ -197,7 +197,7 @@
 #define CONFIG_ENV_IS_NOWHERE
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 /*
diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h
index 516be85..4b6c2ed 100644
--- a/include/configs/sama5d3xek.h
+++ b/include/configs/sama5d3xek.h
@@ -243,7 +243,7 @@
 #define CONFIG_SYS_MALLOC_LEN		(1024 * 1024)
 
 /* SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE		0x300000
 #define CONFIG_SPL_MAX_SIZE		0x10000
diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h
index 53816a6..236bb0c 100644
--- a/include/configs/siemens-am33x-common.h
+++ b/include/configs/siemens-am33x-common.h
@@ -139,7 +139,7 @@
 #define CONFIG_SYS_I2C_OMAP24XX
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE		0x402F0400
 #define CONFIG_SPL_MAX_SIZE		(101 * 1024)
diff --git a/include/configs/smdkv310.h b/include/configs/smdkv310.h
index 34adfaf..e9f33cf 100644
--- a/include/configs/smdkv310.h
+++ b/include/configs/smdkv310.h
@@ -76,7 +76,7 @@
 #define CONFIG_ZERO_BOOTDELAY_CHECK
 
 /* MMC SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #define COPY_BL2_FNPTR_ADDR	0x00002488
 
diff --git a/include/configs/socfpga_cyclone5.h b/include/configs/socfpga_cyclone5.h
index 0254249..648619d 100644
--- a/include/configs/socfpga_cyclone5.h
+++ b/include/configs/socfpga_cyclone5.h
@@ -210,7 +210,7 @@
  */
 
 /* Enable building of SPL globally */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 
 /* TEXT_BASE for linking the SPL binary */
diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
index 3522c1a..88dac44 100644
--- a/include/configs/tam3517-common.h
+++ b/include/configs/tam3517-common.h
@@ -218,7 +218,7 @@
 #define CONFIG_NET_RETRY_COUNT 10
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_CONSOLE
diff --git a/include/configs/tao3530.h b/include/configs/tao3530.h
index 9c04c23..f601cca 100644
--- a/include/configs/tao3530.h
+++ b/include/configs/tao3530.h
@@ -305,7 +305,7 @@
 #define CONGIG_CMD_STORAGE
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 129acf2..926fa09 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -128,7 +128,7 @@
 #define CONFIG_CMD_ENTERRCM
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_RAM_DEVICE
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h
index b51400c..bd25ec8 100644
--- a/include/configs/ti814x_evm.h
+++ b/include/configs/ti814x_evm.h
@@ -168,7 +168,7 @@
 #define CONFIG_ENV_IS_NOWHERE
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE		0x40300000
 #define CONFIG_SPL_MAX_SIZE		((128 - 18) * 1024)
diff --git a/include/configs/ti816x_evm.h b/include/configs/ti816x_evm.h
index b8c0d54..ea0c4fd 100644
--- a/include/configs/ti816x_evm.h
+++ b/include/configs/ti816x_evm.h
@@ -134,7 +134,7 @@
 
 /* SPL */
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE    0x40400000
 #define CONFIG_SPL_MAX_SIZE     ((128 - 18) * 1024)
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
index 4854272..b3b7901 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -197,7 +197,7 @@
  * number of related defaults and sizes here.
  */
 #ifndef CONFIG_NOR_BOOT
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_OS_BOOT
 
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index 80985a2..5c5e304 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -331,7 +331,7 @@
 #define CONFIG_SYS_SRAM_SIZE		0x10000
 
 /* Defines for SPL */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
diff --git a/include/configs/tx25.h b/include/configs/tx25.h
index 5ac6e64..d362087 100644
--- a/include/configs/tx25.h
+++ b/include/configs/tx25.h
@@ -21,7 +21,7 @@
 
 #define	CONFIG_SYS_MONITOR_LEN		(256 << 10)	/* 256 kB for U-Boot */
 
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_TARGET		"u-boot-with-spl.bin"
 #define CONFIG_SPL_LDSCRIPT		"arch/$(ARCH)/cpu/u-boot-spl.lds"
 #define CONFIG_SPL_MAX_SIZE		2048
diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
index c6d4763..e53d3c4 100644
--- a/include/configs/vpac270.h
+++ b/include/configs/vpac270.h
@@ -17,7 +17,7 @@
 #define	CONFIG_SYS_TEXT_BASE	0xa0000000
 
 #ifdef	CONFIG_ONENAND
-#define	CONFIG_SPL
+#define	CONFIG_SPL 1
 #define	CONFIG_SPL_ONENAND_SUPPORT
 #define	CONFIG_SPL_ONENAND_LOAD_ADDR	0x2000
 #define	CONFIG_SPL_ONENAND_LOAD_SIZE	\
diff --git a/include/configs/woodburn_sd.h b/include/configs/woodburn_sd.h
index 437472f..2bf5c10 100644
--- a/include/configs/woodburn_sd.h
+++ b/include/configs/woodburn_sd.h
@@ -20,7 +20,7 @@
 /*
  * SPL
  */
-#define	CONFIG_SPL
+#define	CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define	CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm1136/u-boot-spl.lds"
 #define	CONFIG_SPL_LIBCOMMON_SUPPORT
diff --git a/include/configs/x600.h b/include/configs/x600.h
index eae85d6..e5bc6b9 100644
--- a/include/configs/x600.h
+++ b/include/configs/x600.h
@@ -274,7 +274,7 @@
 /*
  * SPL related defines
  */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_SPL_TEXT_BASE	0xd2800b00
 #define	CONFIG_SPL_START_S_PATH	"arch/arm/cpu/arm926ejs/spear"
 #define CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds"
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index dc5bc22..9f5183c 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -256,7 +256,7 @@
 #define CONFIG_CMD_TFTPPUT
 
 /* SPL part */
-#define CONFIG_SPL
+#define CONFIG_SPL 1
 #define CONFIG_CMD_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 06/14] kconfig: switch to Kconfig
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (4 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 05/14] include: define CONFIG_SPL and CONFIG_TPL as 1 Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 07/14] MAKEALL: adjust for Kconfig Masahiro Yamada
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

This commit enables Kconfig.
Going forward, we use Kconfig for board configuration.
mkconfig will never be used. Nor will include/config.mk be generated.

Kconfig must be adjusted for U-Boot because our situation is
a little more complicated than Linux Kernel.
We have to generate multiple binary images (Full U-Boot, SPL, TPL)
from one source tree.
Each image needs each configuration input.

Our approach is like this:

Every board has a signle defconfig file under "configs" directory.
SPL/TPL image, if it is supported, shares the same defconfig file
with the full U-boot image.

First, you need to configure for the target baord like this.

     make ARCH=<arch> <board_name>_defconfig

(Please not ARCH= must be provided from the command line)

A file ".config" will be created, storing configs setting
for all the images of the  target board.
You can use "make config", "make menuconfig" etc. to create
a new .config or modify the existing one.

And then run "make ARCH=<arch>".

Kbuild will automatically invoke "make silentoldconfig" if auto.conf
is missing or need to be updated.
The full, SPL, TPL image has its own auto.conf:
  - include/config/auto.conf      (for full image)
  - spl/include/config/auto.conf  (for SPL)
  - tpl/include/config/auto.conf  (for TPL)

How to generate three different auto.conf file from the same .config ?

The key is CONFIG_SPL_BUILD and CONFIG_TPL_BUILD.
CONFIG_SPL_BUILD is defined for both SPL and TPL, while CONFIG_TPL
is only for TPL image.

Some config macros only make sense for the full U-Boot.

For instance,

If you describe Kconfig entry like this:

    config SYS_HUSH_PARSER
            bool "Hush Parser"
            depends on !SPL_BUILD

CONFIG_SYS_HUSH_PARSER will be conceiled from SPL/TPL auto.conf.

If you want to set a config macro for each image separately,
you need to define another CONFIG.
Maybe CONFIG_SPL_ or CPNFIG_TPL_ prefix would be better for clarification.
For example,  CONFIG_SYS_TEXT_BASE, CONFIG_SPL_TEXT_BASE,
CONFIG_TPL_TEXT_BASE, respectively.

I have to admit duplicating config macros is painful but we get
a single defconfig file in return.

By the way, there is another item worth remarking here:
coexistence of Kconfig and board herder files.

Prior to Kconfig, we used C headers to define define a set of configs.

We expect a very long term to move existing config macros to Kconfig.
Two different infractructure must coexist in the interim.

In our former configuration scheme, include/autoconf.mk was generated
for the use in makefiles.
It is still generated in include/, spl/include/, tpl/include/ directory
for the full, SPL, TPL image, respectively.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 .gitignore                        |   2 -
 Makefile                          | 154 ++++++++++++++++++++------------------
 arch/blackfin/config.mk           |   2 +
 arch/m68k/cpu/mcf52x2/config.mk   |  16 ++--
 arch/m68k/cpu/mcf532x/config.mk   |   6 +-
 arch/m68k/cpu/mcf5445x/config.mk  |   4 +-
 arch/powerpc/cpu/ppc4xx/config.mk |   4 +-
 config.mk                         |  23 +++++-
 include/.gitignore                |   1 -
 scripts/Makefile                  |   2 +-
 scripts/Makefile.autoconf         | 100 +++++++++++++++++++++++++
 scripts/Makefile.build            |  31 +++-----
 scripts/basic/fixdep.c            |   6 +-
 scripts/kconfig/Makefile          |   4 +
 scripts/kconfig/confdata.c        |   8 ++
 scripts/silentoldconfig.sh        |  71 ++++++++++++++++++
 spl/Makefile                      |  31 +-------
 tools/Makefile                    |   2 +-
 tools/env/Makefile                |   2 +-
 19 files changed, 324 insertions(+), 145 deletions(-)
 create mode 100644 scripts/Makefile.autoconf
 create mode 100644 scripts/silentoldconfig.sh

diff --git a/.gitignore b/.gitignore
index a6b2d1c..abb92cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,8 +56,6 @@
 #
 /include/config/
 /include/generated/
-/include/spl-autoconf.mk
-/include/tpl-autoconf.mk
 
 # stgit generated dirs
 patches-*
diff --git a/Makefile b/Makefile
index 76b090d..5666907 100644
--- a/Makefile
+++ b/Makefile
@@ -166,13 +166,29 @@ VPATH		:= $(srctree)$(if $(KBUILD_EXTMOD),:$(KBUILD_EXTMOD))
 
 export srctree objtree VPATH
 
-MKCONFIG	:= $(srctree)/mkconfig
-export MKCONFIG
-
 # Make sure CDPATH settings don't interfere
 unexport CDPATH
 
-#########################################################################
+# SUBARCH tells the usermode build what the underlying arch is.  That is set
+# first, and if a usermode build is happening, the "ARCH=um" on the command
+# line overrides the setting of ARCH below.  If a native build is happening,
+# then ARCH is assigned, getting whatever value it gets normally, and 
+# SUBARCH is subsequently ignored.
+
+SUBARCH := $(shell uname -m | sed -e s/i.86/x86/ -e s/x86_64/x86/ \
+				  -e s/sun4u/sparc64/ \
+				  -e s/arm.*/arm/ -e s/sa110/arm/ \
+				  -e s/s390x/s390/ -e s/parisc64/parisc/ \
+				  -e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
+				  -e s/sh[234].*/sh/ -e s/aarch64.*/arm64/ )
+
+ARCH		?= $(SUBARCH)
+SRCARCH 	:= $(ARCH)
+
+# Additional ARCH settings for ARM
+ifeq ($(ARCH),arm64)
+       SRCARCH := arm
+endif
 
 HOSTARCH := $(shell uname -m | \
 	sed -e s/i.86/x86/ \
@@ -189,9 +205,6 @@ HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \
 
 export	HOSTARCH HOSTOS
 
-# Deal with colliding definitions from tcsh etc.
-VENDOR=
-
 #########################################################################
 
 # set default to nothing for native builds
@@ -199,6 +212,9 @@ ifeq ($(HOSTARCH),$(ARCH))
 CROSS_COMPILE ?=
 endif
 
+KCONFIG_CONFIG	?= .config
+export KCONFIG_CONFIG
+
 # SHELL used by kbuild
 CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
 	  else if [ -x /bin/bash ]; then echo /bin/bash; \
@@ -361,6 +377,15 @@ CHECK		= sparse
 CHECKFLAGS     := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
 		  -Wbitwise -Wno-return-void -D__CHECK_ENDIAN__ $(CF)
 
+
+# Use UBOOTINCLUDE when you must reference the include/ directory.
+# Needed to be compatible with the O= option
+UBOOTINCLUDE    := \
+		-Iinclude \
+		$(if $(KBUILD_SRC), -I$(srctree)/include) \
+		-I$(srctree)/arch/$(ARCH)/include \
+		-include $(srctree)/include/linux/kconfig.h
+
 KBUILD_CPPFLAGS := -D__KERNEL__
 
 KBUILD_CFLAGS   := -Wall -Wstrict-prototypes \
@@ -373,7 +398,7 @@ UBOOTRELEASE = $(shell cat include/config/uboot.release 2> /dev/null)
 UBOOTVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
 
 export VERSION PATCHLEVEL SUBLEVEL UBOOTRELEASE UBOOTVERSION
-export ARCH CPU BOARD VENDOR SOC CPUDIR BOARDDIR
+export ARCH SRCARCH CPU BOARD VENDOR SOC CPUDIR BOARDDIR
 export CONFIG_SHELL HOSTCC HOSTCFLAGS HOSTLDFLAGS CROSS_COMPILE AS LD CC
 export CPP AR NM LDR STRIP OBJCOPY OBJDUMP
 export MAKE AWK PERL
@@ -477,30 +502,45 @@ ifeq ($(config-targets),1)
 # Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
 # KBUILD_DEFCONFIG may point out an alternative default configuration
 # used for 'make defconfig'
+include $(srctree)/arch/$(SRCARCH)/config.mk
+export KBUILD_DEFCONFIG KBUILD_KCONFIG
+
+config: scripts_basic outputmakefile FORCE
+	$(Q)mkdir -p include/linux include/config
+	$(Q)$(MAKE) $(build)=scripts/kconfig $@
 
-%_config:: outputmakefile
-	@$(MKCONFIG) -A $(@:_config=)
+%config: scripts_basic outputmakefile FORCE
+	$(Q)mkdir -p include/linux include/config
+	$(Q)$(MAKE) $(build)=scripts/kconfig $@
 
 else
 # ===========================================================================
 # Build targets only - this includes vmlinux, arch specific targets, clean
 # targets and others. In general all targets except *config targets.
 
-# load ARCH, BOARD, and CPU configuration
--include include/config.mk
-
 ifeq ($(dot-config),1)
 # Read in config
+-include include/config/auto.conf
+
+# Read in dependencies to all Kconfig* files, make sure to run
+# oldconfig if changes are detected.
+-include include/config/auto.conf.cmd
+
+# To avoid any implicit rule to kick in, define an empty command
+$(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
+
+# If .config is newer than include/config/auto.conf, someone tinkered
+# with it and forgot to run make oldconfig.
+# if auto.conf.cmd is missing then we are probably in a cleaned tree so
+# we execute the config step to be sure to catch updated Kconfig files
+include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
+	+$(Q)$(CONFIG_SHELL) $(srctree)/scripts/silentoldconfig.sh
+
 -include include/autoconf.mk
 -include include/autoconf.mk.dep
 
-# load other configuration
 include $(srctree)/config.mk
 
-ifeq ($(wildcard include/config.mk),)
-$(error "System not configured - see README")
-endif
-
 # If board code explicitly specified LDSCRIPT or CONFIG_SYS_LDSCRIPT, use
 # that (or fail if absent).  Otherwise, search for a linker script in a
 # standard location.
@@ -533,8 +573,8 @@ ifndef LDSCRIPT
 endif
 
 else
-
-
+# Dummy target needed, because used as prerequisite
+include/config/auto.conf: ;
 endif # $(dot-config)
 
 KBUILD_CFLAGS += -Os #-fomit-frame-pointer
@@ -578,6 +618,10 @@ KBUILD_AFLAGS += -Wa,-gstabs,-S
 endif
 endif
 
+# arch Makefile may override CC so keep this after arch Makefile is included
+NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
+CHECKFLAGS     += $(NOSTDINC_FLAGS)
+
 # Prohibit date/time macros, which would make the build non-deterministic
 KBUILD_CFLAGS   += $(call cc-option,-Werror=date-time)
 
@@ -592,16 +636,6 @@ KBUILD_CPPFLAGS += $(KCPPFLAGS)
 KBUILD_AFLAGS += $(KAFLAGS)
 KBUILD_CFLAGS += $(KCFLAGS)
 
-# Use UBOOTINCLUDE when you must reference the include/ directory.
-# Needed to be compatible with the O= option
-UBOOTINCLUDE    := \
-		-Iinclude \
-		$(if $(KBUILD_SRC), -I$(srctree)/include) \
-		-I$(srctree)/arch/$(ARCH)/include
-
-NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
-CHECKFLAGS     += $(NOSTDINC_FLAGS)
-
 # FIX ME
 cpp_flags := $(KBUILD_CPPFLAGS) $(PLATFORM_CPPFLAGS) $(UBOOTINCLUDE) \
 							$(NOSTDINC_FLAGS)
@@ -1033,7 +1067,7 @@ define filechk_uboot.release
 endef
 
 # Store (new) UBOOTRELEASE string in include/config/uboot.release
-include/config/uboot.release: Makefile FORCE
+include/config/uboot.release: include/config/auto.conf FORCE
 	$(call filechk,uboot.release)
 
 
@@ -1051,8 +1085,8 @@ PHONY += prepare archprepare prepare0 prepare1 prepare2 prepare3
 # 1) Check that make has not been executed in the kernel src $(srctree)
 prepare3: include/config/uboot.release
 ifneq ($(KBUILD_SRC),)
-	@$(kecho) '  Using $(srctree) as source for u-boot'
-	$(Q)if [ -f $(srctree)/include/config.mk ]; then \
+	@$(kecho) '  Using $(srctree) as source for U-Boot'
+	$(Q)if [ -f $(srctree)/.config -o -d $(srctree)/include/config ]; then \
 		echo >&2 "  $(srctree) is not clean, please run 'make mrproper'"; \
 		echo >&2 "  in the '$(srctree)' directory.";\
 		/bin/false; \
@@ -1062,7 +1096,8 @@ endif
 # prepare2 creates a makefile if using a separate output directory
 prepare2: prepare3 outputmakefile
 
-prepare1: prepare2 $(version_h) $(timestamp_h)
+prepare1: prepare2 $(version_h) $(timestamp_h) \
+                   include/config/auto.conf
 ifeq ($(__HAVE_ARCH_GENERIC_BOARD),)
 ifeq ($(CONFIG_SYS_GENERIC_BOARD),y)
 	@echo >&2 "  Your architecture does not support generic board."
@@ -1104,29 +1139,6 @@ $(version_h): include/config/uboot.release FORCE
 $(timestamp_h): $(srctree)/Makefile FORCE
 	$(call filechk,timestamp.h)
 
-#
-# Auto-generate the autoconf.mk file (which is included by all makefiles)
-#
-# This target actually generates 2 files; autoconf.mk and autoconf.mk.dep.
-# the dep file is only include in this top level makefile to determine when
-# to regenerate the autoconf.mk file.
-
-quiet_cmd_autoconf_dep = GEN     $@
-      cmd_autoconf_dep = $(CC) -x c -DDO_DEPS_ONLY -M $(c_flags) \
-	-MQ include/autoconf.mk $(srctree)/include/common.h > $@ || rm $@
-
-include/autoconf.mk.dep: include/config.h include/common.h
-	$(call cmd,autoconf_dep)
-
-quiet_cmd_autoconf = GEN     $@
-      cmd_autoconf = \
-	$(CPP) $(c_flags) -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && \
-	sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp > $@; \
-	rm $@.tmp
-
-include/autoconf.mk: include/config.h
-	$(call cmd,autoconf)
-
 # ---------------------------------------------------------------------------
 
 PHONY += depend dep
@@ -1164,7 +1176,7 @@ spl/u-boot-spl: tools prepare
 	$(Q)$(MAKE) obj=spl -f $(srctree)/spl/Makefile all
 
 tpl/u-boot-tpl.bin: tools prepare
-	$(Q)$(MAKE) obj=tpl -f $(srctree)/spl/Makefile all CONFIG_TPL_BUILD=y
+	$(Q)$(MAKE) obj=tpl -f $(srctree)/spl/Makefile all
 
 TAG_SUBDIRS := $(u-boot-dirs) include
 
@@ -1239,29 +1251,28 @@ include/license.h: tools/bin2header COPYING
 
 # Directories & files removed with 'make clean'
 CLEAN_DIRS  += $(MODVERDIR)
-CLEAN_FILES += u-boot.lds include/bmp_logo.h include/bmp_logo_data.h \
-	       include/autoconf.mk* include/spl-autoconf.mk \
-	       include/tpl-autoconf.mk
+CLEAN_FILES += u-boot.lds include/bmp_logo.h include/bmp_logo_data.h
 
 # Directories & files removed with 'make clobber'
-CLOBBER_DIRS  += $(patsubst %,spl/%, $(filter-out Makefile, \
+CLOBBER_DIRS  += $(patsubst %,spl/%, $(filter-out Makefile include, \
 		 $(shell ls -1 spl 2>/dev/null))) \
-		 tpl
+		 $(patsubst %,tpl/%, $(filter-out include, \
+		 $(shell ls -1 tpl 2>/dev/null)))
 CLOBBER_FILES += u-boot* MLO* SPL System.map nand_spl/u-boot*
 
 # Directories & files removed with 'make mrproper'
-MRPROPER_DIRS  += include/config include/generated          \
+MRPROPER_DIRS  += include/config include/generated spl/include tpl \
                   .tmp_objdiff
-MRPROPER_FILES += .config .config.old \
-		  tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS \
-		  include/config.h include/config.mk
+MRPROPER_FILES += .config* spl/.config* include/autoconf.mk* include/config.h \
+		  tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
 
 # clean - Delete most, but leave enough to build external modules
 #
 clean: rm-dirs  := $(CLEAN_DIRS)
 clean: rm-files := $(CLEAN_FILES)
 
-clean-dirs	:= $(foreach f,$(u-boot-alldirs),$(if $(wildcard $(srctree)/$f/Makefile),$f))
+clean-dirs	:= $(foreach f, $(filter %/, $(u-boot-alldirs)),\
+				$(if $(wildcard $(srctree)/$f/Makefile),$f))
 
 clean-dirs      := $(addprefix _clean_, $(clean-dirs) doc/DocBook)
 
@@ -1333,10 +1344,9 @@ help:
 	@echo  '  mrproper	  - Remove all generated files + config + various backup files'
 	@echo  '  distclean	  - mrproper + remove editor backup and patch files'
 	@echo  ''
-# uncomment after adding Kconfig feature
-#	@echo  'Configuration targets:'
-#	@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
-#	@echo  ''
+	@echo  'Configuration targets:'
+	@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
+	@echo  ''
 	@echo  'Other generic targets:'
 	@echo  '  all		  - Build all necessary images depending on configuration'
 	@echo  '  u-boot	  - Build the bare u-boot'
diff --git a/arch/blackfin/config.mk b/arch/blackfin/config.mk
index fcaa44f..c9927b8 100644
--- a/arch/blackfin/config.mk
+++ b/arch/blackfin/config.mk
@@ -12,9 +12,11 @@ endif
 CONFIG_STANDALONE_LOAD_ADDR ?= 0x1000 -m elf32bfin
 
 ifeq ($(CONFIG_BFIN_CPU),)
+ifneq ($(BOARD),)
 CONFIG_BFIN_CPU := \
 	$(shell awk '$$2 == "CONFIG_BFIN_CPU" { print $$3 }' \
 		$(srctree)/include/configs/$(BOARD).h)
+endif
 else
 CONFIG_BFIN_CPU := $(strip $(CONFIG_BFIN_CPU:"%"=%))
 endif
diff --git a/arch/m68k/cpu/mcf52x2/config.mk b/arch/m68k/cpu/mcf52x2/config.mk
index 34ad99e..f66000b 100644
--- a/arch/m68k/cpu/mcf52x2/config.mk
+++ b/arch/m68k/cpu/mcf52x2/config.mk
@@ -7,14 +7,14 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
-cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
-is5208:=$(shell grep CONFIG_M5208 $(srctree)/include/$(cfg))
-is5249:=$(shell grep CONFIG_M5249 $(srctree)/include/$(cfg))
-is5253:=$(shell grep CONFIG_M5253 $(srctree)/include/$(cfg))
-is5271:=$(shell grep CONFIG_M5271 $(srctree)/include/$(cfg))
-is5272:=$(shell grep CONFIG_M5272 $(srctree)/include/$(cfg))
-is5275:=$(shell grep CONFIG_M5275 $(srctree)/include/$(cfg))
-is5282:=$(shell grep CONFIG_M5282 $(srctree)/include/$(cfg))
+cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h
+is5208:=$(shell grep CONFIG_M5208 $(cfg))
+is5249:=$(shell grep CONFIG_M5249 $(cfg))
+is5253:=$(shell grep CONFIG_M5253 $(cfg))
+is5271:=$(shell grep CONFIG_M5271 $(cfg))
+is5272:=$(shell grep CONFIG_M5272 $(cfg))
+is5275:=$(shell grep CONFIG_M5275 $(cfg))
+is5282:=$(shell grep CONFIG_M5282 $(cfg))
 
 ifneq (,$(findstring CONFIG_M5208,$(is5208)))
 PLATFORM_CPPFLAGS += -mcpu=5208
diff --git a/arch/m68k/cpu/mcf532x/config.mk b/arch/m68k/cpu/mcf532x/config.mk
index af94354..2efb60f 100644
--- a/arch/m68k/cpu/mcf532x/config.mk
+++ b/arch/m68k/cpu/mcf532x/config.mk
@@ -7,9 +7,9 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
-cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
-is5301x:=$(shell grep CONFIG_MCF5301x $(srctree)/include/$(cfg))
-is532x:=$(shell grep CONFIG_MCF532x $(srctree)/include/$(cfg))
+cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h
+is5301x:=$(shell grep CONFIG_MCF5301x $(cfg))
+is532x:=$(shell grep CONFIG_MCF532x $(cfg))
 
 ifneq (,$(findstring CONFIG_MCF5301x,$(is5301x)))
 PLATFORM_CPPFLAGS += -mcpu=53015 -fPIC
diff --git a/arch/m68k/cpu/mcf5445x/config.mk b/arch/m68k/cpu/mcf5445x/config.mk
index 5fd0d4d..13f8a9f 100644
--- a/arch/m68k/cpu/mcf5445x/config.mk
+++ b/arch/m68k/cpu/mcf5445x/config.mk
@@ -9,8 +9,8 @@
 # SPDX-License-Identifier:	GPL-2.0+
 #
 
-cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
-is5441x:=$(shell grep CONFIG_MCF5441x $(srctree)/include/$(cfg))
+cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h
+is5441x:=$(shell grep CONFIG_MCF5441x $(cfg))
 
 ifneq (,$(findstring CONFIG_MCF5441x,$(is5441x)))
 PLATFORM_CPPFLAGS += -mcpu=54418 -fPIC
diff --git a/arch/powerpc/cpu/ppc4xx/config.mk b/arch/powerpc/cpu/ppc4xx/config.mk
index 102f069..a7253b2 100644
--- a/arch/powerpc/cpu/ppc4xx/config.mk
+++ b/arch/powerpc/cpu/ppc4xx/config.mk
@@ -7,8 +7,8 @@
 
 PLATFORM_CPPFLAGS += -DCONFIG_4xx -mstring -msoft-float
 
-cfg=$(shell grep configs $(objtree)/include/config.h | sed 's/.*<\(configs.*\)>/\1/')
-is440:=$(shell grep CONFIG_440 $(srctree)/include/$(cfg))
+cfg=$(srctree)/include/configs/$(CONFIG_SYS_CONFIG_NAME:"%"=%).h
+is440:=$(shell grep CONFIG_440 $(cfg))
 
 ifneq (,$(findstring CONFIG_440,$(is440)))
 PLATFORM_CPPFLAGS += -Wa,-m440 -mcpu=440
diff --git a/config.mk b/config.mk
index 05864aa..12eef99 100644
--- a/config.mk
+++ b/config.mk
@@ -20,16 +20,33 @@ LDFLAGS_FINAL :=
 OBJCOPYFLAGS :=
 #########################################################################
 
+# We want to define CPU, BOARD, VENDOR, SOC only when include/config/auto.conf
+# is up-to-date. When we switch to a different board configuration, old CONFIG
+# macros are still remaining in include/config/auto.conf. Without the following
+# gimmick, wrong macro would be set leading nasty warnings/errors.
+autoconf_is_update := $(if $(wildcard $(KCONFIG_CONFIG)),$(shell find \
+		include/config -name auto.conf -newer $(KCONFIG_CONFIG)))
+ifneq ($(autoconf_is_update),)
+CPU := $(CONFIG_SYS_CPU:"%"=%)
+BOARD := $(CONFIG_SYS_BOARD:"%"=%)
+ifneq ($(CONFIG_SYS_VENDOR),)
+VENDOR := $(CONFIG_SYS_VENDOR:"%"=%)
+endif
+ifneq ($(CONFIG_SYS_SOC),)
+SOC := $(CONFIG_SYS_SOC:"%"=%)
+endif
+endif
+
 # Some architecture config.mk files need to know what CPUDIR is set to,
 # so calculate CPUDIR before including ARCH/SOC/CPU config.mk files.
 # Check if arch/$ARCH/cpu/$CPU exists, otherwise assume arch/$ARCH/cpu contains
 # CPU-specific code.
-CPUDIR=arch/$(ARCH)/cpu/$(CPU)
+CPUDIR=arch/$(SRCARCH)/cpu/$(CPU)
 ifneq ($(srctree)/$(CPUDIR),$(wildcard $(srctree)/$(CPUDIR)))
-CPUDIR=arch/$(ARCH)/cpu
+CPUDIR=arch/$(SRCARCH)/cpu
 endif
 
-sinclude $(srctree)/arch/$(ARCH)/config.mk	# include architecture dependend rules
+sinclude $(srctree)/arch/$(SRCARCH)/config.mk	# include architecture dependend rules
 sinclude $(srctree)/$(CPUDIR)/config.mk		# include  CPU	specific rules
 
 ifdef	SOC
diff --git a/include/.gitignore b/include/.gitignore
index bf142fc..8e41a95 100644
--- a/include/.gitignore
+++ b/include/.gitignore
@@ -2,4 +2,3 @@
 /bmp_logo.h
 /bmp_logo_data.h
 /config.h
-/config.mk
diff --git a/scripts/Makefile b/scripts/Makefile
index 68c998e..efe25bf 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -13,4 +13,4 @@ build_docproc: $(obj)/docproc
 	@:
 
 # Let clean descend into subdirs
-subdir-	+= basic
+subdir-	+= basic kconfig
diff --git a/scripts/Makefile.autoconf b/scripts/Makefile.autoconf
new file mode 100644
index 0000000..db62c70
--- /dev/null
+++ b/scripts/Makefile.autoconf
@@ -0,0 +1,100 @@
+# This helper makefile is used for creating
+#  - symbolic links (arch/$ARCH/include/asm/{arch,proc}
+#  - include/autoconf.mk, {spl,tpl}/include/autoconf.mk
+#  - include/config.h
+#
+# When our migration to Kconfig is done
+# (= When we move all CONFIGs from header files to Kconfig)
+# this makefile can be deleted.
+
+# obj is "include" or "spl/include" or "tpl/include"
+# for non-SPL, SPL, TPL, respectively
+include $(obj)/config/auto.conf
+
+include scripts/Kbuild.include
+
+# Need to define CC and CPP again here because config.mk may not
+# be included from the top Makefile. Some architectures expect
+# CROSS_COMPILE to be defined in arch/$(ARCH)/config.mk
+CC		= $(CROSS_COMPILE)gcc
+CPP		= $(CC) -E
+
+include config.mk
+
+UBOOTINCLUDE    := \
+		-I$(obj) \
+		-Iinclude \
+		$(if $(KBUILD_SRC), -I$(srctree)/include) \
+		-I$(srctree)/arch/$(ARCH)/include \
+		-include $(srctree)/include/linux/kconfig.h
+
+c_flags := $(KBUILD_CFLAGS) $(KBUILD_CPPFLAGS) $(PLATFORM_CPPFLAGS) \
+					$(UBOOTINCLUDE) $(NOSTDINC_FLAGS)
+
+quiet_cmd_autoconf_dep = GEN     $@
+      cmd_autoconf_dep = $(CC) -x c -DDO_DEPS_ONLY -M -MP $(c_flags) \
+	-MQ include/config/auto.conf $(srctree)/include/common.h > $@ || rm $@
+
+include/autoconf.mk.dep: FORCE
+	$(call cmd,autoconf_dep)
+
+# We are migrating from board headers to Kconfig little by little.
+# In the interim, we use both of
+#  - include/config/auto.conf (generated by Kconfig)
+#  - include/autoconf.mk      (used in the U-Boot conventional configuration)
+# The following rule creates autoconf.mk
+# include/config/auto.conf is grepped in order to avoid duplication of the
+# same CONFIG macros
+quiet_cmd_autoconf = GEN     $@
+      cmd_autoconf = \
+	$(CPP) $(c_flags) -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp &&	\
+	sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp |			\
+	while read line; do								\
+		if ! grep -q "$${line%=*}=" $(obj)/config/auto.conf; then		\
+			echo "$$line";							\
+		fi									\
+	done > $@;									\
+	rm $@.tmp
+
+$(obj)/autoconf.mk: FORCE
+	$(call cmd,autoconf)
+
+include/autoconf.mk include/autoconf.mk.dep: include/config.h
+
+# include/config.h
+# Prior to Kconfig, it was generated by mkconfig. Now it is created here.
+define filechk_config_h
+	(echo "/* Automatically generated - do not edit */";		\
+	for i in $$(echo $(CONFIG_SYS_EXTRA_OPTIONS) | sed 's/,/ /g'); do \
+		echo \#define CONFIG_$$i				\
+		| sed '/=/ {s/=/	/;q; } ; { s/$$/	1/; }'; \
+	done;								\
+	echo \#define CONFIG_BOARDDIR board/$(if $(VENDOR),$(VENDOR)/)$(BOARD);\
+	echo \#include \<config_cmd_defaults.h\>;			\
+	echo \#include \<config_defaults.h\>;				\
+	echo \#include \<configs/$(CONFIG_SYS_CONFIG_NAME).h\>;		\
+	echo \#include \<asm/config.h\>;				\
+	echo \#include \<config_fallbacks.h\>;				\
+	echo \#include \<config_uncmd_spl.h\>; )
+endef
+
+include/config.h: scripts/Makefile.autoconf create_symlink FORCE
+	$(call filechk,config_h)
+
+# symbolic links
+PHONY += create_symlink
+create_symlink:
+ifneq ($(KBUILD_SRC),)
+	$(Q)mkdir -p include/asm
+endif
+	$(Q)ln -fsn $(srctree)/arch/$(ARCH)/include/asm/arch-$(if $(SOC),$(SOC),$(CPU)) \
+		$(if $(KBUILD_SRC),,arch/$(ARCH)/)include/asm/arch
+ifeq ($(ARCH),arm)
+	$(Q)ln -fsn $(srctree)/arch/$(ARCH)/include/asm/proc-armv \
+		$(if $(KBUILD_SRC),,arch/$(ARCH)/)include/asm/proc
+endif
+
+PHONY += FORCE
+FORCE:
+
+.PHONY: $(PHONY)
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 6416c1a..650cef1 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -3,14 +3,14 @@
 # ==========================================================================
 
 # Modified for U-Boot
-ifeq ($(CONFIG_TPL_BUILD),y)
-  src := $(patsubst tpl/%,%,$(obj))
-else
-  ifeq ($(CONFIG_SPL_BUILD),y)
-    src := $(patsubst spl/%,%,$(obj))
-  else
-    src := $(obj)
-  endif
+prefix := tpl
+src := $(patsubst $(prefix)/%,%,$(obj))
+ifeq ($(obj),$(src))
+prefix := spl
+src := $(patsubst $(prefix)/%,%,$(obj))
+ifeq ($(obj),$(src))
+prefix := .
+endif
 endif
 
 PHONY := __build
@@ -40,18 +40,9 @@ subdir-asflags-y :=
 subdir-ccflags-y :=
 
 # Read auto.conf if it exists, otherwise ignore
--include include/config/auto.conf
-
-# Added for U-Boot: Load U-Boot configuration
-ifeq ($(CONFIG_TPL_BUILD),y)
-  -include include/tpl-autoconf.mk
-else
-  ifeq ($(CONFIG_SPL_BUILD),y)
-    -include include/spl-autoconf.mk
-  else
-    -include include/autoconf.mk
-  endif
-endif
+# Modified for U-Boot
+-include $(prefix)/include/config/auto.conf
+-include $(prefix)/include/autoconf.mk
 
 include scripts/Kbuild.include
 
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c
index 078fe1d..3cff12d 100644
--- a/scripts/basic/fixdep.c
+++ b/scripts/basic/fixdep.c
@@ -221,7 +221,11 @@ static void use_config(const char *m, int slen)
 
 	define_config(m, slen, hash);
 
-	printf("    $(wildcard include/config/");
+	/* printf("    $(wildcard include/config/"); */
+	/* modified for U-Boot */
+	printf("    $(wildcard %sinclude/config/",
+	       strncmp(depfile, "spl/", 4) ?
+	       (strncmp(depfile, "tpl/", 4) ? "" : "tpl/") : "spl/");
 	for (i = 0; i < slen; i++) {
 		c = m[i];
 		if (c == '_')
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 844bc9d..3072231 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -14,6 +14,10 @@ endif
 # We need this, in case the user has it in its environment
 unexport CONFIG_
 
+# Added for U-Boot
+KCONFIG_OBJDIR :=
+export KCONFIG_OBJDIR
+
 xconfig: $(obj)/qconf
 	$< $(Kconfig)
 
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
index f88d90f..ae6ce66 100644
--- a/scripts/kconfig/confdata.c
+++ b/scripts/kconfig/confdata.c
@@ -951,6 +951,14 @@ int conf_write_autoconf(void)
 	FILE *out, *tristate, *out_h;
 	int i;
 
+	/*
+	 * Added for U-Boot SPL/TPL
+	 */
+	name = getenv("KCONFIG_OBJDIR");
+	if (name && name[0])
+		if (chdir(name))
+			return 1;
+
 	sym_clear_all_valid();
 
 	file_write_dep("include/config/auto.conf.cmd");
diff --git a/scripts/silentoldconfig.sh b/scripts/silentoldconfig.sh
new file mode 100644
index 0000000..3c5d2ff
--- /dev/null
+++ b/scripts/silentoldconfig.sh
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+set -e
+
+if grep -q "CONFIG_SPL=y" $KCONFIG_CONFIG; then
+	spl=y
+else
+	spl=
+fi
+
+if grep -q "CONFIG_TPL=y" $KCONFIG_CONFIG; then
+	tpl=y
+else
+	tpl=
+fi
+
+$MAKE -f $srctree/Makefile silentoldconfig
+
+if [ "$spl" = "y" ]; then
+	mkdir -p spl/include/linux spl/include/config spl/include/generated
+	# "make silentoldconfig" updates ".config".
+	# So we need to copy it to spl/.config
+	cp $KCONFIG_CONFIG spl/$KCONFIG_CONFIG
+	# "make silentoldconfig" creates or updates
+	#  - spl/include/config/auto.conf
+	#  - spl/include/generated/autoconf.h.
+	#  - spl/include/config/*/*.h (used for scripts/basic/fixdep)
+	$MAKE -f $srctree/Makefile KCONFIG_OBJDIR=spl/ \
+		KCONFIG_CONFIG=spl/$KCONFIG_CONFIG silentoldconfig >/dev/null
+	rm spl/$KCONFIG_CONFIG
+fi
+
+if [ "$tpl" = "y" ]; then
+	mkdir -p tpl/include/linux tpl/include/config tpl/include/generated
+	# "make silentoldconfig" updates ".config".
+	# So we need to copy it to tpl/.config
+	cp $KCONFIG_CONFIG tpl/$KCONFIG_CONFIG
+	# "make silentoldconfig" creates or updates
+	#  - tpl/include/config/auto.conf
+	#  - tpl/include/generated/autoconf.h.
+	#  - tpl/include/config/*/*.h (used for scripts/basic/fixdep)
+	$MAKE -f $srctree/Makefile KCONFIG_OBJDIR=tpl/ \
+		KCONFIG_CONFIG=tpl/$KCONFIG_CONFIG silentoldconfig >/dev/null
+	rm tpl/$KCONFIG_CONFIG
+fi
+
+# The following lines create or update
+#  - symbolic links (arch/$ARCH/include/asm/{arch,proc}
+#  - include/autoconf.mk, {spl,tpl}/include/autoconf.mk
+#  - include/config.h
+# We are still relying U-Boot conventional configuration,
+# which is based on header files (include/configs/<board_name>.h)
+# We can delete the following lines after moving all CONFIG
+# from header files to Kconfig.
+$MAKE -f $srctree/scripts/Makefile.autoconf obj=include \
+	include/autoconf.mk include/autoconf.mk.dep
+
+# include/config.h is updated after "make silentoldconfig".
+# We need to touch include/config/auto.conf so it gets newer than
+#include/config.h. Otherwise, "make silentoldconfig" is run twice.
+touch include/config/auto.conf
+
+if [ "$spl" = "y" ]; then
+	$MAKE -f $srctree/scripts/Makefile.autoconf obj=spl/include \
+		spl/include/autoconf.mk
+fi
+
+if [ "$tpl" = "y" ]; then
+	$MAKE -f $srctree/scripts/Makefile.autoconf obj=tpl/include \
+		tpl/include/autoconf.mk
+fi
diff --git a/spl/Makefile b/spl/Makefile
index 55500fd..7baced9 100644
--- a/spl/Makefile
+++ b/spl/Makefile
@@ -21,13 +21,10 @@ _dummy := $(shell [ -d $(obj) ] || mkdir -p $(obj))
 
 include $(srctree)/scripts/Kbuild.include
 
-CONFIG_SPL_BUILD := y
-export CONFIG_SPL_BUILD
+UBOOTINCLUDE := -I$(obj)/include $(UBOOTINCLUDE)
 
-KBUILD_CPPFLAGS += -DCONFIG_SPL_BUILD
-ifeq ($(CONFIG_TPL_BUILD),y)
-KBUILD_CPPFLAGS += -DCONFIG_TPL_BUILD
-endif
+-include $(obj)/include/config/auto.conf
+-include $(obj)/include/autoconf.mk
 
 ifeq ($(CONFIG_TPL_BUILD),y)
 export CONFIG_TPL_BUILD
@@ -36,14 +33,6 @@ else
 SPL_BIN := u-boot-spl
 endif
 
-include include/config.mk
-
-ifeq ($(CONFIG_TPL_BUILD),y)
-  -include include/tpl-autoconf.mk
-else
-  -include include/spl-autoconf.mk
-endif
-
 include $(srctree)/config.mk
 
 # Enable garbage collection of un-used sections for SPL
@@ -53,20 +42,6 @@ LDFLAGS_FINAL += --gc-sections
 # FIX ME
 cpp_flags := $(KBUILD_CPPFLAGS) $(PLATFORM_CPPFLAGS) $(UBOOTINCLUDE) \
 							$(NOSTDINC_FLAGS)
-c_flags := $(KBUILD_CFLAGS) $(cpp_flags)
-
-# Auto-generate the spl-autoconf.mk file (which is included by all makefiles for SPL)
-quiet_cmd_autoconf = GEN     $@
-      cmd_autoconf = \
-	$(CPP) $(c_flags) -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && \
-		sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp > $@; \
-	rm $@.tmp
-
-include/tpl-autoconf.mk: include/config.h
-	$(call cmd,autoconf)
-
-include/spl-autoconf.mk: include/config.h
-	$(call cmd,autoconf)
 
 HAVE_VENDOR_COMMON_LIB = $(if $(wildcard $(srctree)/board/$(VENDOR)/common/Makefile),y,n)
 
diff --git a/tools/Makefile b/tools/Makefile
index 6e43a01..b55b378 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -185,7 +185,7 @@ endif # !LOGO_BMP
 # Define _GNU_SOURCE to obtain the getline prototype from stdio.h
 #
 HOST_EXTRACFLAGS += -include $(srctree)/include/libfdt_env.h \
-		$(patsubst -I%,-idirafter%, $(UBOOTINCLUDE)) \
+		$(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \
 		-I$(srctree)/lib/libfdt \
 		-I$(srctree)/tools \
 		-DCONFIG_SYS_TEXT_BASE=$(CONFIG_SYS_TEXT_BASE) \
diff --git a/tools/env/Makefile b/tools/env/Makefile
index f5368bc..4927489 100644
--- a/tools/env/Makefile
+++ b/tools/env/Makefile
@@ -11,7 +11,7 @@
 HOSTCC = $(CC)
 
 # Compile for a hosted environment on the target
-HOST_EXTRACFLAGS  = $(patsubst -I%,-idirafter%, $(UBOOTINCLUDE)) \
+HOST_EXTRACFLAGS  = $(patsubst -I%,-idirafter%, $(filter -I%, $(UBOOTINCLUDE))) \
 		-idirafter $(srctree)/tools/env \
 		-DUSE_HOSTCC \
 		-DTEXT_BASE=$(TEXT_BASE)
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 07/14] MAKEALL: adjust for Kconfig
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (5 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 06/14] kconfig: switch to Kconfig Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 08/14] buildman: " Masahiro Yamada
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

Use "make <board>_defconfig" instead of "make <board>_config".

WARNING
This adjustment is not enough.
MAKEALL should parse defconfig files instead of boards.cfg.
This commit has not got this rework done yet.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 MAKEALL | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/MAKEALL b/MAKEALL
index 37ef71e..8781504 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -506,9 +506,9 @@ get_target_location() {
 
 	set ${line}
 
-	CONFIG_NAME="${7%_config}"
+	CONFIG_NAME="${7%_defconfig}"
 
-	[ "${BOARD_NAME}" ] || BOARD_NAME="${7%_config}"
+	[ "${BOARD_NAME}" ] || BOARD_NAME="${7%_defconfig}"
 
 	if [ $# -gt 5 ]; then
 		if [ "$6" = "-" ] ; then
@@ -640,12 +640,20 @@ build_target() {
 	    MAKE=make
 	fi
 
+	if [ "$target_arch" = aarch64 ]; then
+		target_arch_fixup=arm
+	else
+		target_arch_fixup=$target_arch
+	fi
+
+	MAKE="$MAKE ARCH=$target_arch_fixup"
+
 	if [  "${output_dir}" != "." ] ; then
 		MAKE="${MAKE} O=${output_dir}"
 	fi
 
 	${MAKE} distclean >/dev/null
-	${MAKE} -s ${target}_config
+	${MAKE} -s ${target}_defconfig
 
 	${MAKE} ${JOBS} ${CHECK} all \
 		>${LOG_DIR}/$target.MAKELOG 2> ${LOG_DIR}/$target.ERR
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 08/14] buildman: adjust for Kconfig
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (6 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 07/14] MAKEALL: adjust for Kconfig Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 09/14] kconfig: delete redundant CONFIG_${ARCH} definition Masahiro Yamada
                   ` (5 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

Use "make <board>_defconfig" instead of "make <board>_config".

WARNING
This adjustment is not enough.
MAKEALL should parse defconfig files instead of boards.cfg.
This commit has not got this rework done yet.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 tools/buildman/board.py   | 2 +-
 tools/buildman/builder.py | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/buildman/board.py b/tools/buildman/board.py
index 5172a47..7bcc932 100644
--- a/tools/buildman/board.py
+++ b/tools/buildman/board.py
@@ -17,7 +17,7 @@ class Board:
             soc: Name of SOC, or '' if none (e.g. mx31)
             vendor: Name of vendor (e.g. armltd)
             board_name: Name of board (e.g. integrator)
-            target: Target name (use make <target>_config to configure)
+            target: Target name (use make <target>_defconfig to configure)
             options: board-specific options (e.g. integratorcp:CM1136)
         """
         self.target = target
diff --git a/tools/buildman/builder.py b/tools/buildman/builder.py
index 4a2d753..6ccb5f6 100644
--- a/tools/buildman/builder.py
+++ b/tools/buildman/builder.py
@@ -198,7 +198,7 @@ class BuilderThread(threading.Thread):
             commit_upto: Commit number to build (0...n-1)
             brd: Board object to build
             work_dir: Directory to which the source will be checked out
-            do_config: True to run a make <board>_config on the source
+            do_config: True to run a make <board>_defconfig on the source
             force_build: Force a build even if one was previously done
 
         Returns:
@@ -251,7 +251,7 @@ class BuilderThread(threading.Thread):
                 args = ['O=build', '-s']
                 if self.builder.num_jobs is not None:
                     args.extend(['-j', str(self.builder.num_jobs)])
-                config_args = ['%s_config' % brd.target]
+                config_args = ['%s_defconfig' % brd.target]
                 config_out = ''
                 args.extend(self.builder.toolchains.GetMakeArguments(brd))
 
@@ -404,7 +404,7 @@ class BuilderThread(threading.Thread):
         work_dir = self.builder.GetThreadDir(self.thread_num)
         self.toolchain = None
         if job.commits:
-            # Run 'make board_config' on the first commit
+            # Run 'make board_defconfig' on the first commit
             do_config = True
             commit_upto  = 0
             force_build = False
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 09/14] kconfig: delete redundant CONFIG_${ARCH} definition
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (7 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 08/14] buildman: " Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 10/14] kbuild: remove CONFIG_SPL/CONFIG_TPL definition in config headers Masahiro Yamada
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

CONFIG_${ARCH} is defined by Kconfig.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

 arch/arc/config.mk                   | 2 +-
 arch/arm/config.mk                   | 2 +-
 arch/avr32/config.mk                 | 1 -
 arch/blackfin/config.mk              | 1 -
 arch/m68k/config.mk                  | 2 +-
 arch/mips/config.mk                  | 2 +-
 arch/nds32/config.mk                 | 2 +-
 arch/nios2/config.mk                 | 2 +-
 arch/openrisc/config.mk              | 2 +-
 arch/powerpc/config.mk               | 2 +-
 arch/sandbox/config.mk               | 2 +-
 arch/sparc/config.mk                 | 2 +-
 arch/x86/cpu/config.mk               | 2 +-
 include/configs/microblaze-generic.h | 1 -
 14 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/arch/arc/config.mk b/arch/arc/config.mk
index a3b8df7..e408800 100644
--- a/arch/arc/config.mk
+++ b/arch/arc/config.mk
@@ -21,7 +21,7 @@ ifeq ($(CROSS_COMPILE),)
 CROSS_COMPILE := $(ARC_CROSS_COMPILE)
 endif
 
-PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -DCONFIG_ARC -gdwarf-2
+PLATFORM_CPPFLAGS += -ffixed-r25 -D__ARC__ -gdwarf-2
 
 # Needed for relocation
 LDFLAGS_FINAL += -pie
diff --git a/arch/arm/config.mk b/arch/arm/config.mk
index 66ecc2e..31e042a 100644
--- a/arch/arm/config.mk
+++ b/arch/arm/config.mk
@@ -22,7 +22,7 @@ PLATFORM_RELFLAGS += $(call cc-option, -msoft-float) \
 # Support generic board on ARM
 __HAVE_ARCH_GENERIC_BOARD := y
 
-PLATFORM_CPPFLAGS += -DCONFIG_ARM -D__ARM__
+PLATFORM_CPPFLAGS += -D__ARM__
 
 # Choose between ARM/Thumb instruction sets
 ifeq ($(CONFIG_SYS_THUMB_BUILD),y)
diff --git a/arch/avr32/config.mk b/arch/avr32/config.mk
index 28a371c..469185e 100644
--- a/arch/avr32/config.mk
+++ b/arch/avr32/config.mk
@@ -9,7 +9,6 @@ ifeq ($(CROSS_COMPILE),)
 CROSS_COMPILE := avr32-linux-
 endif
 
-PLATFORM_CPPFLAGS += -DCONFIG_AVR32
 CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000
 
 PLATFORM_RELFLAGS	+= -ffixed-r5 -fPIC -mno-init-got -mrelax
diff --git a/arch/blackfin/config.mk b/arch/blackfin/config.mk
index c9927b8..135119c 100644
--- a/arch/blackfin/config.mk
+++ b/arch/blackfin/config.mk
@@ -23,7 +23,6 @@ endif
 CONFIG_BFIN_BOOT_MODE := $(strip $(CONFIG_BFIN_BOOT_MODE:"%"=%))
 
 PLATFORM_RELFLAGS += -ffixed-P3 -fomit-frame-pointer -mno-fdpic
-PLATFORM_CPPFLAGS += -DCONFIG_BLACKFIN
 
 LDFLAGS_FINAL += --gc-sections
 LDFLAGS += -m elf32bfin
diff --git a/arch/m68k/config.mk b/arch/m68k/config.mk
index 33b3d51..3b3a7e8 100644
--- a/arch/m68k/config.mk
+++ b/arch/m68k/config.mk
@@ -11,7 +11,7 @@ endif
 
 CONFIG_STANDALONE_LOAD_ADDR ?= 0x20000
 
-PLATFORM_CPPFLAGS += -DCONFIG_M68K -D__M68K__
+PLATFORM_CPPFLAGS += -D__M68K__
 PLATFORM_LDFLAGS  += -n
 PLATFORM_RELFLAGS += -ffunction-sections -fdata-sections
 PLATFORM_RELFLAGS += -ffixed-d7 -msep-data
diff --git a/arch/mips/config.mk b/arch/mips/config.mk
index f4a234a..a2d07af 100644
--- a/arch/mips/config.mk
+++ b/arch/mips/config.mk
@@ -25,7 +25,7 @@ endif
 # Default to EB if no endianess is configured
 ENDIANNESS ?= -EB
 
-PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
+PLATFORM_CPPFLAGS += -D__MIPS__
 
 __HAVE_ARCH_GENERIC_BOARD := y
 
diff --git a/arch/nds32/config.mk b/arch/nds32/config.mk
index 1024852..5ac9f90 100644
--- a/arch/nds32/config.mk
+++ b/arch/nds32/config.mk
@@ -17,6 +17,6 @@ CONFIG_STANDALONE_LOAD_ADDR = 0x300000 \
 
 PLATFORM_RELFLAGS	+= -fno-strict-aliasing -fno-common -mrelax
 PLATFORM_RELFLAGS	+= -gdwarf-2
-PLATFORM_CPPFLAGS	+= -DCONFIG_NDS32 -D__nds32__ -G0 -ffixed-10 -fpie
+PLATFORM_CPPFLAGS	+= -D__nds32__ -G0 -ffixed-10 -fpie
 
 LDFLAGS_u-boot		= --gc-sections --relax
diff --git a/arch/nios2/config.mk b/arch/nios2/config.mk
index 65a5a40..82bd887 100644
--- a/arch/nios2/config.mk
+++ b/arch/nios2/config.mk
@@ -12,7 +12,7 @@ endif
 
 CONFIG_STANDALONE_LOAD_ADDR ?= 0x02000000
 
-PLATFORM_CPPFLAGS += -DCONFIG_NIOS2 -D__NIOS2__
+PLATFORM_CPPFLAGS += -D__NIOS2__
 PLATFORM_CPPFLAGS += -G0
 
 LDFLAGS_FINAL += --gc-sections
diff --git a/arch/openrisc/config.mk b/arch/openrisc/config.mk
index 9902b9a..cd95f24 100644
--- a/arch/openrisc/config.mk
+++ b/arch/openrisc/config.mk
@@ -11,6 +11,6 @@ endif
 
 # r10 used for global object pointer, already set in OR32 GCC but just to be
 # clear
-PLATFORM_CPPFLAGS += -DCONFIG_OPENRISC -D__OR1K__ -ffixed-r10
+PLATFORM_CPPFLAGS += -D__OR1K__ -ffixed-r10
 
 CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
diff --git a/arch/powerpc/config.mk b/arch/powerpc/config.mk
index fb7096e..6329b6c 100644
--- a/arch/powerpc/config.mk
+++ b/arch/powerpc/config.mk
@@ -13,7 +13,7 @@ CONFIG_STANDALONE_LOAD_ADDR ?= 0x40000
 LDFLAGS_FINAL += --gc-sections
 PLATFORM_RELFLAGS += -fpic -mrelocatable -ffunction-sections -fdata-sections \
 								-meabi
-PLATFORM_CPPFLAGS += -DCONFIG_PPC -D__powerpc__ -ffixed-r2
+PLATFORM_CPPFLAGS += -D__powerpc__ -ffixed-r2
 PLATFORM_LDFLAGS  += -n
 
 # Support generic board on PPC
diff --git a/arch/sandbox/config.mk b/arch/sandbox/config.mk
index c3f889f..e38a44b 100644
--- a/arch/sandbox/config.mk
+++ b/arch/sandbox/config.mk
@@ -1,7 +1,7 @@
 # Copyright (c) 2011 The Chromium OS Authors.
 # SPDX-License-Identifier:	GPL-2.0+
 
-PLATFORM_CPPFLAGS += -DCONFIG_SANDBOX -D__SANDBOX__ -U_FORTIFY_SOURCE
+PLATFORM_CPPFLAGS += -D__SANDBOX__ -U_FORTIFY_SOURCE
 PLATFORM_CPPFLAGS += -DCONFIG_ARCH_MAP_SYSMEM -DCONFIG_SYS_GENERIC_BOARD
 PLATFORM_LIBS += -lrt
 
diff --git a/arch/sparc/config.mk b/arch/sparc/config.mk
index be59f58..196d28a 100644
--- a/arch/sparc/config.mk
+++ b/arch/sparc/config.mk
@@ -14,4 +14,4 @@ gcclibdir := $(shell dirname `$(CC) -print-libgcc-file-name`)
 CONFIG_STANDALONE_LOAD_ADDR ?= 0x00000000 -L $(gcclibdir) \
 			       -T $(srctree)/examples/standalone/sparc.lds
 
-PLATFORM_CPPFLAGS += -DCONFIG_SPARC -D__sparc__
+PLATFORM_CPPFLAGS += -D__sparc__
diff --git a/arch/x86/cpu/config.mk b/arch/x86/cpu/config.mk
index c1568cac..bf97291 100644
--- a/arch/x86/cpu/config.mk
+++ b/arch/x86/cpu/config.mk
@@ -7,7 +7,7 @@
 
 CROSS_COMPILE ?= i386-linux-
 
-PLATFORM_CPPFLAGS += -DCONFIG_X86 -D__I386__ -march=i386 -Werror
+PLATFORM_CPPFLAGS += -D__I386__ -march=i386 -Werror
 
 # DO NOT MODIFY THE FOLLOWING UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!
 LDPPFLAGS += -DRESET_SEG_START=0xffff0000
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index 3d9df30..440575f 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -12,7 +12,6 @@
 #include "../board/xilinx/microblaze-generic/xparameters.h"
 
 /* MicroBlaze CPU */
-#define	CONFIG_MICROBLAZE	1
 #define	MICROBLAZE_V5		1
 
 /* Open Firmware DTS */
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 10/14] kbuild: remove CONFIG_SPL/CONFIG_TPL definition in config headers
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (8 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 09/14] kconfig: delete redundant CONFIG_${ARCH} definition Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 11/14] kconfig: remove old script Masahiro Yamada
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

CONFIG_SPL and CONFIG_TPL are defined in Kconfig.

Remove the redundant definition in config headers.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
---

 include/configs/B4860QDS.h             | 1 -
 include/configs/BSC9131RDB.h           | 1 -
 include/configs/BSC9132QDS.h           | 1 -
 include/configs/C29XPCIE.h             | 2 --
 include/configs/MPC8313ERDB.h          | 1 -
 include/configs/P1010RDB.h             | 4 ----
 include/configs/P1022DS.h              | 4 ----
 include/configs/P1_P2_RDB.h            | 4 ----
 include/configs/T104xRDB.h             | 1 -
 include/configs/T208xQDS.h             | 1 -
 include/configs/T208xRDB.h             | 1 -
 include/configs/T4240QDS.h             | 1 -
 include/configs/a3m071.h               | 1 -
 include/configs/am335x_igep0033.h      | 1 -
 include/configs/am3517_crane.h         | 1 -
 include/configs/am3517_evm.h           | 1 -
 include/configs/apf27.h                | 1 -
 include/configs/arndale.h              | 1 -
 include/configs/bur_am335x_common.h    | 1 -
 include/configs/cam_enc_4xx.h          | 1 -
 include/configs/cm_t35.h               | 1 -
 include/configs/da850evm.h             | 1 -
 include/configs/devkit8000.h           | 1 -
 include/configs/exynos5-dt.h           | 1 -
 include/configs/hawkboard.h            | 1 -
 include/configs/ipam390.h              | 1 -
 include/configs/lwmon5.h               | 1 -
 include/configs/m53evk.h               | 1 -
 include/configs/mcx.h                  | 1 -
 include/configs/microblaze-generic.h   | 1 -
 include/configs/mx31pdk.h              | 1 -
 include/configs/mxs.h                  | 1 -
 include/configs/omap3_evm_common.h     | 1 -
 include/configs/origen.h               | 1 -
 include/configs/p1_p2_rdb_pc.h         | 4 ----
 include/configs/palmtreo680.h          | 1 -
 include/configs/pcm051.h               | 1 -
 include/configs/sama5d3xek.h           | 1 -
 include/configs/siemens-am33x-common.h | 1 -
 include/configs/smdkv310.h             | 1 -
 include/configs/socfpga_cyclone5.h     | 1 -
 include/configs/tam3517-common.h       | 1 -
 include/configs/tao3530.h              | 1 -
 include/configs/tegra-common.h         | 1 -
 include/configs/ti814x_evm.h           | 1 -
 include/configs/ti816x_evm.h           | 1 -
 include/configs/ti_armv7_common.h      | 1 -
 include/configs/tricorder.h            | 1 -
 include/configs/tx25.h                 | 1 -
 include/configs/vpac270.h              | 1 -
 include/configs/woodburn_sd.h          | 1 -
 include/configs/x600.h                 | 1 -
 include/configs/zynq-common.h          | 1 -
 53 files changed, 66 deletions(-)

diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h
index cb35116..c4eb50d 100644
--- a/include/configs/B4860QDS.h
+++ b/include/configs/B4860QDS.h
@@ -23,7 +23,6 @@
 #define CONFIG_RAMBOOT_TEXT_BASE	CONFIG_SYS_TEXT_BASE
 #define CONFIG_RESET_VECTOR_ADDRESS	0xfffffffc
 #else
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h
index e6b46e4..56a3e94 100644
--- a/include/configs/BSC9131RDB.h
+++ b/include/configs/BSC9131RDB.h
@@ -25,7 +25,6 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL 1
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h
index fc45e45..4089b33 100644
--- a/include/configs/BSC9132QDS.h
+++ b/include/configs/BSC9132QDS.h
@@ -41,7 +41,6 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL 1
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h
index f382b48..8ae33a5 100644
--- a/include/configs/C29XPCIE.h
+++ b/include/configs/C29XPCIE.h
@@ -24,8 +24,6 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL 1
-#define CONFIG_TPL 1
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/MPC8313ERDB.h b/include/configs/MPC8313ERDB.h
index 7f5aa59..dd81229 100644
--- a/include/configs/MPC8313ERDB.h
+++ b/include/configs/MPC8313ERDB.h
@@ -19,7 +19,6 @@
 #define CONFIG_MPC8313ERDB	1
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL 1
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index 86d62e1..c491b50 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -21,7 +21,6 @@
 #define CONFIG_NAND_FSL_IFC
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_DRIVERS_MISC_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
@@ -56,7 +55,6 @@
 #define CONFIG_SYS_TEXT_BASE		0x11000000
 #define CONFIG_RESET_VECTOR_ADDRESS	0x1107fffc
 #else
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_DRIVERS_MISC_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
@@ -88,7 +86,6 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL 1
 #ifdef CONFIG_SECURE_BOOT
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -108,7 +105,6 @@
 #define CONFIG_SYS_NAND_U_BOOT_OFFS	0
 #define CONFIG_SYS_LDSCRIPT	"arch/powerpc/cpu/mpc85xx/u-boot-nand.lds"
 #else
-#define CONFIG_TPL 1
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h
index 5a38efe..54e2569 100644
--- a/include/configs/P1022DS.h
+++ b/include/configs/P1022DS.h
@@ -16,7 +16,6 @@
 #endif
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -45,7 +44,6 @@
 #endif
 
 #ifdef CONFIG_SPIFLASH
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -79,8 +77,6 @@
 #define CONFIG_SYS_NAND_MAX_OOBFREE	5
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL 1
-#define CONFIG_TPL 1
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h
index dd80ddc..c75638a 100644
--- a/include/configs/P1_P2_RDB.h
+++ b/include/configs/P1_P2_RDB.h
@@ -36,7 +36,6 @@
 #endif
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL	1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -64,7 +63,6 @@
 #endif
 
 #ifdef CONFIG_SPIFLASH
-#define CONFIG_SPL	1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -93,8 +91,6 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL	1
-#define CONFIG_TPL	1
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h
index 4e73539..d7d36ea 100644
--- a/include/configs/T104xRDB.h
+++ b/include/configs/T104xRDB.h
@@ -22,7 +22,6 @@
 #define CONFIG_SYS_FSL_PBL_RCW $(SRCTREE)/board/freescale/t104xrdb/t1042_rcw.cfg
 #endif
 
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h
index ec06d1a..0eb8ac1 100644
--- a/include/configs/T208xQDS.h
+++ b/include/configs/T208xQDS.h
@@ -53,7 +53,6 @@
 #define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xqds/t2081_rcw.cfg
 #endif
 
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h
index d2ed8ae..7ec7385 100644
--- a/include/configs/T208xRDB.h
+++ b/include/configs/T208xRDB.h
@@ -42,7 +42,6 @@
 #define CONFIG_SYS_FSL_PBL_PBI board/freescale/t208xrdb/t2080_pbi.cfg
 #define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xrdb/t2080_rcw.cfg
 
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
diff --git a/include/configs/T4240QDS.h b/include/configs/T4240QDS.h
index bf57587..2371c8f 100644
--- a/include/configs/T4240QDS.h
+++ b/include/configs/T4240QDS.h
@@ -25,7 +25,6 @@
 #define CONFIG_RAMBOOT_TEXT_BASE        CONFIG_SYS_TEXT_BASE
 #define CONFIG_RESET_VECTOR_ADDRESS     0xfffffffc
 #else
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
diff --git a/include/configs/a3m071.h b/include/configs/a3m071.h
index 9f85389..a4050f3 100644
--- a/include/configs/a3m071.h
+++ b/include/configs/a3m071.h
@@ -412,7 +412,6 @@
 /*
  * SPL related defines
  */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NOR_SUPPORT
diff --git a/include/configs/am335x_igep0033.h b/include/configs/am335x_igep0033.h
index 5023f9d..dcded0a 100644
--- a/include/configs/am335x_igep0033.h
+++ b/include/configs/am335x_igep0033.h
@@ -211,7 +211,6 @@
 #undef CONFIG_USE_IRQ
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 /*
  * Place the image at the start of the ROM defined image space.
diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h
index 842c30e..b08bf9f 100644
--- a/include/configs/am3517_crane.h
+++ b/include/configs/am3517_crane.h
@@ -298,7 +298,6 @@
 					 GENERATED_GBL_DATA_SIZE)
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
index e4eee38..f030bdd 100644
--- a/include/configs/am3517_evm.h
+++ b/include/configs/am3517_evm.h
@@ -307,7 +307,6 @@
 					 GENERATED_GBL_DATA_SIZE)
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
diff --git a/include/configs/apf27.h b/include/configs/apf27.h
index a97f213..4424c30 100644
--- a/include/configs/apf27.h
+++ b/include/configs/apf27.h
@@ -37,7 +37,6 @@
 /*
  * SPL
  */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_TARGET	"u-boot-with-spl.bin"
 #define CONFIG_SPL_LDSCRIPT	"arch/$(ARCH)/cpu/u-boot-spl.lds"
 #define CONFIG_SPL_MAX_SIZE	2048
diff --git a/include/configs/arndale.h b/include/configs/arndale.h
index d7c4ffc..dc0d8c9 100644
--- a/include/configs/arndale.h
+++ b/include/configs/arndale.h
@@ -121,7 +121,6 @@
 
 /* MMC SPL */
 #define CONFIG_EXYNOS_SPL
-#define CONFIG_SPL 1
 #define COPY_BL2_FNPTR_ADDR	0x02020030
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
diff --git a/include/configs/bur_am335x_common.h b/include/configs/bur_am335x_common.h
index 2ce14d2..92f49fe 100644
--- a/include/configs/bur_am335x_common.h
+++ b/include/configs/bur_am335x_common.h
@@ -162,7 +162,6 @@
  * under common/spl/.  Given our generally common memory map, we set a
  * number of related defaults and sizes here.
  */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 /*
  * Place the image at the start of the ROM defined image space.
diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h
index 759ad2a..5f30279 100644
--- a/include/configs/cam_enc_4xx.h
+++ b/include/configs/cam_enc_4xx.h
@@ -199,7 +199,6 @@
 #define CONFIG_SYS_NAND_BLOCK_SIZE	0x20000
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index e125fad..64b9cd8 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -322,7 +322,6 @@
 #define CONFIG_OMAP3_SPI
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index 9ec8cad..1252d7a 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -368,7 +368,6 @@
 
 #ifndef CONFIG_DIRECT_NOR_BOOT
 /* defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SYS_TEXT_BASE - \
diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
index 4a4f759..e58da5a 100644
--- a/include/configs/devkit8000.h
+++ b/include/configs/devkit8000.h
@@ -283,7 +283,6 @@
 #define CONFIG_SYS_SRAM_SIZE               0x10000
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
diff --git a/include/configs/exynos5-dt.h b/include/configs/exynos5-dt.h
index dfd7813..04894b2 100644
--- a/include/configs/exynos5-dt.h
+++ b/include/configs/exynos5-dt.h
@@ -136,7 +136,6 @@
 #define CONFIG_TPM_TIS_I2C_SLAVE_ADDR	0x20
 
 /* MMC SPL */
-#define CONFIG_SPL 1
 #define COPY_BL2_FNPTR_ADDR	0x02020030
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
diff --git a/include/configs/hawkboard.h b/include/configs/hawkboard.h
index 8144883..8188c7b 100644
--- a/include/configs/hawkboard.h
+++ b/include/configs/hawkboard.h
@@ -46,7 +46,6 @@
 #endif
 
 /* Spl */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SUPPORT
diff --git a/include/configs/ipam390.h b/include/configs/ipam390.h
index 6ad8822..98e819b 100644
--- a/include/configs/ipam390.h
+++ b/include/configs/ipam390.h
@@ -298,7 +298,6 @@
 					"-(rootfs)"
 
 /* defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SYS_SPL_MALLOC_START	(CONFIG_SYS_TEXT_BASE - \
diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h
index 22cbdaa..58e7295 100644
--- a/include/configs/lwmon5.h
+++ b/include/configs/lwmon5.h
@@ -665,7 +665,6 @@
  * SPL related defines
  */
 #ifdef CONFIG_LCD4_LWMON5
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NOR_SUPPORT
diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h
index 49c7a36..fb9ddcd 100644
--- a/include/configs/m53evk.h
+++ b/include/configs/m53evk.h
@@ -236,7 +236,6 @@
 /*
  * NAND SPL
  */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TARGET		"u-boot-with-nand-spl.imx"
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/mcx.h b/include/configs/mcx.h
index 9823c04..da1bf32 100644
--- a/include/configs/mcx.h
+++ b/include/configs/mcx.h
@@ -348,7 +348,6 @@
 					 GENERATED_GBL_DATA_SIZE)
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index 440575f..cdf86d3 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -447,7 +447,6 @@
 #endif
 
 /* SPL part */
-#define CONFIG_SPL 1
 #define CONFIG_CMD_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
diff --git a/include/configs/mx31pdk.h b/include/configs/mx31pdk.h
index 85d438f..f796a41 100644
--- a/include/configs/mx31pdk.h
+++ b/include/configs/mx31pdk.h
@@ -29,7 +29,6 @@
 
 #define CONFIG_MACH_TYPE	MACH_TYPE_MX31_3DS
 
-#define CONFIG_SPL 1
 #define CONFIG_SPL_TARGET	"u-boot-with-spl.bin"
 #define CONFIG_SPL_LDSCRIPT	"arch/$(ARCH)/cpu/u-boot-spl.lds"
 #define CONFIG_SPL_MAX_SIZE	2048
diff --git a/include/configs/mxs.h b/include/configs/mxs.h
index fffcc37..5f4e48e 100644
--- a/include/configs/mxs.h
+++ b/include/configs/mxs.h
@@ -50,7 +50,6 @@
 #define CONFIG_ARCH_MISC_INIT
 
 /* SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_NO_CPU_SUPPORT_CODE
 #define CONFIG_SPL_START_S_PATH	"arch/arm/cpu/arm926ejs/mxs"
 #define CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm926ejs/mxs/u-boot-spl.lds"
diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
index 84ba3de..4150298 100644
--- a/include/configs/omap3_evm_common.h
+++ b/include/configs/omap3_evm_common.h
@@ -260,7 +260,6 @@
 #define CONFIG_SYS_CACHELINE_SIZE	64
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE		0x40200800
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
diff --git a/include/configs/origen.h b/include/configs/origen.h
index b0c6eb1..5d24916 100644
--- a/include/configs/origen.h
+++ b/include/configs/origen.h
@@ -65,7 +65,6 @@
 #undef CONFIG_CMD_NFS
 
 /* MMC SPL */
-#define CONFIG_SPL 1
 #define COPY_BL2_FNPTR_ADDR	0x02020030
 #define CONFIG_SPL_TEXT_BASE	0x02021410
 
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index 22f6d12..9b58950 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -148,7 +148,6 @@
 #endif
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -177,7 +176,6 @@
 #endif
 
 #ifdef CONFIG_SPIFLASH
-#define CONFIG_SPL 1
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -207,8 +205,6 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL 1
-#define CONFIG_TPL 1
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/palmtreo680.h b/include/configs/palmtreo680.h
index 31e89d9..6490be5 100644
--- a/include/configs/palmtreo680.h
+++ b/include/configs/palmtreo680.h
@@ -205,7 +205,6 @@
 /*
  * SPL
  */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_TEXT_BASE    0xa1700000 /* IPL loads SPL here */
 #define CONFIG_SPL_STACK        0x5c040000 /* end of internal SRAM */
 #define CONFIG_SPL_NAND_SUPPORT /* build libnand for spl */
diff --git a/include/configs/pcm051.h b/include/configs/pcm051.h
index 207a290..dcf5537 100644
--- a/include/configs/pcm051.h
+++ b/include/configs/pcm051.h
@@ -197,7 +197,6 @@
 #define CONFIG_ENV_IS_NOWHERE
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 /*
diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h
index 4b6c2ed..09df128 100644
--- a/include/configs/sama5d3xek.h
+++ b/include/configs/sama5d3xek.h
@@ -243,7 +243,6 @@
 #define CONFIG_SYS_MALLOC_LEN		(1024 * 1024)
 
 /* SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE		0x300000
 #define CONFIG_SPL_MAX_SIZE		0x10000
diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h
index 236bb0c..b8fb77e 100644
--- a/include/configs/siemens-am33x-common.h
+++ b/include/configs/siemens-am33x-common.h
@@ -139,7 +139,6 @@
 #define CONFIG_SYS_I2C_OMAP24XX
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE		0x402F0400
 #define CONFIG_SPL_MAX_SIZE		(101 * 1024)
diff --git a/include/configs/smdkv310.h b/include/configs/smdkv310.h
index e9f33cf..048c178 100644
--- a/include/configs/smdkv310.h
+++ b/include/configs/smdkv310.h
@@ -76,7 +76,6 @@
 #define CONFIG_ZERO_BOOTDELAY_CHECK
 
 /* MMC SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #define COPY_BL2_FNPTR_ADDR	0x00002488
 
diff --git a/include/configs/socfpga_cyclone5.h b/include/configs/socfpga_cyclone5.h
index 648619d..cebb187 100644
--- a/include/configs/socfpga_cyclone5.h
+++ b/include/configs/socfpga_cyclone5.h
@@ -210,7 +210,6 @@
  */
 
 /* Enable building of SPL globally */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 
 /* TEXT_BASE for linking the SPL binary */
diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
index 88dac44..aab7228 100644
--- a/include/configs/tam3517-common.h
+++ b/include/configs/tam3517-common.h
@@ -218,7 +218,6 @@
 #define CONFIG_NET_RETRY_COUNT 10
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_CONSOLE
diff --git a/include/configs/tao3530.h b/include/configs/tao3530.h
index f601cca..a58db41 100644
--- a/include/configs/tao3530.h
+++ b/include/configs/tao3530.h
@@ -305,7 +305,6 @@
 #define CONGIG_CMD_STORAGE
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 926fa09..4561faa 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -128,7 +128,6 @@
 #define CONFIG_CMD_ENTERRCM
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_RAM_DEVICE
 #define CONFIG_SPL_BOARD_INIT
diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h
index bd25ec8..a55bde2 100644
--- a/include/configs/ti814x_evm.h
+++ b/include/configs/ti814x_evm.h
@@ -168,7 +168,6 @@
 #define CONFIG_ENV_IS_NOWHERE
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE		0x40300000
 #define CONFIG_SPL_MAX_SIZE		((128 - 18) * 1024)
diff --git a/include/configs/ti816x_evm.h b/include/configs/ti816x_evm.h
index ea0c4fd..e86c364 100644
--- a/include/configs/ti816x_evm.h
+++ b/include/configs/ti816x_evm.h
@@ -134,7 +134,6 @@
 
 /* SPL */
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE    0x40400000
 #define CONFIG_SPL_MAX_SIZE     ((128 - 18) * 1024)
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
index b3b7901..a765da9 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -197,7 +197,6 @@
  * number of related defaults and sizes here.
  */
 #ifndef CONFIG_NOR_BOOT
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_OS_BOOT
 
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index 5c5e304..27ff746 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -331,7 +331,6 @@
 #define CONFIG_SYS_SRAM_SIZE		0x10000
 
 /* Defines for SPL */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
diff --git a/include/configs/tx25.h b/include/configs/tx25.h
index d362087..118f5ba 100644
--- a/include/configs/tx25.h
+++ b/include/configs/tx25.h
@@ -21,7 +21,6 @@
 
 #define	CONFIG_SYS_MONITOR_LEN		(256 << 10)	/* 256 kB for U-Boot */
 
-#define CONFIG_SPL 1
 #define CONFIG_SPL_TARGET		"u-boot-with-spl.bin"
 #define CONFIG_SPL_LDSCRIPT		"arch/$(ARCH)/cpu/u-boot-spl.lds"
 #define CONFIG_SPL_MAX_SIZE		2048
diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
index e53d3c4..2fb91a8 100644
--- a/include/configs/vpac270.h
+++ b/include/configs/vpac270.h
@@ -17,7 +17,6 @@
 #define	CONFIG_SYS_TEXT_BASE	0xa0000000
 
 #ifdef	CONFIG_ONENAND
-#define	CONFIG_SPL 1
 #define	CONFIG_SPL_ONENAND_SUPPORT
 #define	CONFIG_SPL_ONENAND_LOAD_ADDR	0x2000
 #define	CONFIG_SPL_ONENAND_LOAD_SIZE	\
diff --git a/include/configs/woodburn_sd.h b/include/configs/woodburn_sd.h
index 2bf5c10..25bfeef 100644
--- a/include/configs/woodburn_sd.h
+++ b/include/configs/woodburn_sd.h
@@ -20,7 +20,6 @@
 /*
  * SPL
  */
-#define	CONFIG_SPL 1
 #define CONFIG_SPL_FRAMEWORK
 #define	CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm1136/u-boot-spl.lds"
 #define	CONFIG_SPL_LIBCOMMON_SUPPORT
diff --git a/include/configs/x600.h b/include/configs/x600.h
index e5bc6b9..71373e9 100644
--- a/include/configs/x600.h
+++ b/include/configs/x600.h
@@ -274,7 +274,6 @@
 /*
  * SPL related defines
  */
-#define CONFIG_SPL 1
 #define CONFIG_SPL_TEXT_BASE	0xd2800b00
 #define	CONFIG_SPL_START_S_PATH	"arch/arm/cpu/arm926ejs/spear"
 #define CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds"
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index 9f5183c..1f89f20 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -256,7 +256,6 @@
 #define CONFIG_CMD_TFTPPUT
 
 /* SPL part */
-#define CONFIG_SPL 1
 #define CONFIG_CMD_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 11/14] kconfig: remove old script
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (9 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 10/14] kbuild: remove CONFIG_SPL/CONFIG_TPL definition in config headers Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 12/14] split CONFIG_SPL_TEXT_BASE and CONFIG_TPL_TEXT_BASE Masahiro Yamada
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

mkconfig is no longer used in Kconfig.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 mkconfig | 192 ---------------------------------------------------------------
 1 file changed, 192 deletions(-)
 delete mode 100755 mkconfig

diff --git a/mkconfig b/mkconfig
deleted file mode 100755
index cd911a9..0000000
--- a/mkconfig
+++ /dev/null
@@ -1,192 +0,0 @@
-#!/bin/sh -e
-
-# Script to create header files and links to configure
-# U-Boot for a specific board.
-#
-# Parameters:  Target  Architecture  CPU  Board [VENDOR] [SOC]
-#
-# (C) 2002-2013 DENX Software Engineering, Wolfgang Denk <wd@denx.de>
-#
-# SPDX-License-Identifier:	GPL-2.0+
-#
-
-APPEND=no	# Default: Create new config file
-BOARD_NAME=""	# Name to print in make output
-TARGETS=""
-
-arch=""
-cpu=""
-board=""
-vendor=""
-soc=""
-options=""
-
-if [ \( $# -eq 2 \) -a \( "$1" = "-A" \) ] ; then
-	# Automatic mode
-	line=`awk '($0 !~ /^#/ && $7 ~ /^'"$2"'$/) { print $1, $2, $3, $4, $5, $6, $7, $8 }' $srctree/boards.cfg`
-	if [ -z "$line" ] ; then
-		echo "make: *** No rule to make target \`$2_config'.  Stop." >&2
-		exit 1
-	fi
-
-	set ${line}
-	# add default board name if needed
-	[ $# = 3 ] && set ${line} ${1}
-fi
-
-while [ $# -gt 0 ] ; do
-	case "$1" in
-	--) shift ; break ;;
-	-a) shift ; APPEND=yes ;;
-	-n) shift ; BOARD_NAME="${7%_config}" ; shift ;;
-	-t) shift ; TARGETS="`echo $1 | sed 's:_: :g'` ${TARGETS}" ; shift ;;
-	*)  break ;;
-	esac
-done
-
-[ $# -lt 7 ] && exit 1
-[ $# -gt 8 ] && exit 1
-
-# Strip all options and/or _config suffixes
-CONFIG_NAME="${7%_config}"
-
-[ "${BOARD_NAME}" ] || BOARD_NAME="${7%_config}"
-
-arch="$2"
-cpu=`echo $3 | awk 'BEGIN {FS = ":"} ; {print $1}'`
-spl_cpu=`echo $3 | awk 'BEGIN {FS = ":"} ; {print $2}'`
-if [ "$6" = "<none>" ] ; then
-	board=
-elif [ "$6" = "-" ] ; then
-	board=${BOARD_NAME}
-else
-	board="$6"
-fi
-[ "$5" != "-" ] && vendor="$5"
-[ "$4" != "-" ] && soc="$4"
-[ $# -gt 7 ] && [ "$8" != "-" ] && {
-	# check if we have a board config name in the options field
-	# the options field mave have a board config name and a list
-	# of options, both separated by a colon (':'); the options are
-	# separated by commas (',').
-	#
-	# Check for board name
-	tmp="${8%:*}"
-	if [ "$tmp" ] ; then
-		CONFIG_NAME="$tmp"
-	fi
-	# Check if we only have a colon...
-	if [ "${tmp}" != "$8" ] ; then
-		options=${8#*:}
-		TARGETS="`echo ${options} | sed 's:,: :g'` ${TARGETS}"
-	fi
-}
-
-if [ "${ARCH}" -a "${ARCH}" != "${arch}" ]; then
-	echo "Failed: \$ARCH=${ARCH}, should be '${arch}' for ${BOARD_NAME}" 1>&2
-	exit 1
-fi
-
-#
-# Test above needed aarch64, now we need arm
-#
-if [ "${arch}" = "aarch64" ]; then
-	arch="arm"
-fi
-
-if [ "$options" ] ; then
-	echo "Configuring for ${BOARD_NAME} - Board: ${CONFIG_NAME}, Options: ${options}"
-else
-	echo "Configuring for ${BOARD_NAME} board..."
-fi
-
-#
-# Create link to architecture specific headers
-#
-if [ -n "$KBUILD_SRC" ] ; then
-	mkdir -p ${objtree}/include
-	LNPREFIX=${srctree}/arch/${arch}/include/asm/
-	cd ${objtree}/include
-	mkdir -p asm
-else
-	cd arch/${arch}/include
-fi
-
-rm -f asm/arch
-
-if [ -z "${soc}" ] ; then
-	ln -s ${LNPREFIX}arch-${cpu} asm/arch
-else
-	ln -s ${LNPREFIX}arch-${soc} asm/arch
-fi
-
-if [ "${arch}" = "arm" ] ; then
-	rm -f asm/proc
-	ln -s ${LNPREFIX}proc-armv asm/proc
-fi
-
-if [ -z "$KBUILD_SRC" ] ; then
-	cd ${srctree}/include
-fi
-
-#
-# Create include file for Make
-#
-( echo "ARCH   = ${arch}"
-    if [ ! -z "$spl_cpu" ] ; then
-	echo 'ifeq ($(CONFIG_SPL_BUILD),y)'
-	echo "CPU    = ${spl_cpu}"
-	echo "else"
-	echo "CPU    = ${cpu}"
-	echo "endif"
-    else
-	echo "CPU    = ${cpu}"
-    fi
-    echo "BOARD  = ${board}"
-
-    [ "${vendor}" ] && echo "VENDOR = ${vendor}"
-    [ "${soc}"    ] && echo "SOC    = ${soc}"
-    exit 0 ) > config.mk
-
-# Assign board directory to BOARDIR variable
-if [ -z "${vendor}" ] ; then
-    BOARDDIR=${board}
-else
-    BOARDDIR=${vendor}/${board}
-fi
-
-#
-# Create board specific header file
-#
-if [ "$APPEND" = "yes" ]	# Append to existing config file
-then
-	echo >> config.h
-else
-	> config.h		# Create new config file
-fi
-echo "/* Automatically generated - do not edit */" >>config.h
-
-for i in ${TARGETS} ; do
-	i="`echo ${i} | sed '/=/ {s/=/	/;q; } ; { s/$/	1/; }'`"
-	echo "#define CONFIG_${i}" >>config.h ;
-done
-
-echo "#define CONFIG_SYS_ARCH  \"${arch}\""  >> config.h
-echo "#define CONFIG_SYS_CPU   \"${cpu}\""   >> config.h
-echo "#define CONFIG_SYS_BOARD \"${board}\"" >> config.h
-
-[ "${vendor}" ] && echo "#define CONFIG_SYS_VENDOR \"${vendor}\"" >> config.h
-
-[ "${soc}"    ] && echo "#define CONFIG_SYS_SOC    \"${soc}\""    >> config.h
-
-[ "${board}"  ] && echo "#define CONFIG_BOARDDIR board/$BOARDDIR" >> config.h
-cat << EOF >> config.h
-#include <config_cmd_defaults.h>
-#include <config_defaults.h>
-#include <configs/${CONFIG_NAME}.h>
-#include <asm/config.h>
-#include <config_fallbacks.h>
-#include <config_uncmd_spl.h>
-EOF
-
-exit 0
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 12/14] split CONFIG_SPL_TEXT_BASE and CONFIG_TPL_TEXT_BASE
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (10 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 11/14] kconfig: remove old script Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 13/14] move CONFIG_{SPL, TPL}_TEXT_BASE to defconfig Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 14/14] remove CONFIG_{SPL, TPL}_TEXT_BASE from config headers Masahiro Yamada
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

We are about to move CONFIG_SPL_TEXT_BASE from header files to defconfig.
But we cannot move them as they are.

The problem is that #ifdef statements are used in board headers with
TPL support. Like this:

  #ifdef CONFIG_TPL_BUILD
  #define CONFIG_SPL_TEXT_BASE    0xD0001000
  #elif defined(CONFIG_SPL_BUILD)
  #define CONFIG_SPL_TEXT_BASE    0xff800000
  #endif

We cannot describe conditinal statments in defconfig.
One possible solution is to add CONFIG_TPL_TEXT_BASE.

This commit modifies the code as follow:

  #ifdef CONFIG_TPL_BUILD
  #define CONFIG_TPL_TEXT_BASE    0xD0001000
  #elif defined(CONFIG_SPL_BUILD)
  #define CONFIG_SPL_TEXT_BASE    0xff800000
  #endif

(include/config_fallbakcs.h should also be tweaked because some other
parts still reference to CONFIG_SPL_TEXT_BASE)

In the next commit, it will be converted into defconfig like this:

  CONFIG_SPL_TEXT_BASE=0xff800000
  CONFIG_TPL_TEXT_BASE=0xd0001000

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 include/config_fallbacks.h     | 5 +++++
 include/configs/C29XPCIE.h     | 2 +-
 include/configs/P1010RDB.h     | 2 +-
 include/configs/P1022DS.h      | 2 +-
 include/configs/P1_P2_RDB.h    | 2 +-
 include/configs/p1_p2_rdb_pc.h | 2 +-
 6 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/include/config_fallbacks.h b/include/config_fallbacks.h
index b304a41..11f375c 100644
--- a/include/config_fallbacks.h
+++ b/include/config_fallbacks.h
@@ -83,4 +83,9 @@
 #define CONFIG_SYS_HZ		1000
 #endif
 
+#ifdef CONFIG_TPL_BUILD
+# undef CONFIG_SPL_TEXT_BASE
+# define CONFIG_SPL_TEXT_BASE CONFIG_TPL_TEXT_BASE
+#endif
+
 #endif	/* __CONFIG_FALLBACKS_H */
diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h
index 8ae33a5..51e7fcb 100644
--- a/include/configs/C29XPCIE.h
+++ b/include/configs/C29XPCIE.h
@@ -38,7 +38,7 @@
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_COMMON_INIT_DDR
 #define CONFIG_SPL_MAX_SIZE		(128 << 10)
-#define CONFIG_SPL_TEXT_BASE		0xf8f81000
+#define CONFIG_TPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SYS_MPC85XX_NO_RESETVEC
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(832 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	(0x11000000)
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index c491b50..afd8945 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -119,7 +119,7 @@
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_COMMON_INIT_DDR
 #define CONFIG_SPL_MAX_SIZE		(128 << 10)
-#define CONFIG_SPL_TEXT_BASE		0xD0001000
+#define CONFIG_TPL_TEXT_BASE		0xD0001000
 #define CONFIG_SYS_MPC85XX_NO_RESETVEC
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(576 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	(0x11000000)
diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h
index 54e2569..4683900 100644
--- a/include/configs/P1022DS.h
+++ b/include/configs/P1022DS.h
@@ -90,7 +90,7 @@
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_COMMON_INIT_DDR
 #define CONFIG_SPL_MAX_SIZE		(128 << 10)
-#define CONFIG_SPL_TEXT_BASE		0xf8f81000
+#define CONFIG_TPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SYS_MPC85XX_NO_RESETVEC
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(832 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	(0x11000000)
diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h
index c75638a..2867fb5 100644
--- a/include/configs/P1_P2_RDB.h
+++ b/include/configs/P1_P2_RDB.h
@@ -104,7 +104,7 @@
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_COMMON_INIT_DDR
 #define CONFIG_SPL_MAX_SIZE		(128 << 10)
-#define CONFIG_SPL_TEXT_BASE		0xf8f81000
+#define CONFIG_TPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SYS_MPC85XX_NO_RESETVEC
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(832 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	(0x11000000)
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index 9b58950..0d70ec1 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -218,7 +218,7 @@
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_COMMON_INIT_DDR
 #define CONFIG_SPL_MAX_SIZE		(128 << 10)
-#define CONFIG_SPL_TEXT_BASE		0xf8f81000
+#define CONFIG_TPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SYS_MPC85XX_NO_RESETVEC
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(832 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	(0x11000000)
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 13/14] move CONFIG_{SPL, TPL}_TEXT_BASE to defconfig
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (11 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 12/14] split CONFIG_SPL_TEXT_BASE and CONFIG_TPL_TEXT_BASE Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 14/14] remove CONFIG_{SPL, TPL}_TEXT_BASE from config headers Masahiro Yamada
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

This commit was automatically generated by a conversion tool.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 Kconfig                                                   | 12 ++++++++++++
 arch/arm/configs/am335x_boneblack_defconfig               |  1 +
 arch/arm/configs/am335x_evm_defconfig                     |  1 +
 arch/arm/configs/am335x_evm_nor_defconfig                 |  1 +
 arch/arm/configs/am335x_evm_spiboot_defconfig             |  1 +
 arch/arm/configs/am335x_evm_uart1_defconfig               |  1 +
 arch/arm/configs/am335x_evm_uart2_defconfig               |  1 +
 arch/arm/configs/am335x_evm_uart3_defconfig               |  1 +
 arch/arm/configs/am335x_evm_uart4_defconfig               |  1 +
 arch/arm/configs/am335x_evm_uart5_defconfig               |  1 +
 arch/arm/configs/am335x_evm_usbspl_defconfig              |  1 +
 arch/arm/configs/am335x_igep0033_defconfig                |  1 +
 arch/arm/configs/am3517_crane_defconfig                   |  1 +
 arch/arm/configs/am3517_evm_defconfig                     |  1 +
 arch/arm/configs/am43xx_evm_defconfig                     |  1 +
 arch/arm/configs/apf27_defconfig                          |  1 +
 arch/arm/configs/apx4devkit_defconfig                     |  1 +
 arch/arm/configs/arndale_defconfig                        |  1 +
 arch/arm/configs/beaver_defconfig                         |  1 +
 arch/arm/configs/bg0900_defconfig                         |  1 +
 arch/arm/configs/cam_enc_4xx_defconfig                    |  1 +
 arch/arm/configs/cardhu_defconfig                         |  1 +
 arch/arm/configs/cm_t335_defconfig                        |  1 +
 arch/arm/configs/cm_t35_defconfig                         |  1 +
 arch/arm/configs/cm_t54_defconfig                         |  1 +
 arch/arm/configs/colibri_t20_iris_defconfig               |  1 +
 arch/arm/configs/da850_am18xxevm_defconfig                |  1 +
 arch/arm/configs/da850evm_defconfig                       |  1 +
 arch/arm/configs/dalmore_defconfig                        |  1 +
 arch/arm/configs/devkit8000_defconfig                     |  1 +
 arch/arm/configs/dra7xx_evm_defconfig                     |  1 +
 arch/arm/configs/dra7xx_evm_qspiboot_defconfig            |  1 +
 arch/arm/configs/dra7xx_evm_uart3_defconfig               |  1 +
 arch/arm/configs/draco_defconfig                          |  1 +
 arch/arm/configs/duovero_defconfig                        |  1 +
 arch/arm/configs/dxr2_defconfig                           |  1 +
 arch/arm/configs/eco5pk_defconfig                         |  1 +
 arch/arm/configs/harmony_defconfig                        |  1 +
 arch/arm/configs/hawkboard_defconfig                      |  1 +
 arch/arm/configs/hawkboard_uart_defconfig                 |  1 +
 arch/arm/configs/igep0020_defconfig                       |  1 +
 arch/arm/configs/igep0020_nand_defconfig                  |  1 +
 arch/arm/configs/igep0030_defconfig                       |  1 +
 arch/arm/configs/igep0030_nand_defconfig                  |  1 +
 arch/arm/configs/igep0032_defconfig                       |  1 +
 arch/arm/configs/ipam390_defconfig                        |  1 +
 arch/arm/configs/jetson-tk1_defconfig                     |  1 +
 arch/arm/configs/kwb_defconfig                            |  1 +
 arch/arm/configs/m28evk_defconfig                         |  1 +
 arch/arm/configs/m53evk_defconfig                         |  1 +
 arch/arm/configs/mcx_defconfig                            |  1 +
 arch/arm/configs/medcom-wide_defconfig                    |  1 +
 arch/arm/configs/mt_ventoux_defconfig                     |  1 +
 arch/arm/configs/mx23_olinuxino_defconfig                 |  1 +
 arch/arm/configs/mx23evk_defconfig                        |  1 +
 arch/arm/configs/mx28evk_auart_console_defconfig          |  1 +
 arch/arm/configs/mx28evk_defconfig                        |  1 +
 arch/arm/configs/mx28evk_nand_defconfig                   |  1 +
 arch/arm/configs/mx31pdk_defconfig                        |  1 +
 arch/arm/configs/omap3_beagle_defconfig                   |  1 +
 arch/arm/configs/omap3_evm_defconfig                      |  1 +
 arch/arm/configs/omap3_evm_quick_mmc_defconfig            |  1 +
 arch/arm/configs/omap3_evm_quick_nand_defconfig           |  1 +
 arch/arm/configs/omap3_ha_defconfig                       |  1 +
 arch/arm/configs/omap3_overo_defconfig                    |  1 +
 arch/arm/configs/omap4_panda_defconfig                    |  1 +
 arch/arm/configs/omap4_sdp4430_defconfig                  |  1 +
 arch/arm/configs/omap5_uevm_defconfig                     |  1 +
 arch/arm/configs/origen_defconfig                         |  1 +
 arch/arm/configs/palmtreo680_defconfig                    |  1 +
 arch/arm/configs/paz00_defconfig                          |  1 +
 arch/arm/configs/pcm051_rev1_defconfig                    |  1 +
 arch/arm/configs/pcm051_rev3_defconfig                    |  1 +
 arch/arm/configs/pengwyn_defconfig                        |  1 +
 arch/arm/configs/pepper_defconfig                         |  1 +
 arch/arm/configs/plutux_defconfig                         |  1 +
 arch/arm/configs/pxm2_defconfig                           |  1 +
 arch/arm/configs/rut_defconfig                            |  1 +
 arch/arm/configs/sama5d3xek_mmc_defconfig                 |  1 +
 arch/arm/configs/sama5d3xek_nandflash_defconfig           |  1 +
 arch/arm/configs/sama5d3xek_spiflash_defconfig            |  1 +
 arch/arm/configs/sansa_fuze_plus_defconfig                |  1 +
 arch/arm/configs/sc_sps_1_defconfig                       |  1 +
 arch/arm/configs/seaboard_defconfig                       |  1 +
 arch/arm/configs/smdk5250_defconfig                       |  1 +
 arch/arm/configs/smdk5420_defconfig                       |  1 +
 arch/arm/configs/smdkv310_defconfig                       |  1 +
 arch/arm/configs/snow_defconfig                           |  1 +
 arch/arm/configs/socfpga_cyclone5_defconfig               |  1 +
 arch/arm/configs/tao3530_defconfig                        |  1 +
 arch/arm/configs/tec-ng_defconfig                         |  1 +
 arch/arm/configs/tec_defconfig                            |  1 +
 arch/arm/configs/ti814x_evm_defconfig                     |  1 +
 arch/arm/configs/ti816x_evm_defconfig                     |  1 +
 arch/arm/configs/tricorder_defconfig                      |  1 +
 arch/arm/configs/tricorder_flash_defconfig                |  1 +
 arch/arm/configs/trimslice_defconfig                      |  1 +
 arch/arm/configs/tseries_mmc_defconfig                    |  1 +
 arch/arm/configs/tseries_nand_defconfig                   |  1 +
 arch/arm/configs/tseries_spi_defconfig                    |  1 +
 arch/arm/configs/twister_defconfig                        |  1 +
 arch/arm/configs/tx25_defconfig                           |  1 +
 arch/arm/configs/venice2_defconfig                        |  1 +
 arch/arm/configs/ventana_defconfig                        |  1 +
 arch/arm/configs/vpac270_ond_256_defconfig                |  1 +
 arch/arm/configs/whistler_defconfig                       |  1 +
 arch/arm/configs/woodburn_sd_defconfig                    |  1 +
 arch/arm/configs/x600_defconfig                           |  1 +
 arch/arm/configs/xfi3_defconfig                           |  1 +
 arch/powerpc/configs/B4420QDS_NAND_defconfig              |  1 +
 arch/powerpc/configs/B4860QDS_NAND_defconfig              |  1 +
 arch/powerpc/configs/BSC9131RDB_NAND_SYSCLK100_defconfig  |  1 +
 arch/powerpc/configs/BSC9131RDB_NAND_defconfig            |  1 +
 arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_defconfig  |  1 +
 arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_defconfig  |  1 +
 arch/powerpc/configs/C29XPCIE_NAND_defconfig              |  2 ++
 arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_defconfig     |  2 ++
 arch/powerpc/configs/P1010RDB-PA_36BIT_SDCARD_defconfig   |  1 +
 arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig |  1 +
 arch/powerpc/configs/P1010RDB-PA_NAND_defconfig           |  2 ++
 arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig         |  1 +
 arch/powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig       |  1 +
 arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_defconfig     |  2 ++
 arch/powerpc/configs/P1010RDB-PB_36BIT_SDCARD_defconfig   |  1 +
 arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig |  1 +
 arch/powerpc/configs/P1010RDB-PB_NAND_defconfig           |  2 ++
 arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig         |  1 +
 arch/powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig       |  1 +
 arch/powerpc/configs/P1011RDB_36BIT_SDCARD_defconfig      |  1 +
 arch/powerpc/configs/P1011RDB_36BIT_SPIFLASH_defconfig    |  1 +
 arch/powerpc/configs/P1011RDB_NAND_defconfig              |  2 ++
 arch/powerpc/configs/P1011RDB_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig          |  1 +
 arch/powerpc/configs/P1020MBG-PC_36BIT_SDCARD_defconfig   |  1 +
 arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig         |  1 +
 arch/powerpc/configs/P1020RDB-PC_36BIT_NAND_defconfig     |  2 ++
 arch/powerpc/configs/P1020RDB-PC_36BIT_SDCARD_defconfig   |  1 +
 arch/powerpc/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig |  1 +
 arch/powerpc/configs/P1020RDB-PC_NAND_defconfig           |  2 ++
 arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig         |  1 +
 arch/powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig       |  1 +
 arch/powerpc/configs/P1020RDB-PD_NAND_defconfig           |  2 ++
 arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig         |  1 +
 arch/powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig       |  1 +
 arch/powerpc/configs/P1020RDB_36BIT_SDCARD_defconfig      |  1 +
 arch/powerpc/configs/P1020RDB_36BIT_SPIFLASH_defconfig    |  1 +
 arch/powerpc/configs/P1020RDB_NAND_defconfig              |  2 ++
 arch/powerpc/configs/P1020RDB_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig          |  1 +
 arch/powerpc/configs/P1020UTM-PC_36BIT_SDCARD_defconfig   |  1 +
 arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig         |  1 +
 arch/powerpc/configs/P1021RDB-PC_36BIT_NAND_defconfig     |  2 ++
 arch/powerpc/configs/P1021RDB-PC_36BIT_SDCARD_defconfig   |  1 +
 arch/powerpc/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig |  1 +
 arch/powerpc/configs/P1021RDB-PC_NAND_defconfig           |  2 ++
 arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig         |  1 +
 arch/powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig       |  1 +
 arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig         |  2 ++
 arch/powerpc/configs/P1022DS_36BIT_SDCARD_defconfig       |  1 +
 arch/powerpc/configs/P1022DS_36BIT_SPIFLASH_defconfig     |  1 +
 arch/powerpc/configs/P1022DS_NAND_defconfig               |  2 ++
 arch/powerpc/configs/P1022DS_SDCARD_defconfig             |  1 +
 arch/powerpc/configs/P1022DS_SPIFLASH_defconfig           |  1 +
 arch/powerpc/configs/P1024RDB_NAND_defconfig              |  2 ++
 arch/powerpc/configs/P1024RDB_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig          |  1 +
 arch/powerpc/configs/P1025RDB_NAND_defconfig              |  2 ++
 arch/powerpc/configs/P1025RDB_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig          |  1 +
 arch/powerpc/configs/P2010RDB_36BIT_SDCARD_defconfig      |  1 +
 arch/powerpc/configs/P2010RDB_36BIT_SPIFLASH_defconfig    |  1 +
 arch/powerpc/configs/P2010RDB_NAND_defconfig              |  2 ++
 arch/powerpc/configs/P2010RDB_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig          |  1 +
 arch/powerpc/configs/P2020RDB-PC_36BIT_NAND_defconfig     |  2 ++
 arch/powerpc/configs/P2020RDB-PC_36BIT_SDCARD_defconfig   |  1 +
 arch/powerpc/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig |  1 +
 arch/powerpc/configs/P2020RDB-PC_NAND_defconfig           |  2 ++
 arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig         |  1 +
 arch/powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig       |  1 +
 arch/powerpc/configs/P2020RDB_36BIT_SDCARD_defconfig      |  1 +
 arch/powerpc/configs/P2020RDB_36BIT_SPIFLASH_defconfig    |  1 +
 arch/powerpc/configs/P2020RDB_NAND_defconfig              |  2 ++
 arch/powerpc/configs/P2020RDB_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig          |  1 +
 arch/powerpc/configs/T1040RDB_NAND_defconfig              |  1 +
 arch/powerpc/configs/T1040RDB_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig          |  1 +
 arch/powerpc/configs/T1042RDB_PI_NAND_defconfig           |  1 +
 arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig         |  1 +
 arch/powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig       |  1 +
 arch/powerpc/configs/T2080QDS_NAND_defconfig              |  1 +
 arch/powerpc/configs/T2080QDS_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig          |  1 +
 arch/powerpc/configs/T2080RDB_NAND_defconfig              |  1 +
 arch/powerpc/configs/T2080RDB_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig          |  1 +
 arch/powerpc/configs/T2081QDS_NAND_defconfig              |  1 +
 arch/powerpc/configs/T2081QDS_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig          |  1 +
 arch/powerpc/configs/T4160QDS_NAND_defconfig              |  1 +
 arch/powerpc/configs/T4160QDS_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/T4240QDS_NAND_defconfig              |  1 +
 arch/powerpc/configs/T4240QDS_SDCARD_defconfig            |  1 +
 arch/powerpc/configs/a3m071_defconfig                     |  1 +
 arch/powerpc/configs/a4m2k_defconfig                      |  1 +
 arch/powerpc/configs/lcd4_lwmon5_defconfig                |  1 +
 207 files changed, 238 insertions(+)

diff --git a/Kconfig b/Kconfig
index 491fbc3..16e0690 100644
--- a/Kconfig
+++ b/Kconfig
@@ -43,3 +43,15 @@ config ARCH
 	option env="ARCH"
 
 source "arch/$ARCH/Kconfig"
+
+config SPL_TEXT_BASE
+	hex
+	prompt "TEXT_BASE for linking the SPL binary" if !TPL_BUILD
+	depends on SPL
+	default TPL_TEXT_BASE if TPL_BUILD
+	default 0x00000000
+
+config TPL_TEXT_BASE
+	hex "TEXT_BASE for linking the TPL binary"
+	depends on TPL
+	default 0x00000000
diff --git a/arch/arm/configs/am335x_boneblack_defconfig b/arch/arm/configs/am335x_boneblack_defconfig
index 6657f0d..9c949e7 100644
--- a/arch/arm/configs/am335x_boneblack_defconfig
+++ b/arch/arm/configs/am335x_boneblack_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_BONEBLACK=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am335x_evm_defconfig b/arch/arm/configs/am335x_evm_defconfig
index 2f28b02..04d1522 100644
--- a/arch/arm/configs/am335x_evm_defconfig
+++ b/arch/arm/configs/am335x_evm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_EVM=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am335x_evm_nor_defconfig b/arch/arm/configs/am335x_evm_nor_defconfig
index 827ea81..6000ad0 100644
--- a/arch/arm/configs/am335x_evm_nor_defconfig
+++ b/arch/arm/configs/am335x_evm_nor_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_EVM_NOR=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am335x_evm_spiboot_defconfig b/arch/arm/configs/am335x_evm_spiboot_defconfig
index 64da3cc..02e5f02 100644
--- a/arch/arm/configs/am335x_evm_spiboot_defconfig
+++ b/arch/arm/configs/am335x_evm_spiboot_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_EVM_SPIBOOT=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am335x_evm_uart1_defconfig b/arch/arm/configs/am335x_evm_uart1_defconfig
index d631a02..f4f26c8 100644
--- a/arch/arm/configs/am335x_evm_uart1_defconfig
+++ b/arch/arm/configs/am335x_evm_uart1_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_EVM_UART1=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am335x_evm_uart2_defconfig b/arch/arm/configs/am335x_evm_uart2_defconfig
index 701d100..3731c05 100644
--- a/arch/arm/configs/am335x_evm_uart2_defconfig
+++ b/arch/arm/configs/am335x_evm_uart2_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_EVM_UART2=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am335x_evm_uart3_defconfig b/arch/arm/configs/am335x_evm_uart3_defconfig
index c78788a..e81cad8 100644
--- a/arch/arm/configs/am335x_evm_uart3_defconfig
+++ b/arch/arm/configs/am335x_evm_uart3_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_EVM_UART3=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am335x_evm_uart4_defconfig b/arch/arm/configs/am335x_evm_uart4_defconfig
index 76cb081..38cb0af 100644
--- a/arch/arm/configs/am335x_evm_uart4_defconfig
+++ b/arch/arm/configs/am335x_evm_uart4_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_EVM_UART4=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am335x_evm_uart5_defconfig b/arch/arm/configs/am335x_evm_uart5_defconfig
index 5a55833..421d150 100644
--- a/arch/arm/configs/am335x_evm_uart5_defconfig
+++ b/arch/arm/configs/am335x_evm_uart5_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_EVM_UART5=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am335x_evm_usbspl_defconfig b/arch/arm/configs/am335x_evm_usbspl_defconfig
index 9ad33e2..c438cdf 100644
--- a/arch/arm/configs/am335x_evm_usbspl_defconfig
+++ b/arch/arm/configs/am335x_evm_usbspl_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_EVM_USBSPL=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am335x_igep0033_defconfig b/arch/arm/configs/am335x_igep0033_defconfig
index c055c48..8a64cab 100644
--- a/arch/arm/configs/am335x_igep0033_defconfig
+++ b/arch/arm/configs/am335x_igep0033_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM335X_IGEP0033=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/am3517_crane_defconfig b/arch/arm/configs/am3517_crane_defconfig
index 5985bd7..27e9904 100644
--- a/arch/arm/configs/am3517_crane_defconfig
+++ b/arch/arm/configs/am3517_crane_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM3517_CRANE=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/am3517_evm_defconfig b/arch/arm/configs/am3517_evm_defconfig
index 7363ac1..f8b5692 100644
--- a/arch/arm/configs/am3517_evm_defconfig
+++ b/arch/arm/configs/am3517_evm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM3517_EVM=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/am43xx_evm_defconfig b/arch/arm/configs/am43xx_evm_defconfig
index f9cd2b7..768eaac 100644
--- a/arch/arm/configs/am43xx_evm_defconfig
+++ b/arch/arm/configs/am43xx_evm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_AM43XX_EVM=y
+CONFIG_SPL_TEXT_BASE=0x40300350
diff --git a/arch/arm/configs/apf27_defconfig b/arch/arm/configs/apf27_defconfig
index bd5f966..60bbad5 100644
--- a/arch/arm/configs/apf27_defconfig
+++ b/arch/arm/configs/apf27_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_APF27=y
+CONFIG_SPL_TEXT_BASE=0xa0000000
diff --git a/arch/arm/configs/apx4devkit_defconfig b/arch/arm/configs/apx4devkit_defconfig
index bddd782..ed62375 100644
--- a/arch/arm/configs/apx4devkit_defconfig
+++ b/arch/arm/configs/apx4devkit_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_APX4DEVKIT=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/arm/configs/arndale_defconfig b/arch/arm/configs/arndale_defconfig
index 359e266..146dc7a 100644
--- a/arch/arm/configs/arndale_defconfig
+++ b/arch/arm/configs/arndale_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_ARNDALE=y
+CONFIG_SPL_TEXT_BASE=0x02023400
diff --git a/arch/arm/configs/beaver_defconfig b/arch/arm/configs/beaver_defconfig
index dd51837..29ffa47 100644
--- a/arch/arm/configs/beaver_defconfig
+++ b/arch/arm/configs/beaver_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_BEAVER=y
+CONFIG_SPL_TEXT_BASE=0x80108000
diff --git a/arch/arm/configs/bg0900_defconfig b/arch/arm/configs/bg0900_defconfig
index 54e03f4..06134e8 100644
--- a/arch/arm/configs/bg0900_defconfig
+++ b/arch/arm/configs/bg0900_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_BG0900=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/arm/configs/cam_enc_4xx_defconfig b/arch/arm/configs/cam_enc_4xx_defconfig
index 39a44e4..d06a13b 100644
--- a/arch/arm/configs/cam_enc_4xx_defconfig
+++ b/arch/arm/configs/cam_enc_4xx_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_CAM_ENC_4XX=y
+CONFIG_SPL_TEXT_BASE=0x00000020
diff --git a/arch/arm/configs/cardhu_defconfig b/arch/arm/configs/cardhu_defconfig
index 18b68b8..9a09e29 100644
--- a/arch/arm/configs/cardhu_defconfig
+++ b/arch/arm/configs/cardhu_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_CARDHU=y
+CONFIG_SPL_TEXT_BASE=0x80108000
diff --git a/arch/arm/configs/cm_t335_defconfig b/arch/arm/configs/cm_t335_defconfig
index db307f0..8f02d39 100644
--- a/arch/arm/configs/cm_t335_defconfig
+++ b/arch/arm/configs/cm_t335_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_CM_T335=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/cm_t35_defconfig b/arch/arm/configs/cm_t35_defconfig
index c52c7e8..227d2ff 100644
--- a/arch/arm/configs/cm_t35_defconfig
+++ b/arch/arm/configs/cm_t35_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_CM_T35=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/cm_t54_defconfig b/arch/arm/configs/cm_t54_defconfig
index 5f4ec90..10a6a66 100644
--- a/arch/arm/configs/cm_t54_defconfig
+++ b/arch/arm/configs/cm_t54_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_CM_T54=y
+CONFIG_SPL_TEXT_BASE=0x40300000
diff --git a/arch/arm/configs/colibri_t20_iris_defconfig b/arch/arm/configs/colibri_t20_iris_defconfig
index 919edb8..1a19b7b 100644
--- a/arch/arm/configs/colibri_t20_iris_defconfig
+++ b/arch/arm/configs/colibri_t20_iris_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_COLIBRI_T20_IRIS=y
+CONFIG_SPL_TEXT_BASE=0x00108000
diff --git a/arch/arm/configs/da850_am18xxevm_defconfig b/arch/arm/configs/da850_am18xxevm_defconfig
index 8a439b3..1284bad 100644
--- a/arch/arm/configs/da850_am18xxevm_defconfig
+++ b/arch/arm/configs/da850_am18xxevm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_DA850_AM18XXEVM=y
+CONFIG_SPL_TEXT_BASE=0x80000000
diff --git a/arch/arm/configs/da850evm_defconfig b/arch/arm/configs/da850evm_defconfig
index 49e5326..345efc3 100644
--- a/arch/arm/configs/da850evm_defconfig
+++ b/arch/arm/configs/da850evm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_DA850EVM=y
+CONFIG_SPL_TEXT_BASE=0x80000000
diff --git a/arch/arm/configs/dalmore_defconfig b/arch/arm/configs/dalmore_defconfig
index 965c57c..5a870da 100644
--- a/arch/arm/configs/dalmore_defconfig
+++ b/arch/arm/configs/dalmore_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_DALMORE=y
+CONFIG_SPL_TEXT_BASE=0x80108000
diff --git a/arch/arm/configs/devkit8000_defconfig b/arch/arm/configs/devkit8000_defconfig
index 8f61b1b..2028ea8 100644
--- a/arch/arm/configs/devkit8000_defconfig
+++ b/arch/arm/configs/devkit8000_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_DEVKIT8000=y
+CONFIG_SPL_TEXT_BASE=0x40200000
diff --git a/arch/arm/configs/dra7xx_evm_defconfig b/arch/arm/configs/dra7xx_evm_defconfig
index e673a62..8b4323d 100644
--- a/arch/arm/configs/dra7xx_evm_defconfig
+++ b/arch/arm/configs/dra7xx_evm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_DRA7XX_EVM=y
+CONFIG_SPL_TEXT_BASE=0x40300000
diff --git a/arch/arm/configs/dra7xx_evm_qspiboot_defconfig b/arch/arm/configs/dra7xx_evm_qspiboot_defconfig
index 446a01a..16de3d2 100644
--- a/arch/arm/configs/dra7xx_evm_qspiboot_defconfig
+++ b/arch/arm/configs/dra7xx_evm_qspiboot_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_DRA7XX_EVM_QSPIBOOT=y
+CONFIG_SPL_TEXT_BASE=0x40300000
diff --git a/arch/arm/configs/dra7xx_evm_uart3_defconfig b/arch/arm/configs/dra7xx_evm_uart3_defconfig
index c646481..e208838 100644
--- a/arch/arm/configs/dra7xx_evm_uart3_defconfig
+++ b/arch/arm/configs/dra7xx_evm_uart3_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_DRA7XX_EVM_UART3=y
+CONFIG_SPL_TEXT_BASE=0x40300000
diff --git a/arch/arm/configs/draco_defconfig b/arch/arm/configs/draco_defconfig
index 77dacd3..8f0a446 100644
--- a/arch/arm/configs/draco_defconfig
+++ b/arch/arm/configs/draco_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_DRACO=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/duovero_defconfig b/arch/arm/configs/duovero_defconfig
index 4687e62..2fa6694 100644
--- a/arch/arm/configs/duovero_defconfig
+++ b/arch/arm/configs/duovero_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_DUOVERO=y
+CONFIG_SPL_TEXT_BASE=0x40300000
diff --git a/arch/arm/configs/dxr2_defconfig b/arch/arm/configs/dxr2_defconfig
index 07e70b2..a8a04dd 100644
--- a/arch/arm/configs/dxr2_defconfig
+++ b/arch/arm/configs/dxr2_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_DXR2=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/eco5pk_defconfig b/arch/arm/configs/eco5pk_defconfig
index 1e275ea..9232bc4 100644
--- a/arch/arm/configs/eco5pk_defconfig
+++ b/arch/arm/configs/eco5pk_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_ECO5PK=y
+CONFIG_SPL_TEXT_BASE=0x40200000
diff --git a/arch/arm/configs/harmony_defconfig b/arch/arm/configs/harmony_defconfig
index fe54f12..c401746 100644
--- a/arch/arm/configs/harmony_defconfig
+++ b/arch/arm/configs/harmony_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_HARMONY=y
+CONFIG_SPL_TEXT_BASE=0x00108000
diff --git a/arch/arm/configs/hawkboard_defconfig b/arch/arm/configs/hawkboard_defconfig
index 5680c45..5ed4e3a 100644
--- a/arch/arm/configs/hawkboard_defconfig
+++ b/arch/arm/configs/hawkboard_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_HAWKBOARD=y
+CONFIG_SPL_TEXT_BASE=0xc1080000
diff --git a/arch/arm/configs/hawkboard_uart_defconfig b/arch/arm/configs/hawkboard_uart_defconfig
index e0dcd66..f7e1cfd 100644
--- a/arch/arm/configs/hawkboard_uart_defconfig
+++ b/arch/arm/configs/hawkboard_uart_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_HAWKBOARD_UART=y
+CONFIG_SPL_TEXT_BASE=0xc1080000
diff --git a/arch/arm/configs/igep0020_defconfig b/arch/arm/configs/igep0020_defconfig
index 72ba0b3..c43b051 100644
--- a/arch/arm/configs/igep0020_defconfig
+++ b/arch/arm/configs/igep0020_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_IGEP0020=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/igep0020_nand_defconfig b/arch/arm/configs/igep0020_nand_defconfig
index c435c6d..4cd6b07 100644
--- a/arch/arm/configs/igep0020_nand_defconfig
+++ b/arch/arm/configs/igep0020_nand_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_IGEP0020_NAND=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/igep0030_defconfig b/arch/arm/configs/igep0030_defconfig
index d9b2f87..c7f19e6 100644
--- a/arch/arm/configs/igep0030_defconfig
+++ b/arch/arm/configs/igep0030_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_IGEP0030=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/igep0030_nand_defconfig b/arch/arm/configs/igep0030_nand_defconfig
index 5c87546..d7789bf 100644
--- a/arch/arm/configs/igep0030_nand_defconfig
+++ b/arch/arm/configs/igep0030_nand_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_IGEP0030_NAND=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/igep0032_defconfig b/arch/arm/configs/igep0032_defconfig
index e777daa..8537d60 100644
--- a/arch/arm/configs/igep0032_defconfig
+++ b/arch/arm/configs/igep0032_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_IGEP0032=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/ipam390_defconfig b/arch/arm/configs/ipam390_defconfig
index 9d07e5f..588fbe6 100644
--- a/arch/arm/configs/ipam390_defconfig
+++ b/arch/arm/configs/ipam390_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_IPAM390=y
+CONFIG_SPL_TEXT_BASE=0x80000000
diff --git a/arch/arm/configs/jetson-tk1_defconfig b/arch/arm/configs/jetson-tk1_defconfig
index 7fc55a3..10d4d02 100644
--- a/arch/arm/configs/jetson-tk1_defconfig
+++ b/arch/arm/configs/jetson-tk1_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_JETSON_TK1=y
+CONFIG_SPL_TEXT_BASE=0x80108000
diff --git a/arch/arm/configs/kwb_defconfig b/arch/arm/configs/kwb_defconfig
index 598f0ac..dc48345 100644
--- a/arch/arm/configs/kwb_defconfig
+++ b/arch/arm/configs/kwb_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_KWB=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/m28evk_defconfig b/arch/arm/configs/m28evk_defconfig
index 6eab9b4..be43a42 100644
--- a/arch/arm/configs/m28evk_defconfig
+++ b/arch/arm/configs/m28evk_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_M28EVK=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/arm/configs/m53evk_defconfig b/arch/arm/configs/m53evk_defconfig
index c7f4105..3be2e86 100644
--- a/arch/arm/configs/m53evk_defconfig
+++ b/arch/arm/configs/m53evk_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_M53EVK=y
+CONFIG_SPL_TEXT_BASE=0x70008000
diff --git a/arch/arm/configs/mcx_defconfig b/arch/arm/configs/mcx_defconfig
index 788c0fd..f0ab4de 100644
--- a/arch/arm/configs/mcx_defconfig
+++ b/arch/arm/configs/mcx_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_MCX=y
+CONFIG_SPL_TEXT_BASE=0x40200000
diff --git a/arch/arm/configs/medcom-wide_defconfig b/arch/arm/configs/medcom-wide_defconfig
index 3d46db8..088f885 100644
--- a/arch/arm/configs/medcom-wide_defconfig
+++ b/arch/arm/configs/medcom-wide_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_MEDCOM_WIDE=y
+CONFIG_SPL_TEXT_BASE=0x00108000
diff --git a/arch/arm/configs/mt_ventoux_defconfig b/arch/arm/configs/mt_ventoux_defconfig
index d86fc49..2e7d96f 100644
--- a/arch/arm/configs/mt_ventoux_defconfig
+++ b/arch/arm/configs/mt_ventoux_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_MT_VENTOUX=y
+CONFIG_SPL_TEXT_BASE=0x40200000
diff --git a/arch/arm/configs/mx23_olinuxino_defconfig b/arch/arm/configs/mx23_olinuxino_defconfig
index 5628880..d154191 100644
--- a/arch/arm/configs/mx23_olinuxino_defconfig
+++ b/arch/arm/configs/mx23_olinuxino_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_MX23_OLINUXINO=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/arm/configs/mx23evk_defconfig b/arch/arm/configs/mx23evk_defconfig
index 0499930..1230939 100644
--- a/arch/arm/configs/mx23evk_defconfig
+++ b/arch/arm/configs/mx23evk_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_MX23EVK=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/arm/configs/mx28evk_auart_console_defconfig b/arch/arm/configs/mx28evk_auart_console_defconfig
index f988740..b5eda90 100644
--- a/arch/arm/configs/mx28evk_auart_console_defconfig
+++ b/arch/arm/configs/mx28evk_auart_console_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_MX28EVK_AUART_CONSOLE=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/arm/configs/mx28evk_defconfig b/arch/arm/configs/mx28evk_defconfig
index fe08bde..b8ae251 100644
--- a/arch/arm/configs/mx28evk_defconfig
+++ b/arch/arm/configs/mx28evk_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_MX28EVK=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/arm/configs/mx28evk_nand_defconfig b/arch/arm/configs/mx28evk_nand_defconfig
index 2bc6815..b3f0d2d 100644
--- a/arch/arm/configs/mx28evk_nand_defconfig
+++ b/arch/arm/configs/mx28evk_nand_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_MX28EVK_NAND=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/arm/configs/mx31pdk_defconfig b/arch/arm/configs/mx31pdk_defconfig
index 2ac7d01..4f4a2ba 100644
--- a/arch/arm/configs/mx31pdk_defconfig
+++ b/arch/arm/configs/mx31pdk_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_MX31PDK=y
+CONFIG_SPL_TEXT_BASE=0x87dc0000
diff --git a/arch/arm/configs/omap3_beagle_defconfig b/arch/arm/configs/omap3_beagle_defconfig
index 1e5296f..56cec8d 100644
--- a/arch/arm/configs/omap3_beagle_defconfig
+++ b/arch/arm/configs/omap3_beagle_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_OMAP3_BEAGLE=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/omap3_evm_defconfig b/arch/arm/configs/omap3_evm_defconfig
index 9f10632..4fef42e 100644
--- a/arch/arm/configs/omap3_evm_defconfig
+++ b/arch/arm/configs/omap3_evm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_OMAP3_EVM=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/omap3_evm_quick_mmc_defconfig b/arch/arm/configs/omap3_evm_quick_mmc_defconfig
index 93d1ef6..122f8d5 100644
--- a/arch/arm/configs/omap3_evm_quick_mmc_defconfig
+++ b/arch/arm/configs/omap3_evm_quick_mmc_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_OMAP3_EVM_QUICK_MMC=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/omap3_evm_quick_nand_defconfig b/arch/arm/configs/omap3_evm_quick_nand_defconfig
index cfe63f8..c24cb9d 100644
--- a/arch/arm/configs/omap3_evm_quick_nand_defconfig
+++ b/arch/arm/configs/omap3_evm_quick_nand_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_OMAP3_EVM_QUICK_NAND=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/omap3_ha_defconfig b/arch/arm/configs/omap3_ha_defconfig
index 8797611..32432e8 100644
--- a/arch/arm/configs/omap3_ha_defconfig
+++ b/arch/arm/configs/omap3_ha_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_OMAP3_HA=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/omap3_overo_defconfig b/arch/arm/configs/omap3_overo_defconfig
index ba15f5c..b0866d2 100644
--- a/arch/arm/configs/omap3_overo_defconfig
+++ b/arch/arm/configs/omap3_overo_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_OMAP3_OVERO=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/omap4_panda_defconfig b/arch/arm/configs/omap4_panda_defconfig
index c736c23..cb4a637 100644
--- a/arch/arm/configs/omap4_panda_defconfig
+++ b/arch/arm/configs/omap4_panda_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_OMAP4_PANDA=y
+CONFIG_SPL_TEXT_BASE=0x40300000
diff --git a/arch/arm/configs/omap4_sdp4430_defconfig b/arch/arm/configs/omap4_sdp4430_defconfig
index 38a1d02..c5041d3 100644
--- a/arch/arm/configs/omap4_sdp4430_defconfig
+++ b/arch/arm/configs/omap4_sdp4430_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_OMAP4_SDP4430=y
+CONFIG_SPL_TEXT_BASE=0x40300000
diff --git a/arch/arm/configs/omap5_uevm_defconfig b/arch/arm/configs/omap5_uevm_defconfig
index 5380de5..320541b 100644
--- a/arch/arm/configs/omap5_uevm_defconfig
+++ b/arch/arm/configs/omap5_uevm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_OMAP5_UEVM=y
+CONFIG_SPL_TEXT_BASE=0x40300000
diff --git a/arch/arm/configs/origen_defconfig b/arch/arm/configs/origen_defconfig
index 0c3b73b..5c7af3e 100644
--- a/arch/arm/configs/origen_defconfig
+++ b/arch/arm/configs/origen_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_ORIGEN=y
+CONFIG_SPL_TEXT_BASE=0x02021410
diff --git a/arch/arm/configs/palmtreo680_defconfig b/arch/arm/configs/palmtreo680_defconfig
index 51d1d81..1034f08 100644
--- a/arch/arm/configs/palmtreo680_defconfig
+++ b/arch/arm/configs/palmtreo680_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_PALMTREO680=y
+CONFIG_SPL_TEXT_BASE=0xa1700000
diff --git a/arch/arm/configs/paz00_defconfig b/arch/arm/configs/paz00_defconfig
index 537c03f..5b24db5 100644
--- a/arch/arm/configs/paz00_defconfig
+++ b/arch/arm/configs/paz00_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_PAZ00=y
+CONFIG_SPL_TEXT_BASE=0x00108000
diff --git a/arch/arm/configs/pcm051_rev1_defconfig b/arch/arm/configs/pcm051_rev1_defconfig
index d8833c2..80c7087 100644
--- a/arch/arm/configs/pcm051_rev1_defconfig
+++ b/arch/arm/configs/pcm051_rev1_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_PCM051_REV1=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/pcm051_rev3_defconfig b/arch/arm/configs/pcm051_rev3_defconfig
index 163cb8a..26dda68 100644
--- a/arch/arm/configs/pcm051_rev3_defconfig
+++ b/arch/arm/configs/pcm051_rev3_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_PCM051_REV3=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/pengwyn_defconfig b/arch/arm/configs/pengwyn_defconfig
index f9c9be5..d1ded63 100644
--- a/arch/arm/configs/pengwyn_defconfig
+++ b/arch/arm/configs/pengwyn_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_PENGWYN=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/pepper_defconfig b/arch/arm/configs/pepper_defconfig
index 466e0d5..78bdff4 100644
--- a/arch/arm/configs/pepper_defconfig
+++ b/arch/arm/configs/pepper_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_PEPPER=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/plutux_defconfig b/arch/arm/configs/plutux_defconfig
index 5e0bd38..c8a663f 100644
--- a/arch/arm/configs/plutux_defconfig
+++ b/arch/arm/configs/plutux_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_PLUTUX=y
+CONFIG_SPL_TEXT_BASE=0x00108000
diff --git a/arch/arm/configs/pxm2_defconfig b/arch/arm/configs/pxm2_defconfig
index 72da446..0425862 100644
--- a/arch/arm/configs/pxm2_defconfig
+++ b/arch/arm/configs/pxm2_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_PXM2=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/rut_defconfig b/arch/arm/configs/rut_defconfig
index f710c4a..598750d 100644
--- a/arch/arm/configs/rut_defconfig
+++ b/arch/arm/configs/rut_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_RUT=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/sama5d3xek_mmc_defconfig b/arch/arm/configs/sama5d3xek_mmc_defconfig
index 55543a7..c556017 100644
--- a/arch/arm/configs/sama5d3xek_mmc_defconfig
+++ b/arch/arm/configs/sama5d3xek_mmc_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SAMA5D3XEK_MMC=y
+CONFIG_SPL_TEXT_BASE=0x00300000
diff --git a/arch/arm/configs/sama5d3xek_nandflash_defconfig b/arch/arm/configs/sama5d3xek_nandflash_defconfig
index 870f3b0..8686b43 100644
--- a/arch/arm/configs/sama5d3xek_nandflash_defconfig
+++ b/arch/arm/configs/sama5d3xek_nandflash_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SAMA5D3XEK_NANDFLASH=y
+CONFIG_SPL_TEXT_BASE=0x00300000
diff --git a/arch/arm/configs/sama5d3xek_spiflash_defconfig b/arch/arm/configs/sama5d3xek_spiflash_defconfig
index 20d8998..f338cc3 100644
--- a/arch/arm/configs/sama5d3xek_spiflash_defconfig
+++ b/arch/arm/configs/sama5d3xek_spiflash_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SAMA5D3XEK_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0x00300000
diff --git a/arch/arm/configs/sansa_fuze_plus_defconfig b/arch/arm/configs/sansa_fuze_plus_defconfig
index 83a8cbc..fa2a6a4 100644
--- a/arch/arm/configs/sansa_fuze_plus_defconfig
+++ b/arch/arm/configs/sansa_fuze_plus_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SANSA_FUZE_PLUS=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/arm/configs/sc_sps_1_defconfig b/arch/arm/configs/sc_sps_1_defconfig
index 41bd28d..c611ed2 100644
--- a/arch/arm/configs/sc_sps_1_defconfig
+++ b/arch/arm/configs/sc_sps_1_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SC_SPS_1=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/arm/configs/seaboard_defconfig b/arch/arm/configs/seaboard_defconfig
index 73a22f9..0eff90f 100644
--- a/arch/arm/configs/seaboard_defconfig
+++ b/arch/arm/configs/seaboard_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SEABOARD=y
+CONFIG_SPL_TEXT_BASE=0x00108000
diff --git a/arch/arm/configs/smdk5250_defconfig b/arch/arm/configs/smdk5250_defconfig
index 81363ff..c1fdd95 100644
--- a/arch/arm/configs/smdk5250_defconfig
+++ b/arch/arm/configs/smdk5250_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SMDK5250=y
+CONFIG_SPL_TEXT_BASE=0x02023400
diff --git a/arch/arm/configs/smdk5420_defconfig b/arch/arm/configs/smdk5420_defconfig
index 0c3b08a..363737e 100644
--- a/arch/arm/configs/smdk5420_defconfig
+++ b/arch/arm/configs/smdk5420_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SMDK5420=y
+CONFIG_SPL_TEXT_BASE=0x02024410
diff --git a/arch/arm/configs/smdkv310_defconfig b/arch/arm/configs/smdkv310_defconfig
index 4ead289..bf4d907 100644
--- a/arch/arm/configs/smdkv310_defconfig
+++ b/arch/arm/configs/smdkv310_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SMDKV310=y
+CONFIG_SPL_TEXT_BASE=0x02021410
diff --git a/arch/arm/configs/snow_defconfig b/arch/arm/configs/snow_defconfig
index 6f0e0bb..559fb91 100644
--- a/arch/arm/configs/snow_defconfig
+++ b/arch/arm/configs/snow_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SNOW=y
+CONFIG_SPL_TEXT_BASE=0x02023400
diff --git a/arch/arm/configs/socfpga_cyclone5_defconfig b/arch/arm/configs/socfpga_cyclone5_defconfig
index c8686ec..9027695 100644
--- a/arch/arm/configs/socfpga_cyclone5_defconfig
+++ b/arch/arm/configs/socfpga_cyclone5_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_SOCFPGA_CYCLONE5=y
+CONFIG_SPL_TEXT_BASE=0xffff0000
diff --git a/arch/arm/configs/tao3530_defconfig b/arch/arm/configs/tao3530_defconfig
index 8726fc5..d140aa6 100644
--- a/arch/arm/configs/tao3530_defconfig
+++ b/arch/arm/configs/tao3530_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TAO3530=y
+CONFIG_SPL_TEXT_BASE=0x40200800
diff --git a/arch/arm/configs/tec-ng_defconfig b/arch/arm/configs/tec-ng_defconfig
index 943f3b1..34ca8d6 100644
--- a/arch/arm/configs/tec-ng_defconfig
+++ b/arch/arm/configs/tec-ng_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TEC_NG=y
+CONFIG_SPL_TEXT_BASE=0x80108000
diff --git a/arch/arm/configs/tec_defconfig b/arch/arm/configs/tec_defconfig
index b17d4b7..11de332 100644
--- a/arch/arm/configs/tec_defconfig
+++ b/arch/arm/configs/tec_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TEC=y
+CONFIG_SPL_TEXT_BASE=0x00108000
diff --git a/arch/arm/configs/ti814x_evm_defconfig b/arch/arm/configs/ti814x_evm_defconfig
index 39bf779..b7dcf2f 100644
--- a/arch/arm/configs/ti814x_evm_defconfig
+++ b/arch/arm/configs/ti814x_evm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TI814X_EVM=y
+CONFIG_SPL_TEXT_BASE=0x40300000
diff --git a/arch/arm/configs/ti816x_evm_defconfig b/arch/arm/configs/ti816x_evm_defconfig
index 0290c28..256417e 100644
--- a/arch/arm/configs/ti816x_evm_defconfig
+++ b/arch/arm/configs/ti816x_evm_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TI816X_EVM=y
+CONFIG_SPL_TEXT_BASE=0x40400000
diff --git a/arch/arm/configs/tricorder_defconfig b/arch/arm/configs/tricorder_defconfig
index 23bac46..a7c52c9 100644
--- a/arch/arm/configs/tricorder_defconfig
+++ b/arch/arm/configs/tricorder_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TRICORDER=y
+CONFIG_SPL_TEXT_BASE=0x40200000
diff --git a/arch/arm/configs/tricorder_flash_defconfig b/arch/arm/configs/tricorder_flash_defconfig
index 75c6d18..4ae4485 100644
--- a/arch/arm/configs/tricorder_flash_defconfig
+++ b/arch/arm/configs/tricorder_flash_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TRICORDER_FLASH=y
+CONFIG_SPL_TEXT_BASE=0x40200000
diff --git a/arch/arm/configs/trimslice_defconfig b/arch/arm/configs/trimslice_defconfig
index b801bcb..262ea1d 100644
--- a/arch/arm/configs/trimslice_defconfig
+++ b/arch/arm/configs/trimslice_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TRIMSLICE=y
+CONFIG_SPL_TEXT_BASE=0x00108000
diff --git a/arch/arm/configs/tseries_mmc_defconfig b/arch/arm/configs/tseries_mmc_defconfig
index 3c08890..c3622d3 100644
--- a/arch/arm/configs/tseries_mmc_defconfig
+++ b/arch/arm/configs/tseries_mmc_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TSERIES_MMC=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/tseries_nand_defconfig b/arch/arm/configs/tseries_nand_defconfig
index aa02987..4d7c27d 100644
--- a/arch/arm/configs/tseries_nand_defconfig
+++ b/arch/arm/configs/tseries_nand_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TSERIES_NAND=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/tseries_spi_defconfig b/arch/arm/configs/tseries_spi_defconfig
index 5020db2..939bd30 100644
--- a/arch/arm/configs/tseries_spi_defconfig
+++ b/arch/arm/configs/tseries_spi_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TSERIES_SPI=y
+CONFIG_SPL_TEXT_BASE=0x402f0400
diff --git a/arch/arm/configs/twister_defconfig b/arch/arm/configs/twister_defconfig
index a07a729..af83814 100644
--- a/arch/arm/configs/twister_defconfig
+++ b/arch/arm/configs/twister_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TWISTER=y
+CONFIG_SPL_TEXT_BASE=0x40200000
diff --git a/arch/arm/configs/tx25_defconfig b/arch/arm/configs/tx25_defconfig
index 064fc80..cc8c606 100644
--- a/arch/arm/configs/tx25_defconfig
+++ b/arch/arm/configs/tx25_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_TX25=y
+CONFIG_SPL_TEXT_BASE=0x810c0000
diff --git a/arch/arm/configs/venice2_defconfig b/arch/arm/configs/venice2_defconfig
index 514b399..edb5f0b 100644
--- a/arch/arm/configs/venice2_defconfig
+++ b/arch/arm/configs/venice2_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_VENICE2=y
+CONFIG_SPL_TEXT_BASE=0x80108000
diff --git a/arch/arm/configs/ventana_defconfig b/arch/arm/configs/ventana_defconfig
index 3163069..bd5cb83 100644
--- a/arch/arm/configs/ventana_defconfig
+++ b/arch/arm/configs/ventana_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_VENTANA=y
+CONFIG_SPL_TEXT_BASE=0x00108000
diff --git a/arch/arm/configs/vpac270_ond_256_defconfig b/arch/arm/configs/vpac270_ond_256_defconfig
index 8fa1e47..76de838 100644
--- a/arch/arm/configs/vpac270_ond_256_defconfig
+++ b/arch/arm/configs/vpac270_ond_256_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_VPAC270_OND_256=y
+CONFIG_SPL_TEXT_BASE=0x5c000000
diff --git a/arch/arm/configs/whistler_defconfig b/arch/arm/configs/whistler_defconfig
index 1990cf6..e65a62d 100644
--- a/arch/arm/configs/whistler_defconfig
+++ b/arch/arm/configs/whistler_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_WHISTLER=y
+CONFIG_SPL_TEXT_BASE=0x00108000
diff --git a/arch/arm/configs/woodburn_sd_defconfig b/arch/arm/configs/woodburn_sd_defconfig
index 2219866..839a41c 100644
--- a/arch/arm/configs/woodburn_sd_defconfig
+++ b/arch/arm/configs/woodburn_sd_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_WOODBURN_SD=y
+CONFIG_SPL_TEXT_BASE=0x10002300
diff --git a/arch/arm/configs/x600_defconfig b/arch/arm/configs/x600_defconfig
index 8e21d85..bc2acb9 100644
--- a/arch/arm/configs/x600_defconfig
+++ b/arch/arm/configs/x600_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_X600=y
+CONFIG_SPL_TEXT_BASE=0xd2800b00
diff --git a/arch/arm/configs/xfi3_defconfig b/arch/arm/configs/xfi3_defconfig
index 7f8d343..5d287c6 100644
--- a/arch/arm/configs/xfi3_defconfig
+++ b/arch/arm/configs/xfi3_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_XFI3=y
+CONFIG_SPL_TEXT_BASE=0x00001000
diff --git a/arch/powerpc/configs/B4420QDS_NAND_defconfig b/arch/powerpc/configs/B4420QDS_NAND_defconfig
index f44e297..eaed0e0b1 100644
--- a/arch/powerpc/configs/B4420QDS_NAND_defconfig
+++ b/arch/powerpc/configs/B4420QDS_NAND_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_B4420QDS_NAND=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/B4860QDS_NAND_defconfig b/arch/powerpc/configs/B4860QDS_NAND_defconfig
index 1351f7b..527f6e3 100644
--- a/arch/powerpc/configs/B4860QDS_NAND_defconfig
+++ b/arch/powerpc/configs/B4860QDS_NAND_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_B4860QDS_NAND=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/BSC9131RDB_NAND_SYSCLK100_defconfig b/arch/powerpc/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
index f4839ca..62ca368 100644
--- a/arch/powerpc/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
+++ b/arch/powerpc/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_BSC9131RDB_NAND_SYSCLK100=y
+CONFIG_SPL_TEXT_BASE=0xffffe000
diff --git a/arch/powerpc/configs/BSC9131RDB_NAND_defconfig b/arch/powerpc/configs/BSC9131RDB_NAND_defconfig
index 8d8019c..bf10ac0 100644
--- a/arch/powerpc/configs/BSC9131RDB_NAND_defconfig
+++ b/arch/powerpc/configs/BSC9131RDB_NAND_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_BSC9131RDB_NAND=y
+CONFIG_SPL_TEXT_BASE=0xffffe000
diff --git a/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_defconfig b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
index eb78d6d..051cc14 100644
--- a/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
+++ b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_BSC9132QDS_NAND_DDRCLK100=y
+CONFIG_SPL_TEXT_BASE=0xffffe000
diff --git a/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_defconfig b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
index 217a435..bd369c4 100644
--- a/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
+++ b/arch/powerpc/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_BSC9132QDS_NAND_DDRCLK133=y
+CONFIG_SPL_TEXT_BASE=0xffffe000
diff --git a/arch/powerpc/configs/C29XPCIE_NAND_defconfig b/arch/powerpc/configs/C29XPCIE_NAND_defconfig
index f2a3776..bf465cc 100644
--- a/arch/powerpc/configs/C29XPCIE_NAND_defconfig
+++ b/arch/powerpc/configs/C29XPCIE_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_C29XPCIE_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_defconfig b/arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_defconfig
index f02eba7..3746d82 100644
--- a/arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PA_36BIT_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1010RDB_PA_36BIT_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PA_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
index 298e782..8f42b25 100644
--- a/arch/powerpc/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1010RDB_PA_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
index 057e705..3b42888 100644
--- a/arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1010RDB_PA_36BIT_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PA_NAND_defconfig b/arch/powerpc/configs/P1010RDB-PA_NAND_defconfig
index 4e43488..416275a 100644
--- a/arch/powerpc/configs/P1010RDB-PA_NAND_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PA_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1010RDB_PA_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig b/arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig
index 6489e10..c9f6d8b 100644
--- a/arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PA_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1010RDB_PA_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig b/arch/powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig
index 3f89bed..b594955 100644
--- a/arch/powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PA_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1010RDB_PA_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_defconfig b/arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_defconfig
index c43f9fa..d99f8bd 100644
--- a/arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PB_36BIT_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1010RDB_PB_36BIT_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PB_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
index 2117163..dcc944f 100644
--- a/arch/powerpc/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1010RDB_PB_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
index dbe6261..af42f0e 100644
--- a/arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1010RDB_PB_36BIT_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PB_NAND_defconfig b/arch/powerpc/configs/P1010RDB-PB_NAND_defconfig
index 380175a..d6a009e 100644
--- a/arch/powerpc/configs/P1010RDB-PB_NAND_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PB_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1010RDB_PB_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig b/arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig
index a9c3a62..b8c8100 100644
--- a/arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PB_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1010RDB_PB_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig b/arch/powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig
index c86aaa6..09e6cdf 100644
--- a/arch/powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1010RDB-PB_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1010RDB_PB_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xd0001000
diff --git a/arch/powerpc/configs/P1011RDB_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1011RDB_36BIT_SDCARD_defconfig
index 6076664..7ee9b39 100644
--- a/arch/powerpc/configs/P1011RDB_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1011RDB_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1011RDB_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1011RDB_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1011RDB_36BIT_SPIFLASH_defconfig
index 8976d66..94bd99e 100644
--- a/arch/powerpc/configs/P1011RDB_36BIT_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1011RDB_36BIT_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1011RDB_36BIT_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1011RDB_NAND_defconfig b/arch/powerpc/configs/P1011RDB_NAND_defconfig
index 5676274..1bea562 100644
--- a/arch/powerpc/configs/P1011RDB_NAND_defconfig
+++ b/arch/powerpc/configs/P1011RDB_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1011RDB_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1011RDB_SDCARD_defconfig b/arch/powerpc/configs/P1011RDB_SDCARD_defconfig
index bb64c7d..3d67959 100644
--- a/arch/powerpc/configs/P1011RDB_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1011RDB_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1011RDB_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig
index c5883db..c08b10c 100644
--- a/arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1011RDB_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1011RDB_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020MBG-PC_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
index 5b02726..ab44111 100644
--- a/arch/powerpc/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020MBG_PC_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig b/arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig
index 9f38502..4f3ce32 100644
--- a/arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1020MBG-PC_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020MBG_PC_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB-PC_36BIT_NAND_defconfig b/arch/powerpc/configs/P1020RDB-PC_36BIT_NAND_defconfig
index 93045ac..1bec732 100644
--- a/arch/powerpc/configs/P1020RDB-PC_36BIT_NAND_defconfig
+++ b/arch/powerpc/configs/P1020RDB-PC_36BIT_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1020RDB_PC_36BIT_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB-PC_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
index 9db3175..a40556f 100644
--- a/arch/powerpc/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020RDB_PC_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
index 967aefc..5fa1cd2 100644
--- a/arch/powerpc/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020RDB_PC_36BIT_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB-PC_NAND_defconfig b/arch/powerpc/configs/P1020RDB-PC_NAND_defconfig
index fba5377..b75f5be 100644
--- a/arch/powerpc/configs/P1020RDB-PC_NAND_defconfig
+++ b/arch/powerpc/configs/P1020RDB-PC_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1020RDB_PC_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig b/arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig
index dfa94ed..5c4f664 100644
--- a/arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1020RDB-PC_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020RDB_PC_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig b/arch/powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig
index 82abacb..98b23f2 100644
--- a/arch/powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1020RDB-PC_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020RDB_PC_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB-PD_NAND_defconfig b/arch/powerpc/configs/P1020RDB-PD_NAND_defconfig
index a807f9c..924a56d 100644
--- a/arch/powerpc/configs/P1020RDB-PD_NAND_defconfig
+++ b/arch/powerpc/configs/P1020RDB-PD_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1020RDB_PD_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig b/arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig
index bdadec4..1b30796 100644
--- a/arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1020RDB-PD_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020RDB_PD_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig b/arch/powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig
index 4b78ba2..3cd0a67 100644
--- a/arch/powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1020RDB-PD_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020RDB_PD_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1020RDB_36BIT_SDCARD_defconfig
index 47196d2..e389e76 100644
--- a/arch/powerpc/configs/P1020RDB_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1020RDB_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020RDB_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1020RDB_36BIT_SPIFLASH_defconfig
index 3fc50fb..264c556 100644
--- a/arch/powerpc/configs/P1020RDB_36BIT_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1020RDB_36BIT_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020RDB_36BIT_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB_NAND_defconfig b/arch/powerpc/configs/P1020RDB_NAND_defconfig
index ca7726f..ce9bf72 100644
--- a/arch/powerpc/configs/P1020RDB_NAND_defconfig
+++ b/arch/powerpc/configs/P1020RDB_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1020RDB_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB_SDCARD_defconfig b/arch/powerpc/configs/P1020RDB_SDCARD_defconfig
index ac425e0..71c4293 100644
--- a/arch/powerpc/configs/P1020RDB_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1020RDB_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020RDB_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig
index 0469d29..3e4413e 100644
--- a/arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1020RDB_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020RDB_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020UTM-PC_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
index cd8be1b..848a94e 100644
--- a/arch/powerpc/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020UTM_PC_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig b/arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig
index ce1272a..faa210b 100644
--- a/arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1020UTM-PC_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1020UTM_PC_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1021RDB-PC_36BIT_NAND_defconfig b/arch/powerpc/configs/P1021RDB-PC_36BIT_NAND_defconfig
index 3dec94d..60833f7 100644
--- a/arch/powerpc/configs/P1021RDB-PC_36BIT_NAND_defconfig
+++ b/arch/powerpc/configs/P1021RDB-PC_36BIT_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1021RDB_PC_36BIT_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1021RDB-PC_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
index a580b29..038fd32 100644
--- a/arch/powerpc/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1021RDB_PC_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
index 0294c49..b765a8c 100644
--- a/arch/powerpc/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1021RDB_PC_36BIT_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1021RDB-PC_NAND_defconfig b/arch/powerpc/configs/P1021RDB-PC_NAND_defconfig
index a982820..320f6d8 100644
--- a/arch/powerpc/configs/P1021RDB-PC_NAND_defconfig
+++ b/arch/powerpc/configs/P1021RDB-PC_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1021RDB_PC_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig b/arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig
index 24f52f9..b53cb1e 100644
--- a/arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1021RDB-PC_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1021RDB_PC_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig b/arch/powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig
index 50f2467..8bcc47a 100644
--- a/arch/powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1021RDB-PC_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1021RDB_PC_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig b/arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig
index 9b8c9ab..43655ba 100644
--- a/arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig
+++ b/arch/powerpc/configs/P1022DS_36BIT_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1022DS_36BIT_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1022DS_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P1022DS_36BIT_SDCARD_defconfig
index 98394e4..184c2a6 100644
--- a/arch/powerpc/configs/P1022DS_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1022DS_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1022DS_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1022DS_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P1022DS_36BIT_SPIFLASH_defconfig
index 1ba76c4..3c40b73 100644
--- a/arch/powerpc/configs/P1022DS_36BIT_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1022DS_36BIT_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1022DS_36BIT_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1022DS_NAND_defconfig b/arch/powerpc/configs/P1022DS_NAND_defconfig
index 4c01b1e..9be378a 100644
--- a/arch/powerpc/configs/P1022DS_NAND_defconfig
+++ b/arch/powerpc/configs/P1022DS_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1022DS_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1022DS_SDCARD_defconfig b/arch/powerpc/configs/P1022DS_SDCARD_defconfig
index fe42766..1d637b2 100644
--- a/arch/powerpc/configs/P1022DS_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1022DS_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1022DS_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1022DS_SPIFLASH_defconfig b/arch/powerpc/configs/P1022DS_SPIFLASH_defconfig
index 1efc008..cd0735f 100644
--- a/arch/powerpc/configs/P1022DS_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1022DS_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1022DS_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1024RDB_NAND_defconfig b/arch/powerpc/configs/P1024RDB_NAND_defconfig
index fe12fa8..6cca090 100644
--- a/arch/powerpc/configs/P1024RDB_NAND_defconfig
+++ b/arch/powerpc/configs/P1024RDB_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1024RDB_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1024RDB_SDCARD_defconfig b/arch/powerpc/configs/P1024RDB_SDCARD_defconfig
index 4fae1d4..4b6617a 100644
--- a/arch/powerpc/configs/P1024RDB_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1024RDB_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1024RDB_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig
index 5ad0965..995ecc3 100644
--- a/arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1024RDB_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1024RDB_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1025RDB_NAND_defconfig b/arch/powerpc/configs/P1025RDB_NAND_defconfig
index 2efe2c7..7482871 100644
--- a/arch/powerpc/configs/P1025RDB_NAND_defconfig
+++ b/arch/powerpc/configs/P1025RDB_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P1025RDB_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1025RDB_SDCARD_defconfig b/arch/powerpc/configs/P1025RDB_SDCARD_defconfig
index b806ab7..8661a91 100644
--- a/arch/powerpc/configs/P1025RDB_SDCARD_defconfig
+++ b/arch/powerpc/configs/P1025RDB_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1025RDB_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig
index 8dbe8bd..d2de2f9 100644
--- a/arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P1025RDB_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P1025RDB_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2010RDB_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P2010RDB_36BIT_SDCARD_defconfig
index 1c19de0..797edc6 100644
--- a/arch/powerpc/configs/P2010RDB_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P2010RDB_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2010RDB_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2010RDB_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P2010RDB_36BIT_SPIFLASH_defconfig
index 7bae556..66f6489 100644
--- a/arch/powerpc/configs/P2010RDB_36BIT_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P2010RDB_36BIT_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2010RDB_36BIT_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2010RDB_NAND_defconfig b/arch/powerpc/configs/P2010RDB_NAND_defconfig
index 993f4c1..ad0be3d 100644
--- a/arch/powerpc/configs/P2010RDB_NAND_defconfig
+++ b/arch/powerpc/configs/P2010RDB_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P2010RDB_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2010RDB_SDCARD_defconfig b/arch/powerpc/configs/P2010RDB_SDCARD_defconfig
index 8ff4349..7990896 100644
--- a/arch/powerpc/configs/P2010RDB_SDCARD_defconfig
+++ b/arch/powerpc/configs/P2010RDB_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2010RDB_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig
index ce733bf..e583f3c 100644
--- a/arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P2010RDB_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2010RDB_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB-PC_36BIT_NAND_defconfig b/arch/powerpc/configs/P2020RDB-PC_36BIT_NAND_defconfig
index a3ce8ec..7f7df68 100644
--- a/arch/powerpc/configs/P2020RDB-PC_36BIT_NAND_defconfig
+++ b/arch/powerpc/configs/P2020RDB-PC_36BIT_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P2020RDB_PC_36BIT_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB-PC_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
index de562f4..f68003e 100644
--- a/arch/powerpc/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2020RDB_PC_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
index 5b92d80..faa7e3a 100644
--- a/arch/powerpc/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2020RDB_PC_36BIT_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB-PC_NAND_defconfig b/arch/powerpc/configs/P2020RDB-PC_NAND_defconfig
index 2777a9e..ecd640c 100644
--- a/arch/powerpc/configs/P2020RDB-PC_NAND_defconfig
+++ b/arch/powerpc/configs/P2020RDB-PC_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P2020RDB_PC_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig b/arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig
index df6eac1..5bcfd66 100644
--- a/arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig
+++ b/arch/powerpc/configs/P2020RDB-PC_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2020RDB_PC_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig b/arch/powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig
index 0da2ae1..36d235f 100644
--- a/arch/powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P2020RDB-PC_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2020RDB_PC_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB_36BIT_SDCARD_defconfig b/arch/powerpc/configs/P2020RDB_36BIT_SDCARD_defconfig
index ec85289..66c3ae5 100644
--- a/arch/powerpc/configs/P2020RDB_36BIT_SDCARD_defconfig
+++ b/arch/powerpc/configs/P2020RDB_36BIT_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2020RDB_36BIT_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB_36BIT_SPIFLASH_defconfig b/arch/powerpc/configs/P2020RDB_36BIT_SPIFLASH_defconfig
index 0016176..630d69b 100644
--- a/arch/powerpc/configs/P2020RDB_36BIT_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P2020RDB_36BIT_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2020RDB_36BIT_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB_NAND_defconfig b/arch/powerpc/configs/P2020RDB_NAND_defconfig
index 6af7ea3..8778392 100644
--- a/arch/powerpc/configs/P2020RDB_NAND_defconfig
+++ b/arch/powerpc/configs/P2020RDB_NAND_defconfig
@@ -1,3 +1,5 @@
 CONFIG_SPL=y
 CONFIG_TPL=y
 CONFIG_TARGET_P2020RDB_NAND=y
+CONFIG_SPL_TEXT_BASE=0xff800000
+CONFIG_TPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB_SDCARD_defconfig b/arch/powerpc/configs/P2020RDB_SDCARD_defconfig
index 4b90e94..6472532 100644
--- a/arch/powerpc/configs/P2020RDB_SDCARD_defconfig
+++ b/arch/powerpc/configs/P2020RDB_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2020RDB_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig b/arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig
index 2611540..52b90dd 100644
--- a/arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/P2020RDB_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_P2020RDB_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xf8f81000
diff --git a/arch/powerpc/configs/T1040RDB_NAND_defconfig b/arch/powerpc/configs/T1040RDB_NAND_defconfig
index 3a1e5c1..773a9c3 100644
--- a/arch/powerpc/configs/T1040RDB_NAND_defconfig
+++ b/arch/powerpc/configs/T1040RDB_NAND_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T1040RDB_NAND=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T1040RDB_SDCARD_defconfig b/arch/powerpc/configs/T1040RDB_SDCARD_defconfig
index 7d23165..1a31288 100644
--- a/arch/powerpc/configs/T1040RDB_SDCARD_defconfig
+++ b/arch/powerpc/configs/T1040RDB_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T1040RDB_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig b/arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig
index 8843c91..bcae350 100644
--- a/arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/T1040RDB_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T1040RDB_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T1042RDB_PI_NAND_defconfig b/arch/powerpc/configs/T1042RDB_PI_NAND_defconfig
index afa44f4..d0394ee 100644
--- a/arch/powerpc/configs/T1042RDB_PI_NAND_defconfig
+++ b/arch/powerpc/configs/T1042RDB_PI_NAND_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T1042RDB_PI_NAND=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig b/arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig
index 2e67d78..76e5d744 100644
--- a/arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig
+++ b/arch/powerpc/configs/T1042RDB_PI_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T1042RDB_PI_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig b/arch/powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig
index c1e9086..5ab14ac 100644
--- a/arch/powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/T1042RDB_PI_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T1042RDB_PI_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T2080QDS_NAND_defconfig b/arch/powerpc/configs/T2080QDS_NAND_defconfig
index 3ea5f66..48da945 100644
--- a/arch/powerpc/configs/T2080QDS_NAND_defconfig
+++ b/arch/powerpc/configs/T2080QDS_NAND_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T2080QDS_NAND=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T2080QDS_SDCARD_defconfig b/arch/powerpc/configs/T2080QDS_SDCARD_defconfig
index 3854586..343d469 100644
--- a/arch/powerpc/configs/T2080QDS_SDCARD_defconfig
+++ b/arch/powerpc/configs/T2080QDS_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T2080QDS_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig b/arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig
index 95cb992..c5d7c06 100644
--- a/arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/T2080QDS_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T2080QDS_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T2080RDB_NAND_defconfig b/arch/powerpc/configs/T2080RDB_NAND_defconfig
index a768ea4..0a24008 100644
--- a/arch/powerpc/configs/T2080RDB_NAND_defconfig
+++ b/arch/powerpc/configs/T2080RDB_NAND_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T2080RDB_NAND=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T2080RDB_SDCARD_defconfig b/arch/powerpc/configs/T2080RDB_SDCARD_defconfig
index c7bb202..58b187e 100644
--- a/arch/powerpc/configs/T2080RDB_SDCARD_defconfig
+++ b/arch/powerpc/configs/T2080RDB_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T2080RDB_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig b/arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig
index dc0119c..d660996 100644
--- a/arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/T2080RDB_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T2080RDB_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T2081QDS_NAND_defconfig b/arch/powerpc/configs/T2081QDS_NAND_defconfig
index 353c8fe..da1f7e9 100644
--- a/arch/powerpc/configs/T2081QDS_NAND_defconfig
+++ b/arch/powerpc/configs/T2081QDS_NAND_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T2081QDS_NAND=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T2081QDS_SDCARD_defconfig b/arch/powerpc/configs/T2081QDS_SDCARD_defconfig
index 60b42aa..a11d89e 100644
--- a/arch/powerpc/configs/T2081QDS_SDCARD_defconfig
+++ b/arch/powerpc/configs/T2081QDS_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T2081QDS_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig b/arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig
index e8d37d1..022e066 100644
--- a/arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig
+++ b/arch/powerpc/configs/T2081QDS_SPIFLASH_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T2081QDS_SPIFLASH=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T4160QDS_NAND_defconfig b/arch/powerpc/configs/T4160QDS_NAND_defconfig
index a31f929..e09d66d 100644
--- a/arch/powerpc/configs/T4160QDS_NAND_defconfig
+++ b/arch/powerpc/configs/T4160QDS_NAND_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T4160QDS_NAND=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T4160QDS_SDCARD_defconfig b/arch/powerpc/configs/T4160QDS_SDCARD_defconfig
index e5c5a55..57db9d8 100644
--- a/arch/powerpc/configs/T4160QDS_SDCARD_defconfig
+++ b/arch/powerpc/configs/T4160QDS_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T4160QDS_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T4240QDS_NAND_defconfig b/arch/powerpc/configs/T4240QDS_NAND_defconfig
index 3d8b2f3..81c41a8 100644
--- a/arch/powerpc/configs/T4240QDS_NAND_defconfig
+++ b/arch/powerpc/configs/T4240QDS_NAND_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T4240QDS_NAND=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/T4240QDS_SDCARD_defconfig b/arch/powerpc/configs/T4240QDS_SDCARD_defconfig
index 66be868..c4a6bd3 100644
--- a/arch/powerpc/configs/T4240QDS_SDCARD_defconfig
+++ b/arch/powerpc/configs/T4240QDS_SDCARD_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_T4240QDS_SDCARD=y
+CONFIG_SPL_TEXT_BASE=0xfffd8000
diff --git a/arch/powerpc/configs/a3m071_defconfig b/arch/powerpc/configs/a3m071_defconfig
index 7fe1942..63dd5b1 100644
--- a/arch/powerpc/configs/a3m071_defconfig
+++ b/arch/powerpc/configs/a3m071_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_A3M071=y
+CONFIG_SPL_TEXT_BASE=0xfc000000
diff --git a/arch/powerpc/configs/a4m2k_defconfig b/arch/powerpc/configs/a4m2k_defconfig
index d95d2a0..1069af1 100644
--- a/arch/powerpc/configs/a4m2k_defconfig
+++ b/arch/powerpc/configs/a4m2k_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_A4M2K=y
+CONFIG_SPL_TEXT_BASE=0xfc000000
diff --git a/arch/powerpc/configs/lcd4_lwmon5_defconfig b/arch/powerpc/configs/lcd4_lwmon5_defconfig
index 41e09fa..209aa04 100644
--- a/arch/powerpc/configs/lcd4_lwmon5_defconfig
+++ b/arch/powerpc/configs/lcd4_lwmon5_defconfig
@@ -1,2 +1,3 @@
 CONFIG_SPL=y
 CONFIG_TARGET_LCD4_LWMON5=y
+CONFIG_SPL_TEXT_BASE=0xffff0000
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [U-Boot] [RFCv2b PATCH 14/14] remove CONFIG_{SPL, TPL}_TEXT_BASE from config headers
  2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
                   ` (12 preceding siblings ...)
  2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 13/14] move CONFIG_{SPL, TPL}_TEXT_BASE to defconfig Masahiro Yamada
@ 2014-05-27  6:27 ` Masahiro Yamada
  13 siblings, 0 replies; 15+ messages in thread
From: Masahiro Yamada @ 2014-05-27  6:27 UTC (permalink / raw)
  To: u-boot

All the CONFIG_SPL_TEXT_BASE and CONFIG_TPL_TEXT_BASE definition
were moved to defconfig.
Now we can clean-up config headers.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 include/config_fallbacks.h             | 5 -----
 include/configs/B4860QDS.h             | 1 -
 include/configs/BSC9131RDB.h           | 1 -
 include/configs/BSC9132QDS.h           | 1 -
 include/configs/C29XPCIE.h             | 2 --
 include/configs/P1010RDB.h             | 5 -----
 include/configs/P1022DS.h              | 4 ----
 include/configs/T104xRDB.h             | 1 -
 include/configs/T208xQDS.h             | 1 -
 include/configs/T208xRDB.h             | 1 -
 include/configs/T4240QDS.h             | 1 -
 include/configs/a3m071.h               | 1 -
 include/configs/am335x_igep0033.h      | 1 -
 include/configs/am3517_crane.h         | 1 -
 include/configs/am3517_evm.h           | 1 -
 include/configs/am43xx_evm.h           | 1 -
 include/configs/apf27.h                | 1 -
 include/configs/arndale.h              | 1 -
 include/configs/bur_am335x_common.h    | 1 -
 include/configs/cam_enc_4xx.h          | 1 -
 include/configs/cm_t35.h               | 1 -
 include/configs/da850evm.h             | 1 -
 include/configs/devkit8000.h           | 1 -
 include/configs/exynos5250-dt.h        | 1 -
 include/configs/hawkboard.h            | 1 -
 include/configs/ipam390.h              | 1 -
 include/configs/k2hk_evm.h             | 1 -
 include/configs/lwmon5.h               | 1 -
 include/configs/m53evk.h               | 1 -
 include/configs/mcx.h                  | 1 -
 include/configs/mx31pdk.h              | 1 -
 include/configs/mxs.h                  | 1 -
 include/configs/omap3_evm_common.h     | 1 -
 include/configs/origen.h               | 1 -
 include/configs/p1_p2_rdb_pc.h         | 4 ----
 include/configs/palmtreo680.h          | 1 -
 include/configs/pcm051.h               | 1 -
 include/configs/sama5d3xek.h           | 1 -
 include/configs/siemens-am33x-common.h | 1 -
 include/configs/smdk5420.h             | 6 ------
 include/configs/smdkv310.h             | 1 -
 include/configs/socfpga_cyclone5.h     | 3 ---
 include/configs/tam3517-common.h       | 1 -
 include/configs/tao3530.h              | 1 -
 include/configs/tegra114-common.h      | 1 -
 include/configs/tegra124-common.h      | 1 -
 include/configs/tegra20-common.h       | 1 -
 include/configs/tegra30-common.h       | 1 -
 include/configs/ti814x_evm.h           | 1 -
 include/configs/ti816x_evm.h           | 1 -
 include/configs/ti_am335x_common.h     | 1 -
 include/configs/ti_omap3_common.h      | 1 -
 include/configs/ti_omap4_common.h      | 1 -
 include/configs/ti_omap5_common.h      | 1 -
 include/configs/tricorder.h            | 1 -
 include/configs/tx25.h                 | 1 -
 include/configs/vpac270.h              | 1 -
 include/configs/woodburn_sd.h          | 1 -
 include/configs/x600.h                 | 1 -
 include/configs/zynq-common.h          | 3 ---
 60 files changed, 84 deletions(-)

diff --git a/include/config_fallbacks.h b/include/config_fallbacks.h
index 11f375c..b304a41 100644
--- a/include/config_fallbacks.h
+++ b/include/config_fallbacks.h
@@ -83,9 +83,4 @@
 #define CONFIG_SYS_HZ		1000
 #endif
 
-#ifdef CONFIG_TPL_BUILD
-# undef CONFIG_SPL_TEXT_BASE
-# define CONFIG_SPL_TEXT_BASE CONFIG_TPL_TEXT_BASE
-#endif
-
 #endif	/* __CONFIG_FALLBACKS_H */
diff --git a/include/configs/B4860QDS.h b/include/configs/B4860QDS.h
index c4eb50d..f15ae30 100644
--- a/include/configs/B4860QDS.h
+++ b/include/configs/B4860QDS.h
@@ -34,7 +34,6 @@
 #define CONFIG_SPL_DRIVERS_MISC_SUPPORT
 #define CONFIG_FSL_LAW                 /* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE		0x00201000
-#define CONFIG_SPL_TEXT_BASE		0xFFFD8000
 #define CONFIG_SPL_PAD_TO		0x40000
 #define CONFIG_SPL_MAX_SIZE		0x28000
 #define RESET_VECTOR_OFFSET		0x27FFC
diff --git a/include/configs/BSC9131RDB.h b/include/configs/BSC9131RDB.h
index 56a3e94..8bbb696 100644
--- a/include/configs/BSC9131RDB.h
+++ b/include/configs/BSC9131RDB.h
@@ -33,7 +33,6 @@
 #define CONFIG_SPL_TARGET		"u-boot-with-spl.bin"
 
 #define CONFIG_SYS_TEXT_BASE		0x00201000
-#define CONFIG_SPL_TEXT_BASE		0xFFFFE000
 #define CONFIG_SPL_MAX_SIZE		8192
 #define CONFIG_SPL_RELOC_TEXT_BASE	0x00100000
 #define CONFIG_SPL_RELOC_STACK		0x00100000
diff --git a/include/configs/BSC9132QDS.h b/include/configs/BSC9132QDS.h
index 4089b33..7675502 100644
--- a/include/configs/BSC9132QDS.h
+++ b/include/configs/BSC9132QDS.h
@@ -49,7 +49,6 @@
 #define CONFIG_SPL_TARGET		"u-boot-with-spl.bin"
 
 #define CONFIG_SYS_TEXT_BASE		0x00201000
-#define CONFIG_SPL_TEXT_BASE		0xFFFFE000
 #define CONFIG_SPL_MAX_SIZE		8192
 #define CONFIG_SPL_RELOC_TEXT_BASE	0x00100000
 #define CONFIG_SPL_RELOC_STACK		0x00100000
diff --git a/include/configs/C29XPCIE.h b/include/configs/C29XPCIE.h
index 51e7fcb..0ae025e 100644
--- a/include/configs/C29XPCIE.h
+++ b/include/configs/C29XPCIE.h
@@ -38,7 +38,6 @@
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_COMMON_INIT_DDR
 #define CONFIG_SPL_MAX_SIZE		(128 << 10)
-#define CONFIG_TPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SYS_MPC85XX_NO_RESETVEC
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(832 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	(0x11000000)
@@ -50,7 +49,6 @@
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_NAND_MINIMAL
 #define CONFIG_SPL_FLUSH_IMAGE
-#define CONFIG_SPL_TEXT_BASE		0xff800000
 #define CONFIG_SPL_MAX_SIZE		8192
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(128 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	0xf8f80000
diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h
index afd8945..e814581 100644
--- a/include/configs/P1010RDB.h
+++ b/include/configs/P1010RDB.h
@@ -34,7 +34,6 @@
 #define CONFIG_SPL_I2C_SUPPORT
 #define CONFIG_FSL_LAW                 /* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE		0x11001000
-#define CONFIG_SPL_TEXT_BASE		0xD0001000
 #define CONFIG_SPL_PAD_TO		0x18000
 #define CONFIG_SPL_MAX_SIZE		(96 * 1024)
 #define CONFIG_SYS_MMC_U_BOOT_SIZE	(512 << 10)
@@ -69,7 +68,6 @@
 #define CONFIG_SPL_I2C_SUPPORT
 #define CONFIG_FSL_LAW         /* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE			0x11001000
-#define CONFIG_SPL_TEXT_BASE			0xD0001000
 #define CONFIG_SPL_PAD_TO			0x18000
 #define CONFIG_SPL_MAX_SIZE			(96 * 1024)
 #define CONFIG_SYS_SPI_FLASH_U_BOOT_SIZE	(512 << 10)
@@ -95,7 +93,6 @@
 #define CONFIG_SPL_TARGET		"u-boot-with-spl.bin"
 
 #define CONFIG_SYS_TEXT_BASE		0x00201000
-#define CONFIG_SPL_TEXT_BASE		0xFFFFE000
 #define CONFIG_SPL_MAX_SIZE		8192
 #define CONFIG_SPL_RELOC_TEXT_BASE	0x00100000
 #define CONFIG_SPL_RELOC_STACK		0x00100000
@@ -119,7 +116,6 @@
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_COMMON_INIT_DDR
 #define CONFIG_SPL_MAX_SIZE		(128 << 10)
-#define CONFIG_TPL_TEXT_BASE		0xD0001000
 #define CONFIG_SYS_MPC85XX_NO_RESETVEC
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(576 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	(0x11000000)
@@ -131,7 +127,6 @@
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_NAND_MINIMAL
 #define CONFIG_SPL_FLUSH_IMAGE
-#define CONFIG_SPL_TEXT_BASE		0xff800000
 #define CONFIG_SPL_MAX_SIZE		8192
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(128 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	0xD0000000
diff --git a/include/configs/P1022DS.h b/include/configs/P1022DS.h
index 4683900..72bdf7e 100644
--- a/include/configs/P1022DS.h
+++ b/include/configs/P1022DS.h
@@ -28,7 +28,6 @@
 #define CONFIG_SPL_I2C_SUPPORT
 #define CONFIG_FSL_LAW			/* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE		0x11001000
-#define CONFIG_SPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SPL_PAD_TO		0x20000
 #define CONFIG_SPL_MAX_SIZE		(128 * 1024)
 #define CONFIG_SYS_MMC_U_BOOT_SIZE	(768 << 10)
@@ -57,7 +56,6 @@
 #define CONFIG_SPL_I2C_SUPPORT
 #define CONFIG_FSL_LAW		/* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE		0x11001000
-#define CONFIG_SPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SPL_PAD_TO		0x20000
 #define CONFIG_SPL_MAX_SIZE		(128 * 1024)
 #define CONFIG_SYS_SPI_FLASH_U_BOOT_SIZE	(768 << 10)
@@ -90,7 +88,6 @@
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_COMMON_INIT_DDR
 #define CONFIG_SPL_MAX_SIZE		(128 << 10)
-#define CONFIG_TPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SYS_MPC85XX_NO_RESETVEC
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(832 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	(0x11000000)
@@ -101,7 +98,6 @@
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_FLUSH_IMAGE
-#define CONFIG_SPL_TEXT_BASE		0xff800000
 #define CONFIG_SPL_MAX_SIZE		4096
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(128 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	0xf8f80000
diff --git a/include/configs/T104xRDB.h b/include/configs/T104xRDB.h
index d7d36ea..ff46565 100644
--- a/include/configs/T104xRDB.h
+++ b/include/configs/T104xRDB.h
@@ -33,7 +33,6 @@
 #define CONFIG_SPL_DRIVERS_MISC_SUPPORT
 #define CONFIG_FSL_LAW                 /* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE		0x00201000
-#define CONFIG_SPL_TEXT_BASE		0xFFFD8000
 #define CONFIG_SPL_PAD_TO		0x40000
 #define CONFIG_SPL_MAX_SIZE		0x28000
 #ifdef CONFIG_SPL_BUILD
diff --git a/include/configs/T208xQDS.h b/include/configs/T208xQDS.h
index 0eb8ac1..d0ce7cc 100644
--- a/include/configs/T208xQDS.h
+++ b/include/configs/T208xQDS.h
@@ -64,7 +64,6 @@
 #define CONFIG_SPL_DRIVERS_MISC_SUPPORT
 #define CONFIG_FSL_LAW			/* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE		0x00201000
-#define CONFIG_SPL_TEXT_BASE		0xFFFD8000
 #define CONFIG_SPL_PAD_TO		0x40000
 #define CONFIG_SPL_MAX_SIZE		0x28000
 #define RESET_VECTOR_OFFSET		0x27FFC
diff --git a/include/configs/T208xRDB.h b/include/configs/T208xRDB.h
index 7ec7385..9dd69f2 100644
--- a/include/configs/T208xRDB.h
+++ b/include/configs/T208xRDB.h
@@ -53,7 +53,6 @@
 #define CONFIG_SPL_DRIVERS_MISC_SUPPORT
 #define CONFIG_FSL_LAW			/* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE		0x00201000
-#define CONFIG_SPL_TEXT_BASE		0xFFFD8000
 #define CONFIG_SPL_PAD_TO		0x40000
 #define CONFIG_SPL_MAX_SIZE		0x28000
 #define RESET_VECTOR_OFFSET		0x27FFC
diff --git a/include/configs/T4240QDS.h b/include/configs/T4240QDS.h
index 2371c8f..89d325e 100644
--- a/include/configs/T4240QDS.h
+++ b/include/configs/T4240QDS.h
@@ -36,7 +36,6 @@
 #define CONFIG_SPL_DRIVERS_MISC_SUPPORT
 #define CONFIG_FSL_LAW                 /* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE		0x00201000
-#define CONFIG_SPL_TEXT_BASE		0xFFFD8000
 #define CONFIG_SPL_PAD_TO		0x40000
 #define CONFIG_SPL_MAX_SIZE		0x28000
 #define RESET_VECTOR_OFFSET		0x27FFC
diff --git a/include/configs/a3m071.h b/include/configs/a3m071.h
index a4050f3..22c5ca7 100644
--- a/include/configs/a3m071.h
+++ b/include/configs/a3m071.h
@@ -415,7 +415,6 @@
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NOR_SUPPORT
-#define CONFIG_SPL_TEXT_BASE	0xfc000000
 #define	CONFIG_SPL_START_S_PATH	"arch/powerpc/cpu/mpc5xxx"
 #define CONFIG_SPL_LDSCRIPT	"arch/powerpc/cpu/mpc5xxx/u-boot-spl.lds"
 #define CONFIG_SPL_LIBCOMMON_SUPPORT	/* image.c */
diff --git a/include/configs/am335x_igep0033.h b/include/configs/am335x_igep0033.h
index dcded0a..cba6dcc 100644
--- a/include/configs/am335x_igep0033.h
+++ b/include/configs/am335x_igep0033.h
@@ -217,7 +217,6 @@
  * We limit our size to the ROM-defined downloaded image area, and use the
  * rest of the space for stack.
  */
-#define CONFIG_SPL_TEXT_BASE		0x402F0400
 #define CONFIG_SPL_MAX_SIZE		(0x4030C000 - CONFIG_SPL_TEXT_BASE)
 #define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR
 
diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h
index b08bf9f..a48bf60 100644
--- a/include/configs/am3517_crane.h
+++ b/include/configs/am3517_crane.h
@@ -301,7 +301,6 @@
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
-#define CONFIG_SPL_TEXT_BASE		0x40200800
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
index f030bdd..d3d5dee 100644
--- a/include/configs/am3517_evm.h
+++ b/include/configs/am3517_evm.h
@@ -310,7 +310,6 @@
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
-#define CONFIG_SPL_TEXT_BASE		0x40200800
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
diff --git a/include/configs/am43xx_evm.h b/include/configs/am43xx_evm.h
index d5e6c4b..53a67b9 100644
--- a/include/configs/am43xx_evm.h
+++ b/include/configs/am43xx_evm.h
@@ -33,7 +33,6 @@
 #define CONFIG_SYS_I2C_MULTI_EEPROMS
 
 /* SPL defines. */
-#define CONFIG_SPL_TEXT_BASE		0x40300350
 #define CONFIG_SPL_MAX_SIZE		(220 << 10)	/* 220KB */
 #define CONFIG_SYS_SPL_ARGS_ADDR	(CONFIG_SYS_SDRAM_BASE + \
 					 (128 << 20))
diff --git a/include/configs/apf27.h b/include/configs/apf27.h
index 4424c30..8a75a21 100644
--- a/include/configs/apf27.h
+++ b/include/configs/apf27.h
@@ -40,7 +40,6 @@
 #define CONFIG_SPL_TARGET	"u-boot-with-spl.bin"
 #define CONFIG_SPL_LDSCRIPT	"arch/$(ARCH)/cpu/u-boot-spl.lds"
 #define CONFIG_SPL_MAX_SIZE	2048
-#define CONFIG_SPL_TEXT_BASE    0xA0000000
 
 /* NAND boot config */
 #define CONFIG_SPL_NAND_SUPPORT
diff --git a/include/configs/arndale.h b/include/configs/arndale.h
index dc0d8c9..a68c47f 100644
--- a/include/configs/arndale.h
+++ b/include/configs/arndale.h
@@ -127,7 +127,6 @@
 
 /* specific .lds file */
 #define CONFIG_SPL_LDSCRIPT	"board/samsung/common/exynos-uboot-spl.lds"
-#define CONFIG_SPL_TEXT_BASE	0x02023400
 #define CONFIG_SPL_MAX_FOOTPRINT	(14 * 1024)
 
 #define CONFIG_BOOTCOMMAND	"mmc read 40007000 451 2000; bootm 40007000"
diff --git a/include/configs/bur_am335x_common.h b/include/configs/bur_am335x_common.h
index 92f49fe..81c227a 100644
--- a/include/configs/bur_am335x_common.h
+++ b/include/configs/bur_am335x_common.h
@@ -63,7 +63,6 @@
  * supports X-MODEM loading via UART, and we leverage this and then use
  * Y-MODEM to load u-boot.img, when booted over UART.
  */
-#define CONFIG_SPL_TEXT_BASE		0x402F0400
 #define CONFIG_SPL_MAX_SIZE		(0x4030B800 - CONFIG_SPL_TEXT_BASE)
 
 /*
diff --git a/include/configs/cam_enc_4xx.h b/include/configs/cam_enc_4xx.h
index 5f30279..88bed73 100644
--- a/include/configs/cam_enc_4xx.h
+++ b/include/configs/cam_enc_4xx.h
@@ -213,7 +213,6 @@
 #define CONFIG_SPL_LDSCRIPT		"$(BOARDDIR)/u-boot-spl.lds"
 #define CONFIG_SPL_STACK		(0x00010000 + 0x7f00)
 
-#define CONFIG_SPL_TEXT_BASE		0x00000020 /*CONFIG_SYS_SRAM_START*/
 /* Provide@least 16MB spacing between us and the Linux Kernel image */
 #define CONFIG_SPL_PAD_TO		12320
 #define CONFIG_SPL_MAX_FOOTPRINT	12288
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index 64b9cd8..ad9899f 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -367,7 +367,6 @@
 #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE
 #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000
 
-#define CONFIG_SPL_TEXT_BASE		0x40200800
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
diff --git a/include/configs/da850evm.h b/include/configs/da850evm.h
index 1252d7a..c1896b3 100644
--- a/include/configs/da850evm.h
+++ b/include/configs/da850evm.h
@@ -383,7 +383,6 @@
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_LDSCRIPT	"board/$(BOARDDIR)/u-boot-spl-da850evm.lds"
 #define CONFIG_SPL_STACK	0x8001ff00
-#define CONFIG_SPL_TEXT_BASE	0x80000000
 #define CONFIG_SPL_MAX_FOOTPRINT	32768
 #define CONFIG_SPL_PAD_TO	32768
 #endif
diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h
index e58da5a..91679b9 100644
--- a/include/configs/devkit8000.h
+++ b/include/configs/devkit8000.h
@@ -305,7 +305,6 @@
 #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION    1
 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
 
-#define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
diff --git a/include/configs/exynos5250-dt.h b/include/configs/exynos5250-dt.h
index b7ff472..931e82e 100644
--- a/include/configs/exynos5250-dt.h
+++ b/include/configs/exynos5250-dt.h
@@ -33,7 +33,6 @@
 #define EXYNOS_USB_SECONDARY_BOOT	0xfeed0002
 #define EXYNOS_IRAM_SECONDARY_BASE	0x02020018
 
-#define CONFIG_SPL_TEXT_BASE	0x02023400
 
 #define CONFIG_BOOTCOMMAND	"mmc read 40007000 451 2000; bootm 40007000"
 
diff --git a/include/configs/hawkboard.h b/include/configs/hawkboard.h
index 8188c7b..0aec15c 100644
--- a/include/configs/hawkboard.h
+++ b/include/configs/hawkboard.h
@@ -56,7 +56,6 @@
 #define CONFIG_SPL_LIBGENERIC_SUPPORT	/* for udelay and __div64_32 for NAND */
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_LDSCRIPT		"board/$(BOARDDIR)/u-boot-spl-hawk.lds"
-#define CONFIG_SPL_TEXT_BASE		0xc1080000
 #define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR
 
 /*
diff --git a/include/configs/ipam390.h b/include/configs/ipam390.h
index 98e819b..992545d 100644
--- a/include/configs/ipam390.h
+++ b/include/configs/ipam390.h
@@ -308,7 +308,6 @@
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 #define CONFIG_SPL_LDSCRIPT	"board/$(BOARDDIR)/u-boot-spl-ipam390.lds"
 #define CONFIG_SPL_STACK	0x8001ff00
-#define CONFIG_SPL_TEXT_BASE	0x80000000
 #define CONFIG_SPL_MAX_SIZE	0x20000
 #define CONFIG_SPL_MAX_FOOTPRINT	32768
 
diff --git a/include/configs/k2hk_evm.h b/include/configs/k2hk_evm.h
index dde7329..4869f55 100644
--- a/include/configs/k2hk_evm.h
+++ b/include/configs/k2hk_evm.h
@@ -41,7 +41,6 @@
 					 GENERATED_GBL_DATA_SIZE)
 
 /* SPL SPI Loader Configuration */
-#define CONFIG_SPL_TEXT_BASE            0x0c200000
 #define CONFIG_SPL_PAD_TO               65536
 #define CONFIG_SPL_MAX_SIZE             (CONFIG_SPL_PAD_TO - 8)
 #define CONFIG_SPL_BSS_START_ADDR       (CONFIG_SPL_TEXT_BASE + \
diff --git a/include/configs/lwmon5.h b/include/configs/lwmon5.h
index 58e7295..4767de5 100644
--- a/include/configs/lwmon5.h
+++ b/include/configs/lwmon5.h
@@ -668,7 +668,6 @@
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NOR_SUPPORT
-#define CONFIG_SPL_TEXT_BASE		0xffff0000 /* last 64 KiB for SPL */
 #define CONFIG_SYS_SPL_MAX_LEN		(64 << 10)
 #define CONFIG_UBOOT_PAD_TO		458752	/* decimal for 'dd' */
 #define	CONFIG_SPL_START_S_PATH	"arch/powerpc/cpu/ppc4xx"
diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h
index fb9ddcd..9769123 100644
--- a/include/configs/m53evk.h
+++ b/include/configs/m53evk.h
@@ -239,7 +239,6 @@
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TARGET		"u-boot-with-nand-spl.imx"
 #define CONFIG_SPL_BOARD_INIT
-#define CONFIG_SPL_TEXT_BASE		0x70008000
 #define CONFIG_SPL_PAD_TO		0x8000
 #define CONFIG_SPL_STACK		0x70004000
 #define CONFIG_SPL_GPIO_SUPPORT
diff --git a/include/configs/mcx.h b/include/configs/mcx.h
index da1bf32..b050129 100644
--- a/include/configs/mcx.h
+++ b/include/configs/mcx.h
@@ -366,7 +366,6 @@
 #define CONFIG_SPL_NAND_ECC
 #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds"
 
-#define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
diff --git a/include/configs/mx31pdk.h b/include/configs/mx31pdk.h
index f796a41..8d94b0c 100644
--- a/include/configs/mx31pdk.h
+++ b/include/configs/mx31pdk.h
@@ -35,7 +35,6 @@
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 
-#define CONFIG_SPL_TEXT_BASE	0x87dc0000
 #define CONFIG_SYS_TEXT_BASE	0x87e00000
 
 #ifndef CONFIG_SPL_BUILD
diff --git a/include/configs/mxs.h b/include/configs/mxs.h
index 5f4e48e..6f57081 100644
--- a/include/configs/mxs.h
+++ b/include/configs/mxs.h
@@ -89,7 +89,6 @@
  * IVT and CST to 0x8000, so we don't need to waste the subsequent 4 KiB.
  */
 #define CONFIG_SYS_TEXT_BASE		0x40002000
-#define CONFIG_SPL_TEXT_BASE		0x00001000
 
 /* U-Boot general configuration */
 #define CONFIG_SYS_LONGHELP
diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h
index 4150298..5160ab8 100644
--- a/include/configs/omap3_evm_common.h
+++ b/include/configs/omap3_evm_common.h
@@ -261,7 +261,6 @@
 
 /* Defines for SPL */
 #define CONFIG_SPL_FRAMEWORK
-#define CONFIG_SPL_TEXT_BASE		0x40200800
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
diff --git a/include/configs/origen.h b/include/configs/origen.h
index 5d24916..4f4cfc0 100644
--- a/include/configs/origen.h
+++ b/include/configs/origen.h
@@ -66,7 +66,6 @@
 
 /* MMC SPL */
 #define COPY_BL2_FNPTR_ADDR	0x02020030
-#define CONFIG_SPL_TEXT_BASE	0x02021410
 
 #define CONFIG_BOOTCOMMAND	"fatload mmc 0 40007000 uImage; bootm 40007000"
 
diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h
index 0d70ec1..6e36585 100644
--- a/include/configs/p1_p2_rdb_pc.h
+++ b/include/configs/p1_p2_rdb_pc.h
@@ -160,7 +160,6 @@
 #define CONFIG_SPL_I2C_SUPPORT
 #define CONFIG_FSL_LAW                 /* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE		0x11001000
-#define CONFIG_SPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SPL_PAD_TO		0x20000
 #define CONFIG_SPL_MAX_SIZE		(128 * 1024)
 #define CONFIG_SYS_MMC_U_BOOT_SIZE	(768 << 10)
@@ -189,7 +188,6 @@
 #define CONFIG_SPL_I2C_SUPPORT
 #define CONFIG_FSL_LAW         /* Use common FSL init code */
 #define CONFIG_SYS_TEXT_BASE		0x11001000
-#define CONFIG_SPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SPL_PAD_TO		0x20000
 #define CONFIG_SPL_MAX_SIZE		(128 * 1024)
 #define CONFIG_SYS_SPI_FLASH_U_BOOT_SIZE	(768 << 10)
@@ -218,7 +216,6 @@
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_COMMON_INIT_DDR
 #define CONFIG_SPL_MAX_SIZE		(128 << 10)
-#define CONFIG_TPL_TEXT_BASE		0xf8f81000
 #define CONFIG_SYS_MPC85XX_NO_RESETVEC
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(832 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	(0x11000000)
@@ -230,7 +227,6 @@
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_FLUSH_IMAGE
 #define CONFIG_SPL_TARGET		"u-boot-with-spl.bin"
-#define CONFIG_SPL_TEXT_BASE		0xff800000
 #define CONFIG_SPL_MAX_SIZE		4096
 #define CONFIG_SYS_NAND_U_BOOT_SIZE	(128 << 10)
 #define CONFIG_SYS_NAND_U_BOOT_DST	0xf8f80000
diff --git a/include/configs/palmtreo680.h b/include/configs/palmtreo680.h
index 6490be5..c5468ef 100644
--- a/include/configs/palmtreo680.h
+++ b/include/configs/palmtreo680.h
@@ -205,7 +205,6 @@
 /*
  * SPL
  */
-#define CONFIG_SPL_TEXT_BASE    0xa1700000 /* IPL loads SPL here */
 #define CONFIG_SPL_STACK        0x5c040000 /* end of internal SRAM */
 #define CONFIG_SPL_NAND_SUPPORT /* build libnand for spl */
 #define CONFIG_SPL_NAND_DOCG4   /* use lean docg4 nand spl driver */
diff --git a/include/configs/pcm051.h b/include/configs/pcm051.h
index dcf5537..3391626 100644
--- a/include/configs/pcm051.h
+++ b/include/configs/pcm051.h
@@ -204,7 +204,6 @@
  * We limit our size to the ROM-defined downloaded image area, and use the
  * rest of the space for stack.
  */
-#define CONFIG_SPL_TEXT_BASE		0x402F0400
 #define CONFIG_SPL_MAX_SIZE		(0x4030C000 - CONFIG_SPL_TEXT_BASE)
 #define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR
 
diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h
index 09df128..4d47eae 100644
--- a/include/configs/sama5d3xek.h
+++ b/include/configs/sama5d3xek.h
@@ -244,7 +244,6 @@
 
 /* SPL */
 #define CONFIG_SPL_FRAMEWORK
-#define CONFIG_SPL_TEXT_BASE		0x300000
 #define CONFIG_SPL_MAX_SIZE		0x10000
 #define CONFIG_SPL_BSS_START_ADDR	0x20000000
 #define CONFIG_SPL_BSS_MAX_SIZE		0x80000
diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h
index b8fb77e..1f5a467 100644
--- a/include/configs/siemens-am33x-common.h
+++ b/include/configs/siemens-am33x-common.h
@@ -140,7 +140,6 @@
 
 /* Defines for SPL */
 #define CONFIG_SPL_FRAMEWORK
-#define CONFIG_SPL_TEXT_BASE		0x402F0400
 #define CONFIG_SPL_MAX_SIZE		(101 * 1024)
 #define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR
 
diff --git a/include/configs/smdk5420.h b/include/configs/smdk5420.h
index 58f706a..3f8e13b 100644
--- a/include/configs/smdk5420.h
+++ b/include/configs/smdk5420.h
@@ -31,12 +31,6 @@
 /* select serial console configuration */
 #define CONFIG_SERIAL3			/* use SERIAL 3 */
 
-#ifdef CONFIG_VAR_SIZE_SPL
-#define CONFIG_SPL_TEXT_BASE		0x02024410
-#else
-#define CONFIG_SPL_TEXT_BASE	0x02024400
-#endif
-
 #define CONFIG_BOOTCOMMAND	"mmc read 20007000 451 2000; bootm 20007000"
 
 #define CONFIG_SYS_PROMPT		"SMDK5420 # "
diff --git a/include/configs/smdkv310.h b/include/configs/smdkv310.h
index 048c178..eb69529 100644
--- a/include/configs/smdkv310.h
+++ b/include/configs/smdkv310.h
@@ -79,7 +79,6 @@
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #define COPY_BL2_FNPTR_ADDR	0x00002488
 
-#define CONFIG_SPL_TEXT_BASE	0x02021410
 
 #define CONFIG_BOOTCOMMAND	"fatload mmc 0 40007000 uImage; bootm 40007000"
 
diff --git a/include/configs/socfpga_cyclone5.h b/include/configs/socfpga_cyclone5.h
index cebb187..6b4f098 100644
--- a/include/configs/socfpga_cyclone5.h
+++ b/include/configs/socfpga_cyclone5.h
@@ -212,9 +212,6 @@
 /* Enable building of SPL globally */
 #define CONFIG_SPL_FRAMEWORK
 
-/* TEXT_BASE for linking the SPL binary */
-#define CONFIG_SPL_TEXT_BASE		0xFFFF0000
-
 /* Stack size for SPL */
 #define CONFIG_SPL_STACK_SIZE		(4 * 1024)
 
diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
index aab7228..80fb4a0 100644
--- a/include/configs/tam3517-common.h
+++ b/include/configs/tam3517-common.h
@@ -238,7 +238,6 @@
 #define CONFIG_SPL_NAND_ECC
 #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds"
 
-#define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
diff --git a/include/configs/tao3530.h b/include/configs/tao3530.h
index a58db41..3be0a62 100644
--- a/include/configs/tao3530.h
+++ b/include/configs/tao3530.h
@@ -350,7 +350,6 @@
 #define CONFIG_SYS_NAND_U_BOOT_START	CONFIG_SYS_TEXT_BASE
 #define CONFIG_SYS_NAND_U_BOOT_OFFS	0x80000
 
-#define CONFIG_SPL_TEXT_BASE		0x40200800
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
diff --git a/include/configs/tegra114-common.h b/include/configs/tegra114-common.h
index 555c237..95cbc3b 100644
--- a/include/configs/tegra114-common.h
+++ b/include/configs/tegra114-common.h
@@ -72,7 +72,6 @@
 	"ramdisk_addr_r=0x82100000\0"
 
 /* Defines for SPL */
-#define CONFIG_SPL_TEXT_BASE		0x80108000
 #define CONFIG_SYS_SPL_MALLOC_START	0x80090000
 #define CONFIG_SPL_STACK		0x800ffffc
 
diff --git a/include/configs/tegra124-common.h b/include/configs/tegra124-common.h
index 61e5026..de5266a 100644
--- a/include/configs/tegra124-common.h
+++ b/include/configs/tegra124-common.h
@@ -64,7 +64,6 @@
 	"ramdisk_addr_r=0x82100000\0"
 
 /* Defines for SPL */
-#define CONFIG_SPL_TEXT_BASE		0x80108000
 #define CONFIG_SYS_SPL_MALLOC_START	0x80090000
 #define CONFIG_SPL_STACK		0x800ffffc
 
diff --git a/include/configs/tegra20-common.h b/include/configs/tegra20-common.h
index 21bf977..d0ab515 100644
--- a/include/configs/tegra20-common.h
+++ b/include/configs/tegra20-common.h
@@ -70,7 +70,6 @@
 	"ramdisk_addr_r=0x02100000\0"
 
 /* Defines for SPL */
-#define CONFIG_SPL_TEXT_BASE		0x00108000
 #define CONFIG_SYS_SPL_MALLOC_START	0x00090000
 #define CONFIG_SPL_STACK		0x000ffffc
 
diff --git a/include/configs/tegra30-common.h b/include/configs/tegra30-common.h
index 443c842..e127ebb 100644
--- a/include/configs/tegra30-common.h
+++ b/include/configs/tegra30-common.h
@@ -69,7 +69,6 @@
 	"ramdisk_addr_r=0x82100000\0"
 
 /* Defines for SPL */
-#define CONFIG_SPL_TEXT_BASE		0x80108000
 #define CONFIG_SYS_SPL_MALLOC_START	0x80090000
 #define CONFIG_SPL_STACK		0x800ffffc
 
diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h
index a55bde2..1f9b517 100644
--- a/include/configs/ti814x_evm.h
+++ b/include/configs/ti814x_evm.h
@@ -169,7 +169,6 @@
 
 /* Defines for SPL */
 #define CONFIG_SPL_FRAMEWORK
-#define CONFIG_SPL_TEXT_BASE		0x40300000
 #define CONFIG_SPL_MAX_SIZE		((128 - 18) * 1024)
 #define CONFIG_SPL_STACK		CONFIG_SYS_INIT_SP_ADDR
 
diff --git a/include/configs/ti816x_evm.h b/include/configs/ti816x_evm.h
index e86c364..0baf13c 100644
--- a/include/configs/ti816x_evm.h
+++ b/include/configs/ti816x_evm.h
@@ -135,7 +135,6 @@
 /* SPL */
 /* Defines for SPL */
 #define CONFIG_SPL_FRAMEWORK
-#define CONFIG_SPL_TEXT_BASE    0x40400000
 #define CONFIG_SPL_MAX_SIZE     ((128 - 18) * 1024)
 #define CONFIG_SPL_STACK        CONFIG_SYS_INIT_SP_ADDR
 
diff --git a/include/configs/ti_am335x_common.h b/include/configs/ti_am335x_common.h
index 128b66e..1e61dba 100644
--- a/include/configs/ti_am335x_common.h
+++ b/include/configs/ti_am335x_common.h
@@ -59,7 +59,6 @@
  * supports X-MODEM loading via UART, and we leverage this and then use
  * Y-MODEM to load u-boot.img, when booted over UART.
  */
-#define CONFIG_SPL_TEXT_BASE		0x402F0400
 #define CONFIG_SPL_MAX_SIZE		(0x4030B800 - CONFIG_SPL_TEXT_BASE)
 #define CONFIG_SYS_SPL_ARGS_ADDR	(CONFIG_SYS_SDRAM_BASE + \
 					 (128 << 20))
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
index ade35d2..aaf6f7f 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -57,7 +57,6 @@
 #define CONFIG_TWL4030_POWER		1
 
 /* SPL */
-#define CONFIG_SPL_TEXT_BASE		0x40200800
 #define CONFIG_SPL_MAX_SIZE		(54 * 1024)
 #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/omap-common/u-boot-spl.lds"
 #define CONFIG_SPL_POWER_SUPPORT
diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h
index 44b3718..2ee46f6 100644
--- a/include/configs/ti_omap4_common.h
+++ b/include/configs/ti_omap4_common.h
@@ -161,7 +161,6 @@
  * SPL is overlapped with public stack and breaking non HS devices to boot.
  * So moving TEXT_BASE down to non-HS limit.
  */
-#define CONFIG_SPL_TEXT_BASE		0x40300000
 #define CONFIG_SPL_MAX_SIZE		(0x4030C000 - CONFIG_SPL_TEXT_BASE)
 #define CONFIG_SPL_DISPLAY_PRINT
 #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index a582fa4..c034b13 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -136,7 +136,6 @@
  * set CONFIG_SPL_DISPLAY_PRINT to have omap_rev_string() called and
  * print some information.
  */
-#define CONFIG_SPL_TEXT_BASE		0x40300000
 #define CONFIG_SPL_MAX_SIZE		(0x4031E000 - CONFIG_SPL_TEXT_BASE)
 #define CONFIG_SPL_DISPLAY_PRINT
 #define CONFIG_SPL_LDSCRIPT "$(CPUDIR)/omap-common/u-boot-spl.lds"
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index 27ff746..683407d 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -353,7 +353,6 @@
 #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION    1
 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR 0x300 /* address 0x60000 */
 
-#define CONFIG_SPL_TEXT_BASE		0x40200000 /*CONFIG_SYS_SRAM_START*/
 #define CONFIG_SPL_MAX_SIZE		(57 * 1024)	/* 7 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
diff --git a/include/configs/tx25.h b/include/configs/tx25.h
index 118f5ba..d60bc79 100644
--- a/include/configs/tx25.h
+++ b/include/configs/tx25.h
@@ -27,7 +27,6 @@
 #define CONFIG_SPL_NAND_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
 
-#define CONFIG_SPL_TEXT_BASE		0x810c0000
 #define CONFIG_SYS_TEXT_BASE		0x81200000
 
 #ifndef MACH_TYPE_TX25
diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
index 2fb91a8..cd24e8d 100644
--- a/include/configs/vpac270.h
+++ b/include/configs/vpac270.h
@@ -21,7 +21,6 @@
 #define	CONFIG_SPL_ONENAND_LOAD_ADDR	0x2000
 #define	CONFIG_SPL_ONENAND_LOAD_SIZE	\
 	(512 * 1024 - CONFIG_SPL_ONENAND_LOAD_ADDR)
-#define	CONFIG_SPL_TEXT_BASE	0x5c000000
 #define	CONFIG_SPL_LDSCRIPT	"board/vpac270/u-boot-spl.lds"
 #endif
 
diff --git a/include/configs/woodburn_sd.h b/include/configs/woodburn_sd.h
index 25bfeef..d46bb50 100644
--- a/include/configs/woodburn_sd.h
+++ b/include/configs/woodburn_sd.h
@@ -32,7 +32,6 @@
 #define CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS	0x400 /* 512 KB */
 #define	CONFIG_SPL_GPIO_SUPPORT
 
-#define CONFIG_SPL_TEXT_BASE		0x10002300
 #define CONFIG_SPL_MAX_SIZE		(64 * 1024)	/* 8 KB for stack */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
 
diff --git a/include/configs/x600.h b/include/configs/x600.h
index 71373e9..586e01d 100644
--- a/include/configs/x600.h
+++ b/include/configs/x600.h
@@ -274,7 +274,6 @@
 /*
  * SPL related defines
  */
-#define CONFIG_SPL_TEXT_BASE	0xd2800b00
 #define	CONFIG_SPL_START_S_PATH	"arch/arm/cpu/arm926ejs/spear"
 #define CONFIG_SPL_LDSCRIPT	"arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds"
 
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index 1f89f20..5f97a67 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -311,9 +311,6 @@
 /* for booting directly linux */
 #define CONFIG_SPL_OS_BOOT
 
-/* SP location before relocation, must use scratch RAM */
-#define CONFIG_SPL_TEXT_BASE	0x0
-
 /* 3 * 64kB blocks of OCM - one is on the top because of bootrom */
 #define CONFIG_SPL_MAX_SIZE	0x30000
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2014-05-27  6:27 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-27  6:27 [U-Boot] [RFCv2b PATCH 0/14] Kconfig for U-Boot Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 01/14] kconfig: import Kconfig files from Linux v3.15-rc7 Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 02/14] Do not apply: tools: add genkconfig Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 03/14] kconfig: add board Kconfig and defconfig files Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 04/14] kconfig: add basic Kconfig files Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 05/14] include: define CONFIG_SPL and CONFIG_TPL as 1 Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 06/14] kconfig: switch to Kconfig Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 07/14] MAKEALL: adjust for Kconfig Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 08/14] buildman: " Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 09/14] kconfig: delete redundant CONFIG_${ARCH} definition Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 10/14] kbuild: remove CONFIG_SPL/CONFIG_TPL definition in config headers Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 11/14] kconfig: remove old script Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 12/14] split CONFIG_SPL_TEXT_BASE and CONFIG_TPL_TEXT_BASE Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 13/14] move CONFIG_{SPL, TPL}_TEXT_BASE to defconfig Masahiro Yamada
2014-05-27  6:27 ` [U-Boot] [RFCv2b PATCH 14/14] remove CONFIG_{SPL, TPL}_TEXT_BASE from config headers Masahiro Yamada

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.